CSIT-518: Add testpmd numa awareness 56/5056/23
authorTibor Frank <tifrank@cisco.com>
Tue, 7 Feb 2017 11:58:47 +0000 (12:58 +0100)
committerTibor Frank <tifrank@cisco.com>
Fri, 10 Feb 2017 12:26:21 +0000 (13:26 +0100)
Change-Id: I982834de1fbe71cf5303808ea58d4b58e530ffcb
Signed-off-by: Tibor Frank <tifrank@cisco.com>
12 files changed:
dpdk-tests/dpdk_scripts/cleanup_dpdk.sh
dpdk-tests/dpdk_scripts/run_l2fwd.sh
dpdk-tests/perf/10ge2p1vic1227-eth-l2xcbase-ndrdisc.robot [deleted file]
dpdk-tests/perf/10ge2p1x520-eth-l2xcbase-ndrdisc.robot [deleted file]
dpdk-tests/perf/10ge2p1x520-eth-l2xcbase-testpmd-ndrdisc.robot [moved from dpdk-tests/perf/10ge2p1x710-eth-l2xcbase-ndrdisc.robot with 72% similarity]
dpdk-tests/perf/40ge2p1vic1385-eth-l2xcbase-ndrdisc.robot [deleted file]
dpdk-tests/perf/40ge2p1xl710-eth-l2xcbase-ndrdisc.robot [deleted file]
dpdk-tests/perf/__init__.robot
resources/libraries/python/CpuUtils.py
resources/libraries/python/DPDK/L2fwdTest.py
resources/libraries/python/InterfaceUtil.py
resources/libraries/robot/DPDK/default.robot

index 915d383..c4d0828 100755 (executable)
@@ -15,6 +15,7 @@ port2_pci=$4
 sudo pgrep testpmd
 if [ $? -eq "0" ]; then
     success=false
+    sudo pkill tail
     sudo pkill testpmd
     for attempt in {1..5}; do
         sudo pgrep testpmd
@@ -24,15 +25,16 @@ if [ $? -eq "0" ]; then
         fi
         sleep 1
     done
-    if [ ${success} -eq false ]; then
+    if [ "$success" = false ]; then
         echo "The command sudo pkill testpmd failed"
         exit 1
     fi
+    cat ${TESTPMD_LOG}
 fi
 
+sudo rm -f ${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}
index dedabe1..3ddf4fd 100755 (executable)
@@ -6,7 +6,7 @@ PWDDIR=$(pwd)
 TESTPMD_LOG=/tmp/testpmd.log
 TESTPMD_PID=/tmp/testpmd.pid
 
-cpu_coremask=$1
+cpu_corelist=$1
 nb_cores=$2
 queue_nums=$3
 jumbo_frames=$4
@@ -24,32 +24,27 @@ if [ $? -eq "0" ]; then
         fi
         sleep 1
     done
-    if [ ${success} -eq false ]; then
+    if [ "$success" = false ]; then
         echo "The command sudo pkill testpmd failed"
         exit 1
     fi
 fi
 
+sudo rm -f ${TESTPMD_LOG}
 sudo rm -f ${TESTPMD_PID}
