diff options
author | pmikus <pmikus@cisco.com> | 2016-04-20 13:24:11 +0200 |
---|---|---|
committer | Stefan Kobza <skobza@cisco.com> | 2016-05-11 11:52:13 +0000 |
commit | 10f3b07a5c883e20ef345c8b1c8e24063a50281f (patch) | |
tree | 659b4e11dd7d028640538c56d813e5084d870704 /tests/suites | |
parent | 187868525f59884c74de5a75721594658fa8f4d3 (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/suites')
-rw-r--r-- | tests/suites/performance/long_ipv6.robot | 214 | ||||
-rw-r--r-- | tests/suites/performance/short_ipv6.robot | 138 |
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 |