aboutsummaryrefslogtreecommitdiffstats
path: root/tests/vpp/perf/vm_vhost
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2018-07-10 06:10:41 +0000
committerPeter Mikus <pmikus@cisco.com>2018-07-13 09:11:04 +0000
commitad71afc5baa8008bd5d4ea26f51a71eefe3fbe62 (patch)
tree3b1c24ab540b5f57ee4b3592368191bc1f227cc7 /tests/vpp/perf/vm_vhost
parent338b195c0d7274b921eb18944d27ed1b4cb3739f (diff)
Refactor perf test cases
- Refactor Performance TCs due to changes in Hyperthreading and RXQ allocations. - Simplify the structure of suite to avoid large refactors in future. Change-Id: Ifb1b9719391f26745f075a900bd9fb39b6cb809c Signed-off-by: Peter Mikus <pmikus@cisco.com>
Diffstat (limited to 'tests/vpp/perf/vm_vhost')
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot262
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot262
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot262
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot262
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot36
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot36
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot195
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr.robot48
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot36
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot209
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrpdrdisc.robot209
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot202
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot195
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot195
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot195
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot195
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot36
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot209
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-ndrpdrdisc.robot209
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot202
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot195
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdrdisc.robot36
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot195
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-ndrpdrdisc.robot209
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot202
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot36
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot262
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot262
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot262
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot262
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot36
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2xcbase-eth-2vhostvr256-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4-ip4base-eth-2vhostvr256-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot36
-rw-r--r--tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr.robot144
-rw-r--r--tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot202
-rw-r--r--tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot202
-rw-r--r--tests/vpp/perf/vm_vhost/40ge2p1xl710-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot202
69 files changed, 1717 insertions, 9233 deletions
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
index 451d45a00e..053db0e745 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
@@ -28,6 +28,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with vhost and dpdk link bonding*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -71,16 +73,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
@@ -92,7 +99,7 @@
| | ${jumbo_frames}= | Set Variable If
| | ... | ${get_framesize + ${vlan_overhead}} < ${1522} | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
| | And Add DPDK bonded Ethernet interfaces to DUTs in 3-node single link topology
@@ -116,148 +123,49 @@
*** Test Cases ***
| tc01-64B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
index 19335dfe0b..46ae2f46e8 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost and
| ... | dpdk link bonding*
| ...
@@ -79,16 +81,10 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Discover NDR or PDR for ${framesize} frames using xxx\
-| | ... | trial throughput test.
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${framesize}
@@ -104,7 +100,7 @@
| | ${jumbo_frames}= | Set Variable If
| | ... | ${get_framesize + ${vlan_overhead}} < ${1522} | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
| | And Add DPDK bonded Ethernet interfaces to DUTs in 3-node single link topology
@@ -135,295 +131,97 @@
*** Test Cases ***
| tc01-64B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-9000B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${9000} | search_type=NDR
| tc06-9000B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${9000} | search_type=PDR
| tc07-IMIX-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc08-IMIX-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc09-64B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc10-64B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc11-1518B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc12-1518B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc13-9000B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${9000} | search_type=NDR
| tc14-9000B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${9000} | search_type=PDR
| tc15-IMIX-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc16-IMIX-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc17-64B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc18-64B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc19-1518B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc20-1518B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc21-9000B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${9000} | search_type=NDR
| tc22-9000B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 9000B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${9000} | search_type=PDR
| tc23-IMIX-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc24-IMIX-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
index 6c0b6bee46..01f174ff36 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
@@ -28,6 +28,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC test cases with vhost and dpdk link bonding*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -69,16 +71,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
@@ -90,7 +97,7 @@
| | ${jumbo_frames}= | Set Variable If
| | ... | ${get_framesize + ${vlan_overhead}} < ${1522} | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
| | And Add DPDK bonded Ethernet interfaces to DUTs in 3-node single link topology
@@ -113,148 +120,49 @@
*** Test Cases ***
| tc01-64B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
index 7d567743af..5c16dc3181 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2XC test cases with vhost and
| ... | dpdk link bonding*
| ...
@@ -79,16 +81,10 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
-| | ... | trial throughput test.
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${framesize}
@@ -104,7 +100,7 @@
| | ${jumbo_frames}= | Set Variable If
| | ... | ${get_framesize + ${vlan_overhead}} < ${1522} | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
| | And Add DPDK bonded Ethernet interfaces to DUTs in 3-node single link topology
@@ -134,295 +130,97 @@
*** Test Cases ***
| tc01-64B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-9000B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${9000} | search_type=NDR
| tc06-9000B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${9000} | search_type=PDR
| tc07-IMIX-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc08-IMIX-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc09-64B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc10-64B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc11-1518B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc12-1518B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc13-9000B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${9000} | search_type=NDR
| tc14-9000B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${9000} | search_type=PDR
| tc15-IMIX-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc16-IMIX-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc17-64B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc18-64B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc19-1518B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc20-1518B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc21-9000B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${9000} | search_type=NDR
| tc22-9000B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 9000B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${9000} | search_type=PDR
| tc23-IMIX-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc24-IMIX-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
index 7b0b7eeabe..4032a0a012 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
@@ -32,6 +32,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with vhost and vpp link bonding*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -74,16 +76,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
@@ -95,7 +102,7 @@
| | ${jumbo_frames}= | Set Variable If
| | ... | ${get_framesize + ${vlan_overhead}} < ${1522} | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
| | And Run Keyword If | ${get_framesize + ${vlan_overhead}} < ${1522}
@@ -118,148 +125,49 @@
*** Test Cases ***
| tc01-64B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
index dfa87cdf06..c608565e4f 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
@@ -32,6 +32,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost and
| ... | vpp link bonding*
| ...
@@ -81,16 +83,10 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Discover NDR or PDR for ${framesize} frames using xxx\
-| | ... | trial throughput test.
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${framesize}
@@ -106,7 +102,7 @@
| | ${jumbo_frames}= | Set Variable If
| | ... | ${get_framesize + ${vlan_overhead}} < ${1522} | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
| | And Run Keyword If | ${get_framesize + ${vlan_overhead}} < ${1522}
@@ -136,295 +132,97 @@
*** Test Cases ***
| tc01-64B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-9000B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${9000} | search_type=NDR
| tc06-9000B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${9000} | search_type=PDR
| tc07-IMIX-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc08-IMIX-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc09-64B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc10-64B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc11-1518B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc12-1518B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc13-9000B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${9000} | search_type=NDR
| tc14-9000B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${9000} | search_type=PDR
| tc15-IMIX-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc16-IMIX-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc17-64B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc18-64B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc19-1518B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc20-1518B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc21-9000B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${9000} | search_type=NDR
| tc22-9000B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 9000B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${9000} | search_type=PDR
| tc23-IMIX-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc24-IMIX-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
index 1970f1a731..4a7ffd3735 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
@@ -31,6 +31,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC test cases with vhost and vpp link bonding*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -71,16 +73,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
@@ -92,7 +99,7 @@
| | ${jumbo_frames}= | Set Variable If
| | ... | ${get_framesize + ${vlan_overhead}} < ${1522} | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
| | And Run Keyword If | ${get_framesize + ${vlan_overhead}} < ${1522}
@@ -115,148 +122,49 @@
*** Test Cases ***
| tc01-64B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
index 680be414bb..a42443ce5d 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
@@ -32,6 +32,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2XC test cases with vhost and
| ... | vpp link bonding*
| ...
@@ -81,16 +83,10 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
-| | ... | trial throughput test.
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${framesize}
@@ -106,7 +102,7 @@
| | ${jumbo_frames}= | Set Variable If
| | ... | ${get_framesize + ${vlan_overhead}} < ${1522} | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
| | And Run Keyword If | ${get_framesize + ${vlan_overhead}} < ${1522}
@@ -136,295 +132,97 @@
*** Test Cases ***
| tc01-64B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-9000B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${9000} | search_type=NDR
| tc06-9000B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${9000} | search_type=PDR
| tc07-IMIX-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc08-IMIX-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc09-64B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc10-64B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc11-1518B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc12-1518B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc13-9000B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${9000} | search_type=NDR
| tc14-9000B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${9000} | search_type=PDR
| tc15-IMIX-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc16-IMIX-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc17-64B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc18-64B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc19-1518B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc20-1518B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc21-9000B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${9000} | search_type=NDR
| tc22-9000B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 9000B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${9000} | search_type=PDR
| tc23-IMIX-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc24-IMIX-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
index 41cfa3e482..a4da58c919 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
@@ -28,6 +28,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -65,16 +67,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -85,7 +92,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -106,148 +113,49 @@
*** Test Cases ***
| tc01-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
index 453c9435b1..49971c4a3b 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
@@ -89,7 +89,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -123,7 +123,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -158,7 +158,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -192,7 +192,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -229,7 +229,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -265,7 +265,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -300,7 +300,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -334,7 +334,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -369,7 +369,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -403,7 +403,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -440,7 +440,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -476,7 +476,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -511,7 +511,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -545,7 +545,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -580,7 +580,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -614,7 +614,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -651,7 +651,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -687,7 +687,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
index 73055733ba..ab465feaf9 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -62,16 +64,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC switching config with.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -82,7 +89,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -102,148 +109,49 @@
*** Test Cases ***
| tc01-64B-1t1c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
index 532d633b1b..1dd4cacc9b 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
@@ -86,7 +86,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -119,7 +119,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -153,7 +153,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -186,7 +186,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -222,7 +222,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -257,7 +257,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -291,7 +291,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -324,7 +324,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -358,7 +358,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -391,7 +391,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -427,7 +427,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -462,7 +462,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -496,7 +496,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -529,7 +529,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -563,7 +563,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -596,7 +596,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -632,7 +632,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -667,7 +667,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
index e175c4873a..04c05e5efa 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -72,8 +74,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with VM
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
| | Set Test Variable | ${use_tuned_cfs} | ${True}
| | Set Test Variable | ${framesize}
@@ -89,7 +92,7 @@
| | ${dut2_vm_refs}= | Create Dictionary
| | Set Test Variable | ${dut1_vm_refs}
| | Set Test Variable | ${dut2_vm_refs}
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -114,223 +117,73 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-etc-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
index 3bd8a5ef4d..7a69383e0f 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -62,16 +64,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -82,7 +89,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -102,148 +109,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc10-9000B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr.robot
index 65903a9b31..b822676e2d 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr.robot
@@ -55,7 +55,7 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
-| Test Template | Find NDRPDR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+| Test Template | Local template
*** Variables ***
| ${perf_qemu_qsz}= | 1024
@@ -71,16 +71,14 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Find NDRPDR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
+| | ... | [Cfg] DUT runs L2BD switching config with ${phy_cores} phy cores.
| | ... | [Ver] Find NDR for ${framesize} frames \
| | ... | using binary search start at 10GE linerate.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_unidirectional_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -92,7 +90,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -113,60 +111,48 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
| | [Tags] | 64B | 1C
-| | ...
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
| | [Tags] | 1518B | 1C
-| | ...
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
| | [Tags] | 9000B | 1C
-| | ...
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
| | [Tags] | IMIX | 1C
-| | ...
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
| | [Tags] | 64B | 2C
-| | ...
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
| | [Tags] | 1518B | 2C
-| | ...
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
| | [Tags] | 9000B | 2C
-| | ...
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
| | [Tags] | IMIX | 2C
-| | ...
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
| | [Tags] | 64B | 4C
-| | ...
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
| | [Tags] | 1518B | 4C
-| | ...
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
| | [Tags] | 9000B | 4C
-| | ...
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr
| | [Tags] | IMIX | 4C
-| | ...
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
index 0dd7ed6468..7f5a6ec903 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
@@ -82,7 +82,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -112,7 +112,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -143,7 +143,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -173,7 +173,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -205,7 +205,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -236,7 +236,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -267,7 +267,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -297,7 +297,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -328,7 +328,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -358,7 +358,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -390,7 +390,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -421,7 +421,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -452,7 +452,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -482,7 +482,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -513,7 +513,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -543,7 +543,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -575,7 +575,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -606,7 +606,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot
index ad72f0794b..c0fdcbcb96 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -72,22 +74,9 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with VM
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
-| | ...
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with required number of threads,\
-| | ... | phy cores and receive queues per NIC port.
-| | ... | [Ver] Find NDR or PDR for defined frame size using binary search\
-| | ... | start at 10GE linerate with specified step.
-| | ...
-| | ... | *Arguments:*
-| | ... | - wt - Number of worker threads to be used. Type: integer
-| | ... | - rxq - Number of Rx queues to be used. Type: integer
-| | ... | - framesize - L2 Frame Size [B]. Type: integer
-| | ... | - min_rate - Lower limit of search [pps]. Type: float
-| | ... | - search_type - Type of the search - non drop rate (NDR) or partial
-| | ... | drop rare (PDR). Type: string
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
| | Set Test Variable | ${use_tuned_cfs} | ${True}
| | Set Test Variable | ${framesize}
@@ -103,7 +92,7 @@
| | ${dut2_vm_refs}= | Create Dictionary
| | Set Test Variable | ${dut1_vm_refs}
| | Set Test Variable | ${dut2_vm_refs}
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -128,223 +117,73 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-etc-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr.robot
index 3d651fdafc..eafd275085 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -62,16 +64,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -82,7 +89,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -102,148 +109,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrpdrdisc.robot
index d92bffe18c..c2e65ea7ad 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrpdrdisc.robot
@@ -28,6 +28,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -70,22 +72,9 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with VM
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
-| | ...
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with required number of threads,\
-| | ... | phy cores and receive queues per NIC port.
-| | ... | [Ver] Find NDR or PDR for defined frame size using binary search\
-| | ... | start at 10GE linerate with specified step.
-| | ...
-| | ... | *Arguments:*
-| | ... | - wt - Number of worker threads to be used. Type: integer
-| | ... | - rxq - Number of Rx queues to be used. Type: integer
-| | ... | - framesize - L2 Frame Size [B]. Type: integer
-| | ... | - min_rate - Lower limit of search [pps]. Type: float
-| | ... | - search_type - Type of the search - non drop rate (NDR) or partial
-| | ... | drop rare (PDR). Type: string
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -100,7 +89,7 @@
| | ${dut2_vm_refs}= | Create Dictionary
| | Set Test Variable | ${dut1_vm_refs}
| | Set Test Variable | ${dut2_vm_refs}
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -124,223 +113,73 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-etc-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr.robot
index aae10f1a86..dd9b38c659 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -60,16 +62,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -81,7 +88,7 @@
| | ... | ${False} | ${True}
| | Set Test Variable | ${jumbo_frames}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -93,148 +100,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
index 60f3d1ff55..fcae29a286 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
@@ -26,6 +26,8 @@
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Pkt throughput L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -65,16 +67,10 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Find NDR for ${framesize} frames using binary search start at
-| | ... | 10GE linerate, step 10kpps.
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${framesize}
@@ -90,7 +86,7 @@
| | ... | ${False} | ${True}
| | Set Test Variable | ${jumbo_frames}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -109,223 +105,73 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
index b8ea2ff974..18c724e070 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -75,8 +77,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-macsrc50kdst50k
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with VM
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
| | Set Test Variable | ${use_tuned_cfs} | ${True}
| | Set Test Variable | ${framesize}
@@ -92,7 +95,7 @@
| | ${dut2_vm_refs}= | Create Dictionary
| | Set Test Variable | ${dut1_vm_refs}
| | Set Test Variable | ${dut2_vm_refs}
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -117,223 +120,73 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-etc-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-eth-l2dbscale100kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
index ee220e8db6..ad01f900d6 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -75,8 +77,9 @@
| ${traffic_profile} | trex-sl-3n-ethip4-macsrc5kdst5k
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with VM
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
| | Set Test Variable | ${use_tuned_cfs} | ${True}
| | Set Test Variable | ${framesize}
@@ -92,7 +95,7 @@
| | ${dut2_vm_refs}= | Create Dictionary
| | Set Test Variable | ${dut1_vm_refs}
| | Set Test Variable | ${dut2_vm_refs}
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -117,223 +120,73 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-etc-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-eth-l2dbscale10kmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
index 61d676197b..ce0ea381ad 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2bdscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -75,8 +77,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-macsrc500kdst500k
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with VM
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
| | Set Test Variable | ${use_tuned_cfs} | ${True}
| | Set Test Variable | ${framesize}
@@ -92,7 +95,7 @@
| | ${dut2_vm_refs}= | Create Dictionary
| | Set Test Variable | ${dut1_vm_refs}
| | Set Test Variable | ${dut2_vm_refs}
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -117,223 +120,73 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-etc-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-eth-l2dbscale1mmaclrn-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
index b562789e8a..a07647c942 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -69,8 +71,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for L2 xconnect with VM
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
| | Set Test Variable | ${use_tuned_cfs} | ${True}
| | Set Test Variable | ${framesize}
@@ -86,7 +89,7 @@
| | ${dut2_vm_refs}= | Create Dictionary
| | Set Test Variable | ${dut1_vm_refs}
| | Set Test Variable | ${dut2_vm_refs}
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -111,223 +114,73 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-etc-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
index b7a5d204d6..696b32d95d 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -59,16 +61,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -79,7 +86,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -99,148 +106,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
index a3b0b7a77b..629f17e81c 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
@@ -78,7 +78,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -108,7 +108,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -139,7 +139,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -169,7 +169,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -201,7 +201,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -232,7 +232,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -263,7 +263,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -293,7 +293,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -324,7 +324,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -354,7 +354,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -386,7 +386,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -417,7 +417,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -448,7 +448,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -478,7 +478,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -509,7 +509,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -539,7 +539,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -571,7 +571,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -602,7 +602,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot
index 016e89e151..567c0b3399 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2XC test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -69,22 +71,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for L2 xconnect with VM
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
-| | ...
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with required number of threads,\
-| | ... | phy cores and receive queues per NIC port.
-| | ... | [Ver] Find NDR or PDR for defined frame size using binary search\
-| | ... | start at 10GE linerate with specified step.
-| | ...
-| | ... | *Arguments:*
-| | ... | - wt - Number of worker threads to be used. Type: integer
-| | ... | - rxq - Number of Rx queues to be used. Type: integer
-| | ... | - framesize - L2 Frame Size [B]. Type: integer
-| | ... | - min_rate - Lower limit of search [pps]. Type: float
-| | ... | - search_type - Type of the search - non drop rate (NDR) or partial
-| | ... | drop rare (PDR). Type: string
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
| | Set Test Variable | ${use_tuned_cfs} | ${True}
| | Set Test Variable | ${framesize}
@@ -100,7 +89,7 @@
| | ${dut2_vm_refs}= | Create Dictionary
| | Set Test Variable | ${dut1_vm_refs}
| | Set Test Variable | ${dut2_vm_refs}
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -125,223 +114,73 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-etc-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-mrr.robot
index fa37102973..f0e13ac986 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -59,16 +61,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -79,7 +86,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -99,148 +106,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-ndrpdrdisc.robot
index 2857f8e29f..1e84646d93 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-2vhostvr256-1vm-ndrpdrdisc.robot
@@ -28,6 +28,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2XC test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -67,22 +69,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for L2 xconnect with VM
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
-| | ...
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with required number of threads,\
-| | ... | phy cores and receive queues per NIC port.
-| | ... | [Ver] Find NDR or PDR for defined frame size using binary search\
-| | ... | start at 10GE linerate with specified step.
-| | ...
-| | ... | *Arguments:*
-| | ... | - wt - Number of worker threads to be used. Type: integer
-| | ... | - rxq - Number of Rx queues to be used. Type: integer
-| | ... | - framesize - L2 Frame Size [B]. Type: integer
-| | ... | - min_rate - Lower limit of search [pps]. Type: float
-| | ... | - search_type - Type of the search - non drop rate (NDR) or partial
-| | ... | drop rare (PDR). Type: string
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -97,7 +86,7 @@
| | ${dut2_vm_refs}= | Create Dictionary
| | Set Test Variable | ${dut1_vm_refs}
| | Set Test Variable | ${dut2_vm_refs}
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -121,223 +110,73 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-etc-l2xcbase-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 xconnect with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr.robot
index db3dfa674d..65f775d666 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -60,16 +62,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -81,7 +88,7 @@
| | ... | ${False} | ${True}
| | Set Test Variable | ${jumbo_frames}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -93,148 +100,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
index ed25aa56f5..e139db35e1 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
@@ -28,6 +28,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Pkt throughput L2XC test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -66,16 +68,10 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Find NDR for ${framesize} frames using binary search start at
-| | ... | 10GE linerate, step 10kpps.
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${framesize}
@@ -91,7 +87,7 @@
| | ... | ${False} | ${True}
| | Set Test Variable | ${jumbo_frames}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -110,223 +106,73 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
index f21fafc456..589dd17490 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -72,8 +74,9 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Discover NDR or PDR for IPv4 forwarding with VM
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
| | Set Test Variable | ${use_tuned_cfs} | ${True}
| | Set Test Variable | ${framesize}
@@ -89,7 +92,7 @@
| | ${dut2_vm_refs}= | Create Dictionary
| | Set Test Variable | ${dut1_vm_refs}
| | Set Test Variable | ${dut2_vm_refs}
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -116,223 +119,73 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-etc-l2bdbasemaclrn-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr.robot
index 771fa916e1..b28c29331e 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -62,16 +64,21 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
@@ -82,7 +89,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -102,148 +109,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
index cb6bbf2b94..5c8cf6f84f 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
@@ -81,7 +81,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -113,7 +113,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -146,7 +146,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -178,7 +178,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -212,7 +212,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -245,7 +245,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -278,7 +278,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -310,7 +310,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -343,7 +343,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -375,7 +375,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -409,7 +409,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -442,7 +442,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -475,7 +475,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -507,7 +507,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -540,7 +540,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -572,7 +572,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -606,7 +606,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -639,7 +639,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot
index bf8bc80e7a..47fa40f069 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput IP4 test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -72,8 +74,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Discover NDR or PDR for IPv4 forwarding with VM
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
| | [Documentation]
| | ... | [Cfg] DUT runs IP4 routing config with required number of threads,\
@@ -103,7 +106,7 @@
| | ${dut2_vm_refs}= | Create Dictionary
| | Set Test Variable | ${dut1_vm_refs}
| | Set Test Variable | ${dut2_vm_refs}
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -130,223 +133,73 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c--ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-cfsrr1-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-mrr.robot
index c8bff20643..92d31abe7a 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -62,16 +64,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Check RR for eth-ip4base-eth-2vhostvr256-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs IPv4 routing config with.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -82,7 +89,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -102,148 +109,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-ndrpdrdisc.robot
index 3e02e56624..86c1fd8132 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-2vhostvr256-1vm-ndrpdrdisc.robot
@@ -28,6 +28,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput IP4 test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -70,22 +72,9 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Discover NDR or PDR for IPv4 forwarding with VM
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
-| | ...
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with required number of threads,\
-| | ... | phy cores and receive queues per NIC port.
-| | ... | [Ver] Find NDR or PDR for defined frame size using binary search\
-| | ... | start at 10GE linerate with specified step.
-| | ...
-| | ... | *Arguments:*
-| | ... | - wt - Number of worker threads to be used. Type: integer
-| | ... | - rxq - Number of Rx queues to be used. Type: integer
-| | ... | - framesize - L2 Frame Size [B]. Type: integer
-| | ... | - min_rate - Lower limit of search [pps]. Type: float
-| | ... | - search_type - Type of the search - non drop rate (NDR) or partial
-| | ... | drop rare (PDR). Type: string
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -100,7 +89,7 @@
| | ${dut2_vm_refs}= | Create Dictionary
| | Set Test Variable | ${dut1_vm_refs}
| | Set Test Variable | ${dut2_vm_refs}
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -126,223 +115,73 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 forwarding with VM
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr.robot
index 24a22ffd68..95455d022f 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -66,16 +68,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
@@ -87,7 +94,7 @@
| | ... | ${False} | ${True}
| | Set Test Variable | ${jumbo_frames}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -99,148 +106,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
index 9c210badd0..3b9959f439 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
@@ -28,6 +28,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Pkt throughput IPv4 test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -67,16 +69,10 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Find NDR for ${framesize} frames using binary search start at
-| | ... | 10GE linerate, step 10kpps.
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${framesize}
@@ -92,7 +88,7 @@
| | ... | ${False} | ${True}
| | Set Test Variable | ${jumbo_frames}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -111,223 +107,73 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
index 50ebc956cb..ddf22b6cc3 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
@@ -28,6 +28,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with VXLANoIPv4
| ... | and vhost*
| ...
@@ -66,16 +68,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
@@ -87,7 +94,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -107,148 +114,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
index 0976e69f11..8ede0cf687 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x520-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
@@ -89,7 +89,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -122,7 +122,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -156,7 +156,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Apply startup configuration on all VPP DUTs
| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 in 3-node circular topology
@@ -188,7 +188,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Apply startup configuration on all VPP DUTs
| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 in 3-node circular topology
@@ -223,7 +223,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Apply startup configuration on all VPP DUTs
| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 in 3-node circular topology
@@ -257,7 +257,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Apply startup configuration on all VPP DUTs
| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 in 3-node circular topology
@@ -290,7 +290,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -323,7 +323,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -357,7 +357,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Apply startup configuration on all VPP DUTs
| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 in 3-node circular topology
@@ -389,7 +389,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Apply startup configuration on all VPP DUTs
| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 in 3-node circular topology
@@ -424,7 +424,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Apply startup configuration on all VPP DUTs
| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 in 3-node circular topology
@@ -458,7 +458,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Apply startup configuration on all VPP DUTs
| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 in 3-node circular topology
@@ -491,7 +491,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -524,7 +524,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -558,7 +558,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Apply startup configuration on all VPP DUTs
| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 in 3-node circular topology
@@ -590,7 +590,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Apply startup configuration on all VPP DUTs
| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 in 3-node circular topology
@@ -625,7 +625,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Apply startup configuration on all VPP DUTs
| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 in 3-node circular topology
@@ -659,7 +659,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Apply startup configuration on all VPP DUTs
| | When Initialize L2 bridge domains with Vhost-User and VXLANoIPv4 in 3-node circular topology
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
index 1a6af04e33..2e46ee0976 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
@@ -28,6 +28,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with vhost and dpdk link bonding*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -71,16 +73,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
@@ -92,7 +99,7 @@
| | ${jumbo_frames}= | Set Variable If
| | ... | ${get_framesize + ${vlan_overhead}} < ${1522} | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
| | And Add DPDK bonded Ethernet interfaces to DUTs in 3-node single link topology
@@ -116,148 +123,49 @@
*** Test Cases ***
| tc01-64B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
index 0a826c11cf..eba40b9017 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost and
| ... | dpdk link bonding*
| ...
@@ -79,16 +81,10 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Discover NDR or PDR for ${framesize} frames using xxx\
-| | ... | trial throughput test.
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${framesize}
@@ -104,7 +100,7 @@
| | ${jumbo_frames}= | Set Variable If
| | ... | ${get_framesize + ${vlan_overhead}} < ${1522} | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
| | And Add DPDK bonded Ethernet interfaces to DUTs in 3-node single link topology
@@ -135,295 +131,97 @@
*** Test Cases ***
| tc01-64B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-9000B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${9000} | search_type=NDR
| tc06-9000B-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${9000} | search_type=PDR
| tc07-IMIX-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc08-IMIX-1t1c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc09-64B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc10-64B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc11-1518B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc12-1518B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc13-9000B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${9000} | search_type=NDR
| tc14-9000B-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${9000} | search_type=PDR
| tc15-IMIX-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc16-IMIX-2t2c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc17-64B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc18-64B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc19-1518B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc20-1518B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc21-9000B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${9000} | search_type=NDR
| tc22-9000B-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 9000B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${9000} | search_type=PDR
| tc23-IMIX-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc24-IMIX-4t4c-1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
index 71f0b295f0..832e9e274a 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
@@ -28,6 +28,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC test cases with vhost and dpdk link bonding*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -69,16 +71,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
@@ -90,7 +97,7 @@
| | ${jumbo_frames}= | Set Variable If
| | ... | ${get_framesize + ${vlan_overhead}} < ${1522} | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
| | And Add DPDK bonded Ethernet interfaces to DUTs in 3-node single link topology
@@ -113,148 +120,49 @@
*** Test Cases ***
| tc01-64B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
index 85ed75e7d6..1ea5dd55e0 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2XC test cases with vhost and
| ... | dpdk link bonding*
| ...
@@ -79,16 +81,10 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
-| | ... | trial throughput test.
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${framesize}
@@ -104,7 +100,7 @@
| | ${jumbo_frames}= | Set Variable If
| | ... | ${get_framesize + ${vlan_overhead}} < ${1522} | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
| | And Add DPDK bonded Ethernet interfaces to DUTs in 3-node single link topology
@@ -134,295 +130,97 @@
*** Test Cases ***
| tc01-64B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-9000B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${9000} | search_type=NDR
| tc06-9000B-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${9000} | search_type=PDR
| tc07-IMIX-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc08-IMIX-1t1c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc09-64B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc10-64B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc11-1518B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc12-1518B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc13-9000B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${9000} | search_type=NDR
| tc14-9000B-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${9000} | search_type=PDR
| tc15-IMIX-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc16-IMIX-2t2c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc17-64B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc18-64B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc19-1518B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc20-1518B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc21-9000B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${9000} | search_type=NDR
| tc22-9000B-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 9000B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${9000} | search_type=PDR
| tc23-IMIX-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc24-IMIX-4t4c-1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbdpdk-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
index 4f205d00a5..c712df4d73 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
@@ -32,6 +32,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with vhost and vpp link bonding*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -74,16 +76,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
@@ -95,7 +102,7 @@
| | ${jumbo_frames}= | Set Variable If
| | ... | ${get_framesize + ${vlan_overhead}} < ${1522} | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
| | And Run Keyword If | ${get_framesize + ${vlan_overhead}} < ${1522}
@@ -118,148 +125,49 @@
*** Test Cases ***
| tc01-64B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
index 527ec6f3e9..ba1a74eb0e 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
@@ -32,6 +32,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost and
| ... | vpp link bonding*
| ...
@@ -81,16 +83,10 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Discover NDR or PDR for ${framesize} frames using xxx\
-| | ... | trial throughput test.
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${framesize}
@@ -106,7 +102,7 @@
| | ${jumbo_frames}= | Set Variable If
| | ... | ${get_framesize + ${vlan_overhead}} < ${1522} | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
| | And Run Keyword If | ${get_framesize + ${vlan_overhead}} < ${1522}
@@ -136,295 +132,97 @@
*** Test Cases ***
| tc01-64B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-9000B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${9000} | search_type=NDR
| tc06-9000B-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${9000} | search_type=PDR
| tc07-IMIX-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc08-IMIX-1t1c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc09-64B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc10-64B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc11-1518B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc12-1518B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc13-9000B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${9000} | search_type=NDR
| tc14-9000B-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${9000} | search_type=PDR
| tc15-IMIX-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc16-IMIX-2t2c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc17-64B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc18-64B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc19-1518B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc20-1518B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc21-9000B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${9000} | search_type=NDR
| tc22-9000B-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 9000B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${9000} | search_type=PDR
| tc23-IMIX-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc24-IMIX-4t4c-1lbvpplacp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
index d13b01015d..eac5a35a2f 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
@@ -31,6 +31,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC test cases with vhost and vpp link bonding*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -71,16 +73,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
@@ -92,7 +99,7 @@
| | ${jumbo_frames}= | Set Variable If
| | ... | ${get_framesize + ${vlan_overhead}} < ${1522} | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
| | And Run Keyword If | ${get_framesize + ${vlan_overhead}} < ${1522}
@@ -115,148 +122,49 @@
*** Test Cases ***
| tc01-64B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
index 67d92170cd..c2e9bd9583 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
@@ -32,6 +32,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2XC test cases with vhost and
| ... | vpp link bonding*
| ...
@@ -81,16 +83,10 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
-| | ... | trial throughput test.
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${framesize}
@@ -106,7 +102,7 @@
| | ${jumbo_frames}= | Set Variable If
| | ... | ${get_framesize + ${vlan_overhead}} < ${1522} | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Add VLAN Strip Offload switch off between DUTs in 3-node single link topology
| | And Run Keyword If | ${get_framesize + ${vlan_overhead}} < ${1522}
@@ -136,295 +132,97 @@
*** Test Cases ***
| tc01-64B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC | TEST
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-9000B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${9000} | search_type=NDR
| tc06-9000B-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${9000} | search_type=PDR
| tc07-IMIX-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc08-IMIX-1t1c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc09-64B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc10-64B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc11-1518B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc12-1518B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc13-9000B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${9000} | search_type=NDR
| tc14-9000B-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${9000} | search_type=PDR
| tc15-IMIX-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc16-IMIX-2t2c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc17-64B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc18-64B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc19-1518B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc20-1518B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc21-9000B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 9000B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${9000} | search_type=NDR
| tc22-9000B-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 9000 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 9000B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${9000} | search_type=PDR
| tc23-IMIX-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc24-IMIX-4t4c-1lbvpplacp-dot1q-l2xcbase-eth-2vhostvr1024-1vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
-| | ... | 10GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for 1lbvpp-dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
index 5f9ca6979f..8c795fa76d 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
@@ -28,6 +28,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -65,16 +67,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -85,7 +92,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -106,148 +113,49 @@
*** Test Cases ***
| tc01-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for dot1q-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
index dad126c76e..da3dc137bb 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -62,16 +64,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -82,7 +89,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -102,148 +109,49 @@
*** Test Cases ***
| tc01-64B-1t1c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-dot1q-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for dot1q-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
index f9605a335d..baab00384c 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
@@ -84,7 +84,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -116,7 +116,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -149,7 +149,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -181,7 +181,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -215,7 +215,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -248,7 +248,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Apply startup configuration on all VPP DUTs
| | When Initialize L2 bridge domains with Vhost-User in 3-node circular topology
@@ -280,7 +280,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -312,7 +312,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -345,7 +345,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -377,7 +377,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -411,7 +411,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -444,7 +444,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -477,7 +477,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -509,7 +509,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -542,7 +542,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -574,7 +574,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -608,7 +608,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -641,7 +641,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr.robot
index 02eb8e5e97..b8332bb58d 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -62,16 +64,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -82,7 +89,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -102,148 +109,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr.robot
index 891eb9ba9a..d6c867d9d2 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -60,16 +62,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -81,7 +88,7 @@
| | ... | ${False} | ${True}
| | Set Test Variable | ${jumbo_frames}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -93,148 +100,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
index 9fa57ca686..2768a44d2f 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -59,16 +61,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -79,7 +86,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -99,148 +106,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2xcbase-eth-2vhostvr256-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2xcbase-eth-2vhostvr256-1vm-mrr.robot
index 14950a2e34..e3c852e511 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2xcbase-eth-2vhostvr256-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2xcbase-eth-2vhostvr256-1vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -59,16 +61,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -79,7 +86,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -99,148 +106,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2xcbase-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr.robot
index 0a9a335505..37ab60e039 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-eth-l2xcbase-eth-4vhostvr1024-2vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -60,16 +62,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -81,7 +88,7 @@
| | ... | ${False} | ${True}
| | Set Test Variable | ${jumbo_frames}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -93,148 +100,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr.robot
index 7b59a100ef..5129b9a5f1 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -62,16 +64,21 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
@@ -82,7 +89,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -102,148 +109,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4-ip4base-eth-2vhostvr256-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4-ip4base-eth-2vhostvr256-1vm-mrr.robot
index 66d609e39e..594a110ee6 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4-ip4base-eth-2vhostvr256-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4-ip4base-eth-2vhostvr256-1vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -62,16 +64,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Check RR for eth-ip4base-eth-2vhostvr256-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -82,7 +89,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -102,148 +109,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-ethip4-ip4base-eth-2vhostvr256-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IP4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for eth-ip4base-eth-2vhostvr256-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr.robot
index d473a76ca1..d67e1f4af0 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -66,16 +68,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
@@ -87,7 +94,7 @@
| | ... | ${False} | ${True}
| | Set Test Variable | ${jumbo_frames}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -99,148 +106,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
index 826b54c4e4..e4480b49e0 100644
--- a/tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/10ge2p1x710-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
@@ -28,6 +28,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with VXLANoIPv4
| ... | and vhost*
| ...
@@ -66,16 +68,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
@@ -87,7 +94,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -107,148 +114,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for ethip4vxlan-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
index 09475f1972..26a6c7d775 100644
--- a/tests/vpp/perf/vm_vhost/40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/40ge2p1x710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -61,16 +63,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
@@ -81,7 +88,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -101,148 +108,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
index 1ce7a37593..68aaf9c749 100644
--- a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -63,16 +65,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${get_framesize}
@@ -85,7 +92,7 @@
| | ${jumbo_frames}= | Set Variable If | ${get_framesize} < ${1522}
| | ... | ${False} | ${True}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -105,148 +112,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
index c0bd81d7e1..96ad6c5e86 100644
--- a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdrdisc.robot
@@ -86,7 +86,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -118,7 +118,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -151,7 +151,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -183,7 +183,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -217,7 +217,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -250,7 +250,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '1' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 1
| | And Add PCI devices to all DUTs
| | And Apply startup configuration on all VPP DUTs
| | When Initialize L2 bridge domains with Vhost-User in 3-node circular topology
@@ -282,7 +282,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -314,7 +314,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -347,7 +347,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -379,7 +379,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -413,7 +413,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -446,7 +446,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '2' worker threads and '1' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 2
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -479,7 +479,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -511,7 +511,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -544,7 +544,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -576,7 +576,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -610,7 +610,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -643,7 +643,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${dut1_vm_refs}= | Create Dictionary
| | ${dut2_vm_refs}= | Create Dictionary
-| | Given Add '4' worker threads and '2' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | 4
| | And Add PCI devices to all DUTs
| | And Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
diff --git a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr.robot b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr.robot
index 3b2007ff52..c65e4f9ffe 100644
--- a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr.robot
+++ b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr.robot
@@ -27,6 +27,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -62,16 +64,21 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD switching config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
+| | ...
+| | [Arguments] | ${framesize} | ${phy_cores} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${get_framesize}
@@ -85,7 +92,7 @@
| | ... | ${False} | ${True}
| | Set Test Variable | ${jumbo_frames}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -97,148 +104,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy\
-| | ... | core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy\
-| | ... | cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy\
-| | ... | cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
index d201c9f049..1b350e5fcd 100644
--- a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
@@ -28,6 +28,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -69,16 +71,10 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Find NDR for ${framesize} frames using binary search start at
-| | ... | 40GE linerate, step 10kpps.
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${framesize}
@@ -96,7 +92,7 @@
| | ... | ${False} | ${True}
| | Set Test Variable | ${jumbo_frames}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -115,223 +111,73 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2bdbasemaclrn-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
index 7fdfe84862..f1f7877fde 100644
--- a/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/40ge2p1xl710-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
@@ -28,6 +28,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2XC test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -69,16 +71,10 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Find NDR for ${framesize} frames using binary search start at
-| | ... | 40GE linerate, step 10kpps.
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${framesize}
@@ -96,7 +92,7 @@
| | ... | ${False} | ${True}
| | Set Test Variable | ${jumbo_frames}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -115,223 +111,73 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-eth-l2xcbase-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for eth-l2xcbase-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/vm_vhost/40ge2p1xl710-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot b/tests/vpp/perf/vm_vhost/40ge2p1xl710-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
index eac77fb479..26abb87c6f 100644
--- a/tests/vpp/perf/vm_vhost/40ge2p1xl710-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
+++ b/tests/vpp/perf/vm_vhost/40ge2p1xl710-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrpdrdisc.robot
@@ -28,6 +28,8 @@
| ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
| ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput IP14 test cases with vhost*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -69,16 +71,10 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread, ${wt} phy\
-| | ... | core, ${rxq} receive queue per NIC port.
-| | ... | [Ver] Find NDR for ${framesize} frames using binary search start at
-| | ... | 40GE linerate, step 10kpps.
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type} | ${rxq}=${None}
+| | ... | ${min_rate}=${10000}
| | ...
-| | # Test Variables required for test and test teardown
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${framesize}
@@ -96,7 +92,7 @@
| | ... | ${False} | ${True}
| | Set Test Variable | ${jumbo_frames}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -115,223 +111,73 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 64 Byte frames \
-| | ... | using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 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] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-ethip4-ip4base-eth-4vhostvr1024-2vm-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for IMIX_v4_1 frame \
-| | ... | size using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-eth-4vhostvr1024-2vm
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR