aboutsummaryrefslogtreecommitdiffstats
path: root/tests/vpp/perf/ip4
diff options
context:
space:
mode:
authorPeter Mikus <pmikus@cisco.com>2018-07-10 06:10:41 +0000
committerPeter Mikus <pmikus@cisco.com>2018-07-13 09:11:04 +0000
commitad71afc5baa8008bd5d4ea26f51a71eefe3fbe62 (patch)
tree3b1c24ab540b5f57ee4b3592368191bc1f227cc7 /tests/vpp/perf/ip4
parent338b195c0d7274b921eb18944d27ed1b4cb3739f (diff)
Refactor perf test cases
- Refactor Performance TCs due to changes in Hyperthreading and RXQ allocations. - Simplify the structure of suite to avoid large refactors in future. Change-Id: Ifb1b9719391f26745f075a900bd9fb39b6cb809c Signed-off-by: Peter Mikus <pmikus@cisco.com>
Diffstat (limited to 'tests/vpp/perf/ip4')
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-copwhtlistbase-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot171
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-iacldstbase-mrr.robot145
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot171
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-mrr.robot146
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot171
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-mrr.robot145
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ndrpdr.robot44
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot153
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale200k-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot36
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale20k-mrr.robot145
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot36
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale2m-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot36
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sf-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sf-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sf-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sl-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sl-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sl-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.robot145
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-nat44-mrr.robot154
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-nat44-ndrpdrdisc.robot208
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sf-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sf-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sf-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sl-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sl-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sl-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sf-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sf-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sf-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sl-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sl-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sl-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sf-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sf-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sl-100flows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sl-100kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdrdisc.robot70
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-udpsrcscale15-nat44-ndrpdrdisc.robot208
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale10-udpsrcscale15-nat44-ndrpdrdisc.robot208
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale100-udpsrcscale15-nat44-ndrpdrdisc.robot208
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.robot153
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-ndrpdrdisc.robot208
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale2000-udpsrcscale15-nat44-ndrpdrdisc.robot208
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale4000-udpsrcscale15-nat44-ndrpdrdisc.robot208
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-copwhtlistbase-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-iacldstbase-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-ipolicemarkbase-mrr.robot146
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale200k-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale20k-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale2m-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-nat44-mrr.robot157
-rw-r--r--tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.robot156
-rw-r--r--tests/vpp/perf/ip4/40ge2p1xl710-ethip4-ip4base-mrr.robot144
-rw-r--r--tests/vpp/perf/ip4/40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot18
79 files changed, 1515 insertions, 7237 deletions
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-copwhtlistbase-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-copwhtlistbase-mrr.robot
index 1fb2d2e1cd..e0c7941aa2 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-copwhtlistbase-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-copwhtlistbase-mrr.robot
@@ -26,6 +26,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 whitelist test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -51,22 +53,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Check RR for ethip4-ip4base-copwhtlistbase
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -85,148 +92,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot
index 933e5da82b..5c6b3bfca8 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-copwhtlistbase-ndrpdrdisc.robot
@@ -27,6 +27,8 @@
| Test Teardown | Tear down performance discovery test | ${min_rate}pps
| ... | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Pkt throughput IPv4 whitelist test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -57,14 +59,15 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Discover NDR or PDR for ethip4-ip4base-copwhtlistbase
+| Local template
| | [Documentation]
| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread(s), ${wt}\
| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
| | ... | [Ver] Find NDR or PDR for ${framesize} frames using binary search\
| | ... | start at 10GE linerate.
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${min_rate}=${50000}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -73,7 +76,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
@@ -99,199 +102,73 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 ethip4-ip4base-copwhtlistbase
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4-ip4base-copwhtlistbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 ethip4-ip4base-copwhtlistbase
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 ethip4-ip4base-copwhtlistbase
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4-ip4base-copwhtlistbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 ethip4-ip4base-copwhtlistbase
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-9000B-1t1c-ethip4-ip4base-copwhtlistbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR
-| | ... | for 9000 Byte frames using binary search start at 10GE linerate,
-| | ... | step 10kpps.
| | [Tags] | 9000B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-copwhtlistbase
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${9000} | search_type=NDR
| tc06-9000B-1t1c-ethip4-ip4base-copwhtlistbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR
-| | ... | for 9000 Byte frames using binary search start at 10GE linerate,
-| | ... | step 10kpps, LT=0.5%.
| | [Tags] | 9000B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-copwhtlistbase
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${9000} | search_type=PDR
| tc07-64B-2t2c-ethip4-ip4base-copwhtlistbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 ethip4-ip4base-copwhtlistbase
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4-ip4base-copwhtlistbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 ethip4-ip4base-copwhtlistbase
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4-ip4base-copwhtlistbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 ethip4-ip4base-copwhtlistbase
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4-ip4base-copwhtlistbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 ethip4-ip4base-copwhtlistbase
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-9000B-2t2c-ethip4-ip4base-copwhtlistbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR
-| | ... | for 9000 Byte frames using binary search start at 10GE linerate,
-| | ... | step 10kpps.
| | [Tags] | 9000B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-copwhtlistbase
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${9000} | search_type=NDR
| tc12-9000B-2t2c-ethip4-ip4base-copwhtlistbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR
-| | ... | for 9000 Byte frames using binary search start at 10GE linerate,
-| | ... | step 10kpps, LT=0.5%.
| | [Tags] | 9000B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-copwhtlistbase
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${9000} | search_type=PDR
| tc13-64B-4t4c-ethip4-ip4base-copwhtlistbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queue 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 ethip4-ip4base-copwhtlistbase
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4-ip4base-copwhtlistbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 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 | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-copwhtlistbase
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4-ip4base-copwhtlistbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queue 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 ethip4-ip4base-copwhtlistbase
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4-ip4base-copwhtlistbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 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 | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-copwhtlistbase
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-9000B-4t4c-ethip4-ip4base-copwhtlistbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR
-| | ... | for 9000 Byte frames using binary search start at 10GE linerate,
-| | ... | step 10kpps.
| | [Tags] | 9000B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-copwhtlistbase
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${9000} | search_type=NDR
| tc18-9000B-4t4c-ethip4-ip4base-copwhtlistbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 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 | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-copwhtlistbase
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${9000} | search_type=PDR
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-iacldstbase-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-iacldstbase-mrr.robot
index 9264b06d8a..7253731de1 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-iacldstbase-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-iacldstbase-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 iAcl whitelist test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -50,22 +52,26 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Check RR for ethip4-ip4base-iacldstbase
-| | ...
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -90,148 +96,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 1CC
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot
index ca5eefd2fb..93a67b677c 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-iacldstbase-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-iacldstbase-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 IPv4 iAcl whitelist test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -56,14 +58,15 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Discover NDR or PDR for ethip4-ip4base-iacldstbase
+| Local template
| | [Documentation]
| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread(s), ${wt}\
| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
| | ... | [Ver] Find NDR or PDR for ${framesize} frames using binary search\
| | ... | start at 10GE linerate.
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${min_rate}=${50000}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -72,7 +75,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
@@ -104,200 +107,74 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 ethip4-ip4base-iacldstbase
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4-ip4base-iacldstbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 ethip4-ip4base-iacldstbase
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 ethip4-ip4base-iacldstbase
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4-ip4base-iacldstbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 ethip4-ip4base-iacldstbase
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-9000B-1t1c-ethip4-ip4base-iacldstbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR
-| | ... | for 9000 Byte frames using binary search start at 10GE linerate,
-| | ... | step 10kpps.
| | [Tags] | 9000B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-iacldstbase
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${9000} | search_type=NDR
| tc06-9000B-1t1c-ethip4-ip4base-iacldstbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR
-| | ... | for 9000 Byte frames using binary search start at 10GE linerate,
-| | ... | step 10kpps, LT=0.5%.
| | [Tags] | 9000B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-iacldstbase
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${9000} | search_type=PDR
| tc07-64B-2t2c-ethip4-ip4base-iacldstbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 ethip4-ip4base-iacldstbase
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4-ip4base-iacldstbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 ethip4-ip4base-iacldstbase
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4-ip4base-iacldstbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 ethip4-ip4base-iacldstbase
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4-ip4base-iacldstbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters 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 ethip4-ip4base-iacldstbase
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-9000B-2t2c-ethip4-ip4base-iacldstbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR
-| | ... | for 9000 Byte frames using binary search start at 10GE linerate,
-| | ... | step 10kpps.
| | [Tags] | 9000B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-iacldstbase
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${9000} | search_type=NDR
| tc12-9000B-2t2c-ethip4-ip4base-iacldstbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR
-| | ... | for 9000 Byte frames using binary search start at 10GE linerate,
-| | ... | step 10kpps, LT=0.5%.
| | [Tags] | 9000B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-iacldstbase
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${9000} | search_type=PDR
| tc13-64B-4t4c-ethip4-ip4base-iacldstbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queue 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 ethip4-ip4base-iacldstbase
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4-ip4base-iacldstbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 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 | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-iacldstbase
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4-ip4base-iacldstbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queue 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 ethip4-ip4base-iacldstbase
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4-ip4base-iacldstbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 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 | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-iacldstbase
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-9000B-4t4c-ethip4-ip4base-iacldstbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR
-| | ... | for 9000 Byte frames using binary search start at 10GE linerate,
-| | ... | step 10kpps.
| | [Tags] | 9000B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-iacldstbase
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${9000} | search_type=NDR
| tc18-9000B-4t4c-ethip4-ip4base-iacldstbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 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 | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-iacldstbase
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${9000} | search_type=PDR
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-mrr.robot
index 0f4514e764..4bb4af4be1 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-mrr.robot
@@ -26,6 +26,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 policer test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -53,17 +55,22 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Check RR for ethip4-ip4base-ipolicemarkbase
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Find NDR or PDR for ${framesize} frames using binary search\
-| | ... | start at 10GE linerate.
+| | ... | [Cfg] DUT runs IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
+| | ... | trial throughput test.
+| | ...
+| | ... | *Arguments:*
+| | ... | - framesize - 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] | ${wt} | ${rxq} | ${framesize}
+| | [Arguments] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test execution and test teardown
| | Set Test Variable | ${framesize}
| | ${cb}= | Set Variable If
| | ... | '${framesize}' == 'IMIX_v4_1' | ${1518} | ${framesize}
@@ -74,7 +81,7 @@
| | ${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-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 \
-| | ... | phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 \
-| | ... | phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 \
-| | ... | phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 \
-| | ... | phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 \
-| | ... | phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 \
-| | ... | phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 \
-| | ... | phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threada, 2 \
-| | ... | phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 \
-| | ... | phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 \
-| | ... | phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 \
-| | ... | phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threada, 4 \
-| | ... | phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot
index 163aac01ec..1236a95be5 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ipolicemarkbase-ndrpdrdisc.robot
@@ -27,6 +27,8 @@
| Test Teardown | Tear down performance discovery test | ${min_rate}pps
| ... | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Pkt throughput IPv4 policer test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -59,14 +61,15 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
+| Local template
| | [Documentation]
| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread(s), ${wt}\
| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
| | ... | [Ver] Find NDR or PDR for ${framesize} frames using binary search\
| | ... | start at 10GE linerate.
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${min_rate}=${50000}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -77,7 +80,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
@@ -96,199 +99,73 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer 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 ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer 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 ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer 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 ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer 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 ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-9000B-1t1c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 \
-| | ... | phy core, 1 receive queue per NIC port. [Ver] Find NDR for 9000 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 10kpps.
| | [Tags] | 9000B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${9000} | search_type=NDR
| tc06-9000B-1t1c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 \
-| | ... | phy core, 1 receive queue per NIC port. [Ver] Find PDR for 9000 \
-| | ... | Byte frames using binary search start at 10GE linerate, step 10kpps, \
-| | ... | LT=0.5%.
| | [Tags] | 9000B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${9000} | search_type=PDR
| tc07-64B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer 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 ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer 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 ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer 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 ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer 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 ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-9000B-2t2c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 \
-| | ... | phy cores, 1 receive queue per NIC port. [Ver] Find NDR for 9000 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 10kpps.
| | [Tags] | 9000B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${9000} | search_type=NDR
| tc12-9000B-2t2c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 \
-| | ... | phy cores, 1 receive queue per NIC port. [Ver] Find PDR for 9000 \
-| | ... | Byte frames using binary search start at 10GE linerate, step 10kpps, \
-| | ... | LT=0.5%.
| | [Tags] | 9000B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${9000} | search_type=PDR
| tc13-64B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 \
-| | ... | phy cores, 2 receive queue 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 ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 \
-| | ... | phy cores, 2 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 | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 \
-| | ... | phy cores, 2 receive queue 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 ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 \
-| | ... | phy cores, 2 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 | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-9000B-4t4c-ethip4-ip4base-ipolicemarkbase-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 \
-| | ... | phy cores, 2 receive queue per NIC port. [Ver] Find NDR for 9000 \
-| | ... | Byte frames using binary search start at 10GE linerate, step \
-| | ... | 10kpps.
| | [Tags] | 9000B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${9000} | search_type=NDR
| tc18-9000B-4t4c-ethip4-ip4base-ipolicemarkbase-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 \
-| | ... | phy cores, 2 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 | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${9000} | search_type=PDR
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-mrr.robot
index 87f2f3c09c..17c3e77a04 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-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 IPv4 routing test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -48,22 +50,26 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Check RR for ethip4-ip4base
-| | ...
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -74,148 +80,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 4 phy cores, 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 ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ndrpdr.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ndrpdr.robot
index 981eb636e7..c58515121e 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ndrpdr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ndrpdr.robot
@@ -48,7 +48,7 @@
| Test Teardown | Tear down performance discovery test | ${min_rate}pps
| ... | ${framesize} | ${traffic_profile}
| ...
-| Test Template | Discover NDRPDR for ethip4-ip4base
+| Test Template | Local template
*** Variables ***
# X520-DA2 bandwidth limit
@@ -57,21 +57,21 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Discover NDRPDR for ethip4-ip4base
+| Local template
| | [Documentation]
| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread(s), ${wt}\
| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
| | ... | [Ver] Find NDR and PDR for ${framesize} frames using optimized search\
| | ... | start at 10GE linerate.
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize}
+| | [Arguments] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate} | ${20000}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_uniditrectional_rate}= | Calculate pps | ${s_limit} | ${get_framesize}
| | ${max_rate}= | Evaluate | 2*${max_uniditrectional_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,60 +83,48 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-ndrpdr
| | [Tags] | 64B | 1C
-| | ...
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4base-ndrpdr
| | [Tags] | 1518B | 1C
-| | ...
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4base-ndrpdr
| | [Tags] | 1518B | 1C
-| | ...
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4base-ndrpdr
| | [Tags] | IMIX | 1C
-| | ...
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4base-ndrpdr
| | [Tags] | 64B | 2C
-| | ...
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4base-ndrpdr
| | [Tags] | 1518B | 2C
-| | ...
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4base-ndrpdr
| | [Tags] | 9000B | 2C
-| | ...
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4base-ndrpdr
| | [Tags] | IMIX | 2C
-| | ...
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4base-ndrpdr
| | [Tags] | 64B | 4C
-| | ...
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4base-ndrpdr
| | [Tags] | 1518B | 4C
-| | ...
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4base-ndrpdr
| | [Tags] | 9000B | 4C
-| | ...
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4base-ndrpdr
| | [Tags] | IMIX | 4C
-| | ...
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot
index 62bdfd365c..26c9e473eb 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4base-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 IPv4 routing test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -55,14 +57,15 @@
| ${traffic_profile} | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Discover NDR or PDR for ethip4-ip4base
+| Local template
| | [Documentation]
| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread(s), ${wt}\
| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
| | ... | [Ver] Find NDR or PDR for ${framesize} frames using binary search\
| | ... | start at 10GE linerate.
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${min_rate}=${50000}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -71,7 +74,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
@@ -89,181 +92,73 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames
-| | ... | using binary search start at 10GE linerate, step 50kpps.
| | [Tags] | 64B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4-ip4base-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames
-| | ... | using binary search start at 10GE linerate, step 50kpps, LT=0.5%.
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-ethip4-ip4base-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames
-| | ... | using binary search start at 10GE linerate, step 50kpps.
| | [Tags] | 1518B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4-ip4base-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames
-| | ... | using binary search start at 10GE linerate, step 50kpps, LT=0.5%.
| | [Tags] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-9000B-1t1c-ethip4-ip4base-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames
-| | ... | using binary search start at 10GE linerate, step 10kpps.
| | [Tags] | 9000B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${1} | framesize=${9000} | search_type=NDR
| tc06-9000B-1t1c-ethip4-ip4base-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames
-| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
| | [Tags] | 9000B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${1} | framesize=${9000} | search_type=PDR
| tc07-64B-2t2c-ethip4-ip4base-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames
-| | ... | using binary search start at 10GE linerate, step 50kpps.
| | [Tags] | 64B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4-ip4base-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames
-| | ... | using binary search start at 10GE linerate, step 50kpps, LT=0.5%.
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4-ip4base-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames
-| | ... | using binary search start at 10GE linerate, step 50kpps.
| | [Tags] | 1518B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4-ip4base-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames
-| | ... | using binary search start at 10GE linerate, step 50kpps, LT=0.5%.
| | [Tags] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-9000B-2t2c-ethip4-ip4base-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames
-| | ... | using binary search start at 10GE linerate, step 10kpps.
| | [Tags] | 9000B | 2C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${2} | framesize=${9000} | search_type=NDR
| tc12-9000B-2t2c-ethip4-ip4base-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames
-| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
| | [Tags] | 9000B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${2} | framesize=${9000} | search_type=PDR
| tc13-64B-4t4c-ethip4-ip4base-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames
-| | ... | using binary search start at 10GE linerate, step 50kpps.
| | [Tags] | 64B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4-ip4base-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames
-| | ... | using binary search start at 10GE linerate, step 50kpps, LT=0.5%.
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4-ip4base-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames
-| | ... | using binary search start at 10GE linerate, step 50kpps.
| | [Tags] | 1518B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4-ip4base-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames
-| | ... | using binary search start at 10GE linerate, step 50kpps, LT=0.5%.
| | [Tags] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-9000B-4t4c-ethip4-ip4base-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames
-| | ... | using binary search start at 10GE linerate, step 10kpps.
| | [Tags] | 9000B | 4C | NDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=NDR
+| | phy_cores=${4} | framesize=${9000} | search_type=NDR
| tc18-9000B-4t4c-ethip4-ip4base-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames
-| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
| | [Tags] | 9000B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=${9000} | min_rate=${10000} | search_type=PDR
+| | phy_cores=${4} | framesize=${9000} | search_type=PDR
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale200k-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale200k-mrr.robot
index dea047b5fe..e1f57f09fd 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale200k-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale200k-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 routing test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -50,22 +52,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4dst${rts_per_flow}
*** Keywords ***
-| Check RR for ethip4-ip4scale200k
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -77,148 +84,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 4 phy cores, 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 ethip4-ip4scale200k
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot
index 880b6e6fbc..b686f5fb37 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale200k-ndrpdrdisc.robot
@@ -69,7 +69,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
@@ -91,7 +91,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
@@ -114,7 +114,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
@@ -136,7 +136,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
@@ -159,7 +159,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 IPv4 forwarding with scaling in 3-node circular topology
@@ -180,7 +180,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 IPv4 forwarding with scaling in 3-node circular topology
@@ -202,7 +202,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
@@ -224,7 +224,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
@@ -247,7 +247,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
@@ -269,7 +269,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
@@ -292,7 +292,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 IPv4 forwarding with scaling in 3-node circular topology
@@ -313,7 +313,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 IPv4 forwarding with scaling in 3-node circular topology
@@ -335,7 +335,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
@@ -357,7 +357,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
@@ -380,7 +380,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
@@ -402,7 +402,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
@@ -425,7 +425,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 IPv4 forwarding with scaling in 3-node circular topology
@@ -446,7 +446,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 IPv4 forwarding with scaling in 3-node circular topology
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale20k-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale20k-mrr.robot
index 808d23cc74..9624c9ca89 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale20k-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale20k-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 routing test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -50,22 +52,26 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4dst${rts_per_flow}
*** Keywords ***
-| Check RR for ethip4-ip4scale20k
-| | ...
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -77,148 +83,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 4 phy cores, 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 ethip4-ip4scale20k
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot
index 9e4dd8aa9e..7f1918b7a3 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale20k-ndrpdrdisc.robot
@@ -69,7 +69,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
@@ -91,7 +91,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
@@ -114,7 +114,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
@@ -136,7 +136,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
@@ -159,7 +159,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 IPv4 forwarding with scaling in 3-node circular topology
@@ -180,7 +180,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 IPv4 forwarding with scaling in 3-node circular topology
@@ -202,7 +202,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
@@ -224,7 +224,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
@@ -247,7 +247,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
@@ -269,7 +269,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
@@ -292,7 +292,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 IPv4 forwarding with scaling in 3-node circular topology
@@ -313,7 +313,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 IPv4 forwarding with scaling in 3-node circular topology
@@ -335,7 +335,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
@@ -357,7 +357,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
@@ -380,7 +380,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
@@ -402,7 +402,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
@@ -425,7 +425,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 IPv4 forwarding with scaling in 3-node circular topology
@@ -446,7 +446,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 IPv4 forwarding with scaling in 3-node circular topology
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale2m-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale2m-mrr.robot
index 08b1279e90..4db6f4c363 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale2m-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale2m-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 routing test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -50,22 +52,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4dst${rts_per_flow}
*** Keywords ***
-| Check RR for ethip4-ip4scale2m
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -77,148 +84,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 4 phy cores, 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 ethip4-ip4scale2m
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot
index 37a665cac4..4cd00b1dd4 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4-ip4scale2m-ndrpdrdisc.robot
@@ -69,7 +69,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
@@ -91,7 +91,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
@@ -114,7 +114,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
@@ -136,7 +136,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
@@ -159,7 +159,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 IPv4 forwarding with scaling in 3-node circular topology
@@ -180,7 +180,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 IPv4 forwarding with scaling in 3-node circular topology
@@ -202,7 +202,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
@@ -224,7 +224,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
@@ -247,7 +247,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
@@ -269,7 +269,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
@@ -292,7 +292,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 IPv4 forwarding with scaling in 3-node circular topology
@@ -313,7 +313,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 IPv4 forwarding with scaling in 3-node circular topology
@@ -335,7 +335,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
@@ -357,7 +357,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
@@ -380,7 +380,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
@@ -402,7 +402,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
@@ -425,7 +425,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 IPv4 forwarding with scaling in 3-node circular topology
@@ -446,7 +446,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 IPv4 forwarding with scaling in 3-node circular topology
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sf-100flows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sf-100flows-ndrpdrdisc.robot
index 7c284f0bce..bff07ea2aa 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sf-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl10-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sf-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sf-100kflows-ndrpdrdisc.robot
index d4294c127b..91170e6da3 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sf-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl10-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sf-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sf-10kflows-ndrpdrdisc.robot
index 8fd0365b03..1695a4dd06 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sf-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl10-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sl-100flows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sl-100flows-ndrpdrdisc.robot
index c363fafced..aca5177542 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sl-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl10-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sl-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sl-100kflows-ndrpdrdisc.robot
index ae02a27877..53f609874f 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sl-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl10-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sl-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sl-10kflows-ndrpdrdisc.robot
index 56165a345b..04f691dbef 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl10sl-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl10-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl10-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-100flows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-100flows-ndrpdrdisc.robot
index 7605798687..629fc3baa4 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl1-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-100kflows-ndrpdrdisc.robot
index 03a6a07c4c..2568f5237e 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl1-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.robot
index 54a20fd19c..1d048bc35d 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-mrr.robot
@@ -28,6 +28,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -67,22 +69,26 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Check RR for IPv4 routing with ACLs
-| | ...
+| Local template
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ACL 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 IPv4 routing config with ACL.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [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 execution and 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
@@ -96,148 +102,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-ndrpdrdisc.robot
index 1cddfaf9eb..ec6c2a5865 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sf-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl1-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-100flows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-100flows-ndrpdrdisc.robot
index 6176bcd27a..3b43f90b6f 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl1-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-100kflows-ndrpdrdisc.robot
index e2821c1282..d76e4ee792 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl1-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.robot
index ab48ea1f3d..9f2fb7cb0a 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-mrr.robot
@@ -28,6 +28,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -67,22 +69,27 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Check RR for IPv4 routing with ACLs
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ACL 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 IPv4 routing config with ACL.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [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 execution and 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
@@ -96,148 +103,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-ndrpdrdisc.robot
index 998d2de61b..89004d6832 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl1sl-10kflows-ndrpdrdisc.robot
@@ -28,6 +28,8 @@
| Test Teardown | Tear down performance test with ACL
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *RFC2544: Packet throughput IPv4 test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -72,15 +74,17 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Discover NDR or PDR for IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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-ethip4udp-ip4base-iacl1-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl1-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-100flows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-100flows-ndrpdrdisc.robot
index 3ff13f7175..4f2c474795 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl50-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-ip4base-iacl50-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-ip4base-iacl50-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-100kflows-ndrpdrdisc.robot
index 0d2c519c89..0b9af35dd6 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl50-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.robot
index 50071139ad..7f06ed2d0b 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-mrr.robot
@@ -28,6 +28,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -67,22 +69,27 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Check RR for IPv4 routing with ACLs
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ACL 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 IPv4 routing config with ACL.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [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 execution and 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
@@ -96,148 +103,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdrdisc.robot
index 6b3e39248b..534c77c48d 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sf-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl50-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-100flows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-100flows-ndrpdrdisc.robot
index 9fa3808880..5aae40a044 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl50-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-100kflows-ndrpdrdisc.robot
index 5d1b3b4a5b..69847c9326 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl50-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.robot
index 8d652973bc..4b4a92087e 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-mrr.robot
@@ -28,6 +28,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -67,22 +69,27 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Check RR for IPv4 routing with ACLs
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ACL 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 IPv4 routing config with ACL.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [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 execution and 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
@@ -96,148 +103,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdrdisc.robot
index 0f09011855..2eec70b130 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-iacl50sl-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl50-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-iacl50-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-nat44-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-nat44-mrr.robot
index 183392773c..c3d31813cc 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-nat44-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-nat44-mrr.robot
@@ -29,6 +29,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *NAT44 performance test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -53,23 +55,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip4udp-1u1p
*** Keywords ***
-| Check RR for IPv4 routing with NAT44
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port. NAT44 is\
-| | ... | configured between DUTs - 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and test teardown
| | Set Test Variable | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${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
@@ -81,157 +87,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-nat44-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-nat44-ndrpdrdisc.robot
index 6724507f7d..0fa9706a77 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-nat44-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-nat44-ndrpdrdisc.robot
@@ -30,6 +30,8 @@
| Test Teardown | Tear down performance discovery test with NAT
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *NAT44 performance test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -59,9 +61,9 @@
| ${traffic_profile} | trex-sl-3n-ethip4udp-1u1p
*** Keywords ***
-| Discover NDR or PDR for IPv4 routing with NAT44
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${min_rate}=${50000}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -71,7 +73,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${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
@@ -90,235 +92,73 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-snat-1u-1p-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4-ip4base-snat-1u-1p-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-ethip4-ip4base-snat-1u-1p-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4-ip4base-snat-1u-1p-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-ethip4-ip4base-snat-1u-1p-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4-ip4base-snat-1u-1p-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4-ip4base-snat-1u-1p-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4-ip4base-snat-1u-1p-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4-ip4base-snat-1u-1p-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4-ip4base-snat-1u-1p-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-ethip4-ip4base-snat-1u-1p-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4-ip4base-snat-1u-1p-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4-ip4base-snat-1u-1p-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4-ip4base-snat-1u-1p-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4-ip4base-snat-1u-1p-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4-ip4base-snat-1u-1p-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-ethip4-ip4base-snat-1u-1p-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4-ip4base-snat-1u-1p-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sf-100flows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sf-100flows-ndrpdrdisc.robot
index fff456fc72..0a816de129 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sf-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl10-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sf-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sf-100kflows-ndrpdrdisc.robot
index 2edbb2f93a..ba11329750 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sf-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl10-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sf-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sf-10kflows-ndrpdrdisc.robot
index bf8d21dd21..0df726440c 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sf-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl10-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sl-100flows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sl-100flows-ndrpdrdisc.robot
index 9fa9a0fe57..d38cd33232 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sl-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl10-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sl-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sl-100kflows-ndrpdrdisc.robot
index 292ce51a35..3b99ce3825 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sl-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl10-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sl-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sl-10kflows-ndrpdrdisc.robot
index 1db38bf01a..cca06bc1ab 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl10sl-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl10-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl10-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sf-100flows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sf-100flows-ndrpdrdisc.robot
index 3c0be4f08f..3bb25e1546 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sf-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl1-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sf-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sf-100kflows-ndrpdrdisc.robot
index 2f746e258d..cda66cc035 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sf-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl1-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sf-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sf-10kflows-ndrpdrdisc.robot
index 195ac35546..685f188da8 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sf-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl1-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sl-100flows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sl-100flows-ndrpdrdisc.robot
index ddf6baedc2..e6b67c7ab7 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sl-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl1-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sl-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sl-100kflows-ndrpdrdisc.robot
index b13aee5b00..19bca2c4b9 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sl-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl1-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sl-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sl-10kflows-ndrpdrdisc.robot
index 993e8e6a2d..321d2ef780 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl1sl-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl1-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl1-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sf-100flows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sf-100flows-ndrpdrdisc.robot
index 3804c8fa65..141ad893dd 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sf-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl50-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateful-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateful-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sf-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sf-100kflows-ndrpdrdisc.robot
index b879bec631..94d73f84fe 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sf-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl50-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateful-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateful-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdrdisc.robot
index e2801c660c..316d2135b5 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sf-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl50-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateful-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateful-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sl-100flows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sl-100flows-ndrpdrdisc.robot
index 982e0faa08..c9899ce2d4 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sl-100flows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl50-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateless-flows100-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateless-flows100-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sl-100kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sl-100kflows-ndrpdrdisc.robot
index 912912de7a..124810b7f9 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sl-100kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl50-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateless-flows100k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateless-flows100k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdrdisc.robot
index c040cfff7d..d8fbc85198 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-oacl50sl-10kflows-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-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 IPv4 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 IPv4 routing with ACLs
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${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}
-| | 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
@@ -102,73 +106,25 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-oacl50-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateless-flows10k-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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-ethip4udp-ip4base-oacl50-stateless-flows10k-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing 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/ip4/10ge2p1x520-ethip4udp-ip4base-udpsrcscale15-nat44-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-udpsrcscale15-nat44-ndrpdrdisc.robot
index d434426dc6..46a2b39271 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-udpsrcscale15-nat44-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4base-udpsrcscale15-nat44-ndrpdrdisc.robot
@@ -30,6 +30,8 @@
| Test Teardown | Tear down performance discovery test with NAT
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *NAT44 performance test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -59,9 +61,9 @@
| ${traffic_profile} | trex-sl-3n-ethip4udp-1u15p
*** Keywords ***
-| Discover NDR or PDR for IPv4 routing with NAT44
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${min_rate}=${50000}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -71,7 +73,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${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
@@ -90,235 +92,73 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4udp-ip4base-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-ethip4udp-ip4base-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4udp-ip4base-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-ethip4udp-ip4base-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4base-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4base-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4udp-ip4base-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4udp-ip4base-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4udp-ip4base-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-ethip4udp-ip4base-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4base-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4base-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4udp-ip4base-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4udp-ip4base-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4udp-ip4base-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-ethip4udp-ip4base-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4base-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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/ip4/10ge2p1x520-ethip4udp-ip4scale10-udpsrcscale15-nat44-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale10-udpsrcscale15-nat44-ndrpdrdisc.robot
index f688aa333a..cedfea3c50 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale10-udpsrcscale15-nat44-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale10-udpsrcscale15-nat44-ndrpdrdisc.robot
@@ -31,6 +31,8 @@
| Test Teardown | Tear down performance discovery test with NAT
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *NAT44 performance test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -60,9 +62,9 @@
| ${traffic_profile} | trex-sl-3n-ethip4udp-10u15p
*** Keywords ***
-| Discover NDR or PDR for IPv4 routing with NAT44
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${min_rate}=${50000}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -72,7 +74,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${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
@@ -91,235 +93,73 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4scale10-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4udp-ip4scale10-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-ethip4udp-ip4scale10-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4udp-ip4scale10-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-ethip4udp-ip4scale10-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale10-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale10-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4udp-ip4scale10-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4udp-ip4scale10-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4udp-ip4scale10-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-ethip4udp-ip4scale10-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale10-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale10-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4udp-ip4scale10-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4udp-ip4scale10-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4udp-ip4scale10-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-ethip4udp-ip4scale10-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale10-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 10 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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/ip4/10ge2p1x520-ethip4udp-ip4scale100-udpsrcscale15-nat44-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale100-udpsrcscale15-nat44-ndrpdrdisc.robot
index 81795d01b8..487528d3ef 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale100-udpsrcscale15-nat44-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale100-udpsrcscale15-nat44-ndrpdrdisc.robot
@@ -31,6 +31,8 @@
| Test Teardown | Tear down performance discovery test with NAT
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *NAT44 performance test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -60,9 +62,9 @@
| ${traffic_profile} | trex-sl-3n-ethip4udp-100u15p
*** Keywords ***
-| Discover NDR or PDR for IPv4 routing with NAT44
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${min_rate}=${50000}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -72,7 +74,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${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
@@ -91,235 +93,73 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4scale100-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4udp-ip4scale100-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-ethip4udp-ip4scale100-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4udp-ip4scale100-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-ethip4udp-ip4scale100-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale100-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale100-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4udp-ip4scale100-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4udp-ip4scale100-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4udp-ip4scale100-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-ethip4udp-ip4scale100-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale100-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale100-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4udp-ip4scale100-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4udp-ip4scale100-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4udp-ip4scale100-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-ethip4udp-ip4scale100-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale100-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 100 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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/ip4/10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.robot
index f8c88a8433..ea4096b172 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.robot
@@ -30,6 +30,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results NAT44 performance test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -54,22 +56,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip4udp-1000u15p
*** Keywords ***
-| Check RR for IPv4 routing with NAT44
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.NAT44 is configured\
-| | ... | between DUTs - 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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}
| | ...
| | Set Test Variable | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${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
@@ -81,157 +88,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-ndrpdrdisc.robot
index c63f0c5ccc..7d1df407f3 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale1000-udpsrcscale15-nat44-ndrpdrdisc.robot
@@ -31,6 +31,8 @@
| Test Teardown | Tear down performance discovery test with NAT
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *NAT44 performance test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -60,9 +62,9 @@
| ${traffic_profile} | trex-sl-3n-ethip4udp-1000u15p
*** Keywords ***
-| Discover NDR or PDR for IPv4 routing with NAT44
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${min_rate}=${50000}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -72,7 +74,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${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
@@ -91,235 +93,73 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale1000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale1000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale1000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale1000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale1000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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/ip4/10ge2p1x520-ethip4udp-ip4scale2000-udpsrcscale15-nat44-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale2000-udpsrcscale15-nat44-ndrpdrdisc.robot
index b5980ca6a4..d4befa97c4 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale2000-udpsrcscale15-nat44-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale2000-udpsrcscale15-nat44-ndrpdrdisc.robot
@@ -31,6 +31,8 @@
| Test Teardown | Tear down performance discovery test with NAT
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *NAT44 performance test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -60,9 +62,9 @@
| ${traffic_profile} | trex-sl-3n-ethip4udp-2000u15p
*** Keywords ***
-| Discover NDR or PDR for IPv4 routing with NAT44
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${min_rate}=${50000}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -72,7 +74,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${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
@@ -91,235 +93,73 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4scale2000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4udp-ip4scale2000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-ethip4udp-ip4scale2000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4udp-ip4scale2000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-ethip4udp-ip4scale2000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale2000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale2000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4udp-ip4scale2000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4udp-ip4scale2000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4udp-ip4scale2000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-ethip4udp-ip4scale2000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale2000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale2000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4udp-ip4scale2000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4udp-ip4scale2000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4udp-ip4scale2000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-ethip4udp-ip4scale2000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale2000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 2000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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/ip4/10ge2p1x520-ethip4udp-ip4scale4000-udpsrcscale15-nat44-ndrpdrdisc.robot b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale4000-udpsrcscale15-nat44-ndrpdrdisc.robot
index 395668c119..da11430106 100644
--- a/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale4000-udpsrcscale15-nat44-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x520-ethip4udp-ip4scale4000-udpsrcscale15-nat44-ndrpdrdisc.robot
@@ -31,6 +31,8 @@
| Test Teardown | Tear down performance discovery test with NAT
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *NAT44 performance test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -60,9 +62,9 @@
| ${traffic_profile} | trex-sl-3n-ethip4udp-4000u15p
*** Keywords ***
-| Discover NDR or PDR for IPv4 routing with NAT44
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${rxq}=${None} | ${min_rate}=${50000}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -72,7 +74,7 @@
| | ${threshold}= | Set Variable | ${min_rate}
| | ${get_framesize}= | Get Frame Size | ${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
@@ -91,235 +93,73 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4scale4000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${64} | search_type=NDR
| tc02-64B-1t1c-ethip4udp-ip4scale4000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${64} | search_type=PDR
| tc03-1518B-1t1c-ethip4udp-ip4scale4000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc04-1518B-1t1c-ethip4udp-ip4scale4000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc05-IMIX-1t1c-ethip4udp-ip4scale4000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale4000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale4000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${64} | search_type=NDR
| tc08-64B-2t2c-ethip4udp-ip4scale4000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${64} | search_type=PDR
| tc09-1518B-2t2c-ethip4udp-ip4scale4000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip4udp-ip4scale4000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-IMIX-2t2c-ethip4udp-ip4scale4000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale4000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale4000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${64} | search_type=NDR
| tc14-64B-4t4c-ethip4udp-ip4scale4000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 64B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${64} | search_type=PDR
| tc15-1518B-4t4c-ethip4udp-ip4scale4000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc16-1518B-4t4c-ethip4udp-ip4scale4000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 1518B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
| tc17-IMIX-4t4c-ethip4udp-ip4scale4000-udpsrcscale15-snat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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-ethip4udp-ip4scale4000-udpsrcscale15-snat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 4000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Find PDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | IMIX | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv4 routing with NAT44
-| | 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/ip4/10ge2p1x710-ethip4-ip4base-copwhtlistbase-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-copwhtlistbase-mrr.robot
index 670c26fd52..5650f473f7 100644
--- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-copwhtlistbase-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-copwhtlistbase-mrr.robot
@@ -26,6 +26,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 whitelist test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -51,22 +53,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Check RR for ethip4-ip4base-copwhtlistbase
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -85,148 +92,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4base-copwhtlistbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-copwhtlistbase
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-iacldstbase-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-iacldstbase-mrr.robot
index 38af1a0a52..d4937e700d 100644
--- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-iacldstbase-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-iacldstbase-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 iAcl whitelist test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -50,22 +52,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Check RR for ethip4-ip4base-iacldstbase
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -90,148 +97,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 1CC
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4base-iacldstbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-iacldstbase
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-ipolicemarkbase-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-ipolicemarkbase-mrr.robot
index d0c23c8f37..277932a18c 100644
--- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-ipolicemarkbase-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-ipolicemarkbase-mrr.robot
@@ -26,6 +26,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 policer test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -53,17 +55,22 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Check RR for ethip4-ip4base-ipolicemarkbase
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.
-| | ... | [Ver] Find NDR or PDR for ${framesize} frames using binary search\
-| | ... | start at 10GE linerate.
+| | ... | [Cfg] DUT runs IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
+| | ... | trial throughput test.
+| | ...
+| | ... | *Arguments:*
+| | ... | - framesize - 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] | ${wt} | ${rxq} | ${framesize}
+| | [Arguments] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test execution and test teardown
| | Set Test Variable | ${framesize}
| | ${cb}= | Set Variable If
| | ... | '${framesize}' == 'IMIX_v4_1' | ${1518} | ${framesize}
@@ -74,7 +81,7 @@
| | ${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-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 \
-| | ... | phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 \
-| | ... | phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 \
-| | ... | phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 1 \
-| | ... | phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 \
-| | ... | phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 \
-| | ... | phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 \
-| | ... | phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 2 threada, 2 \
-| | ... | phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 \
-| | ... | phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 \
-| | ... | phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 \
-| | ... | phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4base-ipolicemarkbase-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing and policer config with 4 threada, 4 \
-| | ... | phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base-ipolicemarkbase
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-mrr.robot
index 062b3e7f2c..3e76b7027e 100644
--- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4base-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 IPv4 routing test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -48,22 +50,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Check RR for ethip4-ip4base
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -74,148 +81,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 4 phy cores, 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 ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale200k-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale200k-mrr.robot
index 369feba589..e3461bcf97 100644
--- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale200k-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale200k-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 routing test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -50,22 +52,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4dst${rts_per_flow}
*** Keywords ***
-| Check RR for ethip4-ip4scale200k
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -77,148 +84,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale200k
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4scale200k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 4 phy cores, 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 ethip4-ip4scale200k
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale20k-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale20k-mrr.robot
index 3436d0ab3d..95767a4b00 100644
--- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale20k-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale20k-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 routing test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -50,22 +52,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4dst${rts_per_flow}
*** Keywords ***
-| Check RR for ethip4-ip4scale20k
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -77,148 +84,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale20k
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4scale20k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 4 phy cores, 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 ethip4-ip4scale20k
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale2m-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale2m-mrr.robot
index 91b95a8c5e..968b5fe309 100644
--- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale2m-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4-ip4scale2m-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 routing test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -50,22 +52,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4dst${rts_per_flow}
*** Keywords ***
-| Check RR for ethip4-ip4scale2m
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -77,148 +84,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores, \
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores, \
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4scale2m
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4scale2m-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 4 phy cores, 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 ethip4-ip4scale2m
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.robot
index 1dc5ae42f7..fe1e260629 100644
--- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sf-10kflows-mrr.robot
@@ -28,6 +28,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -67,22 +69,27 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Check RR for IPv4 routing with ACLs
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ACL 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -96,148 +103,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4udp-ip4base-iacl1-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.robot
index 8602970de4..67e498d2ae 100644
--- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl1sl-10kflows-mrr.robot
@@ -28,6 +28,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -67,22 +69,27 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Check RR for IPv4 routing with ACLs
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ACL 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -96,148 +103,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4udp-ip4base-iacl1-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.robot
index 2bf633d14f..8e3d74361f 100644
--- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sf-10kflows-mrr.robot
@@ -28,6 +28,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -67,22 +69,27 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Check RR for IPv4 routing with ACLs
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ACL 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -96,148 +103,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4udp-ip4base-iacl50-stateful-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.robot
index dd3273c7db..8f56bbad83 100644
--- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-iacl50sl-10kflows-mrr.robot
@@ -28,6 +28,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results IPv4 test cases with ACL*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
@@ -67,22 +69,27 @@
| ${trex_stream2_subnet}= | 20.20.20.0/24
*** Keywords ***
-| Check RR for IPv4 routing with ACLs
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ACL 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -96,148 +103,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4udp-ip4base-iacl50-stateless-flows10k-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing with ACLs
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-nat44-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-nat44-mrr.robot
index 6826fd0383..a64e2c1e48 100644
--- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-nat44-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4base-nat44-mrr.robot
@@ -29,6 +29,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *NAT44 performance test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -53,23 +55,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip4udp-1u1p
*** Keywords ***
-| Check RR for IPv4 routing with NAT44
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port. NAT44 is\
-| | ... | configured between DUTs - 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and test teardown
| | Set Test Variable | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${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
@@ -81,160 +87,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4base-snat-1u-1p-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1 user and 1 port (session) per user.
-| | ... | [Ver] Find NDR for IMIX frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.robot b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.robot
index d297773bf4..386b742adb 100644
--- a/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.robot
+++ b/tests/vpp/perf/ip4/10ge2p1x710-ethip4udp-ip4scale1000-udpsrcscale15-nat44-mrr.robot
@@ -30,6 +30,8 @@
| ...
| Test Teardown | Tear down performance mrr test
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results NAT44 performance test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -54,22 +56,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip4udp-1000u15p
*** Keywords ***
-| Check RR for IPv4 routing with NAT44
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with ${wt} thread(s), ${wt}\
-| | ... | phy core(s), ${rxq} receive queue(s) per NIC port.NAT44 is configured\
-| | ... | between DUTs - 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for ${framesize} frames using single\
+| | ... | [Cfg] DUT runs IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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}
| | ...
| | Set Test Variable | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${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
@@ -81,160 +88,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4udp-ip4scale1000-udpsrcscale15-snat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port. NAT44 is configured between DUTs -\
-| | ... | 1000 users and 15 ports (sessions) per user.
-| | ... | [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 IPv4 routing with NAT44
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/40ge2p1xl710-ethip4-ip4base-mrr.robot b/tests/vpp/perf/ip4/40ge2p1xl710-ethip4-ip4base-mrr.robot
index c11f973397..9cb24f6701 100644
--- a/tests/vpp/perf/ip4/40ge2p1xl710-ethip4-ip4base-mrr.robot
+++ b/tests/vpp/perf/ip4/40ge2p1xl710-ethip4-ip4base-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 IPv4 routing test cases*
| ...
| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
@@ -50,24 +52,29 @@
| ${traffic_profile}= | trex-sl-3n-ethip4-ip4src253
*** Keywords ***
-| Check RR for ethip4-ip4base
+| Local template
| | ...
| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing 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 IPv4 routing config.
+| | ... | Each DUT uses ${phy_cores} physical core(s) for worker threads.
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
| | ... | trial throughput test.
| | ...
-| | [Arguments] | ${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 execution and 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
@@ -78,148 +85,49 @@
*** Test Cases ***
| tc01-64B-1t1c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=${64}
+| | phy_cores=${1} | framesize=${64}
| tc02-1518B-1t1c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 1 phy core,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 1C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-64B-2t2c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=${64}
+| | phy_cores=${2} | framesize=${64}
| tc06-1518B-2t2c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 2 phy cores,\
-| | ... | 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 2C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-64B-4t4c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 64B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 64B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=${64}
+| | phy_cores=${4} | framesize=${64}
| tc10-1518B-4t4c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 1518B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 1518B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with 4 phy cores,\
-| | ... | 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 9000B frames using single\
-| | ... | trial throughput test.
-| | ...
| | [Tags] | 9000B | 4C
-| | ...
-| | [Template] | Check RR for ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip4-ip4base-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv4 routing config with \
-| | ... | 4 phy cores, 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 ethip4-ip4base
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/ip4/40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot b/tests/vpp/perf/ip4/40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot
index 07a2a51836..b913ed6c8e 100644
--- a/tests/vpp/perf/ip4/40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot
+++ b/tests/vpp/perf/ip4/40ge2p1xl710-ethip4-ip4base-ndrpdrdisc.robot
@@ -76,7 +76,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
@@ -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 Add DPDK dev default RXD to all DUTs | 2048
@@ -122,7 +122,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
@@ -145,7 +145,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
@@ -168,7 +168,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
@@ -191,7 +191,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
@@ -215,7 +215,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
@@ -239,7 +239,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
@@ -263,7 +263,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