Multicore VPP setup for performance testing
[csit.git] / tests / suites / performance / short_xconnect.robot
1 # Copyright (c) 2016 Cisco and/or its affiliates.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
5 #
6 #     http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13 *** Settings ***
14 | Resource | resources/libraries/robot/performance.robot
15 | Library | resources.libraries.python.InterfaceUtil
16 | Library | resources.libraries.python.NodePath
17 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_SHORT
18 | Suite Setup | 3-node Performance Suite Setup | L2
19 | Suite Teardown | 3-node Performance Suite Teardown
20 | Test Setup | Setup all DUTs before test
21 | Test Teardown | Run Keywords | Show statistics on all DUTs
22 | ...           | AND          | Reset startup configuration of VPP on all DUTs
23 | Documentation | Minimal throughput acceptance test cases
24
25 *** Test Cases ***
26 | 1core VPP passes 64B frames through L2 cross connect at 2x 3.5mpps in 3-node topology
27 | | [Documentation]
28 | | ... | VPP with 1 core should pass 64B frames through L2 cross connect
29 | | ... | at 2x3.5mpps in 3-node topology
30 | | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
31 | | # Variables
32 | | ${framesize}= | Set Variable | 64
33 | | ${duration}= | Set Variable | 10
34 | | ${rate}= | Set Variable | 3.5mpps
35 | | # VPP setup
36 | | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
37 | | AND   L2 xconnect initialized in a 3-node circular topology
38 | | # Sent traffic with specified rate
39 | | Then Traffic should pass with no loss | ${duration} | ${rate}
40 | | ...                                   | ${framesize} | 3-node-xconnect
41
42 | 1core VPP passes 1518B frames through L2 cross connect at 2x 10gbps in 3-node topology
43 | | [Documentation]
44 | | ... | VPP with 1 core should pass 1518B frames through L2 cross connect
45 | | ... | at 2x10gbps in 3-node topology
46 | | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
47 | | # Variables
48 | | ${framesize}= | Set Variable | 1518
49 | | ${duration}= | Set Variable | 10
50 | | ${rate}= | Set Variable | 10gbps
51 | | # VPP setup
52 | | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
53 | | AND   L2 xconnect initialized in a 3-node circular topology
54 | | # Sent traffic with specified rate
55 | | Then Traffic should pass with no loss | ${duration} | ${rate}
56 | | ...                                   | ${framesize} | 3-node-xconnect
57
58 | 1core VPP passes 9000B frames through L2 cross connect at 2x 10gbps in 3-node topology
59 | | [Documentation]
60 | | ... | VPP with 1 core should pass 9000B frames through L2 cross connect
61 | | ... | at 2x10gbps in 3-node topology
62 | | [Tags] | 1_THREAD_NOHTT_RSS_1 | SINGLE_THREAD
63 | | # Variables
64 | | ${framesize}= | Set Variable | 9000
65 | | ${duration}= | Set Variable | 10
66 | | ${rate}= | Set Variable | 10gbps
67 | | # VPP setup
68 | | Given Setup '1' worker threads and rss '1' without HTT on all DUTs
69 | | AND   L2 xconnect initialized in a 3-node circular topology
70 | | # Sent traffic with specified rate
71 | | Then Traffic should pass with no loss | ${duration} | ${rate}
72 | | ...                                   | ${framesize} | 3-node-xconnect
73
74 | 2core VPP with rss 1 passes 64B frames through L2 cross connect at 2x 11.0mpps in 3-node topology
75 | | [Documentation]
76 | | ... | VPP with 2 cores should pass 64B frames through L2 cross connect
77 | | ... | at 2x11.0mpps in 3-node topology
78 | | [Tags] | 2_THREAD_NOHTT_RSS_1 | MULTI_THREAD
79 | | # Variables
80 | | ${framesize}= | Set Variable | 64
81 | | ${duration}= | Set Variable | 10
82 | | ${rate}= | Set Variable | 11.0mpps
83 | | # VPP setup
84 | | Given Setup '2' worker threads and rss '1' without HTT on all DUTs
85 | | AND   L2 xconnect initialized in a 3-node circular topology
86 | | # Sent traffic with specified rate
87 | | Then Traffic should pass with no loss | ${duration} | ${rate}
88 | | ...                                   | ${framesize} | 3-node-xconnect
89
90 | 4core VPP with rss 2 passes 64B frames through L2 cross connect at 2x 11.6mpps in 3-node topology
91 | | [Documentation]
92 | | ... | VPP with 4 cores and rss 2 should pass 64B frames through L2 cross
93 | | ... | connect at 2x11.6mpps in 3-node topology
94 | | # Variables
95 | | [Tags] | 4_THREAD_NOHTT_RSS_2 | MULTI_THREAD
96 | | ${framesize}= | Set Variable | 64
97 | | ${duration}= | Set Variable | 10
98 | | ${rate}= | Set Variable | 11.6mpps
99 | | # VPP setup
100 | | Given Setup '4' worker threads and rss '2' without HTT on all DUTs
101 | | AND   L2 xconnect initialized in a 3-node circular topology
102 | | # Sent traffic with specified rate
103 | | Then Traffic should pass with no loss | ${duration} | ${rate}
104 | | ...                                   | ${framesize} | 3-node-xconnect
105