aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorpmikus <pmikus@cisco.com>2016-04-20 13:24:11 +0200
committerStefan Kobza <skobza@cisco.com>2016-05-11 11:52:13 +0000
commit10f3b07a5c883e20ef345c8b1c8e24063a50281f (patch)
tree659b4e11dd7d028640538c56d813e5084d870704 /tests
parent187868525f59884c74de5a75721594658fa8f4d3 (diff)
Performance IPv6 library and short/long test cases
- JIRA: CSIT-2 - Create IPv6 test cases for long/short/singlethread/multithread performance testing - Create robot KWs for IPv6 performance testing - Add T-Rex IPv6 profile Change-Id: I306d5c894d9b9287bf91929764aeb1c7083d802c Signed-off-by: pmikus <pmikus@cisco.com> Signed-off-by: Peter Mikus <pmikus@cisco.com>
Diffstat (limited to 'tests')
-rw-r--r--tests/suites/performance/long_ipv6.robot214
-rw-r--r--tests/suites/performance/short_ipv6.robot138
2 files changed, 352 insertions, 0 deletions
diff --git a/tests/suites/performance/long_ipv6.robot b/tests/suites/performance/long_ipv6.robot
new file mode 100644
index 0000000000..af7faaebbb
--- /dev/null
+++ b/tests/suites/performance/long_ipv6.robot
@@ -0,0 +1,214 @@
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*** Settings ***
+| Resource | resources/libraries/robot/performance.robot
+| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
+| 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 | Show statistics on all DUTs
+| Documentation | *Throughput search suite (based on RFC2544).*
+| ...
+| ... | Test suite uses 3-node topology TG - DUT1 - DUT2 - TG, with one link
+| ... | between nodes. Traffic profile contain 2 L3 streams (1 stream per
+| ... | direction). Packets contain Ethernet header, IPv6 header, and random
+| ... | payload. Ethernet header MAC addresses are matching MAC addresses
+| ... | of the TG node.
+
+*** Test Cases ***
+| Find NDR by using RFC2544 linear search and 78B frames through IPv6 forwarding in 3-node topology
+| | [Documentation]
+| | ... | Find throughput with non drop rate for 78B frames by using
+| | ... | linear search starting at 4.0Mpps, stepping down with step of 0.1Mpps
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | ${framesize}= | Set Variable | 78
+| | ${start_rate}= | Set Variable | 4000000
+| | ${step_rate}= | Set Variable | 100000
+| | ${min_rate}= | Set Variable | 100000
+| | ${max_rate}= | Set Variable | 14880952
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-IPv6
+| | ... | ${min_rate} | ${max_rate}
+
+| Find NDR by using RFC2544 linear search and 1518B frames through IPv6 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
+| | ${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 Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-IPv6
+| | ... | ${min_rate} | ${max_rate}
+
+| Find NDR by using RFC2544 linear search and 9000B frames through IPv6 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
+| | ${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 Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-IPv6
+| | ... | ${min_rate} | ${max_rate}
+
+| Find NDR with 2 cores and rss 1 by using RFC2544 linear search and 78B frames through IPv6 forwarding in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 2 cores with non drop rate for 78B frames by using
+| | ... | linear search starting at 7.8Mpps, stepping down with step of 0.1Mpps
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 78
+| | ${start_rate}= | Set Variable | 7800000
+| | ${step_rate}= | Set Variable | 100000
+| | ${min_rate}= | Set Variable | 100000
+| | ${max_rate}= | Set Variable | 14880952
+| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-IPv6
+| | ... | ${min_rate} | ${max_rate}
+
+| Find NDR with 2 cores and rss 1 by using RFC2544 linear search and 1518B frames through IPv6 forwarding in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 2 cores with non drop rate for 1518B frames by
+| | ... | using linear search starting at 812,743pps, stepping down with step
+| | ... | of 10.000pps
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | ${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 Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-IPv6
+| | ... | ${min_rate} | ${max_rate}
+
+| Find NDR with 2 cores and rss 1 by using RFC2544 linear search and 9000B frames through IPv6 forwarding in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 2 cores with non drop rate for 9000B frames by
+| | ... | using linear search starting at 138,580pps, stepping down with step
+| | ... | of 5,000pps
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | ${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 Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-IPv6
+| | ... | ${min_rate} | ${max_rate}
+
+| Find NDR with 4 cores and rss 2 by using RFC2544 linear search and 78B frames through IPv6 forwarding in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 4 cores and rss 2 with non drop rate for 78B
+| | ... | frames by using linear search starting at 9.8Mpps, stepping down with
+| | ... | step of 0.1Mpps
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 78
+| | ${start_rate}= | Set Variable | 9800000
+| | ${step_rate}= | Set Variable | 100000
+| | ${min_rate}= | Set Variable | 100000
+| | ${max_rate}= | Set Variable | 14880952
+| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-IPv6
+| | ... | ${min_rate} | ${max_rate}
+
+| Find NDR with 4 cores and rss 2 by using RFC2544 linear search and 1518B frames through IPv6 forwarding in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 4 cores and rss 2 with non drop rate for 1518B
+| | ... | frames by using linear search starting at 812,743pps, stepping down
+| | ... | with step of 10.000pps
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | ${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 Setup '4' worker threads and rss '2' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-IPv6
+| | ... | ${min_rate} | ${max_rate}
+
+| Find NDR with 4 cores and rss 2 by using RFC2544 linear search and 9000B frames through IPv6 forwarding in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 4 cores and rss 2 with non drop rate for 9000B
+| | ... | frames by using linear search starting at 138,580pps, stepping down
+| | ... | with step of 5,000pps
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | ${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 Setup '4' worker threads and rss '2' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Find NDR using linear search and pps | ${framesize} | ${start_rate}
+| | ... | ${step_rate} | 3-node-IPv6
+| | ... | ${min_rate} | ${max_rate}
+
+| Find NDR with 2 cores by using RFC2544 binary search and 78B frames through IPv6 forwarding in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 2 cores with non drop rate for 78B
+| | ... | frames by using binary search with threshold 5,000pps
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 78
+| | ${binary_min}= | Set Variable | 5000000
+| | ${binary_max}= | Set Variable | 9000000
+| | ${min_rate}= | Set Variable | 100000
+| | ${max_rate}= | Set Variable | 14880952
+| | ${threshold}= | Set Variable | 5000
+| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
+| | ... | ${binary_max} | 3-node-IPv6
+| | ... | ${min_rate} | ${max_rate}
+| | ... | ${threshold}
+
+| Find NDR with 4 cores and rss 2 by using RFC2544 binary search and 78B frames through IPv6 forwarding in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 4 cores and rss 2 with non drop rate for 78B
+| | ... | frames by using binary search with threshold 5,000pps
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 78
+| | ${binary_min}= | Set Variable | 6000000
+| | ${binary_max}= | Set Variable | 11000000
+| | ${min_rate}= | Set Variable | 100000
+| | ${max_rate}= | Set Variable | 14880952
+| | ${threshold}= | Set Variable | 5000
+| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
+| | ... | ${binary_max} | 3-node-IPv6
+| | ... | ${min_rate} | ${max_rate}
+| | ... | ${threshold}
diff --git a/tests/suites/performance/short_ipv6.robot b/tests/suites/performance/short_ipv6.robot
new file mode 100644
index 0000000000..776dd5f342
--- /dev/null
+++ b/tests/suites/performance/short_ipv6.robot
@@ -0,0 +1,138 @@
+# Copyright (c) 2016 Cisco and/or its affiliates.
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at:
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+*** Settings ***
+| Resource | resources/libraries/robot/performance.robot
+| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT
+| 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 | Show statistics on all DUTs
+| Documentation | Minimal throughput acceptance test cases
+
+*** Test Cases ***
+| 1core VPP passes 78B frames through IPv6 forwarding at 2x 2.9Mpps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 1 core should pass 78B frames through IPv6 forwarding
+| | ... | at 2x2.9Mpps in 3-node topology
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | ${framesize}= | Set Variable | 78
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 2.9mpps
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-IPv6
+
+| 1core VPP passes 1518B frames through IPv6 forwarding at 2x 812,743pps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 1 core should pass 1518B frames through IPv6 forwarding
+| | ... | at 2x812,743pps (2x 10Gbps) in 3-node topology
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | ${framesize}= | Set Variable | 1518
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 812743pps
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-IPv6
+
+| 1core VPP passes 9000B frames through IPv6 forwarding at 2x 138,580pps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 1 core should pass 9000B frames through IPv6 forwarding
+| | ... | at 2x138,580pps (2x 10Gbps) in 3-node topology
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | ${framesize}= | Set Variable | 9000
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 138580pps
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-IPv6
+
+| 2core VPP with rss 1 passes 78B frames through IPv6 forwarding at 2x 5.9Mpps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 2 cores should pass 78B frames through IPv6 forwarding
+| | ... | at 2x5.9Mpps in 3-node topology
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 78
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 5.9mpps
+| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-IPv6
+
+| 2core VPP with rss 1 passes 1518B frames through IPv6 forwarding at 2x 812,743pps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 2 cores should pass 1518B frames through IPv6 forwarding
+| | ... | at 2x812,743pps (2x 10Gbps) in 3-node topology
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 1518
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 812743pps
+| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-IPv6
+
+| 2core VPP with rss 1 passes 9000B frames through IPv6 forwarding at 2x 138,580pps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 2 cores should pass 9000B frames through IPv6 forwarding
+| | ... | at 2x138,580pps (2x 10Gbps) in 3-node topology
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 9000
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 138580pps
+| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-IPv6
+
+| 4core VPP with rss 2 passes 78B frames through IPv6 forwarding at 2x 7.3Mpps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 4 cores and rss 2 should pass 78B frames through IPv6
+| | ... | forwarding at 2x7.3Mpps in 3-node topology
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 78
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 7.3mpps
+| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-IPv6
+
+| 4core VPP with rss 2 passes 1518B frames through IPv6 forwarding at 2x 812,743pps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 4 cores and rss 2 should pass 1518B frames through IPv6
+| | ... | forwarding at 2x812,743pps (2x 10Gbps) in 3-node topology
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 1518
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 812743pps
+| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-IPv6
+
+| 4core VPP with rss 2 passes 9000B frames through IPv6 forwarding at 2x 138,580pps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 4 cores and rss 2 should pass 9000B frames through IPv6
+| | ... | forwarding at 2x138,580pps (2x 10Gbps) in 3-node topology
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 9000
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 138580pps
+| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs
+| | And IPv6 forwarding initialized in a 3-node circular topology
+| | Then Traffic should pass with no loss | ${duration} | ${rate}
+| | ... | ${framesize} | 3-node-IPv6