aboutsummaryrefslogtreecommitdiffstats
path: root/tests/vpp/perf/srv6
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/srv6
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/srv6')
-rw-r--r--tests/vpp/perf/srv6/10ge2p1x520-ethip6ip6-ip6base-srv6enc1sid-mrr.robot143
-rw-r--r--tests/vpp/perf/srv6/10ge2p1x520-ethip6ip6-ip6base-srv6enc1sid-ndrpdrdisc.robot130
-rw-r--r--tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-mrr.robot143
-rw-r--r--tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-ndrpdrdisc.robot130
-rw-r--r--tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr.robot143
-rw-r--r--tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-ndrpdrdisc.robot130
-rw-r--r--tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-dyn-mrr.robot144
-rw-r--r--tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-dyn-ndrpdrdisc.robot131
-rw-r--r--tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-masq-mrr.robot144
-rw-r--r--tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-masq-ndrpdrdisc.robot131
-rw-r--r--tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-stat-mrr.robot144
-rw-r--r--tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-stat-ndrpdrdisc.robot131
12 files changed, 276 insertions, 1368 deletions
diff --git a/tests/vpp/perf/srv6/10ge2p1x520-ethip6ip6-ip6base-srv6enc1sid-mrr.robot b/tests/vpp/perf/srv6/10ge2p1x520-ethip6ip6-ip6base-srv6enc1sid-mrr.robot
index 86f3b2d826..1a42090412 100644
--- a/tests/vpp/perf/srv6/10ge2p1x520-ethip6ip6-ip6base-srv6enc1sid-mrr.robot
+++ b/tests/vpp/perf/srv6/10ge2p1x520-ethip6ip6-ip6base-srv6enc1sid-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down mrr test with SRv6 with encapsulation
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results for Segment routing over IPv6 dataplane with\
| ... | one SID (SRH not inserted) test cases*
| ...
@@ -72,17 +74,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip6-ip6src253
*** Keywords ***
-| Check RR for IPv6 routing over SRv6
+| Local template
+| | [Documentation]
+| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
+| | ... | trial throughput test.
+| | ...
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize}
+| | [Arguments] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
| | ... | ${get_framesize} + ${srv6_overhead_nosrh}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -92,148 +104,49 @@
*** Test Cases ***
| tc01-78B-1t1c-ethip6ip6-ip6base-srv6enc1sid-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 1C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${78}
+| | phy_cores=${1} | framesize=${78}
| tc02-1518B-1t1c-ethip6ip6-ip6base-srv6enc1sid-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip6ip6-ip6base-srv6enc1sid-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip6ip6-ip6base-srv6enc1sid-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-78B-2t2c-ethip6ip6-ip6base-srv6enc1sid-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 2C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${78}
+| | phy_cores=${2} | framesize=${78}
| tc06-1518B-2t2c-ethip6ip6-ip6base-srv6enc1sid-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip6ip6-ip6base-srv6enc1sid-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip6ip6-ip6base-srv6enc1sid-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-78B-4t4c-ethip6ip6-ip6base-srv6enc1sid-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 4C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${78}
+| | phy_cores=${4} | framesize=${78}
| tc10-1518B-4t4c-ethip6ip6-ip6base-srv6enc1sid-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip6ip6-ip6base-srv6enc1sid-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip6ip6-ip6base-srv6enc1sid-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/srv6/10ge2p1x520-ethip6ip6-ip6base-srv6enc1sid-ndrpdrdisc.robot b/tests/vpp/perf/srv6/10ge2p1x520-ethip6ip6-ip6base-srv6enc1sid-ndrpdrdisc.robot
index d13c07cc85..eef92a22b6 100644
--- a/tests/vpp/perf/srv6/10ge2p1x520-ethip6ip6-ip6base-srv6enc1sid-ndrpdrdisc.robot
+++ b/tests/vpp/perf/srv6/10ge2p1x520-ethip6ip6-ip6base-srv6enc1sid-ndrpdrdisc.robot
@@ -26,6 +26,8 @@
| Test Teardown | Tear down performance test with SRv6 with encapsulation
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Packet throughput Segment routing over IPv6 dataplane with\
| ... | one SID (SRH not inserted) test cases*
| ...
@@ -77,9 +79,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip6-ip6src253
*** Keywords ***
-| Discover NDR or PDR for IPv6 routing over SRv6
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -89,7 +91,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
| | And Apply startup configuration on all VPP DUTs
@@ -106,145 +108,49 @@
*** Test Cases ***
| tc01-78B-1t1c-ethip6ip6-ip6base-srv6enc1sid-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${78} | search_type=NDR
| tc02-78B-1t1c-ethip6ip6-ip6base-srv6enc1sid-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${78} | search_type=PDR
| tc03-78B-2t2c-ethip6ip6-ip6base-srv6enc1sid-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${78} | search_type=NDR
| tc04-78B-2t2c-ethip6ip6-ip6base-srv6enc1sid-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${78} | search_type=PDR
| tc05-78B-4t4c-ethip6ip6-ip6base-srv6enc1sid-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${78} | search_type=NDR
| tc06-78B-4t4c-ethip6ip6-ip6base-srv6enc1sid-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${78} | search_type=PDR
| tc07-1518B-1t1c-ethip6ip6-ip6base-srv6enc1sid-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc08-1518B-1t1c-ethip6ip6-ip6base-srv6enc1sid-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc09-1518B-2t2c-ethip6ip6-ip6base-srv6enc1sid-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip6ip6-ip6base-srv6enc1sid-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-1518B-4t4c-ethip6ip6-ip6base-srv6enc1sid-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc12-1518B-4t4c-ethip6ip6-ip6base-srv6enc1sid-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
diff --git a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-mrr.robot b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-mrr.robot
index 4335844135..51af0b1f7a 100644
--- a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-mrr.robot
+++ b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down mrr test with SRv6 with encapsulation
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results for Segment routing over IPv6 dataplane with\
| ... | two SIDs (SRH inserted) test cases*
| ...
@@ -75,17 +77,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip6-ip6src253
*** Keywords ***
-| Check RR for IPv6 routing over SRv6
+| Local template
+| | [Documentation]
+| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
+| | ... | trial throughput test.
+| | ...
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize}
+| | [Arguments] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
| | ... | ${get_framesize} + ${srv6_overhead_2sids}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -95,148 +107,49 @@
*** Test Cases ***
| tc01-78B-1t1c-ethip6srhip6-ip6base-srv6enc2sids-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 1C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${78}
+| | phy_cores=${1} | framesize=${78}
| tc02-1518B-1t1c-ethip6srhip6-ip6base-srv6enc2sids-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip6srhip6-ip6base-srv6enc2sids-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip6srhip6-ip6base-srv6enc2sids-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-78B-2t2c-ethip6srhip6-ip6base-srv6enc2sids-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 2C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${78}
+| | phy_cores=${2} | framesize=${78}
| tc06-1518B-2t2c-ethip6srhip6-ip6base-srv6enc2sids-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip6srhip6-ip6base-srv6enc2sids-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip6srhip6-ip6base-srv6enc2sids-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-78B-4t4c-ethip6srhip6-ip6base-srv6enc2sids-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 4C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${78}
+| | phy_cores=${4} | framesize=${78}
| tc10-1518B-4t4c-ethip6srhip6-ip6base-srv6enc2sids-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip6srhip6-ip6base-srv6enc2sids-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip6srhip6-ip6base-srv6enc2sids-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-ndrpdrdisc.robot b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-ndrpdrdisc.robot
index cf57558f2d..68f1bc4780 100644
--- a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-ndrpdrdisc.robot
+++ b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-ndrpdrdisc.robot
@@ -26,6 +26,8 @@
| Test Teardown | Tear down performance test with SRv6 with encapsulation
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Packet throughput Segment routing over IPv6 dataplane with\
| ... | two SIDs (SRH inserted) test cases*
| ...
@@ -80,9 +82,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip6-ip6src253
*** Keywords ***
-| Discover NDR or PDR for IPv6 routing over SRv6
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -92,7 +94,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
| | And Apply startup configuration on all VPP DUTs
@@ -109,145 +111,49 @@
*** Test Cases ***
| tc01-78B-1t1c-ethip6srhip6-ip6base-srv6enc2sids-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${78} | search_type=NDR
| tc02-78B-1t1c-ethip6srhip6-ip6base-srv6enc2sids-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${78} | search_type=PDR
| tc03-78B-2t2c-ethip6srhip6-ip6base-srv6enc2sids-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${78} | search_type=NDR
| tc04-78B-2t2c-ethip6srhip6-ip6base-srv6enc2sids-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${78} | search_type=PDR
| tc05-78B-4t4c-ethip6srhip6-ip6base-srv6enc2sids-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${78} | search_type=NDR
| tc06-78B-4t4c-ethip6srhip6-ip6base-srv6enc2sids-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${78} | search_type=PDR
| tc07-1518B-1t1c-ethip6srhip6-ip6base-srv6enc2sids-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc08-1518B-1t1c-ethip6srhip6-ip6base-srv6enc2sids-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc09-1518B-2t2c-ethip6srhip6-ip6base-srv6enc2sids-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip6srhip6-ip6base-srv6enc2sids-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-1518B-4t4c-ethip6srhip6-ip6base-srv6enc2sids-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc12-1518B-4t4c-ethip6srhip6-ip6base-srv6enc2sids-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
diff --git a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr.robot b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr.robot
index 0a6773015f..fd1139faea 100644
--- a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr.robot
+++ b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr.robot
@@ -25,6 +25,8 @@
| ...
| Test Teardown | Tear down mrr test with SRv6 with encapsulation
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results for Segment routing over IPv6 dataplane with\
| ... | two SIDs (SRH inserted) without decapsulation test cases*
| ...
@@ -74,17 +76,27 @@
| ${traffic_profile}= | trex-sl-3n-ethip6-ip6src253
*** Keywords ***
-| Check RR for IPv6 routing over SRv6
+| Local template
+| | [Documentation]
+| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
+| | ... | trial throughput test.
+| | ...
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize}
+| | [Arguments] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
| | ... | ${get_framesize} + ${srv6_overhead_2sids}
| | ...
-| | Given Add '${wt}' worker threads and '${rxq}' rxqueues in 3-node single-link circular topology
+| | Given Add worker threads and rxqueues to all DUTs | ${phy_cores} | ${rxq}
| | And Add PCI devices to all DUTs
| | And Run Keyword If | ${get_framesize} < ${1522} | Add no multi seg to all DUTs
| | And Apply startup configuration on all VPP DUTs
@@ -94,148 +106,49 @@
*** Test Cases ***
| tc01-78B-1t1c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 1C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${78}
+| | phy_cores=${1} | framesize=${78}
| tc02-1518B-1t1c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-78B-2t2c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 2C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${78}
+| | phy_cores=${2} | framesize=${78}
| tc06-1518B-2t2c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-78B-4t4c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 4C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${78}
+| | phy_cores=${4} | framesize=${78}
| tc10-1518B-4t4c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for IMIX_v4_1 frames using single trial\
-| | ... | throughput test.
-| | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
-| | ...
| | [Tags] | IMIX | 4C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-ndrpdrdisc.robot b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-ndrpdrdisc.robot
index 80d1c7383f..af17be5fd3 100644
--- a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-ndrpdrdisc.robot
+++ b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-ndrpdrdisc.robot
@@ -26,6 +26,8 @@
| Test Teardown | Tear down performance test with SRv6 with encapsulation
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Packet throughput Segment routing over IPv6 dataplane with\
| ... | two SIDs (SRH inserted) without decapsulation test cases*
| ...
@@ -79,9 +81,9 @@
| ${traffic_profile}= | trex-sl-3n-ethip6-ip6src253
*** Keywords ***
-| Discover NDR or PDR for IPv6 routing over SRv6
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
@@ -91,7 +93,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
| | And Apply startup configuration on all VPP DUTs
@@ -108,145 +110,49 @@
*** Test Cases ***
| tc01-78B-1t1c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${78} | search_type=NDR
| tc02-78B-1t1c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${78} | search_type=PDR
| tc03-78B-2t2c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${78} | search_type=NDR
| tc04-78B-2t2c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${78} | search_type=PDR
| tc05-78B-4t4c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${78} | search_type=NDR
| tc06-78B-4t4c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with\
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${78} | search_type=PDR
| tc07-1518B-1t1c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc08-1518B-1t1c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc09-1518B-2t2c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-1518B-4t4c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc12-1518B-4t4c-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 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 IPv6 routing over SRv6
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
diff --git a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-dyn-mrr.robot b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-dyn-mrr.robot
index cafe8c6a28..d6f3a84999 100644
--- a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-dyn-mrr.robot
+++ b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-dyn-mrr.robot
@@ -31,6 +31,8 @@
| ...
| Test Teardown | Tear down mrr test with SRv6 with encapsulation
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results for Segment routing over IPv6 dataplane with\
| ... | Dynamic SRv6 proxy test cases*
| ...
@@ -98,18 +100,27 @@
| ${container_cpus}= | ${5}
*** Keywords ***
-| Check RR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
+| Local template
+| | [Documentation]
+| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
+| | ... | trial throughput test.
+| | ...
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize}
+| | [Arguments] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
-| | Set Test Variable | ${rxq}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
| | ... | ${get_framesize} + ${srv6_overhead_3sids}
| | ...
-| | 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} + ${srv6_overhead_3sids} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -120,148 +131,49 @@
*** Test Cases ***
| tc01-78B-1t1c-ethip6srhip6-ip6base-srv6proxy-dyn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 1C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=1 | rxq=1 | framesize=${78}
+| | phy_cores=${1} | framesize=${78}
| tc02-1518B-1t1c-ethip6srhip6-ip6base-srv6proxy-dyn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip6srhip6-ip6base-srv6proxy-dyn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip6srhip6-ip6base-srv6proxy-dyn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-78B-2t2c-ethip6srhip6-ip6base-srv6proxy-dyn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 2C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=2 | rxq=1 | framesize=${78}
+| | phy_cores=${2} | framesize=${78}
| tc06-1518B-2t2c-ethip6srhip6-ip6base-srv6proxy-dyn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip6srhip6-ip6base-srv6proxy-dyn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip6srhip6-ip6base-srv6proxy-dyn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-78B-4t4c-ethip6srhip6-ip6base-srv6proxy-dyn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 4C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=4 | rxq=2 | framesize=${78}
+| | phy_cores=${4} | framesize=${78}
| tc10-1518B-4t4c-ethip6srhip6-ip6base-srv6proxy-dyn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip6srhip6-ip6base-srv6proxy-dyn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip6srhip6-ip6base-srv6proxy-dyn-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-dyn-ndrpdrdisc.robot b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-dyn-ndrpdrdisc.robot
index 2356103766..a50f6a33cc 100644
--- a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-dyn-ndrpdrdisc.robot
+++ b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-dyn-ndrpdrdisc.robot
@@ -32,6 +32,8 @@
| Test Teardown | Tear down performance test with SRv6 with encapsulation
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Packet throughput Segment routing over IPv6 dataplane with\
| ... | Dynamic SRv6 proxy test cases*
| ...
@@ -103,20 +105,19 @@
| ${container_cpus}= | ${5}
*** Keywords ***
-| Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
-| | Set Test Variable | ${rxq}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
| | ... | ${get_framesize} + ${srv6_overhead_3sids}
| | ${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} + ${srv6_overhead_3sids} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -134,145 +135,49 @@
*** Test Cases ***
| tc01-78B-1t1c-ethip6srhip6-ip6base-srv6proxy-dyn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | with 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=1 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${78} | search_type=NDR
| tc02-78B-1t1c-ethip6srhip6-ip6base-srv6proxy-dyn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | with 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=1 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${78} | search_type=PDR
| tc03-78B-2t2c-ethip6srhip6-ip6base-srv6proxy-dyn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | with 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=2 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${78} | search_type=NDR
| tc04-78B-2t2c-ethip6srhip6-ip6base-srv6proxy-dyn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | with 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=2 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${78} | search_type=PDR
| tc05-78B-4t4c-ethip6srhip6-ip6base-srv6proxy-dyn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | with 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=4 | rxq=2 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${78} | search_type=NDR
| tc06-78B-4t4c-ethip6srhip6-ip6base-srv6proxy-dyn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy config\
-| | ... | with 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=4 | rxq=2 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${78} | search_type=PDR
| tc07-1518B-1t1c-ethip6srhip6-ip6base-srv6proxy-dyn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc08-1518B-1t1c-ethip6srhip6-ip6base-srv6proxy-dyn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc09-1518B-2t2c-ethip6srhip6-ip6base-srv6proxy-dyn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy 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
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip6srhip6-ip6base-srv6proxy-dyn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-1518B-4t4c-ethip6srhip6-ip6base-srv6proxy-dyn-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy 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
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc12-1518B-4t4c-ethip6srhip6-ip6base-srv6proxy-dyn-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with dynamic SRv6 proxy 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via dynamic proxy behaviour
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
diff --git a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-masq-mrr.robot b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-masq-mrr.robot
index 0acf9f70f8..f49fc852b4 100644
--- a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-masq-mrr.robot
+++ b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-masq-mrr.robot
@@ -31,6 +31,8 @@
| ...
| Test Teardown | Tear down mrr test with SRv6 with encapsulation
| ...
+| Test Template | Local template
+| ...
| Documentation | *Raw results for Segment routing over IPv6 dataplane with\
| ... | Masquerading SRv6 proxy test cases*
| ...
@@ -98,18 +100,27 @@
| ${container_cpus}= | ${5}
*** Keywords ***
-| Check RR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
+| Local template
+| | [Documentation]
+| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
+| | ... | trial throughput test.
+| | ...
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize}
+| | [Arguments] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
-| | Set Test Variable | ${rxq}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
| | ... | ${get_framesize} + ${srv6_overhead_3sids}
| | ...
-| | 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} + ${srv6_overhead_3sids} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -120,148 +131,49 @@
*** Test Cases ***
| tc01-78B-1t1c-ethip6srhip6-ip6base-srv6proxy-masq-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 1C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=1 | rxq=1 | framesize=${78}
+| | phy_cores=${1} | framesize=${78}
| tc02-1518B-1t1c-ethip6srhip6-ip6base-srv6proxy-masq-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip6srhip6-ip6base-srv6proxy-masq-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip6srhip6-ip6base-srv6proxy-masq-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-78B-2t2c-ethip6srhip6-ip6base-srv6proxy-masq-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 2C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=2 | rxq=1 | framesize=${78}
+| | phy_cores=${2} | framesize=${78}
| tc06-1518B-2t2c-ethip6srhip6-ip6base-srv6proxy-masq-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip6srhip6-ip6base-srv6proxy-masq-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip6srhip6-ip6base-srv6proxy-masq-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-78B-4t4c-ethip6srhip6-ip6base-srv6proxy-masq-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 4C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=4 | rxq=2 | framesize=${78}
+| | phy_cores=${4} | framesize=${78}
| tc10-1518B-4t4c-ethip6srhip6-ip6base-srv6proxy-masq-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip6srhip6-ip6base-srv6proxy-masq-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip6srhip6-ip6base-srv6proxy-masq-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-masq-ndrpdrdisc.robot b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-masq-ndrpdrdisc.robot
index 42be3f9f3f..7066f619b7 100644
--- a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-masq-ndrpdrdisc.robot
+++ b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-masq-ndrpdrdisc.robot
@@ -32,6 +32,8 @@
| Test Teardown | Tear down performance test with SRv6 with encapsulation
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Packet throughput Segment routing over IPv6 dataplane with\
| ... | Masquerading SRv6 proxy test cases*
| ...
@@ -103,20 +105,19 @@
| ${container_cpus}= | ${5}
*** Keywords ***
-| Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
-| | Set Test Variable | ${rxq}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
| | ... | ${get_framesize} + ${srv6_overhead_3sids}
| | ${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} + ${srv6_overhead_3sids} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -134,145 +135,49 @@
*** Test Cases ***
| tc01-78B-1t1c-ethip6srhip6-ip6base-srv6proxy-masq-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | config with 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=1 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${78} | search_type=NDR
| tc02-78B-1t1c-ethip6srhip6-ip6base-srv6proxy-masq-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | config with 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=1 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${78} | search_type=PDR
| tc03-78B-2t2c-ethip6srhip6-ip6base-srv6proxy-masq-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | config with 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=2 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${78} | search_type=NDR
| tc04-78B-2t2c-ethip6srhip6-ip6base-srv6proxy-masq-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | config with 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=2 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${78} | search_type=PDR
| tc05-78B-4t4c-ethip6srhip6-ip6base-srv6proxy-masq-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | config with 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=4 | rxq=2 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${78} | search_type=NDR
| tc06-78B-4t4c-ethip6srhip6-ip6base-srv6proxy-masq-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | config with 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=4 | rxq=2 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${78} | search_type=PDR
| tc07-1518B-1t1c-ethip6srhip6-ip6base-srv6proxy-masq-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc08-1518B-1t1c-ethip6srhip6-ip6base-srv6proxy-masq-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc09-1518B-2t2c-ethip6srhip6-ip6base-srv6proxy-masq-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 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
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip6srhip6-ip6base-srv6proxy-masq-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-1518B-4t4c-ethip6srhip6-ip6base-srv6proxy-masq-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 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
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc12-1518B-4t4c-ethip6srhip6-ip6base-srv6proxy-masq-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with masquerading SRv6 proxy\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via masquerading proxy behaviour
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR
diff --git a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-stat-mrr.robot b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-stat-mrr.robot
index 661d3df8c4..0be9ccda27 100644
--- a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-stat-mrr.robot
+++ b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-stat-mrr.robot
@@ -31,6 +31,8 @@
| ...
| Test Teardown | Tear down mrr test with SRv6 with encapsulation
| ...
+| Test Template | Local template
+| ...
| Documentation | *Packet throughput Segment routing over IPv6 dataplane with\
| ... | Static SRv6 proxy test cases*
| ...
@@ -98,18 +100,27 @@
| ${container_cpus}= | ${5}
*** Keywords ***
-| Check RR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
+| Local template
+| | [Documentation]
+| | ... | [Cfg] DUT runs IPv6 over SRv6 routing config with ${phy_cores} phy
+| | ... | core(s).
+| | ... | [Ver] Measure MaxReceivedRate for ${framesize}B frames using single\
+| | ... | trial throughput test.
+| | ...
+| | ... | *Arguments:*
+| | ... | - framesize - Framesize in Bytes in integer or string (IMIX_v4_1).
+| | ... | Type: integer, string
+| | ... | - phy_cores - Number of physical cores. Type: integer
+| | ... | - rxq - Number of RX queues, default value: ${None}. Type: integer
| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize}
+| | [Arguments] | ${phy_cores} | ${framesize} | ${rxq}=${None}
| | ...
-| | # Test Variables required for test teardown
| | Set Test Variable | ${framesize}
-| | Set Test Variable | ${rxq}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
| | ... | ${get_framesize} + ${srv6_overhead_3sids}
| | ...
-| | 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} + ${srv6_overhead_3sids} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -120,148 +131,49 @@
*** Test Cases ***
| tc01-78B-1t1c-ethip6srhip6-ip6base-srv6proxy-stat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 1C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=1 | rxq=1 | framesize=${78}
+| | phy_cores=${1} | framesize=${78}
| tc02-1518B-1t1c-ethip6srhip6-ip6base-srv6proxy-stat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=1 | rxq=1 | framesize=${1518}
+| | phy_cores=${1} | framesize=${1518}
| tc03-9000B-1t1c-ethip6srhip6-ip6base-srv6proxy-stat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=1 | rxq=1 | framesize=${9000}
+| | phy_cores=${1} | framesize=${9000}
| tc04-IMIX-1t1c-ethip6srhip6-ip6base-srv6proxy-stat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=1 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${1} | framesize=IMIX_v4_1
| tc05-78B-2t2c-ethip6srhip6-ip6base-srv6proxy-stat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 2C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=2 | rxq=1 | framesize=${78}
+| | phy_cores=${2} | framesize=${78}
| tc06-1518B-2t2c-ethip6srhip6-ip6base-srv6proxy-stat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=2 | rxq=1 | framesize=${1518}
+| | phy_cores=${2} | framesize=${1518}
| tc07-9000B-2t2c-ethip6srhip6-ip6base-srv6proxy-stat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=2 | rxq=1 | framesize=${9000}
+| | phy_cores=${2} | framesize=${9000}
| tc08-IMIX-2t2c-ethip6srhip6-ip6base-srv6proxy-stat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=2 | rxq=1 | framesize=IMIX_v4_1
+| | phy_cores=${2} | framesize=IMIX_v4_1
| tc09-78B-4t4c-ethip6srhip6-ip6base-srv6proxy-stat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Measure MaxReceivedRate for 78B frames using single trial\
-| | ... | throughput test.
-| | ...
| | [Tags] | 78B | 4C
-| | ...
-| | [Template] | Check RR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=4 | rxq=2 | framesize=${78}
+| | phy_cores=${4} | framesize=${78}
| tc10-1518B-4t4c-ethip6srhip6-ip6base-srv6proxy-stat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=4 | rxq=2 | framesize=${1518}
+| | phy_cores=${4} | framesize=${1518}
| tc11-9000B-4t4c-ethip6srhip6-ip6base-srv6proxy-stat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=4 | rxq=2 | framesize=${9000}
+| | phy_cores=${4} | framesize=${9000}
| tc12-IMIX-4t4c-ethip6srhip6-ip6base-srv6proxy-stat-mrr
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=4 | rxq=2 | framesize=IMIX_v4_1
+| | phy_cores=${4} | framesize=IMIX_v4_1
diff --git a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-stat-ndrpdrdisc.robot b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-stat-ndrpdrdisc.robot
index 5d42cd2555..b17d023b73 100644
--- a/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-stat-ndrpdrdisc.robot
+++ b/tests/vpp/perf/srv6/10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-stat-ndrpdrdisc.robot
@@ -32,6 +32,8 @@
| Test Teardown | Tear down performance test with SRv6 with encapsulation
| ... | ${min_rate}pps | ${framesize} | ${traffic_profile}
| ...
+| Test Template | Local template
+| ...
| Documentation | *Packet throughput Segment routing over IPv6 dataplane with\
| ... | Static SRv6 proxy test cases*
| ...
@@ -103,20 +105,19 @@
| ${container_cpus}= | ${5}
*** Keywords ***
-| Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | ...
-| | [Arguments] | ${wt} | ${rxq} | ${framesize} | ${min_rate} | ${search_type}
+| Local template
+| | [Arguments] | ${phy_cores} | ${framesize} | ${search_type}
+| | ... | ${min_rate}=${50000} | ${rxq}=${None}
| | ...
| | Set Test Variable | ${framesize}
| | Set Test Variable | ${min_rate}
-| | Set Test Variable | ${rxq}
| | ${get_framesize}= | Get Frame Size | ${framesize}
| | ${max_rate}= | Calculate pps | ${s_limit}
| | ... | ${get_framesize} + ${srv6_overhead_3sids}
| | ${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} + ${srv6_overhead_3sids} < ${1522}
| | ... | Add no multi seg to all DUTs
@@ -134,145 +135,49 @@
*** Test Cases ***
| tc01-78B-1t1c-ethip6srhip6-ip6base-srv6proxy-stat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | with 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 1C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=1 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${78} | search_type=NDR
| tc02-78B-1t1c-ethip6srhip6-ip6base-srv6proxy-stat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | with 1 phy core, 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 1C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=1 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${78} | search_type=PDR
| tc03-78B-2t2c-ethip6srhip6-ip6base-srv6proxy-stat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | with 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 2C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=2 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${78} | search_type=NDR
| tc04-78B-2t2c-ethip6srhip6-ip6base-srv6proxy-stat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | with 2 phy cores, 1 receive queue per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 2C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=2 | rxq=1 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${78} | search_type=PDR
| tc05-78B-4t4c-ethip6srhip6-ip6base-srv6proxy-stat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | with 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find NDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps.
-| | ...
| | [Tags] | 78B | 4C | NDRDISC
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=4 | rxq=2 | framesize=${78} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${78} | search_type=NDR
| tc06-78B-4t4c-ethip6srhip6-ip6base-srv6proxy-stat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy config\
-| | ... | with 4 phy cores, 2 receive queues per NIC port.
-| | ... | [Ver] Find PDR for 78 Byte frames using binary search start at 10GE\
-| | ... | linerate, step 50kpps, LT=0.5%.
-| | ...
| | [Tags] | 78B | 4C | PDRDISC | SKIP_PATCH
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=4 | rxq=2 | framesize=${78} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${78} | search_type=PDR
| tc07-1518B-1t1c-ethip6srhip6-ip6base-srv6proxy-stat-ndrdisc
-| | [Documentation]
-| | ... | [[Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${1} | framesize=${1518} | search_type=NDR
| tc08-1518B-1t1c-ethip6srhip6-ip6base-srv6proxy-stat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=1 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${1} | framesize=${1518} | search_type=PDR
| tc09-1518B-2t2c-ethip6srhip6-ip6base-srv6proxy-stat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy 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
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${2} | framesize=${1518} | search_type=NDR
| tc10-1518B-2t2c-ethip6srhip6-ip6base-srv6proxy-stat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=2 | rxq=1 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${2} | framesize=${1518} | search_type=PDR
| tc11-1518B-4t4c-ethip6srhip6-ip6base-srv6proxy-stat-ndrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy 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
-| | ...
-| | [Template] | Discover NDR or PDR for IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=NDR
+| | phy_cores=${4} | framesize=${1518} | search_type=NDR
| tc12-1518B-4t4c-ethip6srhip6-ip6base-srv6proxy-stat-pdrdisc
-| | [Documentation]
-| | ... | [Cfg] DUT runs IPv6 over SRv6 routing with static SRv6 proxy 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 IPv6 routing over SRv6 with endpoint to SR-unaware Service Function via static proxy behaviour
-| | wt=4 | rxq=2 | framesize=${1518} | min_rate=${50000} | search_type=PDR
+| | phy_cores=${4} | framesize=${1518} | search_type=PDR