From 5aa9925436c3ca40e9af9d353245674f631d440d Mon Sep 17 00:00:00 2001 From: Peter Mikus Date: Wed, 25 May 2016 10:38:25 +0200 Subject: [PATCH 1/1] CSIT-60: Create l2-vlan-dot1ad libraries for perf testing - create topology with VLAN dot1ad sub-interfaces inter-connected using L2 cross connect in 3-node topology - create keywords to be used in test cases - create l2-vlan-dot1ad test cases (64B, 1514B, 9000B) Change-Id: Ib25d5e8f09fb83d80596982608e93b1e511e8b8e Signed-off-by: Peter Mikus Signed-off-by: pmikus --- resources/libraries/robot/performance.robot | 121 ++-- .../Long_Xconnect_Dot1ad_Intel-X520-DA2.robot | 624 +++++++++++++++++++++ .../Short_Xconnect_Dot1ad_Intel-X520-DA2.robot | 282 ++++++++++ 3 files changed, 975 insertions(+), 52 deletions(-) create mode 100644 tests/suites/performance/Long_Xconnect_Dot1ad_Intel-X520-DA2.robot create mode 100644 tests/suites/performance/Short_Xconnect_Dot1ad_Intel-X520-DA2.robot diff --git a/resources/libraries/robot/performance.robot b/resources/libraries/robot/performance.robot index cb9abe5176..4dcd84e223 100644 --- a/resources/libraries/robot/performance.robot +++ b/resources/libraries/robot/performance.robot @@ -31,50 +31,65 @@ | | [Documentation] | Setup performance rates as Suite Variables | | ... | | ... | _NOTE:_ This KW sets following suite variables: -| | ... | - ${10Ge_linerate_pps_64B} - Maximum number of packet per second -| | ... | for 10GE with 64B L2 Frame. -| | ... | - ${10Ge_linerate_pps_68B} - Maximum number of packet per second -| | ... | for 10GE with 68B L2 Frame. -| | ... | - ${10Ge_linerate_pps_78B} - Maximum number of packet per second -| | ... | for 10GE with 78B L2 Frame. -| | ... | - ${10Ge_linerate_pps_1518B} - Maximum number of packet per second -| | ... | for 10GE with 1518B L2 Frame. -| | ... | - ${10Ge_linerate_pps_1522B} - Maximum number of packet per second -| | ... | for 10GE with 1522B L2 Frame. -| | ... | - ${10Ge_linerate_pps_9000B} - Maximum number of packet per second -| | ... | for 10GE with 9000B L2 Frame. -| | ... | - ${10Ge_linerate_pps_9004B} - Maximum number of packet per second -| | ... | for 10GE with 9004B L2 Frame. -| | ... -| | ${10Ge_linerate_pps_64B}= | Set Variable | 14880952 -| | ${10Ge_linerate_pps_68B}= | Set Variable | 14204545 -| | ${10Ge_linerate_pps_78B}= | Set Variable | 12755102 -| | ${10Ge_linerate_pps_1518B}= | Set Variable | 812743 -| | ${10Ge_linerate_pps_1522B}= | Set Variable | 810635 -| | ${10Ge_linerate_pps_9000B}= | Set Variable | 138580 -| | ${10Ge_linerate_pps_9004B}= | Set Variable | 138519 -| | ${40Ge_linerate_pps_64B}= | Set Variable | 59523809 -| | ${40Ge_linerate_pps_68B}= | Set Variable | 56818181 -| | ${40Ge_linerate_pps_78B}= | Set Variable | 51020408 -| | ${40Ge_linerate_pps_1518B}= | Set Variable | 3250975 -| | ${40Ge_linerate_pps_1522B}= | Set Variable | 3242542 -| | ${40Ge_linerate_pps_9000B}= | Set Variable | 554323 -| | ${40Ge_linerate_pps_9004B}= | Set Variable | 554078 - -| | Set Suite Variable | ${10Ge_linerate_pps_64B} -| | Set Suite Variable | ${10Ge_linerate_pps_68B} -| | Set Suite Variable | ${10Ge_linerate_pps_78B} -| | Set Suite Variable | ${10Ge_linerate_pps_1518B} -| | Set Suite Variable | ${10Ge_linerate_pps_1522B} -| | Set Suite Variable | ${10Ge_linerate_pps_9000B} -| | Set Suite Variable | ${10Ge_linerate_pps_9004B} -| | Set Suite Variable | ${40Ge_linerate_pps_64B} -| | Set Suite Variable | ${40Ge_linerate_pps_68B} -| | Set Suite Variable | ${40Ge_linerate_pps_78B} -| | Set Suite Variable | ${40Ge_linerate_pps_1518B} -| | Set Suite Variable | ${40Ge_linerate_pps_1522B} -| | Set Suite Variable | ${40Ge_linerate_pps_9000B} -| | Set Suite Variable | ${40Ge_linerate_pps_9004B} +| | ... | - 10Ge_linerate_pps_64B - Maximum number of packet per second +| | ... | for 10GE with 64B L2 Frame. +| | ... | - 10Ge_linerate_pps_68B - Maximum number of packet per second +| | ... | for 10GE with 68B L2 Frame. +| | ... | - 10Ge_linerate_pps_72B - Maximum number of packet per second +| | ... | for 10GE with 72B L2 Frame. +| | ... | - 10Ge_linerate_pps_78B - Maximum number of packet per second +| | ... | for 10GE with 78B L2 Frame. +| | ... | - 10Ge_linerate_pps_1518B - Maximum number of packet per second +| | ... | for 10GE with 1518B L2 Frame. +| | ... | - 10Ge_linerate_pps_1522B - Maximum number of packet per second +| | ... | for 10GE with 1522B L2 Frame. +| | ... | - 10Ge_linerate_pps_1526B - Maximum number of packet per second +| | ... | for 10GE with 1526B L2 Frame. +| | ... | - 10Ge_linerate_pps_9000B - Maximum number of packet per second +| | ... | for 10GE with 9000B L2 Frame. +| | ... | - 10Ge_linerate_pps_9004B - Maximum number of packet per second +| | ... | for 10GE with 9004B L2 Frame. +| | ... | - 10Ge_linerate_pps_9008B - Maximum number of packet per second +| | ... | for 10GE with 9008B L2 Frame. +| | ... | - 40Ge_linerate_pps_64B - Maximum number of packet per second +| | ... | for 40GE with 64B L2 Frame. +| | ... | - 40Ge_linerate_pps_68B - Maximum number of packet per second +| | ... | for 40GE with 68B L2 Frame. +| | ... | - 40Ge_linerate_pps_72B - Maximum number of packet per second +| | ... | for 40GE with 72B L2 Frame. +| | ... | - 40Ge_linerate_pps_78B - Maximum number of packet per second +| | ... | for 40GE with 78B L2 Frame. +| | ... | - 40Ge_linerate_pps_1518B - Maximum number of packet per second +| | ... | for 40GE with 1518B L2 Frame. +| | ... | - 40Ge_linerate_pps_1522B - Maximum number of packet per second +| | ... | for 40GE with 1522B L2 Frame. +| | ... | - 40Ge_linerate_pps_1526B - Maximum number of packet per second +| | ... | for 40GE with 1526B L2 Frame. +| | ... | - 40Ge_linerate_pps_9000B - Maximum number of packet per second +| | ... | for 40GE with 9000B L2 Frame. +| | ... | - 40Ge_linerate_pps_9004B - Maximum number of packet per second +| | ... | for 40GE with 9004B L2 Frame. +| | ... | - 40Ge_linerate_pps_9008B - Maximum number of packet per second +| | ... | for 40GE with 9008B L2 Frame. +| | ... +| | Set Suite Variable | ${10Ge_linerate_pps_64B} | 14880952 +| | Set Suite Variable | ${10Ge_linerate_pps_68B} | 14204545 +| | Set Suite Variable | ${10Ge_linerate_pps_72B} | 13586956 +| | Set Suite Variable | ${10Ge_linerate_pps_78B} | 12755102 +| | Set Suite Variable | ${10Ge_linerate_pps_1518B} | 812743 +| | Set Suite Variable | ${10Ge_linerate_pps_1522B} | 810635 +| | Set Suite Variable | ${10Ge_linerate_pps_9000B} | 138580 +| | Set Suite Variable | ${10Ge_linerate_pps_9004B} | 138519 +| | Set Suite Variable | ${10Ge_linerate_pps_9008B} | 138458 +| | Set Suite Variable | ${40Ge_linerate_pps_64B} | 59523809 +| | Set Suite Variable | ${40Ge_linerate_pps_68B} | 56818181 +| | Set Suite Variable | ${40Ge_linerate_pps_72B} | 54347826 +| | Set Suite Variable | ${40Ge_linerate_pps_78B} | 51020408 +| | Set Suite Variable | ${40Ge_linerate_pps_1518B} | 3250975 +| | Set Suite Variable | ${40Ge_linerate_pps_1522B} | 3242542 +| | Set Suite Variable | ${40Ge_linerate_pps_9000B} | 554323 +| | Set Suite Variable | ${40Ge_linerate_pps_9004B} | 554078 +| | Set Suite Variable | ${40Ge_linerate_pps_9008B} | 553832 | Setup performance global Variables | | [Documentation] | Setup performance global Variables @@ -83,10 +98,8 @@ | | ... | - ${glob_loss_acceptance} - Loss acceptance treshold | | ... | - ${glob_loss_acceptance_type} - Loss acceptance treshold type | | ... -| | ${glob_loss_acceptance}= | Set Variable | 0.5 -| | ${glob_loss_acceptance_type}= | Set Variable | percentage -| | Set Suite Variable | ${glob_loss_acceptance} -| | Set Suite Variable | ${glob_loss_acceptance_type} +| | Set Suite Variable | ${glob_loss_acceptance} | 0.5 +| | Set Suite Variable | ${glob_loss_acceptance_type} | percentage | 2-node circular Topology Variables Setup | | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']} @@ -561,8 +574,10 @@ | | ${rate_total}= | Evaluate | ${rate_per_stream}*${nr_streams} | | ${bandwidth_total}= | Evaluate | ${rate_total}*(${framesize}+20)*8/(10**9) | | Set Test Message | FINAL_RATE: ${rate_total} pps -| | Set Test Message | (${nr_streams}x ${rate_per_stream} pps) | append=yes -| | Set Test Message | FINAL_BANDWIDTH: ${bandwidth_total} Gbps | append=yes +| | Set Test Message | (${nr_streams}x ${rate_per_stream} pps) +| | ... | append=yes +| | Set Test Message | ${\n}FINAL_BANDWIDTH: ${bandwidth_total} Gbps (untagged) +| | ... | append=yes | Display result of PDR search | | [Documentation] | Display result of PDR search in packet per seconds (total @@ -587,8 +602,10 @@ | | ${rate_total}= | Evaluate | ${rate_per_stream}*${nr_streams} | | ${bandwidth_total}= | Evaluate | ${rate_total}*(${framesize}+20)*8/(10**9) | | Set Test Message | FINAL_RATE: ${rate_total} pps -| | Set Test Message | (${nr_streams}x ${rate_per_stream} pps) | append=yes -| | Set Test Message | FINAL_BANDWIDTH: ${bandwidth_total} Gbps | append=yes +| | Set Test Message | (${nr_streams}x ${rate_per_stream} pps) +| | ... | append=yes +| | Set Test Message | ${\n}FINAL_BANDWIDTH: ${bandwidth_total} Gbps (untagged) +| | ... | append=yes | | Set Test Message | ${\n}LOSS_ACCEPTANCE: ${loss_acceptance} ${loss_acceptance_type} | | ... | append=yes diff --git a/tests/suites/performance/Long_Xconnect_Dot1ad_Intel-X520-DA2.robot b/tests/suites/performance/Long_Xconnect_Dot1ad_Intel-X520-DA2.robot new file mode 100644 index 0000000000..3c4ad5829f --- /dev/null +++ b/tests/suites/performance/Long_Xconnect_Dot1ad_Intel-X520-DA2.robot @@ -0,0 +1,624 @@ +# 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 +| Resource | resources/libraries/robot/tagging.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG +| ... | NIC_Intel-X520-DA2 +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| Test Setup | Setup all DUTs before test +| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| Documentation | *RFC2544: Pkt throughput L2XC with dot1ad test cases* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. +| ... | Dot1ad tagging is applied on link between DUT1 and DUT2 with inner 4B +| ... | vlan tag (id=100) and outer 4B vlan tag (id=200). +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- +| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel. +| ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop +| ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop +| ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage +| ... | of packets transmitted. NDR and PDR are discovered for different +| ... | Ethernet L2 frame sizes using either binary search or linear search +| ... | algorithms with configured starting rate and final step that determines +| ... | throughput measurement resolution. Test packets are generated by TG on +| ... | links to DUTs. TG traffic profile contains two L3 flow-groups +| ... | (flow-group per direction, 253 flows per flow-group) with all packets +| ... | containing Ethernet header, IPv4 header with IP protocol=61 and +| ... | generated payload. MAC addresses are matching MAC addresses of the TG +| ... | node interfaces. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| ${subid}= | 10 +| ${outer_vlan_id}= | 100 +| ${inner_vlan_id}= | 200 +| ${type_subif}= | two_tags +| ${tag_rewrite}= | pop-2 + +*** Test Cases *** +| TC01: 64B NDR binary search - DUT L2XC with dot1ad - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${min_rate}= | Set Variable | 100000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_72B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| TC02: 64B PDR binary search - DUT L2XC with dot1ad - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR +| | ${framesize}= | Set Variable | 64 +| | ${min_rate}= | Set Variable | 100000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_72B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC03: 1514B NDR binary search - DUT L2XC with dot1ad - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1514 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1514 +| | ${min_rate}= | Set Variable | 10000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_1522B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| TC04: 1514B PDR binary search - DUT L2XC with dot1ad - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1514 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR +| | ${framesize}= | Set Variable | 1514 +| | ${min_rate}= | Set Variable | 10000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_1522B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC05: 9000B NDR binary search - DUT L2XC with dot1ad - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${min_rate}= | Set Variable | 5000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_9008B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| TC06: 9000B PDR binary search - DUT L2XC with dot1ad - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR +| | ${framesize}= | Set Variable | 9000 +| | ${min_rate}= | Set Variable | 5000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_9008B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC07: 64B NDR binary search - DUT L2XC with dot1ad - 2threads 2cores 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${min_rate}= | Set Variable | 100000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_72B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| TC08: 64B PDR binary search - DUT L2XC with dot1ad - 2threads 2cores 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR +| | ${framesize}= | Set Variable | 64 +| | ${min_rate}= | Set Variable | 100000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_72B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC09: 1514B NDR binary search - DUT L2XC with dot1ad - 2threads 2cores 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1514 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1514 +| | ${min_rate}= | Set Variable | 10000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_1522B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| TC10: 1514B PDR binary search - DUT L2XC with dot1ad - 2threads 2cores 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1514 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR +| | ${framesize}= | Set Variable | 1514 +| | ${min_rate}= | Set Variable | 10000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_1522B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC11: 9000B NDR binary search - DUT L2XC with dot1ad - 2threads 2cores 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${min_rate}= | Set Variable | 5000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_9008B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| TC12: 9000B PDR binary search - DUT L2XC with dot1ad - 2threads 2cores 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 2 threads, 2 phy cores, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR +| | ${framesize}= | Set Variable | 9000 +| | ${min_rate}= | Set Variable | 5000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_9008B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC13: 64B NDR binary search - DUT L2XC with dot1ad - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${min_rate}= | Set Variable | 100000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_72B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| TC14: 64B PDR binary search - DUT L2XC with dot1ad - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames +| | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR +| | ${framesize}= | Set Variable | 64 +| | ${min_rate}= | Set Variable | 100000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_72B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC15: 1514B NDR binary search - DUT L2XC with dot1ad - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 1514 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1514 +| | ${min_rate}= | Set Variable | 10000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_1522B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| TC16: 1514B PDR binary search - DUT L2XC with dot1ad - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 1514 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR +| | ${framesize}= | Set Variable | 1514 +| | ${min_rate}= | Set Variable | 10000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_1522B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} + +| TC17: 9000B NDR binary search - DUT L2XC with dot1ad - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${min_rate}= | Set Variable | 5000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_9008B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find NDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} + +| TC18: 9000B PDR binary search - DUT L2XC with dot1ad - 4threads 4cores 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC forwarding config with 4 threads, 4 phy cores, \ +| | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR +| | ${framesize}= | Set Variable | 9000 +| | ${min_rate}= | Set Variable | 5000 +| | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_9008B} +| | ${binary_min}= | Set Variable | ${min_rate} +| | ${binary_max}= | Set Variable | ${max_rate} +| | ${threshold}= | Set Variable | ${min_rate} +| | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Find PDR using binary search and pps | ${framesize} | ${binary_min} +| | ... | ${binary_max} | 3-node-xconnect +| | ... | ${min_rate} | ${max_rate} +| | ... | ${threshold} +| | ... | ${glob_loss_acceptance} +| | ... | ${glob_loss_acceptance_type} diff --git a/tests/suites/performance/Short_Xconnect_Dot1ad_Intel-X520-DA2.robot b/tests/suites/performance/Short_Xconnect_Dot1ad_Intel-X520-DA2.robot new file mode 100644 index 0000000000..028eb1bbc2 --- /dev/null +++ b/tests/suites/performance/Short_Xconnect_Dot1ad_Intel-X520-DA2.robot @@ -0,0 +1,282 @@ +# 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 +| Resource | resources/libraries/robot/tagging.robot +| Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT +| ... | NIC_Intel-X520-DA2 +| Suite Setup | 3-node Performance Suite Setup with DUT's NIC model +| ... | L2 | Intel-X520-DA2 +| Suite Teardown | 3-node Performance Suite Teardown +| Test Setup | Setup all DUTs before test +| Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs +| ... | AND | Show vpp trace dump on all DUTs +| Documentation | *Reference NDR throughput L2XC with dot1ad verify test cases* +| ... +| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology +| ... | with single links between nodes. +| ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4. +| ... | Dot1ad tagging is applied on link between DUT1 and DUT2 with inner 4B +| ... | vlan tag (id=100) and outer 4B vlan tag (id=200). +| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 cross- +| ... | connect. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel. +| ... | *[Ver] TG verification:* In short performance tests, TG verifies +| ... | DUTs' throughput at ref-NDR (reference Non Drop Rate) with zero packet +| ... | loss tolerance. Ref-NDR value is periodically updated acording to +| ... | formula: ref-NDR = 0.9x NDR, where NDR is found in RFC2544 long +| ... | performance tests for the same DUT confiiguration. Test packets are +| ... | generated by TG on links to DUTs. TG traffic profile contains two L3 +| ... | flow-groups (flow-group per direction, 253 flows per flow-group) with +| ... | all packets containing Ethernet header, IPv4 header with IP protocol=61 +| ... | and generated payload. +| ... | *[Ref] Applicable standard specifications:* RFC2544. + +*** Variables *** +| ${subid}= | 10 +| ${outer_vlan_id}= | 100 +| ${inner_vlan_id}= | 200 +| ${type_subif}= | two_tags +| ${tag_rewrite}= | pop-2 + +*** Test Cases *** +| TC01: Verify 64B ref-NDR at 2x 2.9Mpps - DUT L2XC with dot1ad - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 64 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 2.9mpps +| | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC02: Verify 1514B ref-NDR at 2x 810.635kpps - DUT L2XC with dot1ad - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 1514 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 1514 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 810635pps +| | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC03: Verify 9000B ref-NDR at 2x 138.458kpps - DUT L2XC with dot1ad - 1thread 1core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC config with 1 thread, 1 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Verify ref-NDR for 9000 Byte +| | ... | frames using single trial throughput test. +| | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138458pps +| | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC04: Verify 64B ref-NDR at 2x 7Mpps - DUT L2XC with dot1ad - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 7.0mpps +| | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC05: Verify 1514B ref-NDR at 2x 810.635kpps - DUT L2XC with dot1ad - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1514 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1514 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 810635pps +| | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC06: Verify 9000B ref-NDR at 2x 138.458kpps - DUT L2XC with dot1ad - 2thread 2core 1rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 2 thread, 2 phy core, \ +| | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138458pps +| | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC07: Verify 64B ref-NDR at 2x 8Mpps - DUT L2XC with dot1ad - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 64 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 8.0mpps +| | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC08: Verify 1514B ref-NDR at 2x 810.635kpps - DUT L2XC with dot1ad - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Find PDR for 1514 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 1514 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 810635pps +| | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Add No Multi Seg to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect + +| TC09: Verify 9000B ref-NDR at 2x 138.458kpps - DUT L2XC with dot1ad - 4thread 4core 2rxq +| | [Documentation] +| | ... | [Cfg] DUT runs L2XC switching config with 4 thread, 4 phy core, \ +| | ... | 2 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames +| | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%. +| | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR +| | ${framesize}= | Set Variable | 9000 +| | ${duration}= | Set Variable | 10 +| | ${rate}= | Set Variable | 138458pps +| | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs +| | And Add all PCI devices to all DUTs +| | And Apply startup configuration on all VPP DUTs +| | And VPP interfaces in path are up in a 3-node circular topology +| | When VLAN subinterfaces initialized on 3-node topology +| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid} +| | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif} +| | And L2 tag rewrite method setup on interfaces +| | ... | ${dut1} | ${subif_index_1} | ${dut2} | ${subif_index_2} +| | ... | ${tag_rewrite} +| | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect +| | ... | ${dut1} | ${dut1_if1} | ${subif_index_1} +| | ... | ${dut2} | ${dut2_if2} | ${subif_index_2} +| | Then Traffic should pass with no loss | ${duration} | ${rate} +| | ... | ${framesize} | 3-node-xconnect -- 2.16.6