+sudo rm -f /dev/hugepages/*
 
 #run the testpmd
 cd ${ROOTDIR}
 if [ "$jumbo_frames" = "yes" ]; then
-#sudo sh -c "screen -dmS DPDK-test ./dpdk-16.07/x86_64-native-linuxapp-gcc/app/testpmd -c ${cpu_coremask} \
-#    -n 4 -- --nb-ports=2 --portmask=0x3 --nb-cores=${nb_cores} \
-#    --max-pkt-len=9000 --txqflags=0 --forward-mode=io --rxq=${queue_nums} \
-#    --txq=${queue_nums} --auto-start"
-tail -f /dev/null | nohup ./dpdk-16.07/x86_64-native-linuxapp-gcc/app/testpmd -c ${cpu_coremask} \
-    -n 4 -- --nb-ports=2 --portmask=0x3 --nb-cores=${nb_cores} \
+tail -f /dev/null | nohup ./dpdk-16.07/x86_64-native-linuxapp-gcc/app/testpmd -l ${cpu_corelist} \
+    -n 4 -- --numa --nb-ports=2 --portmask=0x3 --nb-cores=${nb_cores} \
     --max-pkt-len=9000 --txqflags=0 --forward-mode=io --rxq=${queue_nums} \
     --txq=${queue_nums} --auto-start > ${TESTPMD_LOG} 2>&1 &
 echo $! > ${TESTPMD_PID}
 else
-#sudo sh -c "screen -dmS DPDK-test ./dpdk-16.07/x86_64-native-linuxapp-gcc/app/testpmd -c ${cpu_coremask} \
-#    -n 4 -- --nb-ports=2 --portmask=0x3 --nb-cores=${nb_cores} \
-#    --forward-mode=io --rxq=${queue_nums} --txq=${queue_nums} --auto-start"
-tail -f /dev/null | nohup ./dpdk-16.07/x86_64-native-linuxapp-gcc/app/testpmd -c ${cpu_coremask} \
-    -n 4 -- --nb-ports=2 --portmask=0x3 --nb-cores=${nb_cores} \
+tail -f /dev/null | nohup ./dpdk-16.07/x86_64-native-linuxapp-gcc/app/testpmd -l ${cpu_corelist} \
+    -n 4 -- --numa --nb-ports=2 --portmask=0x3 --nb-cores=${nb_cores} \
     --forward-mode=io --rxq=${queue_nums} --txq=${queue_nums} --auto-start > ${TESTPMD_LOG} 2>&1 &
 echo $! > ${TESTPMD_PID}
 fi
diff --git a/dpdk-tests/perf/10ge2p1vic1227-eth-l2xcbase-ndrdisc.robot b/dpdk-tests/perf/10ge2p1vic1227-eth-l2xcbase-ndrdisc.robot
deleted file mode 100644 (file)
index fa0c87e..0000000
+++ /dev/null
@@ -1,411 +0,0 @@
-# Copyright (c) 2016 Cisco and/or its affiliates.
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-*** Settings ***
-| Resource | resources/libraries/robot/performance.robot
-| Resource | resources/libraries/robot/DPDK/default.robot
-| Library | resources.libraries.python.topology.Topology
-| Library | resources.libraries.python.NodePath
-| Library | resources.libraries.python.InterfaceUtil
-| Library | resources.libraries.python.DPDK.DPDKTools
-| Force Tags | 3_NODE_SINGLE_LINK_TOPO | HW_ENV | PERFTEST | NDRPDRDISC | 1NUMA
-| ... | NIC_Cisco-VIC-1227 | DPDK | ETH | L2XCFWD | BASE
-| Suite Setup | DPDK 3-node Performance Suite Setup with DUT's NIC model
-| ... | L2 | Cisco-VIC-1227
-| Suite Teardown | DPDK 3-node Performance Suite Teardown
-| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases*
-| ...
-| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
-| ... | with single links between nodes.
-| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 frame forwarding.
-| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 run the DPDK testpmd\
-| ... | application and use the io forwarding mode. DUT1 and DUT2 tested with\
-| ... | 2p10GE Cisco VIC-1227.
-| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
-| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop\
-| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\
-| ... | of packets transmitted. NDR and PDR are discovered for different\
-| ... | Ethernet L2 frame sizes using either binary search or linear search\
-| ... | algorithms with configured starting rate and final step that determines\
-| ... | throughput measurement resolution. Test packets are generated by TG on\
-| ... | links to DUTs. TG traffic profile contains two L3 flow-groups\
-| ... | (flow-group per direction, 253 flows per flow-group) with all packets\
-| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static\
-| ... | payload. MAC addresses are matching MAC addresses of the TG node\
-| ... | interfaces.
-| ... | *[Ref] Applicable standard specifications:* RFC2544.
-
-*** Variables ***
-# Cisco-VIC-1227 bandwidth limit
-| ${s_limit} | ${10000000000}
-
-*** Test Cases ***
-| tc01-64B-1t1c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 100kpps.
-| | ...
-| | [Tags] | 1T1C | STHREAD | NDRDISC
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc02-64B-1t1c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 100kpps, LT=0.5%.
-| | ...
-| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc03-1518B-1t1c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 1T1C | STHREAD | NDRDISC
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc04-1518B-1t1c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
-| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc05-9000B-1t1c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 1T1C | STHREAD | NDRDISC
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'yes'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc06-9000B-1t1c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
-| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'yes'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc07-64B-2t2c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 100kpps.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | NDRDISC
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc08-64B-2t2c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 100kpps, LT=0.5%.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc09-1518B-2t2c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc10-1518B-2t2c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc11-9000B-2t2c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'yes'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc12-9000B-2t2c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'yes'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc13-64B-4t4c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 100kpps.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | NDRDISC
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc14-64B-4t4c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 100kpps, LT=0.5%.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc15-1518B-4t4c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc16-1518B-4t4c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc17-9000B-4t4c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'yes'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc18-9000B-4t4c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 5kpps, LT=0.5%.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'yes'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
diff --git a/dpdk-tests/perf/10ge2p1x520-eth-l2xcbase-ndrdisc.robot b/dpdk-tests/perf/10ge2p1x520-eth-l2xcbase-ndrdisc.robot
deleted file mode 100644 (file)
index 7fd1c9e..0000000
+++ /dev/null
@@ -1,399 +0,0 @@
-# Copyright (c) 2016 Cisco and/or its affiliates.
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-*** Settings ***
-| Resource | resources/libraries/robot/performance.robot
-| Resource | resources/libraries/robot/DPDK/default.robot
-| Library | resources.libraries.python.topology.Topology
-| Library | resources.libraries.python.NodePath
-| Library | resources.libraries.python.InterfaceUtil
-| Library | resources.libraries.python.DPDK.DPDKTools
-| Force Tags | 3_NODE_SINGLE_LINK_TOPO | HW_ENV | PERFTEST | NDRPDRDISC | 1NUMA
-| ... | NIC_Intel-X520-DA2 | DPDK | ETH | L2XCFWD | BASE
-| Suite Setup | DPDK 3-node Performance Suite Setup with DUT's NIC model
-| ... | L2 | Intel-X520-DA2
-| Suite Teardown | DPDK 3-node Performance Suite Teardown
-| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases*
-| ...
-| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
-| ... | with single links between nodes.
-| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 frame forwarding.
-| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 run the DPDK testpmd\
-| ... | application and use the io forwarding mode. DUT1 and DUT2 tested with\
-| ... | 2p10GE NIC X520 Niantic by Intel.
-| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
-| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop\
-| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\
-| ... | of packets transmitted. NDR and PDR are discovered for different\
-| ... | Ethernet L2 frame sizes using either binary search or linear search\
-| ... | algorithms with configured starting rate and final step that determines\
-| ... | throughput measurement resolution. Test packets are generated by TG on\
-| ... | links to DUTs. TG traffic profile contains two L3 flow-groups\
-| ... | (flow-group per direction, 253 flows per flow-group) with all packets\
-| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static\
-| ... | payload. MAC addresses are matching MAC addresses of the TG node\
-| ... | interfaces.
-| ... | *[Ref] Applicable standard specifications:* RFC2544.
-
-*** Variables ***
-#X520-DA2 bandwidth limit
-| ${s_limit} | ${10000000000}
-
-*** Test Cases ***
-| tc01-64B-1t1c-eth-l2xcbase-ndrdisc
-| | [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 linerate, step 100kpps.
-| | [Tags] | 1T1C | STHREAD | NDRDISC
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-
-| tc02-64B-1t1c-eth-l2xcbase-pdrdisc
-| | [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 linerate, step 100kpps, LT=0.5%.
-| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-| | ...                                       | ${glob_loss_acceptance}
-| | ...                                       | ${glob_loss_acceptance_type}
-
-| tc03-1518B-1t1c-eth-l2xcbase-ndrdisc
-| | [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 linerate, step 10kpps.
-| | [Tags] | 1T1C | STHREAD | NDRDISC
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-
-| tc04-1518B-1t1c-eth-l2xcbase-pdrdisc
-| | [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 linerate, step 10kpps, LT=0.5%.
-| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-| | ...                                       | ${glob_loss_acceptance}
-| | ...                                       | ${glob_loss_acceptance_type}
-
-| tc05-9000B-1t1c-eth-l2xcbase-ndrdisc
-| | [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 linerate, step 10kpps.
-| | [Tags] | 1T1C | STHREAD | NDRDISC
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'yes'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-
-| tc06-9000B-1t1c-eth-l2xcbase-pdrdisc
-| | [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 linerate, step 10kpps, LT=0.5%.
-| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'yes'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-| | ...                                       | ${glob_loss_acceptance}
-| | ...                                       | ${glob_loss_acceptance_type}
-
-| tc07-64B-2t2c-eth-l2xcbase-ndrdisc
-| | [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 linerate, step 100kpps.
-| | [Tags] | 2T2C | MTHREAD | NDRDISC
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-
-| tc08-64B-2t2c-eth-l2xcbase-pdrdisc
-| | [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 linerate, step 100kpps,\
-| | ... | LT=0.5%.
-| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-| | ...                                       | ${glob_loss_acceptance}
-| | ...                                       | ${glob_loss_acceptance_type}
-
-| tc09-1518B-2t2c-eth-l2xcbase-ndrdisc
-| | [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 linerate, step 10kpps.
-| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-
-| tc10-1518B-2t2c-eth-l2xcbase-pdrdisc
-| | [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 linerate, step 10kpps,\
-| | ... | LT=0.5%.
-| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-| | ...                                       | ${glob_loss_acceptance}
-| | ...                                       | ${glob_loss_acceptance_type}
-
-| tc11-9000B-2t2c-eth-l2xcbase-ndrdisc
-| | [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 linerate, step 10kpps.
-| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'yes'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-
-| tc12-9000B-2t2c-eth-l2xcbase-pdrdisc
-| | [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 linerate, step 10kpps,\
-| | ... | LT=0.5%.
-| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'yes'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-| | ...                                       | ${glob_loss_acceptance}
-| | ...                                       | ${glob_loss_acceptance_type}
-
-| tc13-64B-4t4c-eth-l2xcbase-ndrdisc
-| | [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 linerate, step 100kpps.
-| | [Tags] | 4T4C | MTHREAD | NDRDISC
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-
-| tc14-64B-4t4c-eth-l2xcbase-pdrdisc
-| | [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 linerate, step 100kpps,\
-| | ... | LT=0.5%.
-| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-| | ...                                       | ${glob_loss_acceptance}
-| | ...                                       | ${glob_loss_acceptance_type}
-
-| tc15-1518B-4t4c-eth-l2xcbase-ndrdisc
-| | [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 linerate, step 10kpps.
-| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-
-| tc16-1518B-4t4c-eth-l2xcbase-pdrdisc
-| | [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 linerate, step 10kpps,\
-| | ... | LT=0.5%.
-| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-| | ...                                       | ${glob_loss_acceptance}
-| | ...                                       | ${glob_loss_acceptance_type}
-
-| tc17-9000B-4t4c-eth-l2xcbase-ndrdisc
-| | [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 linerate, step 10kpps.
-| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'yes'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-
-| tc18-9000B-4t4c-eth-l2xcbase-pdrdisc
-| | [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 linerate, step 5kpps,\
-| | ... | LT=0.5%.
-| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'yes'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ...                                       | ${binary_max} | 3-node-bridge
-| | ...                                       | ${min_rate} | ${max_rate}
-| | ...                                       | ${threshold}
-| | ...                                       | ${glob_loss_acceptance}
-| | ...                                       | ${glob_loss_acceptance_type}
@@ -19,9 +19,9 @@
 | Library | resources.libraries.python.InterfaceUtil
 | Library | resources.libraries.python.DPDK.DPDKTools
 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | HW_ENV | PERFTEST | NDRPDRDISC | 1NUMA
-| ... | NIC_Intel-X710 | DPDK | ETH | L2XCFWD | BASE
+| ... | NIC_Intel-X520-DA2 | DPDK | ETH | L2XCFWD | BASE
 | Suite Setup | DPDK 3-node Performance Suite Setup with DUT's NIC model
-| ... | L2 | Intel-X710
+| ... | L2 | Intel-X520-DA2
 | Suite Teardown | DPDK 3-node Performance Suite Teardown
 | Documentation | *RFC2544: Pkt throughput IPv4 routing test cases*
 | ...
@@ -30,7 +30,7 @@
 | ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 frame forwarding.
 | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 run the DPDK testpmd\
 | ... | application and use the io forwarding mode. DUT1 and DUT2 tested with\
-| ... | 2p10GE NIC X710 Niantic by Intel.
+| ... | 2p10GE NIC X520 Niantic by Intel.
 | ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
 | ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop\
 | ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\
 | ${s_limit} | ${10000000000}
 
 *** Test Cases ***
-| tc01-64B-1t1c-eth-l2xcbase-ndrdisc
+| tc01-64B-1t1c-eth-l2xcbase-testpmd-ndrdisc
 | | [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\
-| | ... | linerate, step 100kpps.
-| | ...
+| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames\
+| | ... | using binary search start at 10GE linerate, step 100kpps.
 | | [Tags] | 1T1C | STHREAD | NDRDISC
-| | ...
 | | ${framesize}= | Set Variable | ${64}
 | | ${min_rate}= | Set Variable | ${100000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold}
 
-| tc02-64B-1t1c-eth-l2xcbase-pdrdisc
+| tc02-64B-1t1c-eth-l2xcbase-testpmd-pdrdisc
 | | [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\
-| | ... | linerate, step 100kpps, LT=0.5%.
-| | ...
+| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames\
+| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%.
 | | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ...
 | | ${framesize}= | Set Variable | ${64}
 | | ${min_rate}= | Set Variable | ${100000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
 
-| tc03-1518B-1t1c-eth-l2xcbase-ndrdisc
+| tc03-1518B-1t1c-eth-l2xcbase-testpmd-ndrdisc
 | | [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\
-| | ... | linerate, step 10kpps.
-| | ...
+| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames\
+| | ... | using binary search start at 10GE linerate, step 10kpps.
 | | [Tags] | 1T1C | STHREAD | NDRDISC
-| | ...
 | | ${framesize}= | Set Variable | ${1518}
 | | ${min_rate}= | Set Variable | ${10000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold}
 
-| tc04-1518B-1t1c-eth-l2xcbase-pdrdisc
+| tc04-1518B-1t1c-eth-l2xcbase-testpmd-pdrdisc
 | | [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\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
+| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames\
+| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
 | | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ...
 | | ${framesize}= | Set Variable | ${1518}
 | | ${min_rate}= | Set Variable | ${10000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
 
-| tc05-9000B-1t1c-eth-l2xcbase-ndrdisc
+| tc05-9000B-1t1c-eth-l2xcbase-testpmd-ndrdisc
 | | [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\
-| | ... | linerate, step 10kpps.
-| | ...
+| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames\
+| | ... | using binary search start at 10GE linerate, step 10kpps.
 | | [Tags] | 1T1C | STHREAD | NDRDISC
-| | ...
 | | ${framesize}= | Set Variable | ${9000}
 | | ${min_rate}= | Set Variable | ${10000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'yes'
 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold}
 
-| tc06-9000B-1t1c-eth-l2xcbase-pdrdisc
+| tc06-9000B-1t1c-eth-l2xcbase-testpmd-pdrdisc
 | | [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\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
+| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames\
+| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
 | | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ...
 | | ${framesize}= | Set Variable | ${9000}
 | | ${min_rate}= | Set Variable | ${10000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'yes'
 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
 
-| tc07-64B-2t2c-eth-l2xcbase-ndrdisc
+| tc07-64B-2t2c-eth-l2xcbase-testpmd-ndrdisc
 | | [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\
-| | ... | linerate, step 100kpps.
-| | ...
+| | ... | cores, 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte\
+| | ... | frames using binary search start at 10GE linerate, step 100kpps.
 | | [Tags] | 2T2C | MTHREAD | NDRDISC
-| | ...
 | | ${framesize}= | Set Variable | ${64}
 | | ${min_rate}= | Set Variable | ${100000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold}
 
-| tc08-64B-2t2c-eth-l2xcbase-pdrdisc
+| tc08-64B-2t2c-eth-l2xcbase-testpmd-pdrdisc
 | | [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\
-| | ... | linerate, step 100kpps, LT=0.5%.
-| | ...
+| | ... | cores, 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte\
+| | ... | frames using binary search start at 10GE linerate, step 100kpps,\
+| | ... | LT=0.5%.
 | | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
 | | ${framesize}= | Set Variable | ${64}
 | | ${min_rate}= | Set Variable | ${100000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
 
-| tc09-1518B-2t2c-eth-l2xcbase-ndrdisc
+| tc09-1518B-2t2c-eth-l2xcbase-testpmd-ndrdisc
 | | [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\
-| | ... | linerate, step 10kpps.
-| | ...
+| | ... | cores, 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte\
+| | ... | frames using binary search start at 10GE linerate, step 10kpps.
 | | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
 | | ${framesize}= | Set Variable | ${1518}
 | | ${min_rate}= | Set Variable | ${10000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold}
 
-| tc10-1518B-2t2c-eth-l2xcbase-pdrdisc
+| tc10-1518B-2t2c-eth-l2xcbase-testpmd-pdrdisc
 | | [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\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
+| | ... | cores, 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte\
+| | ... | frames using binary search start at 10GE linerate, step 10kpps,\
+| | ... | LT=0.5%.
 | | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
 | | ${framesize}= | Set Variable | ${1518}
 | | ${min_rate}= | Set Variable | ${10000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
 
-| tc11-9000B-2t2c-eth-l2xcbase-ndrdisc
+| tc11-9000B-2t2c-eth-l2xcbase-testpmd-ndrdisc
 | | [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\
-| | ... | linerate, step 10kpps.
-| | ...
+| | ... | cores, 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte\
+| | ... | frames using binary search start at 10GE linerate, step 10kpps.
 | | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
 | | ${framesize}= | Set Variable | ${9000}
 | | ${min_rate}= | Set Variable | ${10000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'yes'
 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold}
 
-| tc12-9000B-2t2c-eth-l2xcbase-pdrdisc
+| tc12-9000B-2t2c-eth-l2xcbase-testpmd-pdrdisc
 | | [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\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
+| | ... | cores, 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte\
+| | ... | frames using binary search start at 10GE linerate, step 10kpps,\
+| | ... | LT=0.5%.
 | | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
 | | ${framesize}= | Set Variable | ${9000}
 | | ${min_rate}= | Set Variable | ${10000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'yes'
 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
 
-| tc13-64B-4t4c-eth-l2xcbase-ndrdisc
+| tc13-64B-4t4c-eth-l2xcbase-testpmd-ndrdisc
 | | [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\
-| | ... | linerate, step 100kpps.
-| | ...
+| | ... | cores, 2 receive queues per NIC port. [Ver] Find NDR for 64 Byte\
+| | ... | frames using binary search start at 10GE linerate, step 100kpps.
 | | [Tags] | 4T4C | MTHREAD | NDRDISC
-| | ...
 | | ${framesize}= | Set Variable | ${64}
 | | ${min_rate}= | Set Variable | ${100000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge| ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold}
 
-| tc14-64B-4t4c-eth-l2xcbase-pdrdisc
+| tc14-64B-4t4c-eth-l2xcbase-testpmd-pdrdisc
 | | [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\
-| | ... | linerate, step 100kpps, LT=0.5%.
-| | ...
+| | ... | cores, 2 receive queues per NIC port. [Ver] Find PDR for 64 Byte\
+| | ... | frames using binary search start at 10GE linerate, step 100kpps,\
+| | ... | LT=0.5%.
 | | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
 | | ${framesize}= | Set Variable | ${64}
 | | ${min_rate}= | Set Variable | ${100000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
 
-| tc15-1518B-4t4c-eth-l2xcbase-ndrdisc
+| tc15-1518B-4t4c-eth-l2xcbase-testpmd-ndrdisc
 | | [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\
-| | ... | linerate, step 10kpps.
-| | ...
+| | ... | cores, 2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte\
+| | ... | frames using binary search start at 10GE linerate, step 10kpps.
 | | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
 | | ${framesize}= | Set Variable | ${1518}
 | | ${min_rate}= | Set Variable | ${10000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold}
 
-| tc16-1518B-4t4c-eth-l2xcbase-pdrdisc
+| tc16-1518B-4t4c-eth-l2xcbase-testpmd-pdrdisc
 | | [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\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
+| | ... | cores, 2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte\
+| | ... | frames using binary search start at 10GE linerate, step 10kpps,\
+| | ... | LT=0.5%.
 | | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
 | | ${framesize}= | Set Variable | ${1518}
 | | ${min_rate}= | Set Variable | ${10000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
 
-| tc17-9000B-4t4c-eth-l2xcbase-ndrdisc
+| tc17-9000B-4t4c-eth-l2xcbase-testpmd-ndrdisc
 | | [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\
-| | ... | linerate, step 10kpps.
-| | ...
+| | ... | cores, 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte\
+| | ... | frames using binary search start at 10GE linerate, step 10kpps.
 | | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
 | | ${framesize}= | Set Variable | ${9000}
 | | ${min_rate}= | Set Variable | ${10000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'yes'
 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold}
 
-| tc18-9000B-4t4c-eth-l2xcbase-pdrdisc
+| tc18-9000B-4t4c-eth-l2xcbase-testpmd-pdrdisc
 | | [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\
-| | ... | linerate, step 5kpps, LT=0.5%.
-| | ...
+| | ... | cores, 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte
+| | ... | frames using binary search start at 10GE linerate, step 5kpps,\
+| | ... | LT=0.5%.
 | | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
 | | ${framesize}= | Set Variable | ${9000}
 | | ${min_rate}= | Set Variable | ${10000}
 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
 | | ${threshold}= | Set Variable | ${min_rate}
 | | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'yes'
 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
+| | ... | ${binary_max} | 3-node-xconnect | ${min_rate} | ${max_rate}
 | | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
diff --git a/dpdk-tests/perf/40ge2p1vic1385-eth-l2xcbase-ndrdisc.robot b/dpdk-tests/perf/40ge2p1vic1385-eth-l2xcbase-ndrdisc.robot
deleted file mode 100644 (file)
index 9171b0b..0000000
+++ /dev/null
@@ -1,413 +0,0 @@
-# Copyright (c) 2016 Cisco and/or its affiliates.
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-*** Settings ***
-| Resource | resources/libraries/robot/performance.robot
-| Resource | resources/libraries/robot/DPDK/default.robot
-| Library | resources.libraries.python.topology.Topology
-| Library | resources.libraries.python.NodePath
-| Library | resources.libraries.python.InterfaceUtil
-| Library | resources.libraries.python.DPDK.DPDKTools
-| Force Tags | 3_NODE_SINGLE_LINK_TOPO | HW_ENV | PERFTEST | NDRPDRDISC | 1NUMA
-| ... | NIC_Cisco-VIC-1385 | DPDK | ETH | L2XCFWD | BASE
-| Suite Setup | DPDK 3-node Performance Suite Setup with DUT's NIC model
-| ... | L2 | Cisco-VIC-1385
-| Suite Teardown | DPDK 3-node Performance Suite Teardown
-| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases*
-| ...
-| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
-| ... | with single links between nodes.
-| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 frame forwarding.
-| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 run the DPDK testpmd\
-| ... | application and use the io forwarding mode. DUT1 and DUT2 tested with\
-| ... | 2p40GE Cisco VIC-1385.
-| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
-| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop\
-| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\
-| ... | of packets transmitted. NDR and PDR are discovered for different\
-| ... | Ethernet L2 frame sizes using either binary search or linear search\
-| ... | algorithms with configured starting rate and final step that determines\
-| ... | throughput measurement resolution. Test packets are generated by TG on\
-| ... | links to DUTs. TG traffic profile contains two L3 flow-groups\
-| ... | (flow-group per direction, 253 flows per flow-group) with all packets\
-| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static\
-| ... | payload. MAC addresses are matching MAC addresses of the TG node\
-| ... | interfaces.
-| ... | *[Ref] Applicable standard specifications:* RFC2544.
-
-*** Variables ***
-# Cisco VIC1385 bandwidth limit ~49Gbps/2=24.5Gbps
-| ${s_24.5G} | ${24500000000}
-# Cisco VIC1385 Mpps limit 37.5Mpps/2=18.75Mpps
-| ${s_18.75Mpps} | ${18750000}
-
-*** Test Cases ***
-| tc01-64B-1t1c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 100kpps.
-| | ...
-| | [Tags] | 1T1C | STHREAD | NDRDISC
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Set Variable | ${s_18.75Mpps}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc02-64B-1t1c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 100kpps, LT=0.5%.
-| | ...
-| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Set Variable | ${s_18.75Mpps}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc03-1518B-1t1c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 1T1C | STHREAD | NDRDISC
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc04-1518B-1t1c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
-| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc05-9000B-1t1c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 1T1C | STHREAD | NDRDISC
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'yes'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc06-9000B-1t1c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
-| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'yes'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc07-64B-2t2c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 100kpps.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | NDRDISC
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Set Variable | ${s_18.75Mpps}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc08-64B-2t2c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 100kpps, LT=0.5%.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Set Variable | ${s_18.75Mpps}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc09-1518B-2t2c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc10-1518B-2t2c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc11-9000B-2t2c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'yes'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc12-9000B-2t2c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'yes'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc13-64B-4t4c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 100kpps.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | NDRDISC
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Set Variable | ${s_18.75Mpps}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc14-64B-4t4c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 100kpps, LT=0.5%.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Set Variable | ${s_18.75Mpps}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc15-1518B-4t4c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc16-1518B-4t4c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc17-9000B-4t4c-eth-l2xcbase-ndrdisc
-| | [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\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'yes'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc18-9000B-4t4c-eth-l2xcbase-pdrdisc
-| | [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\
-| | ... | linerate, step 5kpps, LT=0.5%.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'yes'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
diff --git a/dpdk-tests/perf/40ge2p1xl710-eth-l2xcbase-ndrdisc.robot b/dpdk-tests/perf/40ge2p1xl710-eth-l2xcbase-ndrdisc.robot
deleted file mode 100644 (file)
index 80aaf08..0000000
+++ /dev/null
@@ -1,413 +0,0 @@
-# Copyright (c) 2016 Cisco and/or its affiliates.
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at:
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-*** Settings ***
-| Resource | resources/libraries/robot/performance.robot
-| Resource | resources/libraries/robot/DPDK/default.robot
-| Library | resources.libraries.python.topology.Topology
-| Library | resources.libraries.python.NodePath
-| Library | resources.libraries.python.InterfaceUtil
-| Library | resources.libraries.python.DPDK.DPDKTools
-| Force Tags | 3_NODE_SINGLE_LINK_TOPO | HW_ENV | PERFTEST | NDRPDRDISC | 1NUMA
-| ... | NIC_Intel-XL710 | DPDK | ETH | L2XCFWD | BASE
-| Suite Setup | DPDK 3-node Performance Suite Setup with DUT's NIC model
-| ... | L2 | Intel-XL710
-| Suite Teardown | DPDK 3-node Performance Suite Teardown
-| Documentation | *RFC2544: Pkt throughput IPv4 routing test cases*
-| ...
-| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
-| ... | with single links between nodes.
-| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 frame forwarding.
-| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 run the DPDK testpmd\
-| ... | application and use the io forwarding mode. DUT1 and DUT2 tested with\
-| ... | 2p40GE NIC XL710 Niantic by Intel.
-| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
-| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop\
-| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\
-| ... | of packets transmitted. NDR and PDR are discovered for different\
-| ... | Ethernet L2 frame sizes using either binary search or linear search\
-| ... | algorithms with configured starting rate and final step that determines\
-| ... | throughput measurement resolution. Test packets are generated by TG on\
-| ... | links to DUTs. TG traffic profile contains two L3 flow-groups\
-| ... | (flow-group per direction, 253 flows per flow-group) with all packets\
-| ... | containing Ethernet header, IPv4 header with IP protocol=61 and static\
-| ... | payload. MAC addresses are matching MAC addresses of the TG node\
-| ... | interfaces.
-| ... | *[Ref] Applicable standard specifications:* RFC2544.
-
-*** Variables ***
-# XL710-DA2 bandwidth limit ~49Gbps/2=24.5Gbps
-| ${s_24.5G} | ${24500000000}
-# XL710-DA2 Mpps limit 37.5Mpps/2=18.75Mpps
-| ${s_18.75Mpps} | ${18750000}
-
-*** Test Cases ***
-| tc01-64B-1t1c-eth-l2xcbase-ndrdisc
-| | [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 40GE\
-| | ... | linerate, step 100kpps.
-| | ...
-| | [Tags] | 1T1C | STHREAD | NDRDISC
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Set Variable | ${s_18.75Mpps}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc02-64B-1t1c-eth-l2xcbase-pdrdisc
-| | [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 40GE\
-| | ... | linerate, step 100kpps, LT=0.5%.
-| | ...
-| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Set Variable | ${s_18.75Mpps}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc03-1518B-1t1c-eth-l2xcbase-ndrdisc
-| | [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 40GE\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 1T1C | STHREAD | NDRDISC
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc04-1518B-1t1c-eth-l2xcbase-pdrdisc
-| | [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 40GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
-| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc05-9000B-1t1c-eth-l2xcbase-ndrdisc
-| | [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 40GE\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 1T1C | STHREAD | NDRDISC
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'yes'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc06-9000B-1t1c-eth-l2xcbase-pdrdisc
-| | [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 40GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
-| | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '1' worker threads and rxqueues '1' with jumbo frames 'yes'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc07-64B-2t2c-eth-l2xcbase-ndrdisc
-| | [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 40GE\
-| | ... | linerate, step 100kpps.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | NDRDISC
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Set Variable | ${s_18.75Mpps}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc08-64B-2t2c-eth-l2xcbase-pdrdisc
-| | [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 40GE\
-| | ... | linerate, step 100kpps, LT=0.5%.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Set Variable | ${s_18.75Mpps}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc09-1518B-2t2c-eth-l2xcbase-ndrdisc
-| | [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 40GE\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc10-1518B-2t2c-eth-l2xcbase-pdrdisc
-| | [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 40GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc11-9000B-2t2c-eth-l2xcbase-ndrdisc
-| | [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 40GE\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'yes'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc12-9000B-2t2c-eth-l2xcbase-pdrdisc
-| | [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 40GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
-| | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '2' worker threads and rxqueues '1' with jumbo frames 'yes'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc13-64B-4t4c-eth-l2xcbase-ndrdisc
-| | [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 40GE\
-| | ... | linerate, step 100kpps.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | NDRDISC
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Set Variable | ${s_18.75Mpps}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc14-64B-4t4c-eth-l2xcbase-pdrdisc
-| | [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 40GE\
-| | ... | linerate, step 100kpps, LT=0.5%.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${64}
-| | ${min_rate}= | Set Variable | ${100000}
-| | ${max_rate}= | Set Variable | ${s_18.75Mpps}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc15-1518B-4t4c-eth-l2xcbase-ndrdisc
-| | [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 40GE\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc16-1518B-4t4c-eth-l2xcbase-pdrdisc
-| | [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 40GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${1518}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'no'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
-
-| tc17-9000B-4t4c-eth-l2xcbase-ndrdisc
-| | [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 40GE\
-| | ... | linerate, step 10kpps.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'yes'
-| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold}
-
-| tc18-9000B-4t4c-eth-l2xcbase-pdrdisc
-| | [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 40GE\
-| | ... | linerate, step 5kpps, LT=0.5%.
-| | ...
-| | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
-| | ...
-| | ${framesize}= | Set Variable | ${9000}
-| | ${min_rate}= | Set Variable | ${10000}
-| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
-| | ${binary_min}= | Set Variable | ${min_rate}
-| | ${binary_max}= | Set Variable | ${max_rate}
-| | ${threshold}= | Set Variable | ${min_rate}
-| | Given Start L2FWD '4' worker threads and rxqueues '2' with jumbo frames 'yes'
-| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
-| | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
-| | ... | ${threshold} | ${glob_loss_acceptance} | ${glob_loss_acceptance_type}
index 6358151..153fe35 100644 (file)
@@ -15,4 +15,7 @@
 | Resource | resources/libraries/robot/default.robot
 | Resource | resources/libraries/robot/interfaces.robot
 | Library | resources.libraries.python.DPDK.SetupDPDKTest
-| Suite Setup | Run Keyword | Setup DPDK Test | ${nodes}
+| Suite Setup | Run Keywords | Setup DPDK Test | ${nodes}
+| ...         | AND          | Get CPU Layout from all nodes | ${nodes}
+| ...         | AND          | Update All Numa Nodes
+| ...                        | ${nodes} | skip_tg=${True}
index 85c2e84..d9e3fca 100644 (file)
@@ -26,7 +26,7 @@ class CpuUtils(object):
 
         :param string: Input string.
         :type string: str
-        :return: Integer converted from string, 0 in case of ValueError.
+        :returns: Integer converted from string, 0 in case of ValueError.
         :rtype: int
         """
         try:
@@ -41,6 +41,7 @@ class CpuUtils(object):
 
         :param nodes: DICT__nodes from Topology.DICT__nodes.
         :type nodes: dict
+        :raises RuntimeError: If the ssh command "lscpu -p" fails.
         """
         ssh = SSH()
         for node in nodes.values():
@@ -67,8 +68,9 @@ class CpuUtils(object):
 
         :param node: Targeted node.
         :type node: dict
-        :return: Count of numa nodes.
+        :returns: Count of numa nodes.
         :rtype: int
+        :raises RuntimeError: If node cpuinfo is not available.
         """
         cpuinfo = node.get("cpuinfo")
         if cpuinfo is not None:
@@ -82,10 +84,11 @@ class CpuUtils(object):
 
         :param node: Node dictionary with cpuinfo.
         :param cpu_node: Numa node number.
-        :type node: int
+        :type node: dict
         :type cpu_node: int
-        :return: List of cpu numbers related to numa from argument.
+        :returns: List of cpu numbers related to numa from argument.
         :rtype: list of int
+        :raises RuntimeError: If node cpuinfo is not available.
         """
         cpu_node = int(cpu_node)
         cpuinfo = node.get("cpuinfo")
@@ -114,13 +117,13 @@ class CpuUtils(object):
         :type skip_cnt: int
         :type cpu_cnt: int
         :type sep: str
-        :return: Cpu numbers related to numa from argument.
+        :returns: Cpu numbers related to numa from argument.
         :rtype: str
+        :raises RuntimeError: If we require more cpus than available.
         """
 
         cpu_list = CpuUtils.cpu_list_per_node(node, cpu_node)
         cpu_list_len = len(cpu_list)
-        cpu_flist = ""
         if cpu_cnt == 0:
             cpu_cnt = cpu_list_len - skip_cnt
 
@@ -131,3 +134,34 @@ class CpuUtils(object):
                              cpu_list[skip_cnt:skip_cnt+cpu_cnt])
 
         return cpu_flist
+
+    @staticmethod
+    def cpu_range_per_node_str(node, cpu_node, skip_cnt=0, cpu_cnt=0, sep="-"):
+        """Return string of node related range of CPU numbers, e.g. 0-4.
+
+        :param node: Node dictionary with cpuinfo.
+        :param cpu_node: Numa node number.
+        :param skip_cnt: Skip first "skip_cnt" CPUs.
+        :param cpu_cnt: Count of cpus to return, if 0 then return all.
+        :param sep: Separator, default: 0-4.
+        :type node: dict
+        :type cpu_node: int
+        :type skip_cnt: int
+        :type cpu_cnt: int
+        :type sep: str
+        :returns: String of node related range of CPU numbers.
+        :rtype: str
+        :raises RuntimeError: If we require more cpus than available.
+        """
+
+        cpu_list = CpuUtils.cpu_list_per_node(node, cpu_node)
+        cpu_list_len = len(cpu_list)
+        if cpu_cnt == 0:
+            cpu_cnt = cpu_list_len - skip_cnt
+
+        if cpu_cnt + skip_cnt > cpu_list_len:
+            raise RuntimeError("cpu_cnt + skip_cnt > length(cpu list).")
+
+        first = cpu_list[skip_cnt]
+        last = cpu_list[skip_cnt + cpu_cnt - 1]
+        return "{}{}{}".format(first, sep, last)
index fa2f879..80a91e2 100644 (file)
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-
-"""
-This module exists to provide the l2fwd test for DPDK on topology nodes.
+"""This module implements functionality which sets L2 forwarding for DPDK on
+DUT nodes.
 """
 
 from resources.libraries.python.ssh import SSH
 from resources.libraries.python.constants import Constants as con
 
+
 class L2fwdTest(object):
-    """Test the DPDK l2fwd performance."""
+    """Setup the DPDK for l2fwd performance test."""
 
     @staticmethod
-    def start_the_l2fwd_test(dut_node, cpu_coremask, nb_cores, queue_nums,
+    def start_the_l2fwd_test(dut_node, cpu_cores, nb_cores, queue_nums,
                              jumbo_frames):
         """
         Execute the l2fwd on the dut_node.
 
         :param dut_node: Will execute the l2fwd on this node.
-        :param cpu_coremask: The DPDK run core mask.
+        :param cpu_cores: The DPDK run cores.
         :param nb_cores: The cores number for the forwarding.
         :param queue_nums: The queues number for the NIC.
-        :param jumbo_frames: Is jumbo frames or not.
+        :param jumbo_frames: Are jumbo frames used or not.
         :type dut_node: dict
-        :type cpu_coremask: str
+        :type cpu_cores: str
         :type nb_cores: str
         :type queue_nums: str
         :type jumbo_frames: str
         :returns: none
+        :raises RuntimeError: If the script "run_l2fwd.sh" fails.
         """
+
         ssh = SSH()
         ssh.connect(dut_node)
 
-        cmd = 'cd {0}/dpdk-tests/dpdk_scripts/ && sudo ./run_l2fwd.sh ' \
-              '{1} {2} {3} {4}'.format(con.REMOTE_FW_DIR, cpu_coremask, \
-              nb_cores, queue_nums, jumbo_frames)
+        cmd = 'cd {0}/dpdk-tests/dpdk_scripts/ && sudo ./run_l2fwd.sh {1} ' \
+              '{2} {3} {4}'.format(con.REMOTE_FW_DIR, cpu_cores, nb_cores,
+                                   queue_nums, jumbo_frames)
 
         (ret_code, _, _) = ssh.exec_command(cmd, timeout=600)
         if ret_code != 0:
-            raise Exception('Failed to execute l2fwd test at node {0}'
-                            .format(dut_node['host']))
-
+            raise RuntimeError('Failed to execute l2fwd test at node {0}'.
+                               format(dut_node['host']))
index 2980afa..16acdf3 100644 (file)
@@ -45,7 +45,10 @@ class InterfaceUtil(object):
         :type interface: str or int
         :type state: str
         :type if_type: str
-        :return: nothing
+        :returns: Nothing.
+        :raises ValueError: If the interface type is unknown.
+        :raises ValueError: If the state of interface is unexpected.
+        :raises ValueError: If the node has an unknown node type.
         """
 
         if if_type == "key":
@@ -75,8 +78,8 @@ class InterfaceUtil(object):
             cmd = 'ip link set {} {}'.format(iface_name, state)
             exec_cmd_no_error(node, cmd, sudo=True)
         else:
-            raise Exception('Node {} has unknown NodeType: "{}"'.
-                            format(node['host'], node['type']))
+            raise ValueError('Node {} has unknown NodeType: "{}"'
+                             .format(node['host'], node['type']))
 
     @staticmethod
     def set_interface_ethernet_mtu(node, iface_key, mtu):
@@ -85,23 +88,25 @@ class InterfaceUtil(object):
         Function can be used only for TGs.
 
         :param node: Node where the interface is.
-        :param interface: Interface key from topology file.
+        :param iface_key: Interface key from topology file.
         :param mtu: MTU to set.
         :type node: dict
         :type iface_key: str
         :type mtu: int
-        :return: nothing
+        :returns: Nothing.
+        :raises ValueError: If the node type is "DUT".
+        :raises ValueError: If the node has an unknown node type.
         """
         if node['type'] == NodeType.DUT:
-            ValueError('Node {}: Setting Ethernet MTU for interface '
-                       'on DUT nodes not supported', node['host'])
+            raise ValueError('Node {}: Setting Ethernet MTU for interface '
+                             'on DUT nodes not supported', node['host'])
         elif node['type'] == NodeType.TG:
             iface_name = Topology.get_interface_name(node, iface_key)
             cmd = 'ip link set {} mtu {}'.format(iface_name, mtu)
             exec_cmd_no_error(node, cmd, sudo=True)
         else:
-            raise ValueError('Node {} has unknown NodeType: "{}"'.
-                             format(node['host'], node['type']))
+            raise ValueError('Node {} has unknown NodeType: "{}"'
+                             .format(node['host'], node['type']))
 
     @staticmethod
     def set_default_ethernet_mtu_on_all_interfaces_on_node(node):
@@ -111,7 +116,7 @@ class InterfaceUtil(object):
 
         :param node: Node where to set default MTU.
         :type node: dict
-        :return: nothing
+        :returns: Nothing.
         """
         for ifc in node['interfaces']:
             InterfaceUtil.set_interface_ethernet_mtu(node, ifc, 1500)
@@ -124,6 +129,7 @@ class InterfaceUtil(object):
         :param timeout: Waiting timeout in seconds (optional, default 10s).
         :type node: dict
         :type timeout: int
+        :returns: Nothing.
         :raises: RuntimeError if the timeout period value has elapsed.
         """
         if_ready = False
@@ -159,7 +165,7 @@ class InterfaceUtil(object):
         :param timeout: Seconds to wait per node for all interfaces to come up.
         :type nodes: list
         :type timeout: int
-        :raises: RuntimeError if the timeout period value has elapsed.
+        :returns: Nothing.
         """
         for node in nodes:
             InterfaceUtil.vpp_node_interfaces_ready_wait(node, timeout)
@@ -173,7 +179,7 @@ class InterfaceUtil(object):
         :param timeout: Seconds to wait per node for all interfaces to come up.
         :type nodes: dict
         :type timeout: int
-        :raises: RuntimeError if the timeout period value has elapsed.
+        :returns: Nothing.
         """
         for node in nodes.values():
             if node['type'] == NodeType.DUT:
@@ -189,9 +195,11 @@ class InterfaceUtil(object):
         :param interface: Numeric index or name string of a specific interface.
         :type node: dict
         :type interface: int or str
-        :return: List of dictionaries containing data for each interface, or a
+        :returns: List of dictionaries containing data for each interface, or a
         single dictionary for the specified interface.
         :rtype: list or dict
+        :raises TypeError: if the data type of interface is neither basestring
+        nor int.
         """
         with VatTerminal(node) as vat:
             response = vat.vat_terminal_exec_cmd_from_template(
@@ -220,7 +228,7 @@ class InterfaceUtil(object):
         :param interface: Numeric index or name string of a specific interface.
         :type node: dict
         :type interface: int or str
-        :return: MAC address.
+        :returns: MAC address.
         :rtype: str
         """
 
@@ -247,7 +255,7 @@ class InterfaceUtil(object):
          :type node: dict
          :type interface: str
          :type ip_version: str
-         :return: List of dictionaries, each containing IP address, subnet
+         :returns: List of dictionaries, each containing IP address, subnet
          prefix length and also the subnet mask for ipv4 addresses.
          Note: A single interface may have multiple IP addresses assigned.
          :rtype: list
@@ -277,6 +285,9 @@ class InterfaceUtil(object):
         :type node: dict
         :type pci_addr: str
         :type driver: str
+        :returns: None.
+        :raises RuntimeError: If unbinding from the current driver fails.
+        :raises RuntimeError: If binding to the new driver fails.
         """
         old_driver = InterfaceUtil.tg_get_interface_driver(node, pci_addr)
         if old_driver == driver:
@@ -287,19 +298,20 @@ class InterfaceUtil(object):
 
         # Unbind from current driver
         if old_driver is not None:
-            cmd = 'sh -c "echo {0} > /sys/bus/pci/drivers/{1}/unbind"'.format(
-                pci_addr, old_driver)
+            cmd = 'sh -c "echo {0} > /sys/bus/pci/drivers/{1}/unbind"'\
+                .format(pci_addr, old_driver)
             (ret_code, _, _) = ssh.exec_command_sudo(cmd)
             if int(ret_code) != 0:
-                raise Exception("'{0}' failed on '{1}'".format(cmd,
-                                                               node['host']))
+                raise RuntimeError("'{0}' failed on '{1}'"
+                                   .format(cmd, node['host']))
 
         # Bind to the new driver
-        cmd = 'sh -c "echo {0} > /sys/bus/pci/drivers/{1}/bind"'.format(
-            pci_addr, driver)
+        cmd = 'sh -c "echo {0} > /sys/bus/pci/drivers/{1}/bind"'\
+            .format(pci_addr, driver)
         (ret_code, _, _) = ssh.exec_command_sudo(cmd)
         if int(ret_code) != 0:
-            raise Exception("'{0}' failed on '{1}'".format(cmd, node['host']))
+            raise RuntimeError("'{0}' failed on '{1}'"
+                               .format(cmd, node['host']))
 
     @staticmethod
     def tg_get_interface_driver(node, pci_addr):
@@ -309,8 +321,10 @@ class InterfaceUtil(object):
         :param pci_addr: PCI address of the interface.
         :type node: dict
         :type pci_addr: str
-        :return: Interface driver or None if not found.
+        :returns: Interface driver or None if not found.
         :rtype: str
+        :raises RuntimeError: If it is not possible to get the interface driver
+        information from the node.
 
         .. note::
             # lspci -vmmks 0000:00:05.0
@@ -330,7 +344,8 @@ class InterfaceUtil(object):
 
         (ret_code, stdout, _) = ssh.exec_command(cmd)
         if int(ret_code) != 0:
-            raise Exception("'{0}' failed on '{1}'".format(cmd, node['host']))
+            raise RuntimeError("'{0}' failed on '{1}'"
+                               .format(cmd, node['host']))
 
         for line in stdout.splitlines():
             if len(line) == 0:
@@ -356,6 +371,7 @@ class InterfaceUtil(object):
 
         :param node: Node to set udev rules on (must be TG node).
         :type node: dict
+        :raises RuntimeError: If setting of udev rules fails.
         """
         ssh = SSH()
         ssh.connect(node)
@@ -363,7 +379,8 @@ class InterfaceUtil(object):
         cmd = 'rm -f {0}'.format(InterfaceUtil.__UDEV_IF_RULES_FILE)
         (ret_code, _, _) = ssh.exec_command_sudo(cmd)
         if int(ret_code) != 0:
-            raise Exception("'{0}' failed on '{1}'".format(cmd, node['host']))
+            raise RuntimeError("'{0}' failed on '{1}'"
+                               .format(cmd, node['host']))
 
         for interface in node['interfaces'].values():
             rule = 'SUBSYSTEM==\\"net\\", ACTION==\\"add\\", ATTR{address}' + \
@@ -373,8 +390,8 @@ class InterfaceUtil(object):
                 rule, InterfaceUtil.__UDEV_IF_RULES_FILE)
             (ret_code, _, _) = ssh.exec_command_sudo(cmd)
             if int(ret_code) != 0:
-                raise Exception("'{0}' failed on '{1}'".format(cmd,
-                                                               node['host']))
+                raise RuntimeError("'{0}' failed on '{1}'"
+                                   .format(cmd, node['host']))
 
         cmd = '/etc/init.d/udev restart'
         ssh.exec_command_sudo(cmd)
@@ -416,6 +433,7 @@ class InterfaceUtil(object):
 
         :param node: Node selected from DICT__nodes.
         :type node: dict
+        :raises RuntimeError: If getting of interface name and MAC fails.
 
         .. note::
             # for dev in `ls /sys/class/net/`;
@@ -439,7 +457,7 @@ class InterfaceUtil(object):
 
         (ret_code, stdout, _) = ssh.exec_command(cmd)
         if int(ret_code) != 0:
-            raise Exception('Get interface name and MAC failed')
+            raise RuntimeError('Get interface name and MAC failed')
         tmp = "{" + stdout.rstrip().replace('\n', ',') + "}"
         interfaces = JsonParser().parse_data(tmp)
         for interface in node['interfaces'].values():
@@ -458,7 +476,9 @@ class InterfaceUtil(object):
 
         :param node: Node from topology.
         :type node: dict
-        :return: nothing
+        :returns: Nothing.
+        :raises ValueError: If numa node ia less than 0.
+        :raises RuntimeError: If update of numa node failes.
         """
         ssh = SSH()
         for if_key in Topology.get_node_interfaces(node):
@@ -483,6 +503,23 @@ class InterfaceUtil(object):
                 raise RuntimeError('Update numa node failed for: {0}'\
                     .format(if_pci))
 
+    @staticmethod
+    def update_all_numa_nodes(nodes, skip_tg=False):
+        """For all nodes and all their interfaces from topology file update numa
+        node information based on information from the node.
+
+        :param nodes: Nodes in the topology.
+        :param skip_tg: Skip TG node
+        :type nodes: dict
+        :type skip_tg: bool
+        :returns: Nothing.
+        """
+        for node in nodes.values():
+            if node['type'] == NodeType.DUT:
+                InterfaceUtil.iface_update_numa_node(node)
+            elif node['type'] == NodeType.TG and not skip_tg:
+                InterfaceUtil.iface_update_numa_node(node)
+
     @staticmethod
     def update_all_interface_data_on_all_nodes(nodes, skip_tg=False,
                                                numa_node=False):
@@ -520,8 +557,10 @@ class InterfaceUtil(object):
         :type node: dict
         :type interface: str
         :type vlan: int
-        :return: Name and index of created subinterface.
+        :returns: Name and index of created subinterface.
         :rtype: tuple
+        :raises RuntimeError: if it is unable to create VLAN subinterface on the
+        node.
         """
         iface_key = Topology.get_interface_by_name(node, interface)
         sw_if_index = Topology.get_interface_sw_index(node, iface_key)
@@ -558,8 +597,10 @@ class InterfaceUtil(object):
         :type vni: int
         :type source_ip: str
         :type destination_ip: str
-        :return: SW IF INDEX of created interface.
+        :returns: SW IF INDEX of created interface.
         :rtype: int
+        :raises RuntimeError: if it is unable to create VxLAN interface on the
+        node.
         """
         output = VatExecutor.cmd_from_template(node, "vxlan_create.vat",
                                                src=source_ip,
@@ -582,9 +623,11 @@ class InterfaceUtil(object):
         If None, information about all VxLAN interfaces is returned.
         :type node: dict
         :type interface: int or str
-        :return: Dictionary containing data for the given VxLAN interface or if
+        :returns: Dictionary containing data for the given VxLAN interface or if
         interface=None, the list of dictionaries with all VxLAN interfaces.
         :rtype: dict or list
+        :raises TypeError: if the data type of interface is neither basestring
+        nor int.
         """
         param = "sw_if_index"
         if interface is None:
@@ -595,7 +638,7 @@ class InterfaceUtil(object):
         elif isinstance(interface, int):
             sw_if_index = interface
         else:
-            raise Exception("Wrong interface format {0}".format(interface))
+            raise TypeError("Wrong interface format {0}".format(interface))
 
         with VatTerminal(node) as vat:
             response = vat.vat_terminal_exec_cmd_from_template(
@@ -614,7 +657,7 @@ class InterfaceUtil(object):
 
         :param node: VPP node to get interface data from.
         :type node: dict
-        :return: List of dictionaries with all vhost-user interfaces.
+        :returns: List of dictionaries with all vhost-user interfaces.
         :rtype: list
         """
         with VatTerminal(node) as vat:
@@ -632,7 +675,7 @@ class InterfaceUtil(object):
         :param name: Optional name of a specific TAP interface.
         :type node: dict
         :type name: str
-        :return: Dictionary of information about a specific TAP interface, or
+        :returns: Dictionary of information about a specific TAP interface, or
         a List of dictionaries containing all TAP data for the given node.
         :rtype: dict or list
         """
@@ -666,7 +709,7 @@ class InterfaceUtil(object):
         :type outer_vlan_id: int
         :type inner_vlan_id: int
         :type type_subif: str
-        :return: Name and index of created sub-interface.
+        :returns: Name and index of created sub-interface.
         :rtype: tuple
         :raises RuntimeError: If it is not possible to create sub-interface.
         """
@@ -717,7 +760,7 @@ class InterfaceUtil(object):
         :type node: dict
         :type source_ip: str
         :type destination_ip: str
-        :return: Name and index of created GRE tunnel interface.
+        :returns: Name and index of created GRE tunnel interface.
         :rtype: tuple
         :raises RuntimeError: If unable to create GRE tunnel interface.
         """
@@ -745,8 +788,10 @@ class InterfaceUtil(object):
 
         :param node: Node to create loopback interface on.
         :type node: dict
-        :return: SW interface index.
+        :returns: SW interface index.
         :rtype: int
+        :raises RuntimeError: If it is not possible to create loopback on the
+        node.
         """
         out = VatExecutor.cmd_from_template(node, "create_loopback.vat")
         if out[0].get('retval') == 0:
@@ -788,7 +833,7 @@ class InterfaceUtil(object):
         :param interface: Name or sw_if_index of a specific interface.
         :type node: dict
         :type interface: str or int
-        :return: Classify table name.
+        :returns: Classify table name.
         :rtype: str
         """
         if isinstance(interface, basestring):
@@ -799,8 +844,7 @@ class InterfaceUtil(object):
         with VatTerminal(node) as vat:
             data = vat.vat_terminal_exec_cmd_from_template(
                 "classify_interface_table.vat",
-                sw_if_index=sw_if_index
-            )
+                sw_if_index=sw_if_index)
         return data[0]
 
     @staticmethod
@@ -811,7 +855,7 @@ class InterfaceUtil(object):
         :param interface_name: Name of the specific interface.
         :type node: dict
         :type interface_name: str
-        :return: sw_if_index of the given interface.
+        :returns: sw_if_index of the given interface.
         :rtype: str
         """
 
@@ -833,8 +877,8 @@ class InterfaceUtil(object):
         information about all VxLAN GPE interfaces is returned.
         :type node: dict
         :type interface_name: str
-        :return: Dictionary containing data for the given VxLAN GPE interface or
-        if interface=None, the list of dictionaries with all VxLAN GPE
+        :returns: Dictionary containing data for the given VxLAN GPE interface
+        or if interface=None, the list of dictionaries with all VxLAN GPE
         interfaces.
         :rtype: dict or list
         """
index bf01aec..474f192 100644 (file)
 
 *** Keywords ***
 | Start L2FWD '${m}' worker threads and rxqueues '${n}' with jumbo frames '${b}'
-| | [Documentation] |  Start the l2fwd with M worker threads without HTT
-| | ...             |  and rxqueues N and B(yes or no) jumbo frames in all DUTs
-| | ${nb-cores}= | Catenate | ${m}
-| | ${cpu}= | Run Keyword If | '${m}' == '1' | Catenate | 0x3
-| | ...     | ELSE IF        | '${m}' == '2' | Catenate | 0x403
-| | ...     | ELSE IF        | '${m}' == '4' | Catenate | 0xc07
-| | ...     | ELSE IF        | '${m}' == '6' | Catenate | 0x1c0f
-| | ...     | ELSE IF        | '${m}' == '8' | Catenate | 0x3c1f
-| | ...     | ELSE           | Fail | Not supported combination
-| | ${rxqueues}= | Catenate | ${n}
-| | ${jumbo_frames}= | Catenate | ${b}
-| | Start l2fwd to all DUTs | ${cpu} | ${nb-cores}
-| | ...     | ${rxqueues} | ${jumbo_frames}
-
-| Start l2fwd to all DUTs
-| | [Documentation] | Setup worker threads and rxqueues in l2fwd startup
-| | ...             | configuration to all DUTs
-| | ...
-| | ... | *Arguments:*
-| | ... | - ${cpu} - CPU configuration. Type: string
-| | ... | - ${nb-cores} - cores for the packet forwarding. Type: string
-| | ... | - ${rxqueues} - rxqueues configuration. Type: string
-| | ... | - ${jumbo_frames} - Enable the jumbo frames or not. Type: string
+| | [Documentation] | Start the l2fwd with M worker threads without HTT
+| | ... | and rxqueues N and B (yes or no) jumbo frames in all DUTs.
 | | ...
-| | ... | *Example:*
-| | ...
-| | ... | \| Start l2fwd to all DUTs \| 0x403 \| 2 \
-| | ... | \| 1 \| no
-| | [Arguments] | ${cpu} | ${nb-cores} | ${rxqueues} | ${jumbo_frames}
-| | ${duts}= | Get Matches | ${nodes} | DUT*
-| | :FOR | ${dut} | IN | @{duts}
-| | | Start the l2fwd test | ${nodes['${dut}']}
-| | | ...            | ${cpu} | ${nb-cores} | ${rxqueues} | ${jumbo_frames}
-
+| | ${m_int}= | Convert To Integer | ${m}
+| | ${cpu_cnt}= | Evaluate | ${m_int}+1
+| | ${nb_cores}= | Convert to String | ${m}
+| | ${rxqueues}= | Convert to String | ${n}
+| | ${jumbo_frames}= | Convert to String | ${b}
+| | ${dut1_numa}= | Get interfaces numa node | ${dut1}
+| | ... | ${dut1_if1} | ${dut1_if2}
+| | ${dut2_numa}= | Get interfaces numa node | ${dut2}
+| | ... | ${dut2_if1} | ${dut2_if2}
+| | ${dut1_cpus}= | Cpu Range Per Node Str | ${dut1} | ${dut1_numa}
+| | ... | cpu_cnt=${cpu_cnt}
+| | ${dut2_cpus}= | Cpu Range Per Node Str | ${dut2} | ${dut2_numa}
+| | ... | cpu_cnt=${cpu_cnt}
+| | Start the l2fwd test | ${dut1} | ${dut1_cpus} | ${nb_cores} | ${rxqueues}
+| | ... | ${jumbo_frames}
+| | Start the l2fwd test | ${dut2} | ${dut2_cpus} | ${nb_cores} | ${rxqueues}
+| | ... | ${jumbo_frames}