aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTibor Frank <tifrank@cisco.com>2017-02-03 11:26:37 +0100
committerPeter Mikus <pmikus@cisco.com>2017-02-07 09:18:18 +0000
commitf6cf39c515f503f367df441924fd16967d518539 (patch)
tree0f2ab990e56b6eabd85845394f413f7ab4f6d8aa
parent90471d126d7d6910e1430ab4417d42a659288c61 (diff)
CSIT-517: DPDK initialization and teardown
Change-Id: Iff42549e3be610c88b7a7d5518ef2cbb88c75ed2 Signed-off-by: Tibor Frank <tifrank@cisco.com>
-rwxr-xr-xdpdk-tests/dpdk_scripts/cleanup_dpdk.sh23
-rwxr-xr-xdpdk-tests/dpdk_scripts/run_l2fwd.sh27
-rw-r--r--dpdk-tests/perf/40ge2p1xl710-eth-l2xcbase-ndrdisc.robot (renamed from dpdk-tests/perf/40ge2p1x1710-eth-l2xcbase-ndrdisc.robot)36
-rw-r--r--resources/libraries/python/DPDK/DPDKTools.py24
4 files changed, 68 insertions, 42 deletions
diff --git a/dpdk-tests/dpdk_scripts/cleanup_dpdk.sh b/dpdk-tests/dpdk_scripts/cleanup_dpdk.sh
index 8ab9c6f676..915d383bfa 100755
--- a/dpdk-tests/dpdk_scripts/cleanup_dpdk.sh
+++ b/dpdk-tests/dpdk_scripts/cleanup_dpdk.sh
@@ -12,15 +12,28 @@ port2_driver=$3
port2_pci=$4
#kill the dpdk application
-sudo pkill testpmd
-sudo pkill l2fwd
-sudo pkill l3fwd
+sudo pgrep testpmd
+if [ $? -eq "0" ]; then
+ success=false
+ sudo pkill testpmd
+ for attempt in {1..5}; do
+ sudo pgrep testpmd
+ if [ $? -eq "1" ]; then
+ success=true
+ break
+ fi
+ sleep 1
+ done
+ if [ ${success} -eq false ]; then
+ echo "The command sudo pkill testpmd failed"
+ exit 1
+ fi
+fi
+
sudo rm -f ${TESTPMD_PID}
sudo rm -f /dev/hugepages/*
cat ${TESTPMD_LOG}
-sleep 2
-
cd ${ROOTDIR}/dpdk-16.07/
./tools/dpdk-devbind.py -b ${port1_driver} ${port1_pci}
./tools/dpdk-devbind.py -b ${port2_driver} ${port2_pci}
diff --git a/dpdk-tests/dpdk_scripts/run_l2fwd.sh b/dpdk-tests/dpdk_scripts/run_l2fwd.sh
index 6df33a1317..dedabe1872 100755
--- a/dpdk-tests/dpdk_scripts/run_l2fwd.sh
+++ b/dpdk-tests/dpdk_scripts/run_l2fwd.sh
@@ -12,17 +12,26 @@ queue_nums=$3
jumbo_frames=$4
#kill the testpmd
-sudo pkill testpmd
-sudo rm -f ${TESTPMD_PID}
-
-sleep 2
-
-pid=`pgrep testpmd`
-if [ "$pid" != "" ]; then
- echo "terminate the testpmd failed!"
- exit 1
+sudo pgrep testpmd
+if [ $? -eq "0" ]; then
+ success=false
+ sudo pkill testpmd
+ for attempt in {1..5}; do
+ sudo pgrep testpmd
+ if [ $? -eq "1" ]; then
+ success=true
+ break
+ fi
+ sleep 1
+ done
+ if [ ${success} -eq false ]; then
+ echo "The command sudo pkill testpmd failed"
+ exit 1
+ fi
fi
+sudo rm -f ${TESTPMD_PID}
+
#run the testpmd
cd ${ROOTDIR}
if [ "$jumbo_frames" = "yes" ]; then
diff --git a/dpdk-tests/perf/40ge2p1x1710-eth-l2xcbase-ndrdisc.robot b/dpdk-tests/perf/40ge2p1xl710-eth-l2xcbase-ndrdisc.robot
index 667f11e516..80aaf08c5a 100644
--- a/dpdk-tests/perf/40ge2p1x1710-eth-l2xcbase-ndrdisc.robot
+++ b/dpdk-tests/perf/40ge2p1xl710-eth-l2xcbase-ndrdisc.robot
@@ -56,7 +56,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 1 thread, 1 phy core,\
| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 40GE\
| | ... | linerate, step 100kpps.
| | ...
| | [Tags] | 1T1C | STHREAD | NDRDISC
@@ -76,7 +76,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 1 thread, 1 phy core,\
| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 40GE\
| | ... | linerate, step 100kpps, LT=0.5%.
| | ...
| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
@@ -96,7 +96,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 1 thread, 1 phy core,\
| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 40GE\
| | ... | linerate, step 10kpps.
| | ...
| | [Tags] | 1T1C | STHREAD | NDRDISC
@@ -116,7 +116,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 1 thread, 1 phy core,\
| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 40GE\
| | ... | linerate, step 10kpps, LT=0.5%.
| | ...
| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
@@ -136,7 +136,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 1 thread, 1 phy core,\
| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 40GE\
| | ... | linerate, step 10kpps.
| | ...
| | [Tags] | 1T1C | STHREAD | NDRDISC
@@ -156,7 +156,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 1 thread, 1 phy core,\
| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 40GE\
| | ... | linerate, step 10kpps, LT=0.5%.
| | ...
| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
@@ -176,7 +176,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 2 threads, 2 phy\
| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 40GE\
| | ... | linerate, step 100kpps.
| | ...
| | [Tags] | 2T2C | MTHREAD | NDRDISC
@@ -196,7 +196,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 2 threads, 2 phy\
| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 40GE\
| | ... | linerate, step 100kpps, LT=0.5%.
| | ...
| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
@@ -216,7 +216,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 2 threads, 2 phy\
| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 40GE\
| | ... | linerate, step 10kpps.
| | ...
| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
@@ -236,7 +236,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 2 threads, 2 phy\
| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 40GE\
| | ... | linerate, step 10kpps, LT=0.5%.
| | ...
| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
@@ -256,7 +256,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 2 threads, 2 phy\
| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 40GE\
| | ... | linerate, step 10kpps.
| | ...
| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
@@ -276,7 +276,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 2 threads, 2 phy\
| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 40GE\
| | ... | linerate, step 10kpps, LT=0.5%.
| | ...
| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
@@ -296,7 +296,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 4 threads, 4 phy\
| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 40GE\
| | ... | linerate, step 100kpps.
| | ...
| | [Tags] | 4T4C | MTHREAD | NDRDISC
@@ -316,7 +316,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 4 threads, 4 phy\
| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 40GE\
| | ... | linerate, step 100kpps, LT=0.5%.
| | ...
| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
@@ -336,7 +336,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 4 threads, 4 phy\
| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 40GE\
| | ... | linerate, step 10kpps.
| | ...
| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
@@ -356,7 +356,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 4 threads, 4 phy\
| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 40GE\
| | ... | linerate, step 10kpps, LT=0.5%.
| | ...
| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
@@ -376,7 +376,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 4 threads, 4 phy\
| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find NDR for 9000 Byte frames using binary search start at 40GE\
| | ... | linerate, step 10kpps.
| | ...
| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
@@ -396,7 +396,7 @@
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 4 threads, 4 phy\
| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\
+| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 40GE\
| | ... | linerate, step 5kpps, LT=0.5%.
| | ...
| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
diff --git a/resources/libraries/python/DPDK/DPDKTools.py b/resources/libraries/python/DPDK/DPDKTools.py
index e7fa2f4e76..178562355e 100644
--- a/resources/libraries/python/DPDK/DPDKTools.py
+++ b/resources/libraries/python/DPDK/DPDKTools.py
@@ -12,16 +12,18 @@
# limitations under the License.
-"""
-This module exists to provide the init DPDK.
-"""
+"""This module implements initialization and cleanup of DPDK environment."""
from resources.libraries.python.ssh import SSH
from resources.libraries.python.constants import Constants as con
from resources.libraries.python.topology import Topology
+
class DPDKTools(object):
- """Test the DPDK l2fwd performance."""
+ """This class implements:
+ - Initialization of DPDK environment,
+ - Cleanup of DPDK environment.
+ """
@staticmethod
def initialize_dpdk_environment(dut_node, dut_if1, dut_if2):
@@ -36,6 +38,7 @@ class DPDKTools(object):
:type dut_if1: str
:type dut_if2: str
:returns: none
+ :raises RuntimeError: If it fails to bind the interfaces to igb_uio.
"""
pci_address1 = Topology.get_interface_pci_addr(dut_node, dut_if1)
pci_address2 = Topology.get_interface_pci_addr(dut_node, dut_if2)
@@ -48,8 +51,8 @@ class DPDKTools(object):
(ret_code, _, _) = ssh.exec_command(cmd, timeout=600)
if ret_code != 0:
- raise Exception('Failed to bind the interfaces to igb_uio ' \
- 'at node {0}'.format(dut_node['host']))
+ raise RuntimeError('Failed to bind the interfaces to igb_uio at '
+ 'node {0}'.format(dut_node['host']))
@staticmethod
def cleanup_dpdk_environment(dut_node, dut_if1, dut_if2):
@@ -64,6 +67,7 @@ class DPDKTools(object):
:type dut_if1: str
:type dut_if2: str
:returns: none
+ :raises RuntimeError: If it fails to cleanup the dpdk.
"""
pci_address1 = Topology.get_interface_pci_addr(dut_node, dut_if1)
if1_driver = Topology.get_interface_driver(dut_node, dut_if1)
@@ -74,10 +78,10 @@ class DPDKTools(object):
ssh.connect(dut_node)
cmd = 'cd {0}/dpdk-tests/dpdk_scripts/ && sudo ./cleanup_dpdk.sh ' \
- '{1} {2} {3} {4}'.format(con.REMOTE_FW_DIR, if1_driver, \
- pci_address1, if2_driver, pci_address2)
+ '{1} {2} {3} {4}'.format(con.REMOTE_FW_DIR, if1_driver,
+ pci_address1, if2_driver, pci_address2)
(ret_code, _, _) = ssh.exec_command(cmd, timeout=600)
if ret_code != 0:
- raise Exception('Failed to cleanup the dpdk at node {0}'
- .format(dut_node['host']))
+ raise RuntimeError('Failed to cleanup the dpdk at node {0}'
+ .format(dut_node['host']))