aboutsummaryrefslogtreecommitdiffstats
path: root/tests/suites/performance
diff options
context:
space:
mode:
authorpmikus <pmikus@cisco.com>2016-04-07 16:36:31 +0200
committerMiroslav Miklus <mmiklus@cisco.com>2016-04-17 18:24:57 +0000
commitc1bdb7115f12e7d4ec586ec0673fd19dce3a2414 (patch)
treea3f3d6eaadf057030613347ca56e1e965f8488d8 /tests/suites/performance
parent43277be7e77afe0363f62c97c687bcfa506ee4b8 (diff)
Multicore VPP setup for performance testing
- add multithread TAGS documentation - add methods to VppConfigGenerator for RSS configuration - create KW for multithread setup - create sample test case using multithread vpp setup - add Documentation into TCs Change-Id: Id40862490d49380dc76d1d3ce39314603f983fd3 Signed-off-by: pmikus <pmikus@cisco.com>
Diffstat (limited to 'tests/suites/performance')
-rw-r--r--tests/suites/performance/long_bridge_domain.robot100
-rw-r--r--tests/suites/performance/long_ipv4.robot99
-rw-r--r--tests/suites/performance/long_xconnect.robot86
-rw-r--r--tests/suites/performance/short_bridge_domain.robot81
-rw-r--r--tests/suites/performance/short_ipv4.robot81
-rw-r--r--tests/suites/performance/short_xconnect.robot82
6 files changed, 455 insertions, 74 deletions
diff --git a/tests/suites/performance/long_bridge_domain.robot b/tests/suites/performance/long_bridge_domain.robot
index 9938cce5d3..44cab87df4 100644
--- a/tests/suites/performance/long_bridge_domain.robot
+++ b/tests/suites/performance/long_bridge_domain.robot
@@ -17,36 +17,106 @@
| Suite Setup | 3-node Performance Suite Setup | L2
| Suite Teardown | 3-node Performance Suite Teardown
| Test Setup | Setup all DUTs before test
-| Test Teardown | Run Keyword If Test Failed | Show statistics on all DUTs
-| Documentation | Throughput search suite (long running test suite based on RFC2544).
+| Test Teardown | Run Keywords | Show statistics on all DUTs
+| ... | AND | Reset startup configuration of VPP on all DUTs
+| Documentation | *Throughput search suite (based on RFC2544).*
*** Test Cases ***
-| Find NDR by using linear search and 64B frames through bridge domain in 3-node topology
+| Find NDR by using RFC2544 linear search and 64B frames through bridge domain in 3-node topology
+| | [Documentation]
+| | ... | Find throughput with non drop rate for 64B frames by using
+| | ... | linear search starting at 4.1Mpps, stepping down with step of 0.1Mpps
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 64
-| | ${start_rate}= | Set Variable | 5000000
+| | ${start_rate}= | Set Variable | 4100000
| | ${step_rate}= | Set Variable | 100000
| | ${min_rate}= | Set Variable | 100000
| | ${max_rate}= | Set Variable | 14880952
-| | Given L2 bridge domain initialized in a 3-node circular topology
-| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate} | ${step_rate}
-| | ... | 3-node-bridge | ${min_rate} | ${max_rate}
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND L2 bridge domain initialized in a 3-node circular topology
+| | # Linear search
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-bridge
+| | ... | ${min_rate} | ${max_rate}
-| Find NDR by using linear search and 1518B frames through bridge domain in 3-node topology
+| Find NDR by using RFC2544 linear search and 1518B frames through bridge domain in 3-node topology
+| | [Documentation]
+| | ... | Find throughput with non drop rate for 1518B frames by using
+| | ... | linear search starting at 812,743pps, stepping down with step of
+| | ... | 10,000pps
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 1518
| | ${start_rate}= | Set Variable | 812743
| | ${step_rate}= | Set Variable | 10000
| | ${min_rate}= | Set Variable | 10000
| | ${max_rate}= | Set Variable | 812743
-| | Given L2 bridge domain initialized in a 3-node circular topology
-| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate} | ${step_rate}
-| | ... | 3-node-bridge | ${min_rate} | ${max_rate}
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND L2 bridge domain initialized in a 3-node circular topology
+| | # Linear search
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-bridge
+| | ... | ${min_rate} | ${max_rate}
-| Find NDR by using linear search and 9000B frames through bridge domain in 3-node topology
+| Find NDR by using RFC2544 linear search and 9000B frames through bridge domain in 3-node topology
+| | [Documentation]
+| | ... | Find throughput with non drop rate for 9000B frames by using
+| | ... | linear search starting at 138,580pps, stepping down with step of
+| | ... | 5,000pps
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 9000
| | ${start_rate}= | Set Variable | 138580
| | ${step_rate}= | Set Variable | 5000
| | ${min_rate}= | Set Variable | 5000
| | ${max_rate}= | Set Variable | 138580
-| | Given L2 bridge domain initialized in a 3-node circular topology
-| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate} | ${step_rate}
-| | ... | 3-node-bridge | ${min_rate} | ${max_rate}
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND L2 bridge domain initialized in a 3-node circular topology
+| | # Linear search
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-bridge
+| | ... | ${min_rate} | ${max_rate}
+
+| Find NDR with 2 cores and rss 1 by using RFC2544 linear search and 64B frames through bridge domain in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 2 cores with non drop rate for 64B frames by using
+| | ... | linear search starting at 8.2Mpps, stepping down with step of 0.1Mpps
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | # Variables
+| | ${framesize}= | Set Variable | 64
+| | ${start_rate}= | Set Variable | 8200000
+| | ${step_rate}= | Set Variable | 100000
+| | ${min_rate}= | Set Variable | 100000
+| | ${max_rate}= | Set Variable | 14880952
+| | # VPP setup
+| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | AND L2 bridge domain initialized in a 3-node circular topology
+| | # Linear search
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-bridge
+| | ... | ${min_rate} | ${max_rate}
+
+| Find NDR with 4 cores and rss 2 by using RFC2544 linear search and 64B frames through bridge domain in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 4 cores and rss 2 with non drop rate for 64B
+| | ... | frames by using linear search starting at 9.8Mpps, stepping down
+| | ... | with step of 0.1Mpps
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | # Variables
+| | ${framesize}= | Set Variable | 64
+| | ${start_rate}= | Set Variable | 9800000
+| | ${step_rate}= | Set Variable | 100000
+| | ${min_rate}= | Set Variable | 100000
+| | ${max_rate}= | Set Variable | 14880952
+| | # VPP setup
+| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs
+| | AND L2 bridge domain initialized in a 3-node circular topology
+| | # Linear search
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-bridge
+| | ... | ${min_rate} | ${max_rate}
+
diff --git a/tests/suites/performance/long_ipv4.robot b/tests/suites/performance/long_ipv4.robot
index 108fc903a8..7b2111ab63 100644
--- a/tests/suites/performance/long_ipv4.robot
+++ b/tests/suites/performance/long_ipv4.robot
@@ -21,36 +21,105 @@
| Suite Setup | 3-node Performance Suite Setup | L3
| Suite Teardown | 3-node Performance Suite Teardown
| Test Setup | Setup all DUTs before test
-| Test Teardown | Run Keyword If Test Failed | Show statistics on all DUTs
-| Documentation | Throughput search suite (long running test suite based on RFC2544).
+| Test Teardown | Run Keywords | Show statistics on all DUTs
+| ... | AND | Reset startup configuration of VPP on all DUTs
+| Documentation | *Throughput search suite (based on RFC2544).*
*** Test Cases ***
-| Find NDR by using linear search and 64B frames through IPv4 forwarding in 3-node topology
+| Find NDR by using RFC2544 linear search and 64B frames through IPv4 forwarding in 3-node topology
+| | [Documentation]
+| | ... | Find throughput with non drop rate for 64B frames by using
+| | ... | linear search starting at 4.1Mpps, stepping down with step of 0.1Mpps
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 64
-| | ${start_rate}= | Set Variable | 5000000
+| | ${start_rate}= | Set Variable | 4400000
| | ${step_rate}= | Set Variable | 100000
| | ${min_rate}= | Set Variable | 100000
| | ${max_rate}= | Set Variable | 14880952
-| | Given IPv4 forwarding initialized in a 3-node circular topology
-| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate} | ${step_rate}
-| | ... | 3-node-IPv4 | ${min_rate} | ${max_rate}
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND IPv4 forwarding initialized in a 3-node circular topology
+| | # Linear search
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-IPv4
+| | ... | ${min_rate} | ${max_rate}
-| Find NDR by using linear search and 1518B frames through IPv4 forwarding in 3-node topology
+| Find NDR by using RFC2544 linear search and 1518B frames through IPv4 forwarding in 3-node topology
+| | [Documentation]
+| | ... | Find throughput with non drop rate for 1518B frames by using
+| | ... | linear search starting at 812,743pps, stepping down with step of
+| | ... | 10,000pps
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 1518
| | ${start_rate}= | Set Variable | 812743
| | ${step_rate}= | Set Variable | 10000
| | ${min_rate}= | Set Variable | 10000
| | ${max_rate}= | Set Variable | 812743
-| | Given IPv4 forwarding initialized in a 3-node circular topology
-| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate} | ${step_rate}
-| | ... | 3-node-IPv4 | ${min_rate} | ${max_rate}
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND IPv4 forwarding initialized in a 3-node circular topology
+| | # Linear search
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-IPv4
+| | ... | ${min_rate} | ${max_rate}
-| Find NDR by using linear search and 9000B frames through IPv4 forwarding in 3-node topology
+| Find NDR by using RFC2544 linear search and 9000B frames through IPv4 forwarding in 3-node topology
+| | [Documentation]
+| | ... | Find throughput with non drop rate for 9000B frames by using
+| | ... | linear search starting at 138,580pps, stepping down with step of
+| | ... | 5,000pps
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 9000
| | ${start_rate}= | Set Variable | 138580
| | ${step_rate}= | Set Variable | 5000
| | ${min_rate}= | Set Variable | 5000
| | ${max_rate}= | Set Variable | 138580
-| | Given IPv4 forwarding initialized in a 3-node circular topology
-| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate} | ${step_rate}
-| | ... | 3-node-IPv4 | ${min_rate} | ${max_rate}
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND IPv4 forwarding initialized in a 3-node circular topology
+| | # Linear search
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-IPv4
+| | ... | ${min_rate} | ${max_rate}
+
+| Find NDR with 2 cores and rss 1 by using RFC2544 linear search and 64B frames through IPv4 forwarding in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 2 cores with non drop rate for 64B frames by using
+| | ... | linear search starting at 8.8Mpps, stepping down with step of 0.1Mpps
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | # Variables
+| | ${framesize}= | Set Variable | 64
+| | ${start_rate}= | Set Variable | 8800000
+| | ${step_rate}= | Set Variable | 100000
+| | ${min_rate}= | Set Variable | 100000
+| | ${max_rate}= | Set Variable | 14880952
+| | # VPP setup
+| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | AND IPv4 forwarding initialized in a 3-node circular topology
+| | # Linear search
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-IPv4
+| | ... | ${min_rate} | ${max_rate}
+
+| Find NDR with 4 cores and rss 2 by using RFC2544 linear search and 64B frames through IPv4 forwarding in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 2 cores with non drop rate for 64B frames by using
+| | ... | linear search starting at 9.8Mpps, stepping down with step of 0.1Mpps
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | # Variables
+| | ${framesize}= | Set Variable | 64
+| | ${start_rate}= | Set Variable | 9800000
+| | ${step_rate}= | Set Variable | 100000
+| | ${min_rate}= | Set Variable | 100000
+| | ${max_rate}= | Set Variable | 14880952
+| | # VPP setup
+| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs
+| | AND IPv4 forwarding initialized in a 3-node circular topology
+| | # Linear search
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-IPv4
+| | ... | ${min_rate} | ${max_rate}
+
diff --git a/tests/suites/performance/long_xconnect.robot b/tests/suites/performance/long_xconnect.robot
index 4d441601e5..fab92e6b54 100644
--- a/tests/suites/performance/long_xconnect.robot
+++ b/tests/suites/performance/long_xconnect.robot
@@ -18,7 +18,8 @@
| Suite Setup | 3-node Performance Suite Setup | L2
| Suite Teardown | 3-node Performance Suite Teardown
| Test Setup | Setup all DUTs before test
-| Test Teardown | Run Keyword If Test Failed | Show statistics on all DUTs
+| Test Teardown | Run Keywords | Show statistics on all DUTs
+| ... | AND | Reset startup configuration of VPP on all DUTs
| Documentation | *Throughput search suite (based on RFC2544).*
| ...
| ... | Test suite uses 3-node topology TG - DUT1 - DUT2 - TG, with one link
@@ -28,41 +29,98 @@
| ... | matching MAC addresses of the TG node.
*** Test Cases ***
-| Find NDR by using linear search and 64B frames through L2 cross connect in 3-node topology
+| Find NDR by using RFC2544 linear search and 64B frames through L2 cross connect in 3-node topology
| | [Documentation]
| | ... | Find throughput with non drop rate for 64B frames by using
| | ... | linear search starting at 5Mpps, stepping down with step of 0.1Mpps
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 64
-| | ${start_rate}= | Set Variable | 5000000
+| | ${start_rate}= | Set Variable | 4800000
| | ${step_rate}= | Set Variable | 100000
| | ${min_rate}= | Set Variable | 100000
| | ${max_rate}= | Set Variable | 14880952
-| | Given L2 xconnect initialized in a 3-node circular topology
-| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate} | ${step_rate}
-| | ... | 3-node-xconnect | ${min_rate} | ${max_rate}
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND L2 xconnect initialized in a 3-node circular topology
+| | # Linear search
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-xconnect
+| | ... | ${min_rate} | ${max_rate}
-| Find NDR by using linear search and 1518B frames through L2 cross connect in 3-node topology
+| Find NDR by using RFC2544 linear search and 1518B frames through L2 cross connect in 3-node topology
| | [Documentation]
| | ... | Find throughput with non drop rate for 1518B frames by using
| | ... | linear search starting at 812,743pps, stepping down with step of 10,000pps
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 1518
| | ${start_rate}= | Set Variable | 812743
| | ${step_rate}= | Set Variable | 10000
| | ${min_rate}= | Set Variable | 10000
| | ${max_rate}= | Set Variable | 812743
-| | Given L2 xconnect initialized in a 3-node circular topology
-| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate} | ${step_rate}
-| | ... | 3-node-xconnect | ${min_rate} | ${max_rate}
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND L2 xconnect initialized in a 3-node circular topology
+| | # Linear search
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-xconnect
+| | ... | ${min_rate} | ${max_rate}
-| Find NDR by using linear search and 9000B frames through L2 cross connect in 3-node topology
+| Find NDR by using RFC2544 linear search and 9000B frames through L2 cross connect in 3-node topology
| | [Documentation]
| | ... | Find throughput with non drop rate for 9000B frames by using
| | ... | linear search starting at 138,580pps, stepping down with step 5,000pps
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 9000
| | ${start_rate}= | Set Variable | 138580
| | ${step_rate}= | Set Variable | 5000
| | ${min_rate}= | Set Variable | 5000
| | ${max_rate}= | Set Variable | 138580
-| | Given L2 xconnect initialized in a 3-node circular topology
-| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate} | ${step_rate}
-| | ... | 3-node-xconnect | ${min_rate} | ${max_rate}
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND L2 xconnect initialized in a 3-node circular topology
+| | # Linear search
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-xconnect
+| | ... | ${min_rate} | ${max_rate}
+
+| Find NDR with 2 cores and rss 1 by using RFC2544 linear search and 64B frames through L2 cross connect in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 2 cores with non drop rate for 64B frames by using
+| | ... | linear search starting at 8.2Mpps, stepping down with step of 0.1Mpps
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | # Variables
+| | ${framesize}= | Set Variable | 64
+| | ${start_rate}= | Set Variable | 12000000
+| | ${step_rate}= | Set Variable | 100000
+| | ${min_rate}= | Set Variable | 100000
+| | ${max_rate}= | Set Variable | 14880952
+| | # VPP setup
+| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | AND L2 xconnect initialized in a 3-node circular topology
+| | # Linear search
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-xconnect
+| | ... | ${min_rate} | ${max_rate}
+
+| Find NDR with 4 cores and rss 2 by using RFC2544 linear search and 64B frames through L2 cross connect in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 4 cores and rss 2 with non drop rate for 64B
+| | ... | frames by using linear search starting at 8.2Mpps, stepping down
+| | ... | with step of 0.1Mpps
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | # Variables
+| | ${framesize}= | Set Variable | 64
+| | ${start_rate}= | Set Variable | 12200000
+| | ${step_rate}= | Set Variable | 100000
+| | ${min_rate}= | Set Variable | 100000
+| | ${max_rate}= | Set Variable | 14880952
+| | # VPP setup
+| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs
+| | AND L2 xconnect initialized in a 3-node circular topology
+| | # Linear search
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-xconnect
+| | ... | ${min_rate} | ${max_rate}
+
diff --git a/tests/suites/performance/short_bridge_domain.robot b/tests/suites/performance/short_bridge_domain.robot
index 210664c38b..27671c1259 100644
--- a/tests/suites/performance/short_bridge_domain.robot
+++ b/tests/suites/performance/short_bridge_domain.robot
@@ -17,26 +17,87 @@
| Suite Setup | 3-node Performance Suite Setup | L2
| Suite Teardown | 3-node Performance Suite Teardown
| Test Setup | Setup all DUTs before test
-| Test Teardown | Run Keyword If Test Failed | Show statistics on all DUTs
+| Test Teardown | Run Keywords | Show statistics on all DUTs
+| ... | AND | Reset startup configuration of VPP on all DUTs
+| Documentation | Minimal throughput acceptance test cases
*** Test Cases ***
-| 1core VPP passes 64B frames through bridge domain at 3.5mpps in 3-node topology
+| 1core VPP passes 64B frames through bridge domain at 2x 3.5Mpps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 1 core should pass 64B frames through bridge domain
+| | ... | at 2x3.5Mpps in 3-node topology
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 64
| | ${duration}= | Set Variable | 10
| | ${rate}= | Set Variable | 3.5mpps
-| | Given L2 bridge domain initialized in a 3-node circular topology
-| | Then Traffic should pass with no loss | ${duration} | ${rate} | ${framesize} | 3-node-bridge
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND L2 bridge domain initialized in a 3-node circular topology
+| | # Sent traffic with specified rate
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-bridge
-| 1core VPP passes 1518B frames through bridge domain at 10gbps in 3-node topology
+| 1core VPP passes 1518B frames through bridge domain at 2x 10Gbps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 1 core should pass 1518B frames through bridge domain
+| | ... | at 2x10Gbps in 3-node topology
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 1518
| | ${duration}= | Set Variable | 10
| | ${rate}= | Set Variable | 10gbps
-| | Given L2 bridge domain initialized in a 3-node circular topology
-| | Then Traffic should pass with no loss | ${duration} | ${rate} | ${framesize} | 3-node-bridge
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND L2 bridge domain initialized in a 3-node circular topology
+| | # Sent traffic with specified rate
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-bridge
-| 1core VPP passes 9000B frames through bridge domain at 10gbps in 3-node topology
+| 1core VPP passes 9000B frames through bridge domain at 2x 10Gbps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 1 core should pass 9000B frames through bridge domain
+| | ... | at 2x10Gbps in 3-node topology
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 9000
| | ${duration}= | Set Variable | 10
| | ${rate}= | Set Variable | 10gbps
-| | Given L2 bridge domain initialized in a 3-node circular topology
-| | Then Traffic should pass with no loss | ${duration} | ${rate} | ${framesize} | 3-node-bridge
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND L2 bridge domain initialized in a 3-node circular topology
+| | # Sent traffic with specified rate
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-bridge
+
+| 2core VPP with rss 1 passes 64B frames through bridge domain at 2x 7.6Mpps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 2 cores should pass 64B frames through bridge domain
+| | ... | at 2x7.6Mpps in 3-node topology
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | # Variables
+| | ${framesize}= | Set Variable | 64
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 7.6mpps
+| | # VPP setup
+| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | AND L2 bridge domain initialized in a 3-node circular topology
+| | # Sent traffic with specified rate
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-bridge
+
+| 4core VPP with rss 2 passes 64B frames through bridge domain at 2x 8.6Mpps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 4 cores and rss 2 should pass 64B frames through bridge
+| | ... | domain at 2x8.6Mpps in 3-node topology
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | # Variables
+| | ${framesize}= | Set Variable | 64
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 8.6mpps
+| | # VPP setup
+| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs
+| | AND L2 bridge domain initialized in a 3-node circular topology
+| | # Sent traffic with specified rate
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-bridge
diff --git a/tests/suites/performance/short_ipv4.robot b/tests/suites/performance/short_ipv4.robot
index 95e135147e..f96623beb6 100644
--- a/tests/suites/performance/short_ipv4.robot
+++ b/tests/suites/performance/short_ipv4.robot
@@ -21,26 +21,87 @@
| Suite Setup | 3-node Performance Suite Setup | L3
| Suite Teardown | 3-node Performance Suite Teardown
| Test Setup | Setup all DUTs before test
-| Test Teardown | Run Keyword If Test Failed | Show statistics on all DUTs
+| Test Teardown | Run Keywords | Show statistics on all DUTs
+| ... | AND | Reset startup configuration of VPP on all DUTs
+| Documentation | Minimal throughput acceptance test cases
*** Test Cases ***
-| 1core VPP passes 64B frames through IPv4 forwarding at 3.5mpps in 3-node topology
+| 1core VPP passes 64B frames through IPv4 forwarding at 2x 3.5mpps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 1 core should pass 64B frames through IPv4 forwarding
+| | ... | at 2x3.5mpps in 3-node topology
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 64
| | ${duration}= | Set Variable | 10
| | ${rate}= | Set Variable | 3.5mpps
-| | Given IPv4 forwarding initialized in a 3-node circular topology
-| | Then Traffic should pass with no loss | ${duration} | ${rate} | ${framesize} | 3-node-IPv4
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND IPv4 forwarding initialized in a 3-node circular topology
+| | # Sent traffic with specified rate
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-IPv4
-| 1core VPP passes 1518B frames through IPv4 forwarding at 10gbps in 3-node topology
+| 1core VPP passes 1518B frames through IPv4 forwarding at 2x 10gbps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 1 core should pass 1518B frames through IPv4 forwarding
+| | ... | at 2x10gbps in 3-node topology
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 1518
| | ${duration}= | Set Variable | 10
| | ${rate}= | Set Variable | 10gbps
-| | Given IPv4 forwarding initialized in a 3-node circular topology
-| | Then Traffic should pass with no loss | ${duration} | ${rate} | ${framesize} | 3-node-IPv4
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND IPv4 forwarding initialized in a 3-node circular topology
+| | # Sent traffic with specified rate
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-IPv4
-| 1core VPP passes 9000B frames through IPv4 forwarding at 10gbps in 3-node topology
+| 1core VPP passes 9000B frames through IPv4 forwarding at 2x 10gbps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 1 core should pass 9000B frames through IPv4 forwarding
+| | ... | at 2x10gbps in 3-node topology
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 9000
| | ${duration}= | Set Variable | 10
| | ${rate}= | Set Variable | 10gbps
-| | Given IPv4 forwarding initialized in a 3-node circular topology
-| | Then Traffic should pass with no loss | ${duration} | ${rate} | ${framesize} | 3-node-IPv4
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND IPv4 forwarding initialized in a 3-node circular topology
+| | # Sent traffic with specified rate
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-IPv4
+
+| 2core VPP with rss 1 passes 64B frames through IPv4 forwarding at 2x 8.2mpps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 2 cores should pass 64B frames through IPv4 forwarding
+| | ... | at 2x8.2mpps in 3-node topology
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | # Variables
+| | ${framesize}= | Set Variable | 64
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 8.2mpps
+| | # VPP setup
+| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | AND IPv4 forwarding initialized in a 3-node circular topology
+| | # Sent traffic with specified rate
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-IPv4
+
+| 4core VPP with rss 2 passes 64B frames through IPv4 forwarding at 2x 9.2mpps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 4 cores and rss 2 should pass 64B frames through IPv4
+| | ... | forwarding at 2x9.2mpps in 3-node topology
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | # Variables
+| | ${framesize}= | Set Variable | 64
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 9.2mpps
+| | # VPP setup
+| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | AND IPv4 forwarding initialized in a 3-node circular topology
+| | # Sent traffic with specified rate
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-IPv4
diff --git a/tests/suites/performance/short_xconnect.robot b/tests/suites/performance/short_xconnect.robot
index 55e05237b3..a909e8b8e7 100644
--- a/tests/suites/performance/short_xconnect.robot
+++ b/tests/suites/performance/short_xconnect.robot
@@ -18,26 +18,88 @@
| Suite Setup | 3-node Performance Suite Setup | L2
| Suite Teardown | 3-node Performance Suite Teardown
| Test Setup | Setup all DUTs before test
-| Test Teardown | Run Keyword If Test Failed | Show statistics on all DUTs
+| Test Teardown | Run Keywords | Show statistics on all DUTs
+| ... | AND | Reset startup configuration of VPP on all DUTs
+| Documentation | Minimal throughput acceptance test cases
*** Test Cases ***
-| 1core VPP passes 64B frames through L2 cross connect at 3.5mpps in 3-node topology
+| 1core VPP passes 64B frames through L2 cross connect at 2x 3.5mpps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 1 core should pass 64B frames through L2 cross connect
+| | ... | at 2x3.5mpps in 3-node topology
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 64
| | ${duration}= | Set Variable | 10
| | ${rate}= | Set Variable | 3.5mpps
-| | Given L2 xconnect initialized in a 3-node circular topology
-| | Then Traffic should pass with no loss | ${duration} | ${rate} | ${framesize} | 3-node-xconnect
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND L2 xconnect initialized in a 3-node circular topology
+| | # Sent traffic with specified rate
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-xconnect
-| 1core VPP passes 1518B frames through L2 cross connect at 10gbps in 3-node topology
+| 1core VPP passes 1518B frames through L2 cross connect at 2x 10gbps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 1 core should pass 1518B frames through L2 cross connect
+| | ... | at 2x10gbps in 3-node topology
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 1518
| | ${duration}= | Set Variable | 10
| | ${rate}= | Set Variable | 10gbps
-| | Given L2 xconnect initialized in a 3-node circular topology
-| | Then Traffic should pass with no loss | ${duration} | ${rate} | ${framesize} | 3-node-xconnect
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND L2 xconnect initialized in a 3-node circular topology
+| | # Sent traffic with specified rate
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-xconnect
-| 1core VPP passes 9000B frames through L2 cross connect at 10gbps in 3-node topology
+| 1core VPP passes 9000B frames through L2 cross connect at 2x 10gbps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 1 core should pass 9000B frames through L2 cross connect
+| | ... | at 2x10gbps in 3-node topology
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | # Variables
| | ${framesize}= | Set Variable | 9000
| | ${duration}= | Set Variable | 10
| | ${rate}= | Set Variable | 10gbps
-| | Given L2 xconnect initialized in a 3-node circular topology
-| | Then Traffic should pass with no loss | ${duration} | ${rate} | ${framesize} | 3-node-xconnect
+| | # VPP setup
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | AND L2 xconnect initialized in a 3-node circular topology
+| | # Sent traffic with specified rate
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-xconnect
+
+| 2core VPP with rss 1 passes 64B frames through L2 cross connect at 2x 11.0mpps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 2 cores should pass 64B frames through L2 cross connect
+| | ... | at 2x11.0mpps in 3-node topology
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | # Variables
+| | ${framesize}= | Set Variable | 64
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 11.0mpps
+| | # VPP setup
+| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | AND L2 xconnect initialized in a 3-node circular topology
+| | # Sent traffic with specified rate
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-xconnect
+
+| 4core VPP with rss 2 passes 64B frames through L2 cross connect at 2x 11.6mpps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 4 cores and rss 2 should pass 64B frames through L2 cross
+| | ... | connect at 2x11.6mpps in 3-node topology
+| | # Variables
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 64
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 11.6mpps
+| | # VPP setup
+| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs
+| | AND L2 xconnect initialized in a 3-node circular topology
+| | # Sent traffic with specified rate
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-xconnect
+