Performance l2-vlan-dot1q library and short/long test cases 73/973/17
authorpmikus <pmikus@cisco.com>
Tue, 3 May 2016 13:45:09 +0000 (15:45 +0200)
committerMiroslav Miklus <mmiklus@cisco.com>
Mon, 23 May 2016 12:51:50 +0000 (12:51 +0000)
- JIRA: CSIT-59
- create topology with VLAN dot1q sub-interfaces inter-connected using
  L2 cross connect in 3-node topology
- create keywords to be used in test cases
- create l2-vlan-dot1q test cases (64B, 1518B, 9000B)

Change-Id: Ic5f31b4451965bb7f5d3d5b7061c6600f63da898
Signed-off-by: pmikus <pmikus@cisco.com>
Signed-off-by: Peter Mikus <pmikus@cisco.com>
bootstrap-verify-perf.sh
resources/libraries/robot/performance.robot
resources/libraries/robot/tagging.robot
tests/suites/performance/Long_Xconnect_Dot1q_Intel-X520-DA2.robot [new file with mode: 0644]
tests/suites/performance/Short_Xconnect_Dot1q_Intel-X520-DA2.robot [new file with mode: 0644]
tests/suites/tagging/qinq_l2_xconnect.robot

index 65f6e7e..860e956 100755 (executable)
@@ -156,6 +156,13 @@ case "$TEST_TAG" in
               -s "performance.Long_Xconnect*" \
               tests/
         ;;
+    PERFTEST_LONG_XCONNECT_DOT1Q )
+        pybot ${PYBOT_ARGS} \
+              -L TRACE \
+              -v TOPOLOGY_PATH:${WORKING_TOPOLOGY} \
+              -s "performance.Long_Xconnect_Dot1q*" \
+              tests/
+        ;;
     * )
         # run full performance test suite and exit on fail
         pybot ${PYBOT_ARGS} \
index e26bc19..8201ae4 100644 (file)
 | | Set Suite Variable | ${dut2_if1}
 | | Set Suite Variable | ${dut2_if2}
 
+| VPP interfaces in path are up
+| | [Documentation] | *Set UP state on VPP interfaces in path on nodes.*
+| | ...
+| | Set Interface State | ${dut1} | ${dut1_if1} | up
+| | Set Interface State | ${dut1} | ${dut1_if2} | up
+| | Set Interface State | ${dut2} | ${dut2_if1} | up
+| | Set Interface State | ${dut2} | ${dut2_if2} | up
+| | Vpp Node Interfaces Ready Wait | ${dut1}
+| | Vpp Node Interfaces Ready Wait | ${dut2}
+
 | IPv4 forwarding initialized in a 3-node circular topology
 | | [Documentation] | Custom setup of IPv4 addresses on all DUT nodes and TG
 | | Set Interface State | ${dut1} | ${dut1_if1} | up
index c58acfd..3ae02b5 100644 (file)
@@ -20,6 +20,7 @@
 | Library | resources.libraries.python.NodePath
 
 *** Keywords ***
+
 | VLAN subinterfaces initialized on 3-node topology
 | | [Arguments] | ${DUT1} | ${INT1} | ${DUT2} | ${INT2} | ${SUB_ID}
 | | ...         | ${OUTER_VLAN_ID} | ${INNER_VLAN_ID} | ${TYPE_SUBIF}
 | | Set Test Variable | ${subif_name_2}
 | | Set Test Variable | ${subif_index_2}
 
