aboutsummaryrefslogtreecommitdiffstats
path: root/tests/vpp/perf/l2
diff options
context:
space:
mode:
Diffstat (limited to 'tests/vpp/perf/l2')
-rw-r--r--tests/vpp/perf/l2/10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot162
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot36
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-dot1q-l2bdbasemaclrn-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-dot1q-l2bdbasemaclrn-ndrpdrdisc.robot195
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-dot1q-l2xcbase-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot36
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-mrr.robot132
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot152
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale100kmaclrn-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale100kmaclrn-ndrpdrdisc.robot154
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale10kmaclrn-ndrpdrdisc.robot154
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale1mmaclrn-mrr.robot143
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale1mmaclrn-ndrpdrdisc.robot154
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2xcbase-mrr.robot132
-rw-r--r--tests/vpp/perf/l2/10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot38
-rw-r--r--tests/vpp/perf/l2/10ge2p1x710-dot1q-l2bdbasemaclrn-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/10ge2p1x710-dot1q-l2xcbase-mrr.robot145
-rw-r--r--tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot134
-rw-r--r--tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale100kmaclrn-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale1mmaclrn-mrr.robot143
-rw-r--r--tests/vpp/perf/l2/10ge2p1x710-eth-l2xcbase-mrr.robot132
-rw-r--r--tests/vpp/perf/l2/40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot24
-rw-r--r--tests/vpp/perf/l2/40ge2p1xl710-eth-l2bdbasemaclrn-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot32
-rw-r--r--tests/vpp/perf/l2/40ge2p1xl710-eth-l2xcbase-mrr.robot144
-rw-r--r--tests/vpp/perf/l2/40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot18
82 files changed, 1484 insertions, 6374 deletions
diff --git a/tests/vpp/perf/l2/10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot
index 9a2f26e887..2f09211ecb 100644
--- a/tests/vpp/perf/l2/10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1vic1227-eth-l2bdbasemaclrn-ndrpdrdisc.robot
@@ -56,21 +56,20 @@
*** Keywords ***
| L2 Bridge Domain NDR Binary Search
-| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq}
-| | # Test Variables required for test teardown
+| | [Documentation]
+| | ... | [Cfg] DUT runs L2BD switching config with with\
+| | ... | ${phy_cores} phy core.
+| | ... | [Ver] Find NDR for ${framesize}B Byte frames using binary search\
+| | ... | start at 10GE linerate, step 50kpps.
+| | [Arguments] | ${framesize} | ${phy_cores} | ${min_rate}=${50000}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Set Test Documentation | [Cfg] DUT runs L2BD switching config with ${wt}\
-| | Set Test Documentation | thread, ${wt} phy core, ${rxq}\ | append=True
-| | Set Test Documentation | receive queue per NIC port. | append=True
-| | Set Test Documentation | [Ver] Find NDR for ${framesize} Byte\ | append=True
-| | Set Test Documentation | frames using binary search start at\ | append=True
-| | Set Test Documentation | 10GE linerate, step ${threshold}pps. | append=True
-| | Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Add worker threads and rxqueues to all DUTs | ${phy_cores}
| | Add PCI devices to all DUTs
| | Run Keyword If | ${framesize} < ${1522} | Add no multi seg to all DUTs
| | Apply startup configuration on all VPP DUTs
@@ -80,23 +79,20 @@
| | ... | ${min_rate} | ${max_rate} | ${threshold}
| L2 Bridge Domain PDR Binary Search
-| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq}
-| | # Test Variables required for test teardown
+| | [Documentation]
+| | ... | [Cfg] DUT runs L2BD switching config with with\
+| | ... | ${phy_cores} phy core.
+| | ... | [Ver] Find PDR for ${framesize}B Byte frames using binary search\
+| | ... | start at 10GE linerate, step 50kpps.
+| | [Arguments] | ${framesize} | ${phy_cores} | ${min_rate}=${50000}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Set Test Documentation | [Cfg] DUT runs L2BD switching config with ${wt}\
-| | Set Test Documentation | thread, ${wt} phy core, ${rxq}\ | append=True
-| | Set Test Documentation | receive queue per NIC port. | append=True
-| | Set Test Documentation | [Ver] Find PDR for ${framesize} Byte\ | append=True
-| | Set Test Documentation | frames using binary search start at\ | append=True
-| | Set Test Documentation | 10GE linerate, step ${threshold}pps, | append=True
-| | Set Test Documentation | LT=${perf_pdr_loss_acceptance} | append=True
-| | Set Test Documentation | ${perf_pdr_loss_acceptance_type}. | append=True
-| | Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Add worker threads and rxqueues to all DUTs | ${phy_cores}
| | Add PCI devices to all DUTs
| | Run Keyword If | ${framesize} < ${1522} | Add no multi seg to all DUTs
| | Apply startup configuration on all VPP DUTs
@@ -108,181 +104,91 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${64} | min_rate=${50000} | wt=1 | rxq=1
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 64B | 1C | NDRDISC
| | [Template] | L2 Bridge Domain NDR Binary Search
+| | framesize=${64} | phy_cores=${1}
| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${64} | min_rate=${50000} | wt=1 | rxq=1
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
| | [Template] | L2 Bridge Domain PDR Binary Search
+| | framesize=${64} | phy_cores=${1}
| tc03-1518B-1t1c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${1518} | min_rate=${50000} | wt=1 | rxq=1
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 1518B | 1C | NDRDISC
| | [Template] | L2 Bridge Domain NDR Binary Search
+| | framesize=${1518} | phy_cores=${1}
| tc04-1518B-1t1c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${1518} | min_rate=${50000} | wt=1 | rxq=1
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 1518B | 1C | PDRDISC | SKIP_PATCH
| | [Template] | L2 Bridge Domain PDR Binary Search
+| | framesize=${1518} | phy_cores=${1}
| tc05-9000B-1t1c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${9000} | min_rate=${10000} | wt=1 | rxq=1
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain NDR Binary Search
+| | framesize=${9000} | phy_cores=${1}
| tc06-9000B-1t1c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${9000} | min_rate=${10000} | wt=1 | rxq=1
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain PDR Binary Search
+| | framesize=${9000} | phy_cores=${1}
| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${64} | min_rate=${50000} | wt=2 | rxq=1
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 64B | 2C | NDRDISC
| | [Template] | L2 Bridge Domain NDR Binary Search
+| | framesize=${64} | phy_cores=${2}
| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${64} | min_rate=${50000} | wt=2 | rxq=1
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
| | [Template] | L2 Bridge Domain PDR Binary Search
+| | framesize=${64} | phy_cores=${2}
| tc09-1518B-2t2c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${1518} | min_rate=${50000} | wt=2 | rxq=1
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 1518B | 2C | NDRDISC | SKIP_PATCH
| | [Template] | L2 Bridge Domain NDR Binary Search
+| | framesize=${1518} | phy_cores=${2}
| tc10-1518B-2t2c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${1518} | min_rate=${50000} | wt=2 | rxq=1
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 1518B | 2C | PDRDISC | SKIP_PATCH
| | [Template] | L2 Bridge Domain PDR Binary Search
+| | framesize=${1518} | phy_cores=${2}
| tc11-9000B-2t2c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${9000} | min_rate=${10000} | wt=2 | rxq=1
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain NDR Binary Search
+| | framesize=${9000} | phy_cores=${2}
| tc12-9000B-2t2c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${9000} | min_rate=${10000} | wt=2 | rxq=1
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain PDR Binary Search
+| | framesize=${9000} | phy_cores=${2}
| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${64} | min_rate=${50000} | wt=4 | rxq=2
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 64B | 4C | NDRDISC
| | [Template] | L2 Bridge Domain NDR Binary Search
+| | framesize=${64} | phy_cores=${4}
| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${64} | min_rate=${50000} | wt=4 | rxq=2
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
| | [Template] | L2 Bridge Domain PDR Binary Search
+| | framesize=${64} | phy_cores=${4}
| tc15-1518B-4t4c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${1518} | min_rate=${50000} | wt=4 | rxq=2
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 1518B | 4C | NDRDISC | SKIP_PATCH
| | [Template] | L2 Bridge Domain NDR Binary Search
+| | framesize=${1518} | phy_cores=${4}
| tc16-1518B-4t4c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${1518} | min_rate=${50000} | wt=4 | rxq=2
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 1518B | 4C | PDRDISC | SKIP_PATCH
| | [Template] | L2 Bridge Domain PDR Binary Search
+| | framesize=${1518} | phy_cores=${4}
| tc17-9000B-4t4c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${9000} | min_rate=${10000} | wt=4 | rxq=2
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain NDR Binary Search
+| | framesize=${9000} | phy_cores=${4}
| tc18-9000B-4t4c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${9000} | min_rate=${10000} | wt=4 | rxq=2
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain PDR Binary Search
+| | framesize=${9000} | phy_cores=${4}
diff --git a/tests/vpp/perf/l2/10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot
index 36f39df087..01716c8913 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-dot1ad-l2xcbase-ndrpdrdisc.robot
@@ -74,7 +74,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -104,7 +104,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -135,7 +135,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -165,7 +165,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -196,7 +196,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Set interfaces in path in 3-node circular topology up
@@ -225,7 +225,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Set interfaces in path in 3-node circular topology up
@@ -255,7 +255,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -285,7 +285,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -316,7 +316,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -346,7 +346,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Set interfaces in path in 3-node circular topology up
@@ -406,7 +406,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Set interfaces in path in 3-node circular topology up
@@ -436,7 +436,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -466,7 +466,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -497,7 +497,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -527,7 +527,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Set interfaces in path in 3-node circular topology up
@@ -587,7 +587,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Set interfaces in path in 3-node circular topology up
diff --git a/tests/vpp/perf/l2/10ge2p1x520-dot1q-l2bdbasemaclrn-mrr.robot b/tests/vpp/perf/l2/10ge2p1x520-dot1q-l2bdbasemaclrn-mrr.robot
index 1905eefb47..4bc8427e4d 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-dot1q-l2bdbasemaclrn-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-dot1q-l2bdbasemaclrn-mrr.robot
@@ -24,6 +24,8 @@
| Test Setup | Set up performance test
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with 802.1q test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -57,22 +59,27 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for L2 dot1q-l2bdbasemaclrn
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with VLAN with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD config with VLAN.
+| | ... | 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] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
| | ... | ${get_framesize} + ${vlan_overhead}
| | ...
-| | 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
@@ -84,148 +91,49 @@
*** Test Cases ***
| tc01-64B-1t1c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/l2/10ge2p1x520-dot1q-l2bdbasemaclrn-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-dot1q-l2bdbasemaclrn-ndrpdrdisc.robot
index aadcc5f2f8..0e6a13b44c 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-dot1q-l2bdbasemaclrn-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-dot1q-l2bdbasemaclrn-ndrpdrdisc.robot
@@ -25,6 +25,8 @@
| Test Teardown | Tear down performance discovery test | ${min_rate}pps
| ... | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with 802.1q test
| ... | cases*
| ...
@@ -63,8 +65,9 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -76,7 +79,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -95,223 +98,73 @@
*** Test Cases ***
| tc01-64B-1t1c-dot1q-l2bdbasemaclrn-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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-dot1q-l2bdbasemaclrn-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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-dot1q-l2bdbasemaclrn-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 50kpps.
-| | ...
| | [Tags] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-dot1q-l2bdbasemaclrn-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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-dot1q-l2bdbasemaclrn-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 50kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=NDR
| tc06-IMIX-1t1c-dot1q-l2bdbasemaclrn-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 50kpps, 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 VLAN
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=IMIX_v4_1 | search_type=PDR
| tc07-64B-2t2c-dot1q-l2bdbasemaclrn-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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-dot1q-l2bdbasemaclrn-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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-dot1q-l2bdbasemaclrn-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 50kpps.
-| | ...
| | [Tags] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-dot1q-l2bdbasemaclrn-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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-dot1q-l2bdbasemaclrn-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 50kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=NDR
| tc12-IMIX-2t2c-dot1q-l2bdbasemaclrn-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 50kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1 | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=IMIX_v4_1 | search_type=PDR
| tc13-64B-4t4c-dot1q-l2bdbasemaclrn-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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-dot1q-l2bdbasemaclrn-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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-dot1q-l2bdbasemaclrn-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 50kpps.
-| | ...
| | [Tags] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-dot1q-l2bdbasemaclrn-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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-dot1q-l2bdbasemaclrn-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 50kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with VLAN
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=NDR
| tc18-IMIX-4t4c-dot1q-l2bdbasemaclrn-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 50kpps, 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 VLAN
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1 | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=IMIX_v4_1 | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-dot1q-l2xcbase-mrr.robot b/tests/vpp/perf/l2/10ge2p1x520-dot1q-l2xcbase-mrr.robot
index 8436affa64..c1051d7a02 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-dot1q-l2xcbase-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-dot1q-l2xcbase-mrr.robot
@@ -26,6 +26,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC with 802.1q test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -53,21 +55,26 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for L2XC dot1q-l2xcbase
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC config with VLAN dot1q with ${wt} thread(s), \
-| | ... | ${wt} phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC config with VLAN dot1q with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [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] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -86,148 +93,49 @@
*** Test Cases ***
| tc01-64B-1t1c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/l2/10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot
index e5fc3b66ff..f8688b5f04 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-dot1q-l2xcbase-ndrpdrdisc.robot
@@ -70,7 +70,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -99,7 +99,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -129,7 +129,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -188,7 +188,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Set interfaces in path in 3-node circular topology up
@@ -216,7 +216,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Set interfaces in path in 3-node circular topology up
@@ -245,7 +245,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -274,7 +274,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -304,7 +304,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -333,7 +333,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -363,7 +363,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Set interfaces in path in 3-node circular topology up
@@ -391,7 +391,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Set interfaces in path in 3-node circular topology up
@@ -420,7 +420,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -449,7 +449,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -479,7 +479,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -508,7 +508,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -538,7 +538,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Set interfaces in path in 3-node circular topology up
@@ -566,7 +566,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Set interfaces in path in 3-node circular topology up
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdrdisc.robot
index 92c19302e6..c2e5ed7a5f 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sf-100flows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl10-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl10-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl10-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl10-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl10-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl10-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdrdisc.robot
index 63649bb703..6c67aa43fe 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sf-100kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl10-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl10-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl10-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl10-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl10-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl10-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdrdisc.robot
index 02c312fb10..3acc49415a 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sf-10kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl10-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl10-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl10-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl10-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl10-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl10-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdrdisc.robot
index 612b4d7566..a8e05e00fd 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sl-100flows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl10-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl10-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl10-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl10-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl10-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl10-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdrdisc.robot
index e0e3be416d..e2d5d64204 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sl-100kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl10-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl10-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl10-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl10-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl10-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl10-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdrdisc.robot
index 4ab2e2c0d3..7dd5489145 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl10sl-10kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl10-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl10-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl10-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl10-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl10-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl10-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdrdisc.robot
index d8b45952b8..0dd677e6ea 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-100flows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdrdisc.robot
index d48540715f..ba5154c54c 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-100kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.robot
index 9de8e8b5ef..0997fcee57 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.robot
@@ -28,6 +28,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -71,21 +73,26 @@
| ${traffic_profile} | trex-sl-3n-ethip4udp-10u1000p-conc
*** Keywords ***
-| Check RR for L2BD l2bdbasemaclrn-iacl1sf
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with ACLs with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD config with ACLs with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize}
+| | ... | *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] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -96,148 +103,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdrdisc.robot
index 8faaef9241..bd88b32f0e 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sf-10kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdrdisc.robot
index 1773a8f82b..dc8e13512e 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-100flows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdrdisc.robot
index 0e122bbcca..e38ca5de73 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-100kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.robot
index 192cf48b3b..e749f82dc0 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.robot
@@ -28,6 +28,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -71,21 +73,26 @@
| ${traffic_profile} | trex-sl-3n-ethip4udp-10u1000p-conc
*** Keywords ***
-| Check RR for L2BD l2bdbasemaclrn-iacl1sl
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with ACLs with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD config with ACLs with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize}
+| | ... | *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] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -96,148 +103,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdrdisc.robot
index 01a0c5e691..0a2d7014a0 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl1sl-10kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdrdisc.robot
index aecc3cf8d2..6208c4e8e0 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-100flows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdrdisc.robot
index 0a7996f64f..069a2ca6fd 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-100kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.robot
index 1467f1a82d..3ef8bf84e6 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.robot
@@ -28,6 +28,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -71,21 +73,26 @@
| ${traffic_profile} | trex-sl-3n-ethip4udp-10u1000p-conc
*** Keywords ***
-| Check RR for L2BD l2bdbasemaclrn-iacl50sf
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with ACLs with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD config with ACLs with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize}
+| | ... | *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] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -96,148 +103,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdrdisc.robot
index bafb1fbc62..9b6666249e 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sf-10kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdrdisc.robot
index 68f09c5aa3..4a6fd0de16 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-100flows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdrdisc.robot
index 3632dbc273..e1b51da2af 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-100kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.robot
index 9a31d7b7ea..f8dc475a22 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.robot
@@ -28,6 +28,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -71,21 +73,26 @@
| ${traffic_profile} | trex-sl-3n-ethip4udp-10u1000p-conc
*** Keywords ***
-| Check RR for L2BD l2bdbasemaclrn-iacl50sl
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with ACLs with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD config with ACLs with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize}
+| | ... | *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] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -96,148 +103,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdrdisc.robot
index 594ba6ed33..49493be244 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-iacl50sl-10kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdrdisc.robot
index 9ed0f51cd1..fb23e6852b 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with MACIP ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -78,9 +80,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-macsrc100ip4src100
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -89,7 +91,7 @@
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
| | ...
-| | 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -107,73 +109,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl10sl-100flows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdrdisc.robot
index 5de0d46327..3b1dbeeddf 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with MACIP ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -78,9 +80,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-macsrc100kip4src100k
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -89,7 +91,7 @@
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
| | ...
-| | 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -107,73 +109,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl10sl-100kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdrdisc.robot
index 9beba816c8..ba83ccd5d0 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with MACIP ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -78,9 +80,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-macsrc10kip4src10k
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -89,7 +91,7 @@
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
| | ...
-| | 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -107,73 +109,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl10sl-10kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdrdisc.robot
index 4028de7c29..6ba6f537b3 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with MACIP ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -78,9 +80,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-macsrc100ip4src100
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -89,7 +91,7 @@
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
| | ...
-| | 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -107,73 +109,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl1sl-100flows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdrdisc.robot
index 426b60efb4..baa1a4ab67 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with MACIP ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -78,9 +80,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-macsrc100kip4src100k
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -89,7 +91,7 @@
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
| | ...
-| | 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -107,73 +109,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl1sl-100kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdrdisc.robot
index c8ac3a95b5..de03f295b1 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with MACIP ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -78,9 +80,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-macsrc10kip4src10k
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -89,7 +91,7 @@
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
| | ...
-| | 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -107,73 +109,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl1sl-10kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdrdisc.robot
index 4810bc1ee3..d3b0e185b2 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with MACIP ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -78,9 +80,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-macsrc100ip4src100
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -89,7 +91,7 @@
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
| | ...
-| | 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -107,73 +109,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl50sl-100flows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdrdisc.robot
index 8420ee805c..e849418e73 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with MACIP ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -78,9 +80,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-macsrc100kip4src100k
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -89,7 +91,7 @@
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
| | ...
-| | 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -107,73 +109,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl50sl-100kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdrdisc.robot
index 7eaf950af2..472035f68e 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with MACIP ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -78,9 +80,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-macsrc10kip4src10k
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -89,7 +91,7 @@
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
| | ...
-| | 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -107,73 +109,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-macip-iacl50sl-10kflows-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with MACIP ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with MACIP ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-mrr.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-mrr.robot
index 686c5be2e5..0143e43163 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-mrr.robot
@@ -24,6 +24,8 @@
| Test Setup | Set up performance test
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -48,21 +50,26 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for l2bdbasemaclrn
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [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 teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -73,136 +80,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for l2bdbasemaclrn
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for l2bdbasemaclrn
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for l2bdbasemaclrn
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot
index f0bb9d28ca..7c69029b8f 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-ndrpdrdisc.robot
@@ -26,6 +26,8 @@
| Test Teardown | Tear down performance discovery test | ${min_rate}pps
| ... | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Pkt throughput L2BD test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -55,8 +57,10 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| L2 Bridge Domain Binary Search
-| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Set Variable If
@@ -82,181 +86,73 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 64B | 1C | NDRDISC
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=1 | rxq=1 | search_type=NDR
+| | framesize=${64} | phy_cores=${1} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=1 | rxq=1 | search_type=PDR
+| | framesize=${64} | phy_cores=${1} | search_type=PDR
| tc03-1518B-1t1c-eth-l2bdbasemaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 1518B | 1C | NDRDISC
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=1 | rxq=1 | search_type=NDR
+| | framesize=${1518} | phy_cores=${1} | search_type=NDR
| tc04-1518B-1t1c-eth-l2bdbasemaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=1 | rxq=1 | search_type=PDR
+| | framesize=${1518} | phy_cores=${1} | search_type=PDR
| tc05-9000B-1t1c-eth-l2bdbasemaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=1 | rxq=1 | search_type=NDR
+| | framesize=${9000} | phy_cores=${1} | search_type=NDR
| tc06-9000B-1t1c-eth-l2bdbasemaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=1 | rxq=1 | search_type=PDR
+| | framesize=${9000} | phy_cores=${1} | search_type=PDR
| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 64B | 2C | NDRDISC
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=2 | rxq=1 | search_type=NDR
+| | framesize=${64} | phy_cores=${2} | search_type=NDR
| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=2 | rxq=1 | search_type=PDR
+| | framesize=${64} | phy_cores=${2} | search_type=PDR
| tc09-1518B-2t2c-eth-l2bdbasemaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=2 | rxq=1 | search_type=NDR
+| | framesize=${1518} | phy_cores=${2} | search_type=NDR
| tc10-1518B-2t2c-eth-l2bdbasemaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=2 | rxq=1 | search_type=PDR
+| | framesize=${1518} | phy_cores=${2} | search_type=PDR
| tc11-9000B-2t2c-eth-l2bdbasemaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=2 | rxq=1 | search_type=NDR
+| | framesize=${9000} | phy_cores=${2} | search_type=NDR
| tc12-9000B-2t2c-eth-l2bdbasemaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=2 | rxq=1 | search_type=PDR
+| | framesize=${9000} | phy_cores=${2} | search_type=PDR
| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 64B | 4C | NDRDISC
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=4 | rxq=2 | search_type=NDR
+| | framesize=${64} | phy_cores=${4} | search_type=NDR
| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=4 | rxq=2 | search_type=PDR
+| | framesize=${64} | phy_cores=${4} | search_type=PDR
| tc15-1518B-4t4c-eth-l2bdbasemaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=4 | rxq=2 | search_type=NDR
+| | framesize=${1518} | phy_cores=${4} | search_type=NDR
| tc16-1518B-4t4c-eth-l2bdbasemaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=4 | rxq=2 | search_type=PDR
+| | framesize=${1518} | phy_cores=${4} | search_type=PDR
| tc17-9000B-4t4c-eth-l2bdbasemaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=4 | rxq=2 | search_type=NDR
+| | framesize=${9000} | phy_cores=${4} | search_type=NDR
| tc18-9000B-4t4c-eth-l2bdbasemaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=4 | rxq=2 | search_type=PDR
+| | framesize=${9000} | phy_cores=${4} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdrdisc.robot
index 2dbd9a9140..02b430d28d 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sf-100flows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl10-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl10-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl10-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl10-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl10-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl10-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdrdisc.robot
index d68f7160f5..21d650ca85 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sf-100kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl10-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl10-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl10-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl10-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl10-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl10-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdrdisc.robot
index 6a00b10e6a..647224f82d 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sf-10kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl10-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl10-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl10-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl10-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl10-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl10-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdrdisc.robot
index def8f0e7e6..0a98a2fa20 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sl-100flows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl10-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl10-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl10-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl10-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl10-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl10-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdrdisc.robot
index 9e045088c5..40f1bc9504 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sl-100kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl10-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl10-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl10-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl10-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl10-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl10-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdrdisc.robot
index 08ff05bed4..1c6e9af255 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl10sl-10kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl10-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl10-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl10-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl10-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl10-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl10-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdrdisc.robot
index 27c9d86e36..6a5bb99919 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sf-100flows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl1-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl1-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl1-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl1-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl1-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl1-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdrdisc.robot
index af35da4a61..0fcc9cce50 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sf-100kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl1-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl1-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl1-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl1-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl1-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl1-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdrdisc.robot
index cc3337bf9f..6f1585b819 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sf-10kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl1-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl1-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl1-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl1-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl1-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl1-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdrdisc.robot
index 06732a844e..84936fa7a9 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sl-100flows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl1-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl1-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl1-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl1-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl1-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl1-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdrdisc.robot
index 86af409aef..87a305668a 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sl-100kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl1-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl1-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl1-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl1-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl1-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl1-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdrdisc.robot
index e3a6389bee..b6d8bb4cfe 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl1sl-10kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl1-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl1-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl1-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl1-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl1-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl1-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdrdisc.robot
index e78adedf04..30df7bb1b3 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sf-100flows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl50-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl50-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl50-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl50-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl50-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl50-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdrdisc.robot
index 05680ec38c..7ddaeda869 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sf-100kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl50-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl50-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl50-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl50-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl50-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl50-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdrdisc.robot
index a4633d4d96..67b30080f6 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sf-10kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl50-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl50-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl50-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl50-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl50-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl50-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdrdisc.robot
index 757926180d..0c014e101e 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sl-100flows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl50-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl50-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl50-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl50-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl50-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl50-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdrdisc.robot
index 9ce643f048..c154336be7 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sl-100kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl50-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl50-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl50-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl50-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl50-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl50-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdrdisc.robot
index 6784b8189c..dda30a970a 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdbasemaclrn-oacl50sl-10kflows-ndrpdrdisc.robot
@@ -29,6 +29,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -73,15 +75,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_core} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Given 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
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -101,73 +105,25 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-oacl50-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdbasemaclrn-oacl50-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-64B-2t2c-eth-l2bdbasemaclrn-oacl50-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc04-64B-2t2c-eth-l2bdbasemaclrn-oacl50-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc05-64B-4t4c-eth-l2bdbasemaclrn-oacl50-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps.
-| | ...
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc06-64B-4t4c-eth-l2bdbasemaclrn-oacl50-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for L2 Bridge Domain with ACLs
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale100kmaclrn-mrr.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale100kmaclrn-mrr.robot
index ab3ec3aa4f..3cf98c0856 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale100kmaclrn-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale100kmaclrn-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results for L2BD test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -53,15 +55,26 @@
| ${traffic_profile} | trex-sl-3n-ethip4-macsrc50kdst50k
*** Keywords ***
-| Check RR for L2BD eth-l2bdscale
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| Local template
+| | [Documentation]
+| | ... | [CFG] DUT runs L2BD switching config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
+| | ... | trial throughput test.
+| | ...
+| | ... | *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 teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -72,148 +85,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale100kmaclrn-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale100kmaclrn-ndrpdrdisc.robot
index 6a421441b4..4b32d6c219 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale100kmaclrn-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale100kmaclrn-ndrpdrdisc.robot
@@ -26,6 +26,8 @@
| Test Teardown | Tear down performance discovery test | ${min_rate}pps
| ... | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Pkt throughput L2BD test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -58,8 +60,10 @@
| ${traffic_profile} | trex-sl-3n-ethip4-macsrc50kdst50k
*** Keywords ***
-| L2 Bridge Domain Binary Search
-| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} | ${search_type}
+| Local template
+| | [Arguments] | ${framesize} | ${phy_cores} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Set Variable If
@@ -68,7 +72,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | Add PCI devices to all DUTs
| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs
| | Apply startup configuration on all VPP DUTs
@@ -85,182 +89,74 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdscale100kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 64B | 1C | NDRDISC
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=1 | rxq=1 | search_type=NDR
+| | framesize=${64} | phy_cores=${1} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdscale100kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=1 | rxq=1 | search_type=PDR
+| | framesize=${64} | phy_cores=${1} | search_type=PDR
| tc03-1518B-1t1c-eth-l2bdscale100kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 1518B | 1C | NDRDISC
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=1 | rxq=1 | search_type=NDR
+| | framesize=${1518} | phy_cores=${1} | search_type=NDR
| tc04-1518B-1t1c-eth-l2bdscale100kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=1 | rxq=1 | search_type=PDR
+| | framesize=${1518} | phy_cores=${1} | search_type=PDR
| tc05-9000B-1t1c-eth-l2bdscale100kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=1 | rxq=1 | search_type=NDR
+| | framesize=${9000} | phy_cores=${1} | search_type=NDR
| tc06-9000B-1t1c-eth-l2bdscale100kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=1 | rxq=1 | search_type=PDR
+| | framesize=${9000} | phy_cores=${1} | search_type=PDR
| tc07-64B-2t2c-eth-l2bdscale100kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 64B | 2C | NDRDISC
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=2 | rxq=1 | search_type=NDR
+| | framesize=${64} | phy_cores=${2} | search_type=NDR
| tc08-64B-2t2c-eth-l2bdscale100kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=2 | rxq=1 | search_type=PDR
+| | framesize=${64} | phy_cores=${2} | search_type=PDR
| tc09-1518B-2t2c-eth-l2bdscale100kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=2 | rxq=1 | search_type=NDR
+| | framesize=${1518} | phy_cores=${2} | search_type=NDR
| tc10-1518B-2t2c-eth-l2bdscale100kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=2 | rxq=1 | search_type=PDR
+| | framesize=${1518} | phy_cores=${2} | search_type=PDR
| tc11-9000B-2t2c-eth-l2bdscale100kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=2 | rxq=1 | search_type=NDR
+| | framesize=${9000} | phy_cores=${2} | search_type=NDR
| tc12-9000B-2t2c-eth-l2bdscale100kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=2 | rxq=1 | search_type=PDR
+| | framesize=${9000} | phy_cores=${2} | search_type=PDR
| tc13-64B-4t4c-eth-l2bdscale100kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 64B | 4C | NDRDISC
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=4 | rxq=2 | search_type=NDR
+| | framesize=${64} | phy_cores=${4} | search_type=NDR
| tc14-64B-4t4c-eth-l2bdscale100kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=4 | rxq=2 | search_type=PDR
+| | framesize=${64} | phy_cores=${4} | search_type=PDR
| tc15-1518B-4t4c-eth-l2bdscale100kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=4 | rxq=2 | search_type=NDR
+| | framesize=${1518} | phy_cores=${4} | search_type=NDR
| tc16-1518B-4t4c-eth-l2bdscale100kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=4 | rxq=2 | search_type=PDR
+| | framesize=${1518} | phy_cores=${4} | search_type=PDR
| tc17-9000B-4t4c-eth-l2bdscale100kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=4 | rxq=2 | search_type=NDR
+| | framesize=${9000} | phy_cores=${4} | search_type=NDR
| tc18-9000B-4t4c-eth-l2bdscale100kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=4 | rxq=2 | search_type=PDR
+| | framesize=${9000} | phy_cores=${4} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.robot
index a53d6b8b7b..5a4c98af6a 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale10kmaclrn-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results for L2BD test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -53,15 +55,26 @@
| ${traffic_profile} | trex-sl-3n-ethip4-macsrc5kdst5k
*** Keywords ***
-| Check RR for L2BD eth-l2bdscale
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| Local template
+| | [Documentation]
+| | ... | [CFG] DUT runs L2BD switching config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
+| | ... | trial throughput test.
+| | ...
+| | ... | *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 teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -72,148 +85,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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_v4_1 | 1C
-| | ...
-| | [Template] | Check RR for L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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_v4_1 | 2C
-| | ...
-| | [Template] | Check RR for L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | IMIX_v4_1
-| | ...
-| | [Template] | Check RR for L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale10kmaclrn-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale10kmaclrn-ndrpdrdisc.robot
index fbf95838eb..c770b444c6 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale10kmaclrn-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale10kmaclrn-ndrpdrdisc.robot
@@ -26,6 +26,8 @@
| Test Teardown | Tear down performance discovery test | ${min_rate}pps
| ... | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Pkt throughput L2BD test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -58,8 +60,10 @@
| ${traffic_profile} | trex-sl-3n-ethip4-macsrc5kdst5k
*** Keywords ***
-| L2 Bridge Domain Binary Search
-| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} | ${search_type}
+| Local template
+| | [Arguments] | ${framezise} | ${phy_cores} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Set Variable If
@@ -68,7 +72,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | Add PCI devices to all DUTs
| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs
| | Apply startup configuration on all VPP DUTs
@@ -85,182 +89,74 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2dbscale10kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 64B | 1C | NDRDISC
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=1 | rxq=1 | search_type=NDR
+| | framesize=${64} | phy_cores=${1} | search_type=NDR
| tc02-64B-1t1c-eth-l2dbscale10kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=1 | rxq=1 | search_type=PDR
+| | framesize=${64} | phy_cores=${1} | search_type=PDR
| tc03-1518B-1t1c-eth-l2dbscale10kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 1518B | 1C | NDRDISC
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=1 | rxq=1 | search_type=NDR
+| | framesize=${1518} | phy_cores=${1} | search_type=NDR
| tc04-1518B-1t1c-eth-l2dbscale10kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=1 | rxq=1 | search_type=PDR
+| | framesize=${1518} | phy_cores=${1} | search_type=PDR
| tc05-9000B-1t1c-eth-l2dbscale10kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=1 | rxq=1 | search_type=NDR
+| | framesize=${9000} | phy_cores=${1} | search_type=NDR
| tc06-9000B-1t1c-eth-l2dbscale10kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=1 | rxq=1 | search_type=PDR
+| | framesize=${9000} | phy_cores=${1} | search_type=PDR
| tc07-64B-2t2c-eth-l2dbscale10kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 64B | 2C | NDRDISC
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=2 | rxq=1 | search_type=NDR
+| | framesize=${64} | phy_cores=${2} | search_type=NDR
| tc08-64B-2t2c-eth-l2dbscale10kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=2 | rxq=1 | search_type=PDR
+| | framesize=${64} | phy_cores=${2} | search_type=PDR
| tc09-1518B-2t2c-eth-l2dbscale10kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=2 | rxq=1 | search_type=NDR
+| | framesize=${1518} | phy_cores=${2} | search_type=NDR
| tc10-1518B-2t2c-eth-l2dbscale10kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=2 | rxq=1 | search_type=PDR
+| | framesize=${1518} | phy_cores=${2} | search_type=PDR
| tc11-9000B-2t2c-eth-l2dbscale10kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=2 | rxq=1 | search_type=NDR
+| | framesize=${9000} | phy_cores=${2} | search_type=NDR
| tc12-9000B-2t2c-eth-l2dbscale10kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=2 | rxq=1 | search_type=PDR
+| | framesize=${9000} | phy_cores=${2} | search_type=PDR
| tc13-64B-4t4c-eth-l2dbscale10kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 64B | 4C | NDRDISC
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=4 | rxq=2 | search_type=NDR
+| | framesize=${64} | phy_cores=${4} | search_type=NDR
| tc14-64B-4t4c-eth-l2dbscale10kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=4 | rxq=2 | search_type=PDR
+| | framesize=${64} | phy_cores=${4} | search_type=PDR
| tc15-1518B-4t4c-eth-l2dbscale10kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=4 | rxq=2 | search_type=NDR
+| | framesize=${1518} | phy_cores=${4} | search_type=NDR
| tc16-1518B-4t4c-eth-l2dbscale10kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=4 | rxq=2 | search_type=PDR
+| | framesize=${1518} | phy_cores=${4} | search_type=PDR
| tc17-9000B-4t4c-eth-l2dbscale10kmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=4 | rxq=2 | search_type=NDR
+| | framesize=${9000} | phy_cores=${4} | search_type=NDR
| tc18-9000B-4t4c-eth-l2dbscale10kmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=4 | rxq=2 | search_type=PDR
+| | framesize=${9000} | phy_cores=${4} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale1mmaclrn-mrr.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale1mmaclrn-mrr.robot
index 2b2f348915..64934b233c 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale1mmaclrn-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale1mmaclrn-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results for L2BD test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -53,21 +55,26 @@
| ${traffic_profile} | trex-sl-3n-ethip4-macsrc500kdst500k
*** Keywords ***
-| Check RR for L2BD eth-l2bdscale
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [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 teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -78,147 +85,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-9000B-2t2c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale1mmaclrn-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale1mmaclrn-ndrpdrdisc.robot
index aa9f1bdfeb..a1072f33d6 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale1mmaclrn-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2bdscale1mmaclrn-ndrpdrdisc.robot
@@ -26,6 +26,8 @@
| Test Teardown | Tear down performance discovery test | ${min_rate}pps
| ... | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Pkt throughput L2BD test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -58,8 +60,10 @@
| ${traffic_profile} | trex-sl-3n-ethip4-macsrc500kdst500k
*** Keywords ***
-| L2 Bridge Domain Binary Search
-| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} | ${search_type}
+| Local template
+| | [Arguments] | ${framesize} | ${phy_cores} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
+| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${get_framesize}= | Set Variable If
@@ -68,7 +72,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | Add PCI devices to all DUTs
| | Run Keyword If | ${get_framesize} < ${1522} | Add No Multi Seg to all DUTs
| | Apply startup configuration on all VPP DUTs
@@ -85,182 +89,74 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdscale1mmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 64B | 1C | NDRDISC
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=1 | rxq=1 | search_type=NDR
+| | framesize=${64} | phy_cores=${1} | search_type=NDR
| tc02-64B-1t1c-eth-l2bdscale1mmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=1 | rxq=1 | search_type=PDR
+| | framesize=${64} | phy_cores=${1} | search_type=PDR
| tc03-1518B-1t1c-eth-l2bdscale1mmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 1518B | 1C | NDRDISC
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=1 | rxq=1 | search_type=NDR
+| | framesize=${1518} | phy_cores=${1} | search_type=NDR
| tc04-1518B-1t1c-eth-l2bdscale1mmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=1 | rxq=1 | search_type=PDR
+| | framesize=${1518} | phy_cores=${1} | search_type=PDR
| tc05-9000B-1t1c-eth-l2bdscale1mmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=1 | rxq=1 | search_type=NDR
+| | framesize=${9000} | phy_cores=${1} | search_type=NDR
| tc06-9000B-1t1c-eth-l2bdscale1mmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=1 | rxq=1 | search_type=PDR
+| | framesize=${9000} | phy_cores=${1} | search_type=PDR
| tc07-64B-2t2c-eth-l2bdscale1mmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 64B | 2C | NDRDISC
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=2 | rxq=1 | search_type=NDR
+| | framesize=${64} | phy_cores=${2} | search_type=NDR
| tc08-64B-2t2c-eth-l2bdscale1mmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=2 | rxq=1 | search_type=PDR
+| | framesize=${64} | phy_cores=${2} | search_type=PDR
| tc09-1518B-2t2c-eth-l2bdscale1mmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=2 | rxq=1 | search_type=NDR
+| | framesize=${1518} | phy_cores=${2} | search_type=NDR
| tc10-1518B-2t2c-eth-l2bdscale1mmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=2 | rxq=1 | search_type=PDR
+| | framesize=${1518} | phy_cores=${2} | search_type=PDR
| tc11-9000B-2t2c-eth-l2bdscale1mmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=2 | rxq=1 | search_type=NDR
+| | framesize=${9000} | phy_cores=${2} | search_type=NDR
| tc12-9000B-2t2c-eth-l2bdscale1mmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=2 | rxq=1 | search_type=PDR
+| | framesize=${9000} | phy_cores=${2} | search_type=PDR
| tc13-64B-4t4c-eth-l2bdscale1mmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 64B | 4C | NDRDISC
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=4 | rxq=2 | search_type=NDR
+| | framesize=${64} | phy_cores=${4} | search_type=NDR
| tc14-64B-4t4c-eth-l2bdscale1mmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=4 | rxq=2 | search_type=PDR
+| | framesize=${64} | phy_cores=${4} | search_type=PDR
| tc15-1518B-4t4c-eth-l2bdscale1mmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Tags] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=4 | rxq=2 | search_type=NDR
+| | framesize=${1518} | phy_cores=${4} | search_type=NDR
| tc16-1518B-4t4c-eth-l2bdscale1mmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Tags] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${1518} | min_rate=${50000} | wt=4 | rxq=2 | search_type=PDR
+| | framesize=${1518} | phy_cores=${4} | search_type=PDR
| tc17-9000B-4t4c-eth-l2bdscale1mmaclrn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=4 | rxq=2 | search_type=NDR
+| | framesize=${9000} | phy_cores=${4} | search_type=NDR
| tc18-9000B-4t4c-eth-l2bdscale1mmaclrn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | L2 Bridge Domain Binary Search
-| | framesize=${9000} | min_rate=${10000} | wt=4 | rxq=2 | search_type=PDR
+| | framesize=${9000} | phy_cores=${4} | search_type=PDR
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2xcbase-mrr.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2xcbase-mrr.robot
index 60cda67c90..eea07a639e 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2xcbase-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2xcbase-mrr.robot
@@ -24,6 +24,8 @@
| Test Setup | Set up performance test
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -47,21 +49,26 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for l2xcbase
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC config with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [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 teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -72,136 +79,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for l2xcbase
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for l2xcbase
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for l2xcbase
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/l2/10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot
index dd27a66f7f..41b9c4a9fe 100644
--- a/tests/vpp/perf/l2/10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x520-eth-l2xcbase-ndrpdrdisc.robot
@@ -68,7 +68,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -89,7 +89,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -111,7 +111,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -132,7 +132,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -154,7 +154,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Initialize L2 xconnect in 3-node circular topology
@@ -174,7 +174,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Initialize L2 xconnect in 3-node circular topology
@@ -195,7 +195,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -216,7 +216,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -238,7 +238,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -259,7 +259,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -281,7 +281,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Initialize L2 xconnect in 3-node circular topology
@@ -301,7 +301,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Initialize L2 xconnect in 3-node circular topology
@@ -322,7 +322,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -343,7 +343,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -365,7 +365,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -386,7 +386,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -408,7 +408,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Initialize L2 xconnect in 3-node circular topology
@@ -428,11 +428,11 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
| | And Initialize L2 xconnect in 3-node circular topology
| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
| | ... | ${binary_max} | ${traffic_profile}
| | ... | ${min_rate} | ${max_rate} | ${threshold}
-| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type} \ No newline at end of file
+| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type}
diff --git a/tests/vpp/perf/l2/10ge2p1x710-dot1q-l2bdbasemaclrn-mrr.robot b/tests/vpp/perf/l2/10ge2p1x710-dot1q-l2bdbasemaclrn-mrr.robot
index 9afd686d9a..3d2a94ed9c 100644
--- a/tests/vpp/perf/l2/10ge2p1x710-dot1q-l2bdbasemaclrn-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x710-dot1q-l2bdbasemaclrn-mrr.robot
@@ -24,6 +24,8 @@
| Test Setup | Set up performance test
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with 802.1q test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -57,22 +59,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for L2 dot1q-l2bdbasemaclrn
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with VLAN with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD config with VLAN with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [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] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
| | ... | ${get_framesize} + ${vlan_overhead}
| | ...
-| | 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
@@ -84,148 +91,49 @@
*** Test Cases ***
| tc01-64B-1t1c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-dot1q-l2bdbasemaclrn-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 L2 dot1q-l2bdbasemaclrn
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/l2/10ge2p1x710-dot1q-l2xcbase-mrr.robot b/tests/vpp/perf/l2/10ge2p1x710-dot1q-l2xcbase-mrr.robot
index 006267cb65..1e596508bf 100644
--- a/tests/vpp/perf/l2/10ge2p1x710-dot1q-l2xcbase-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x710-dot1q-l2xcbase-mrr.robot
@@ -21,11 +21,12 @@
| ... | L2 | Intel-X710
| Suite Teardown | Tear down 3-node performance topology
| ...
-| ...
| Test Setup | Set up performance test
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC with 802.1q test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -53,21 +54,26 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for L2XC dot1q-l2xcbase
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC config with VLAN dot1q with ${wt} thread(s), \
-| | ... | ${wt} phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC config with VLAN dot1q with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [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] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -86,148 +92,49 @@
*** Test Cases ***
| tc01-64B-1t1c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-dot1q-l2xcbase-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 L2XC dot1q-l2xcbase
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.robot b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.robot
index 75188cb724..ebe2b9d075 100644
--- a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl1sf-10kflows-mrr.robot
@@ -28,6 +28,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -71,21 +73,26 @@
| ${traffic_profile}= | trex-sl-3n-ethip4udp-10u1000p-conc
*** Keywords ***
-| Check RR for L2BD l2bdbasemaclrn-iacl1sf
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with ACLs with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD config with ACLs with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize}
+| | ... | *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] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -96,148 +103,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-2t2c-eth-l2bdbasemaclrn-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sf
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.robot b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.robot
index 14d482ce5f..326a01809b 100644
--- a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl1sl-10kflows-mrr.robot
@@ -28,6 +28,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -71,21 +73,26 @@
| ${traffic_profile}= | trex-sl-3n-ethip4udp-10u1000p-conc
*** Keywords ***
-| Check RR for L2BD l2bdbasemaclrn-iacl1sl
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with ACLs with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD config with ACLs with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize}
+| | ... | *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] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -96,148 +103,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl1sl
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.robot b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.robot
index 74bc15cea1..8b56ac8431 100644
--- a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl50sf-10kflows-mrr.robot
@@ -28,6 +28,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -71,21 +73,26 @@
| ${traffic_profile}= | trex-sl-3n-ethip4udp-10u1000p-conc
*** Keywords ***
-| Check RR for L2BD l2bdbasemaclrn-iacl50sf
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with ACLs with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD config with ACLs with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize}
+| | ... | *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] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -96,148 +103,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sf
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.robot b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.robot
index c486b38cce..ec5360b311 100644
--- a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-iacl50sl-10kflows-mrr.robot
@@ -28,6 +28,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -71,21 +73,26 @@
| ${traffic_profile}= | trex-sl-3n-ethip4udp-10u1000p-conc
*** Keywords ***
-| Check RR for L2BD l2bdbasemaclrn-iacl50sl
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with ACLs with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD config with ACLs with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize}
+| | ... | *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] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -96,148 +103,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with ACL 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 L2BD l2bdbasemaclrn-iacl50sl
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-mrr.robot b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-mrr.robot
index 384c33b0e8..ce5d65badb 100644
--- a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-mrr.robot
@@ -24,6 +24,8 @@
| Test Setup | Set up performance test
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -48,21 +50,26 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for l2bdbasemaclrn
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [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 teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ...
-| | 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
@@ -73,148 +80,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD 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 l2bdbasemaclrn
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot
index a1c134f9c8..fd47f48974 100644
--- a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdbasemaclrn-ndrpdrdisc.robot
@@ -56,14 +56,14 @@
*** Keywords ***
| L2 Bridge Domain NDR Binary Search
-| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq}
+| | [Arguments] | ${framesize} | ${phy_cores} | ${min_rate}=${50000}
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${None}
| | Add PCI devices to all DUTs
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -74,14 +74,14 @@
| | ... | ${min_rate} | ${max_rate} | ${threshold}
| L2 Bridge Domain PDR Binary Search
-| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq}
+| | [Arguments] | ${framesize} | ${phy_cores} | ${min_rate}=${50000}
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${None}
| | Add PCI devices to all DUTs
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -94,181 +94,91 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${64} | min_rate=${50000} | wt=1 | rxq=1
+| | ... | framesize=${64} | phy_cores=${1}
| | [Tags] | 64B | 1C | NDRDISC
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Template] | L2 Bridge Domain NDR Binary Search
| tc02-64B-1t1c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${64} | min_rate=${50000} | wt=1 | rxq=1
+| | ... | framesize=${64} | phy_cores=${1}
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Template] | L2 Bridge Domain PDR Binary Search
| tc03-1518B-1t1c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${1518} | min_rate=${50000} | wt=1 | rxq=1
+| | ... | framesize=${1518} | phy_cores=${1}
| | [Tags] | 1518B | 1C | NDRDISC
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Template] | L2 Bridge Domain NDR Binary Search
| tc04-1518B-1t1c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${1518} | min_rate=${50000} | wt=1 | rxq=1
+| | ... | framesize=${1518} | phy_cores=${1}
| | [Tags] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Template] | L2 Bridge Domain PDR Binary Search
| tc05-9000B-1t1c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${9000} | min_rate=${10000} | wt=1 | rxq=1
+| | ... | framesize=${9000} | phy_cores=${1}
| | [Tags] | 9000B | 1C | NDRDISC
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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.
| | [Template] | L2 Bridge Domain NDR Binary Search
| tc06-9000B-1t1c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${9000} | min_rate=${10000} | wt=1 | rxq=1
+| | ... | framesize=${9000} | phy_cores=${1}
| | [Tags] | 9000B | 1C | PDRDISC | SKIP_PATCH
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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%.
| | [Template] | L2 Bridge Domain PDR Binary Search
| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${64} | min_rate=${50000} | wt=2 | rxq=1
+| | ... | framesize=${64} | phy_cores=${2}
| | [Tags] | 64B | 2C | NDRDISC
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Template] | L2 Bridge Domain NDR Binary Search
| tc08-64B-2t2c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${64} | min_rate=${50000} | wt=2 | rxq=1
+| | ... | framesize=${64} | phy_cores=${2}
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Template] | L2 Bridge Domain PDR Binary Search
| tc09-1518B-2t2c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${1518} | min_rate=${50000} | wt=2 | rxq=1
+| | ... | framesize=${1518} | phy_cores=${2}
| | [Tags] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Template] | L2 Bridge Domain NDR Binary Search
| tc10-1518B-2t2c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${1518} | min_rate=${50000} | wt=2 | rxq=1
+| | ... | framesize=${1518} | phy_cores=${2}
| | [Tags] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Template] | L2 Bridge Domain PDR Binary Search
| tc11-9000B-2t2c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${9000} | min_rate=${10000} | wt=2 | rxq=1
+| | ... | framesize=${9000} | phy_cores=${2}
| | [Tags] | 9000B | 2C | NDRDISC | SKIP_PATCH
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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.
| | [Template] | L2 Bridge Domain NDR Binary Search
| tc12-9000B-2t2c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${9000} | min_rate=${10000} | wt=2 | rxq=1
+| | ... | framesize=${9000} | phy_cores=${2}
| | [Tags] | 9000B | 2C | PDRDISC | SKIP_PATCH
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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%.
| | [Template] | L2 Bridge Domain PDR Binary Search
| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${64} | min_rate=${50000} | wt=4 | rxq=2
+| | ... | framesize=${64} | phy_cores=${4}
| | [Tags] | 64B | 4C | NDRDISC
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Template] | L2 Bridge Domain NDR Binary Search
| tc14-64B-4t4c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${64} | min_rate=${50000} | wt=4 | rxq=2
+| | ... | framesize=${64} | phy_cores=${4}
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Template] | L2 Bridge Domain PDR Binary Search
| tc15-1518B-4t4c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${1518} | min_rate=${50000} | wt=4 | rxq=2
+| | ... | framesize=${1518} | phy_cores=${4}
| | [Tags] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps.
| | [Template] | L2 Bridge Domain NDR Binary Search
| tc16-1518B-4t4c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${1518} | min_rate=${50000} | wt=4 | rxq=2
+| | ... | framesize=${1518} | phy_cores=${4}
| | [Tags] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 50kpps, LT=0.5%.
| | [Template] | L2 Bridge Domain PDR Binary Search
| tc17-9000B-4t4c-eth-l2bdbasemaclrn-ndrdisc
-| | ... | framesize=${9000} | min_rate=${10000} | wt=4 | rxq=2
+| | ... | framesize=${9000} | phy_cores=${4}
| | [Tags] | 9000B | 4C | NDRDISC | SKIP_PATCH
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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.
| | [Template] | L2 Bridge Domain NDR Binary Search
| tc18-9000B-4t4c-eth-l2bdbasemaclrn-pdrdisc
-| | ... | framesize=${9000} | min_rate=${10000} | wt=4 | rxq=2
+| | ... | framesize=${9000} | phy_cores=${4}
| | [Tags] | 9000B | 4C | PDRDISC | SKIP_PATCH
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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%.
| | [Template] | L2 Bridge Domain PDR Binary Search
diff --git a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale100kmaclrn-mrr.robot b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale100kmaclrn-mrr.robot
index c93e8dab44..3e4b5bc9ae 100644
--- a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale100kmaclrn-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale100kmaclrn-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results for L2BD test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -53,15 +55,26 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-macsrc50kdst50k
*** Keywords ***
-| Check RR for L2BD eth-l2bdscale
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| Local template
+| | [Documentation]
+| | ... | [Cfg] DUT runs L2BD switching config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
+| | ... | trial throughput test.
+| | ...
+| | ... | *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 teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -72,148 +85,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2bdscale100kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.robot b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.robot
index e1af0b8389..bd636f8773 100644
--- a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale10kmaclrn-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results for L2BD test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -53,15 +55,26 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-macsrc5kdst5k
*** Keywords ***
-| Check RR for L2BD eth-l2bdscale
-| | [Arguments] | ${framesize} | ${wt} | ${rxq}
+| Local template
+| | [Documentation]
+| | ... | [CFG] DUT runs L2BD switching config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
+| | ... | trial throughput test.
+| | ...
+| | ... | *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 teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -72,148 +85,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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_v4_1 | 1C
-| | ...
-| | [Template] | Check RR for L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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_v4_1 | 2C
-| | ...
-| | [Template] | Check RR for L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2dbscale10kmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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] | 9000B | IMIX_v4_1
-| | ...
-| | [Template] | Check RR for L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale1mmaclrn-mrr.robot b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale1mmaclrn-mrr.robot
index 7c3517eb50..7cad4b1b01 100644
--- a/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale1mmaclrn-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x710-eth-l2bdscale1mmaclrn-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results for L2BD test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -53,21 +55,26 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-macsrc500kdst500k
*** Keywords ***
-| Check RR for L2BD eth-l2bdscale
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [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 teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -78,147 +85,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-9000B-2t2c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2bdscale1mmaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 L2BD eth-l2bdscale
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/l2/10ge2p1x710-eth-l2xcbase-mrr.robot b/tests/vpp/perf/l2/10ge2p1x710-eth-l2xcbase-mrr.robot
index 29b54b17d8..0f0b0a8f0f 100644
--- a/tests/vpp/perf/l2/10ge2p1x710-eth-l2xcbase-mrr.robot
+++ b/tests/vpp/perf/l2/10ge2p1x710-eth-l2xcbase-mrr.robot
@@ -24,6 +24,8 @@
| Test Setup | Set up performance test
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -47,21 +49,26 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for l2xcbase
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC config with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [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 teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ...
-| | 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
@@ -72,136 +79,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for l2xcbase
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for l2xcbase
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC 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 l2xcbase
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX frames using single\
-| | ... | trial throughput test.
-| | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for l2xcbase
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/l2/40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot b/tests/vpp/perf/l2/40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot
index be10b96aca..9350b66b57 100644
--- a/tests/vpp/perf/l2/40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/40ge2p1vic1385-eth-l2bdbasemaclrn-ndrpdrdisc.robot
@@ -73,7 +73,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -97,7 +97,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -170,7 +170,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -194,7 +194,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -219,7 +219,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -243,7 +243,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -267,7 +267,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -292,7 +292,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -317,7 +317,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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
@@ -342,7 +342,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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/l2/40ge2p1xl710-eth-l2bdbasemaclrn-mrr.robot b/tests/vpp/perf/l2/40ge2p1xl710-eth-l2bdbasemaclrn-mrr.robot
index 195168e657..4003ae0142 100644
--- a/tests/vpp/perf/l2/40ge2p1xl710-eth-l2bdbasemaclrn-mrr.robot
+++ b/tests/vpp/perf/l2/40ge2p1xl710-eth-l2bdbasemaclrn-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2BD test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -52,23 +54,28 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for l2bdbasemaclrn
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD config with ${wt} thread(s),\
-| | ... | ${wt} phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2BD config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [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 teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${get_framesize}
| | ${max_rate}= | Set Variable If
| | ... | ${max_rate} > ${s_18.75Mpps} | ${s_18.75Mpps} | ${max_rate}
| | ...
-| | 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
@@ -81,148 +88,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 l2bdbasemaclrn
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 l2bdbasemaclrn
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 l2bdbasemaclrn
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 l2bdbasemaclrn
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 l2bdbasemaclrn
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 l2bdbasemaclrn
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 l2bdbasemaclrn
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 l2bdbasemaclrn
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 l2bdbasemaclrn
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 l2bdbasemaclrn
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 l2bdbasemaclrn
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2bdbasemaclrn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2BD switching config with 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 l2bdbasemaclrn
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/l2/40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot b/tests/vpp/perf/l2/40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot
index 2f2ea98fe4..3d16103d19 100644
--- a/tests/vpp/perf/l2/40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/40ge2p1xl710-eth-l2bdbasemaclrn-ndrpdrdisc.robot
@@ -26,6 +26,8 @@
| Test Teardown | Tear down performance discovery test | ${min_rate}pps
| ... | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Pkt throughput L2BD test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -58,15 +60,15 @@
*** Keywords ***
| L2 Bridge Domain Binary Search BW limit
-| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} | ${s_limit}
-| | ... | ${search_type}
+| | [Arguments] | ${framesize} | ${phy_cores} | ${s_limit}
+| | ... | ${search_type} | ${min_rate}=${50000}
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${None}
| | Add PCI devices to all DUTs
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -85,15 +87,15 @@
| | ... | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type}
| L2 Bridge Domain Binary Search
-| | [Arguments] | ${framesize} | ${min_rate} | ${wt} | ${rxq} | ${s_limit}
-| | ... | ${search_type}
+| | [Arguments] | ${framesize} | ${phy_cores} | ${s_limit}
+| | ... | ${search_type} | ${min_rate}=${50000}
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
| | ${max_rate}= | Set Variable | ${s_limit}
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${None}
| | Add PCI devices to all DUTs
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
@@ -120,7 +122,7 @@
| | ... | 18.75Mpps rate, step 50kpps.
| | [Tags] | 64B | 1C | NDRDISC
| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| | ... | s_limit=${s_18.75Mpps} | search_type=NDR
| tc03-1518B-1t1c-eth-l2bdbasemaclrn-ndrdisc
@@ -131,7 +133,7 @@
| | ... | 24.5G rate, step 50kpps.
| | [Tags] | 1518B | 1C | NDRDISC
| | [Template] | L2 Bridge Domain Binary Search BW limit
-| | framesize=${1518} | min_rate=${50000} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| | ... | s_limit=${s_24.5G} | search_type=NDR
| tc07-64B-2t2c-eth-l2bdbasemaclrn-ndrdisc
@@ -142,7 +144,7 @@
| | ... | 18.75Mpps rate, step 50kpps.
| | [Tags] | 64B | 2C | NDRDISC
| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| | ... | s_limit=${s_18.75Mpps} | search_type=NDR
| tc09-1518B-2t2c-eth-l2bdbasemaclrn-ndrdisc
@@ -153,7 +155,7 @@
| | ... | 24.5G rate, step 50kpps.
| | [Tags] | 1518B | 2C | NDRDISC | SKIP_PATCH
| | [Template] | L2 Bridge Domain Binary Search BW limit
-| | framesize=${1518} | min_rate=${50000} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| | ... | s_limit=${s_24.5G} | search_type=NDR
| tc13-64B-4t4c-eth-l2bdbasemaclrn-ndrdisc
@@ -164,7 +166,7 @@
| | ... | 18.75Mpps rate, step 50kpps.
| | [Tags] | 64B | 4C | NDRDISC
| | [Template] | L2 Bridge Domain Binary Search
-| | framesize=${64} | min_rate=${50000} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| | ... | s_limit=${s_18.75Mpps} | search_type=NDR
| tc15-1518B-4t4c-eth-l2bdbasemaclrn-ndrdisc
@@ -175,7 +177,7 @@
| | ... | 24.5G rate, step 50kpps.
| | [Tags] | 1518B | 4C | NDRDISC | SKIP_PATCH
| | [Template] | L2 Bridge Domain Binary Search BW limit
-| | framesize=${1518} | min_rate=${50000} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| | ... | s_limit=${s_24.5G} | search_type=NDR
| tc19-IMIX-1t1c-eth-l2bdbasemaclrn-ndrdisc
@@ -186,7 +188,7 @@
| | ... | 24.5G rate, step 50kpps.
| | [Tags] | IMIX | 1C | NDRDISC
| | [Template] | L2 Bridge Domain Binary Search BW limit
-| | framesize=IMIX_v4_1 | min_rate=${50000} | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| | ... | s_limit=${s_24.5G} | search_type=NDR
| tc20-IMIX-2t2c-eth-l2bdbasemaclrn-ndrdisc
@@ -197,7 +199,7 @@
| | ... | 24.5G rate, step 50kpps.
| | [Tags] | IMIX | 2C | NDRDISC | SKIP_PATCH
| | [Template] | L2 Bridge Domain Binary Search BW limit
-| | framesize=IMIX_v4_1 | min_rate=${50000} | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| | ... | s_limit=${s_24.5G} | search_type=NDR
| tc21-IMIX-4t4c-eth-l2bdbasemaclrn-ndrdisc
@@ -208,6 +210,6 @@
| | ... | 24.5G rate, step 50kpps.
| | [Tags] | IMIX | 4C | NDRDISC | SKIP_PATCH
| | [Template] | L2 Bridge Domain Binary Search BW limit
-| | framesize=IMIX_v4_1 | min_rate=${50000} | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
| | ... | s_limit=${s_24.5G} | search_type=NDR
diff --git a/tests/vpp/perf/l2/40ge2p1xl710-eth-l2xcbase-mrr.robot b/tests/vpp/perf/l2/40ge2p1xl710-eth-l2xcbase-mrr.robot
index 65db8c4393..f6e7da49fb 100644
--- a/tests/vpp/perf/l2/40ge2p1xl710-eth-l2xcbase-mrr.robot
+++ b/tests/vpp/perf/l2/40ge2p1xl710-eth-l2xcbase-mrr.robot
@@ -27,6 +27,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results L2XC test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -53,23 +55,28 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src254
*** Keywords ***
-| Check RR for l2xcbase
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC config with ${wt} thread(s),\
-| | ... | ${wt} phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs L2XC config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [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 teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_24.5G} | ${get_framesize}
| | ${max_rate}= | Set Variable If
| | ... | ${max_rate} > ${s_18.75Mpps} | ${s_18.75Mpps} | ${max_rate}
| | ...
-| | 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
@@ -83,148 +90,49 @@
*** Test Cases ***
| tc01-64B-1t1c-eth-l2xcbase-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 l2xcbase
-| | framesize=${64} | wt=1 | rxq=1
+| | framesize=${64} | phy_cores=${1}
| tc02-1518B-1t1c-eth-l2xcbase-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 l2xcbase
-| | framesize=${1518} | wt=1 | rxq=1
+| | framesize=${1518} | phy_cores=${1}
| tc03-9000B-1t1c-eth-l2xcbase-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 l2xcbase
-| | framesize=${9000} | wt=1 | rxq=1
+| | framesize=${9000} | phy_cores=${1}
| tc04-IMIX-1t1c-eth-l2xcbase-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 l2xcbase
-| | framesize=IMIX_v4_1 | wt=1 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${1}
| tc05-64B-2t2c-eth-l2xcbase-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 l2xcbase
-| | framesize=${64} | wt=2 | rxq=1
+| | framesize=${64} | phy_cores=${2}
| tc06-1518B-2t2c-eth-l2xcbase-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 l2xcbase
-| | framesize=${1518} | wt=2 | rxq=1
+| | framesize=${1518} | phy_cores=${2}
| tc07-9000B-2t2c-eth-l2xcbase-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 l2xcbase
-| | framesize=${9000} | wt=2 | rxq=1
+| | framesize=${9000} | phy_cores=${2}
| tc08-IMIX-2t2c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 2 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 | 2C
-| | ...
-| | [Template] | Check RR for l2xcbase
-| | framesize=IMIX_v4_1 | wt=2 | rxq=1
+| | framesize=IMIX_v4_1 | phy_cores=${2}
| tc09-64B-4t4c-eth-l2xcbase-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 l2xcbase
-| | framesize=${64} | wt=4 | rxq=2
+| | framesize=${64} | phy_cores=${4}
| tc10-1518B-4t4c-eth-l2xcbase-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 l2xcbase
-| | framesize=${1518} | wt=4 | rxq=2
+| | framesize=${1518} | phy_cores=${4}
| tc11-9000B-4t4c-eth-l2xcbase-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 l2xcbase
-| | framesize=${9000} | wt=4 | rxq=2
+| | framesize=${9000} | phy_cores=${4}
| tc12-IMIX-4t4c-eth-l2xcbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs L2XC switching config with 4 thread, 4 phy core, \
-| | ... | 2 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 | 4C
-| | ...
-| | [Template] | Check RR for l2xcbase
-| | framesize=IMIX_v4_1 | wt=4 | rxq=2
+| | framesize=IMIX_v4_1 | phy_cores=${4}
diff --git a/tests/vpp/perf/l2/40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot b/tests/vpp/perf/l2/40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot
index 54a2de44e6..e4acddfcb5 100644
--- a/tests/vpp/perf/l2/40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot
+++ b/tests/vpp/perf/l2/40ge2p1xl710-eth-l2xcbase-ndrpdrdisc.robot
@@ -70,7 +70,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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 Add DPDK dev default RXD to all DUTs | 2048
@@ -93,7 +93,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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 Add DPDK dev default RXD to all DUTs | 2048
@@ -116,7 +116,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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 Add DPDK dev default RXD to all DUTs | 2048
@@ -139,7 +139,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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 Add DPDK dev default RXD to all DUTs | 2048
@@ -162,7 +162,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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 Add DPDK dev default RXD to all DUTs | 2048
@@ -185,7 +185,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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 Add DPDK dev default RXD to all DUTs | 2048
@@ -209,7 +209,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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 Add DPDK dev default RXD to all DUTs | 2048
@@ -233,7 +233,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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 Add DPDK dev default RXD to all DUTs | 2048
@@ -257,7 +257,7 @@
| | ${binary_min}= | Set Variable | ${min_rate}
| | ${binary_max}= | Set Variable | ${max_rate}
| | ${threshold}= | Set Variable | ${min_rate}
-| | 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 Add DPDK dev default RXD to all DUTs | 2048