Change-Id: Iff42549e3be610c88b7a7d5518ef2cbb88c75ed2
Signed-off-by: Tibor Frank <tifrank@cisco.com>
port2_pci=$4
#kill the dpdk application
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}
sudo rm -f ${TESTPMD_PID}
sudo rm -f /dev/hugepages/*
cat ${TESTPMD_LOG}
cd ${ROOTDIR}/dpdk-16.07/
./tools/dpdk-devbind.py -b ${port1_driver} ${port1_pci}
./tools/dpdk-devbind.py -b ${port2_driver} ${port2_pci}
cd ${ROOTDIR}/dpdk-16.07/
./tools/dpdk-devbind.py -b ${port1_driver} ${port1_pci}
./tools/dpdk-devbind.py -b ${port2_driver} ${port2_pci}
jumbo_frames=$4
#kill the testpmd
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
+sudo rm -f ${TESTPMD_PID}
+
#run the testpmd
cd ${ROOTDIR}
if [ "$jumbo_frames" = "yes" ]; then
#run the testpmd
cd ${ROOTDIR}
if [ "$jumbo_frames" = "yes" ]; then
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 1 thread, 1 phy core,\
| | ... | 1 receive queue per NIC port.
| | [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
| | ... | linerate, step 100kpps.
| | ...
| | [Tags] | 1T1C | STHREAD | NDRDISC
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 1 thread, 1 phy core,\
| | ... | 1 receive queue per NIC port.
| | [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
| | ... | linerate, step 100kpps, LT=0.5%.
| | ...
| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 1 thread, 1 phy core,\
| | ... | 1 receive queue per NIC port.
| | [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
| | ... | linerate, step 10kpps.
| | ...
| | [Tags] | 1T1C | STHREAD | NDRDISC
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 1 thread, 1 phy core,\
| | ... | 1 receive queue per NIC port.
| | [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
| | ... | linerate, step 10kpps, LT=0.5%.
| | ...
| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 1 thread, 1 phy core,\
| | ... | 1 receive queue per NIC port.
| | [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
| | ... | linerate, step 10kpps.
| | ...
| | [Tags] | 1T1C | STHREAD | NDRDISC
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 1 thread, 1 phy core,\
| | ... | 1 receive queue per NIC port.
| | [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
| | ... | linerate, step 10kpps, LT=0.5%.
| | ...
| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 2 threads, 2 phy\
| | ... | cores, 1 receive queue per NIC port.
| | [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
| | ... | linerate, step 100kpps.
| | ...
| | [Tags] | 2T2C | MTHREAD | NDRDISC
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 2 threads, 2 phy\
| | ... | cores, 1 receive queue per NIC port.
| | [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
| | ... | linerate, step 100kpps, LT=0.5%.
| | ...
| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 2 threads, 2 phy\
| | ... | cores, 1 receive queue per NIC port.
| | [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
| | ... | linerate, step 10kpps.
| | ...
| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 2 threads, 2 phy\
| | ... | cores, 1 receive queue per NIC port.
| | [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
| | ... | linerate, step 10kpps, LT=0.5%.
| | ...
| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 2 threads, 2 phy\
| | ... | cores, 1 receive queue per NIC port.
| | [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
| | ... | linerate, step 10kpps.
| | ...
| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 2 threads, 2 phy\
| | ... | cores, 1 receive queue per NIC port.
| | [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
| | ... | linerate, step 10kpps, LT=0.5%.
| | ...
| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 4 threads, 4 phy\
| | ... | cores, 2 receive queues per NIC port.
| | [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
| | ... | linerate, step 100kpps.
| | ...
| | [Tags] | 4T4C | MTHREAD | NDRDISC
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 4 threads, 4 phy\
| | ... | cores, 2 receive queues per NIC port.
| | [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
| | ... | linerate, step 100kpps, LT=0.5%.
| | ...
| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 4 threads, 4 phy\
| | ... | cores, 2 receive queues per NIC port.
| | [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
| | ... | linerate, step 10kpps.
| | ...
| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 4 threads, 4 phy\
| | ... | cores, 2 receive queues per NIC port.
| | [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
| | ... | linerate, step 10kpps, LT=0.5%.
| | ...
| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 4 threads, 4 phy\
| | ... | cores, 2 receive queues per NIC port.
| | [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
| | ... | linerate, step 10kpps.
| | ...
| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
| | [Documentation]
| | ... | [Cfg] DUT runs L2 frame forwarding config with 4 threads, 4 phy\
| | ... | cores, 2 receive queues per NIC port.
| | [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
| | ... | linerate, step 5kpps, LT=0.5%.
| | ...
| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
# limitations under the License.
# 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
from resources.libraries.python.ssh import SSH
from resources.libraries.python.constants import Constants as con
from resources.libraries.python.topology import Topology
- """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):
@staticmethod
def initialize_dpdk_environment(dut_node, dut_if1, dut_if2):
:type dut_if1: str
:type dut_if2: str
:returns: none
: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)
"""
pci_address1 = Topology.get_interface_pci_addr(dut_node, dut_if1)
pci_address2 = Topology.get_interface_pci_addr(dut_node, dut_if2)
(ret_code, _, _) = ssh.exec_command(cmd, timeout=600)
if ret_code != 0:
(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):
@staticmethod
def cleanup_dpdk_environment(dut_node, dut_if1, dut_if2):
:type dut_if1: str
:type dut_if2: str
:returns: none
: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)
"""
pci_address1 = Topology.get_interface_pci_addr(dut_node, dut_if1)
if1_driver = Topology.get_interface_driver(dut_node, dut_if1)
ssh.connect(dut_node)
cmd = 'cd {0}/dpdk-tests/dpdk_scripts/ && sudo ./cleanup_dpdk.sh ' \
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:
(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']))