-| L2 tag rewrite pop 2 tags setup on interfaces
+| VLAN dot1q subinterfaces initialized on 3-node topology
+| | [Arguments] | ${DUT1} | ${INT1} | ${DUT2} | ${INT2} | ${SUB_ID}
+| | [Documentation] | *Create two dot1q subinterfaces on DUTs.*
+| | ...
+| | ... | *Arguments:*
+| | ... | - ${DUT1} - Node to add sub-interface.
+| | ... | - ${INT1} - Interface name on which create VLAN sub-interface.
+| | ... | - ${DUT2} - Node to add sub-interface.
+| | ... | - ${INT2} - Interface name on which create VLAN sub-interface.
+| | ... | - ${SUB_ID} - ID of the sub-interface to be created.
+| | ...
+| | ... | _Set testcase variables with name and index of created interfaces:_
+| | ... | - ${subif_name_1}
+| | ... | - ${subif_index_1}
+| | ... | - ${subif_name_2}
+| | ... | - ${subif_index_2}
+| | ...
+| | ... | *Example:*
+| | ...
+| | ... | \| VLAN dot1q subinterfaces initialized on 3-node topology \
+| | ... | \| ${nodes['DUT1']} \| ${dut1_if2} \| ${nodes['DUT2']} \
+| | ... | \| ${dut1_if2} \| 10 \|
+| | ...
+| | ${subif_name_1} | ${subif_index_1}= | Create Vlan Subinterface
+| |                    | ...            | ${DUT1} | ${INT1} | ${SUB_ID}
+| | ${subif_name_2} | ${subif_index_2}= | Create Vlan Subinterface
+| |                    | ...            | ${DUT2} | ${INT2} | ${SUB_ID}
+| | Set Interface State | ${DUT1} | ${subif_index_1} | up
+| | Set Interface State | ${DUT2} | ${subif_index_2} | up
+| | Set Test Variable | ${subif_name_1}
+| | Set Test Variable | ${subif_index_1}
+| | Set Test Variable | ${subif_name_2}
+| | Set Test Variable | ${subif_index_2}
+
+| L2 tag rewrite method setup on interfaces
 | | [Arguments] | ${DUT1} | ${SUB_INT1} | ${DUT2} | ${SUB_INT2}
 | | ...         | ${TAG_REWRITE_METHOD}
 | | [Documentation] | *Setup tag rewrite on sub-interfaces on DUTs.*
