From 10f3b07a5c883e20ef345c8b1c8e24063a50281f Mon Sep 17 00:00:00 2001 From: pmikus Date: Wed, 20 Apr 2016 13:24:11 +0200 Subject: 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 Signed-off-by: Peter Mikus --- tests/suites/performance/long_ipv6.robot | 214 ++++++++++++++++++++++++++++++ tests/suites/performance/short_ipv6.robot | 138 +++++++++++++++++++ 2 files changed, 352 insertions(+) create mode 100644 tests/suites/performance/long_ipv6.robot create mode 100644 tests/suites/performance/short_ipv6.robot (limited to 'tests/suites') 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 -- cgit 1.2.3-korg