diff --git a/tests/suites/performance/Long_Xconnect_Dot1q_Intel-X520-DA2.robot b/tests/suites/performance/Long_Xconnect_Dot1q_Intel-X520-DA2.robot
new file mode 100644 (file)
index 0000000..8eef6c8
--- /dev/null
@@ -0,0 +1,270 @@
+# 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 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 L2 streams (1 stream per
+| ... | direction). Packets contain Ethernet header, IPv4 header,
+| ... | IP protocol=61 and random payload. Ethernet header MAC addresses are
+| ... | matching MAC addresses of the TG node. DUT nodes are interconnected
+| ... | with VLAN dot1q configured interfaces with VLAN 10.
+
+*** Variables ***
+| ${subid}= | 10
+| ${tag_rewrite}= | pop-1
+
+*** Test Cases ***
+| Find NDR by using RFC2544 linear search and 64B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect in 3-node topology
+| | [Documentation]
+| | ... | Find throughput with non drop rate by using linear search starting
+| | ... | at 4.2Mpps, stepping down with step of 0.1Mpps. Frames from and to TG
+| | ... | are 64B long. Tagging is applied between DUTs inserting 4B VLAN ID
+| | ... | into a packet header.
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | ${framesize}= | Set Variable | 64
+| | ${start_rate}= | Set Variable | 4200000
+| | ${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 VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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 linear search and pps | ${framesize} | ${start_rate}
+| | ...                                       | ${step_rate} | 3-node-xconnect
+| | ...                                       | ${min_rate} | ${max_rate}
+
+| Find NDR by using RFC2544 linear search and 1518B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect in 3-node topology
+| | [Documentation]
+| | ... | Find throughput with non drop rate by using linear search starting
+| | ... | at 812,743pps, stepping down with step of 10,000pps. Frames from and
+| | ... | to TG are 1518B long. Tagging is applied between DUTs inserting 4B
+| | ... | VLAN ID into a packet header.
+| | [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 VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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 linear search and pps | ${framesize} | ${start_rate}
+| | ...                                       | ${step_rate} | 3-node-xconnect
+| | ...                                       | ${min_rate} | ${max_rate}
+
+| Find NDR by using RFC2544 linear search and 9000B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect in 3-node topology
+| | [Documentation]
+| | ... | Find throughput with non drop rate by using linear search starting
+| | ... | at 138,580pps, stepping down with step of 5,000pps. Frames from and
+| | ... | to TG are 9000B long. Tagging is applied between DUTs inserting 4B
+| | ... | VLAN ID into a packet header.
+| | [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 VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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 linear search and pps | ${framesize} | ${start_rate}
+| | ...                                       | ${step_rate} | 3-node-xconnect
+| | ...                                       | ${min_rate} | ${max_rate}
+
+| Find NDR with 2 cores and rss 1 by using RFC2544 linear search and 64B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 2 cores with non drop rate by using linear search
+| | ... | starting at 7.8Mpps, stepping down with step of 0.1Mpps. Frames from
+| | ... | and to TG are 64B long. Tagging is applied between DUTs inserting 4B
+| | ... | VLAN ID into a packet header.
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 64
+| | ${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 VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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 linear search and pps | ${framesize} | ${start_rate}
+| | ...                                       | ${step_rate} | 3-node-xconnect
+| | ...                                       | ${min_rate} | ${max_rate}
+
+| Find NDR with 2 cores and rss 1 by using RFC2544 linear search and 1518B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 2 cores with non drop rate by using linear search
+| | ... | starting at 812,743pps, stepping down with step of 10,000pps. Frames
+| | ... | from and to TG are 1518B long. Tagging is applied between DUTs
+| | ... | inserting 4B VLAN ID into a packet header.
+| | [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 VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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 linear search and pps | ${framesize} | ${start_rate}
+| | ...                                       | ${step_rate} | 3-node-xconnect
+| | ...                                       | ${min_rate} | ${max_rate}
+
+| Find NDR with 2 cores and rss 1 by using RFC2544 linear search and 9000B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 2 cores with non drop rate by using linear search
+| | ... | starting at 138,580pps, stepping down with step of 5,000pps. Frames
+| | ... | from and to TG are 9000B long. Tagging is applied between DUTs
+| | ... | inserting 4B VLAN ID into a packet header.
+| | [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 VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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 linear search and pps | ${framesize} | ${start_rate}
+| | ...                                       | ${step_rate} | 3-node-xconnect
+| | ...                                       | ${min_rate} | ${max_rate}
+
+| Find NDR with 4 cores and rss 2 by using RFC2544 linear search and 64B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 4 cores and rss 2 with non drop rate by using
+| | ... | linear search starting at 12Mpps, stepping down with step of 0.1Mpps.
+| | ... | Frames from and to TG are 64B long. Tagging is applied between DUTs
+| | ... | inserting 4B VLAN ID into a packet header.
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 64
+| | ${start_rate}= | Set Variable | 12000000
+| | ${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 VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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 linear search and pps | ${framesize} | ${start_rate}
+| | ...                                       | ${step_rate} | 3-node-xconnect
+| | ...                                       | ${min_rate} | ${max_rate}
+
+| Find NDR with 4 cores and rss 2 by using RFC2544 linear search and 1518B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 4 cores and rss 2 with non drop rate by using
+| | ... | linear search starting at 812,743pps, stepping down with step of
+| | ... | 10,000pps. Frames from and to TG are 1518B long. Tagging is applied
+| | ... | between DUTs inserting 4B VLAN ID into a packet header.
+| | [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 VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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 linear search and pps | ${framesize} | ${start_rate}
+| | ...                                       | ${step_rate} | 3-node-xconnect
+| | ...                                       | ${min_rate} | ${max_rate}
+
+| Find NDR with 4 cores and rss 2 by using RFC2544 linear search and 9000B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect in 3-node topology
+| | [Documentation]
+| | ... | Find throughput on 4 cores and rss 2 with non drop rate by using
+| | ... | linear search starting at 138,580pps, stepping down with step of
+| | ... | 5,000pps. Frames from and to TG are 9000B long. Tagging is applied
+| | ... | between DUTs inserting 4B VLAN ID into a packet header.
+| | [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 VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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 linear search and pps | ${framesize} | ${start_rate}
+| | ...                                       | ${step_rate} | 3-node-xconnect
+| | ...                                       | ${min_rate} | ${max_rate}
diff --git a/tests/suites/performance/Short_Xconnect_Dot1q_Intel-X520-DA2.robot b/tests/suites/performance/Short_Xconnect_Dot1q_Intel-X520-DA2.robot
new file mode 100644 (file)
index 0000000..d0ede20
--- /dev/null
@@ -0,0 +1,236 @@
+# 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 Keyword | Show statistics on all DUTs
+| Documentation | Minimal throughput acceptance test cases
+
+*** Variables ***
+| ${subid}= | 10
+| ${tag_rewrite}= | pop-1
+
+*** Test Cases ***
+| 1core VPP passes 64B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect at 2x2.9Mpps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 1 core should pass 64B frames through VLAN dot1q
+| | ... | sub-interfaces inter-connected using L2 cross connect at 2x2.9Mpps in
+| | ... | 3-node topology. Tagging is applied between DUTs inserting 4B VLAN ID
+| | ... | into a packet header.
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | ${framesize}= | Set Variable | 64
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 2.9mpps
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | And VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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
+
+| 1core VPP passes 1518B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect at 2x 720,000pps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 1 core should pass 1518B frames through VLAN dot1q
+| | ... | sub-interfaces inter-connected using L2 cross connect at
+| | ... | 2x 720,000pps in 3-node topology. Tagging is applied between DUTs
+| | ... | inserting 4B VLAN ID into a packet header.
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | ${framesize}= | Set Variable | 1518
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 720000pps
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | And VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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
+
+| 1core VPP passes 9000B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect at 2x 120,000pps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 1 core should pass 9000B frames through VLAN dot1q
+| | ... | sub-interfaces inter-connected using L2 cross connect at
+| | ... | 2x 120,000pps in 3-node topology. Tagging is applied between DUTs
+| | ... | inserting 4B VLAN ID into a packet header.
+| | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
+| | ${framesize}= | Set Variable | 9000
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 120000pps
+| | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
+| | And VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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
+
+| 2core VPP with rss 1 passes 64B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect at 2x5.8Mpps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 2 cores should pass 64B frames through VLAN dot1q
+| | ... | sub-interfaces inter-connected using L2 cross connect at 2x5.8Mpps in
+| | ... | 3-node topology. Tagging is applied between DUTs inserting 4B VLAN ID
+| | ... | into a packet header.
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 64
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 5.8mpps
+| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | And VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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
+
+| 2core VPP with rss 1 passes 1518B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect at 2x 720,000pps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 2 core should pass 1518B frames through VLAN dot1q
+| | ... | sub-interfaces inter-connected using L2 cross connect at
+| | ... | 2x 720,000pps in 3-node topology. Tagging is applied between DUTs
+| | ... | inserting 4B VLAN ID into a packet header.
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 1518
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 720000pps
+| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | And VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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
+
+| 2core VPP with rss 1 passes 9000B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect at 2x 120,000pps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 2 core should pass 9000B frames through VLAN dot1q
+| | ... | sub-interfaces inter-connected using L2 cross connect at
+| | ... | 2x 120,000pps in 3-node topology. Tagging is applied between DUTs
+| | ... | inserting 4B VLAN ID into a packet header.
+| | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 9000
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 120000pps
+| | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
+| | And VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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
+
+| 4core VPP with rss 2 passes 64B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect at 2x9.0Mpps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 4 cores and rss 2 should pass 64B frames through VLAN dot1q
+| | ... | sub-interfaces inter-connected using L2 cross connect at 2x9.0Mpps in
+| | ... | 3-node topology. Tagging is applied between DUTs inserting 4B VLAN ID
+| | ... | into a packet header.
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 64
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 9.0mpps
+| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs
+| | And VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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
+
+| 4core VPP with rss 2 passes 1518B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect at 2x 720,000pps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 4 cores and rss 2 should pass 1518B frames through VLAN
+| | ... | dot1q sub-interfaces inter-connected using L2 cross connect at
+| | ... | 2x 720,000pps in 3-node topology. Tagging is applied between DUTs
+| | ... | inserting 4B VLAN ID into a packet header.
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 1518
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 720000pps
+| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs
+| | And VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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
+
+| 4core VPP with rss 2 passes 9000B frames through VLAN dot1q sub-interfaces inter-connected using L2 cross connect at 2x 120,000pps in 3-node topology
+| | [Documentation]
+| | ... | VPP with 4 cores and rss 2 should pass 9000B frames through VLAN
+| | ... | dot1q sub-interfaces inter-connected using L2 cross connect at
+| | ... | 2x 120,000pps in 3-node topology. Tagging is applied between DUTs
+| | ... | inserting 4B VLAN ID into a packet header.
+| | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
+| | ${framesize}= | Set Variable | 9000
+| | ${duration}= | Set Variable | 10
+| | ${rate}= | Set Variable | 120000pps
+| | Given Setup '4' worker threads and rss '2' without HTT on all DUTs
+| | And VPP interfaces in path are up
+| | When VLAN dot1q subinterfaces initialized on 3-node topology
+| | ... | ${dut1} | ${dut1_if2} | ${dut2} | ${dut2_if1} | ${subid}
+| | 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
index 57f6110..ed0e734 100644 (file)
@@ -41,7 +41,7 @@
 | | When VLAN subinterfaces initialized on 3-node topology
 | | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut2_node} | ${dut2_to_dut1} | ${subid}
 | | ... | ${outer_vlan_id} | ${inner_vlan_id} | ${type_subif}
-| | And L2 tag rewrite pop 2 tags setup on interfaces
+| | And L2 tag rewrite method setup on interfaces
 | | ... | ${dut1_node} | ${subif_index_1} | ${dut2_node} | ${subif_index_2}
 | | ... | ${tag_rewrite_method}
 | | And Interfaces and VLAN sub-interfaces inter-connected using L2-xconnect