4273b9b527d4235c0f3742aff197f54664bc6ccc
[csit.git] / tests / suites / performance / short.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/default.robot
15 | Resource | resources/libraries/robot/interfaces.robot
16 | Resource | resources/libraries/robot/bridge_domain.robot
17 | Resource | resources/libraries/robot/ipv4.robot
18 | Resource | resources/libraries/robot/l2_xconnect.robot
19 | Resource | resources/libraries/robot/counters.robot
20 | Library | resources.libraries.python.TrafficGenerator
21 | Library | resources.libraries.python.NodePath
22 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV
23 | Suite Setup | 3-node Performance Suite Setup
24 | Suite Teardown | 3-node Performance Suite Teardown
25 | Test Setup | Setup all DUTs before test
26 | Test Teardown  | Run Keyword If Test Failed | Show statistics on all DUTs
27
28 *** Test Cases ***
29 | 2core VPP passes 64B frames through L2 cross connect at 3.5mpps in 3-node topology
30 | | Given L2 xconnect initialized in a 3-node circular topology
31 | | Then Traffic should pass with no loss | 10 | 3.5mpps | 64 | 3-node-xconnect
32
33 | 2core VPP passes 1518B frames through L2 cross connect at 10gbps in 3-node topology
34 | | Given L2 xconnect initialized in a 3-node circular topology
35 | | Then Traffic should pass with no loss | 10 | 10gbps | 1518 | 3-node-xconnect
36
37 | 2core VPP passes 9000B frames through L2 cross connect at 10gbps in 3-node topology
38 | | Given L2 xconnect initialized in a 3-node circular topology
39 | | Then Traffic should pass with no loss | 10 | 10gbps | 9000 | 3-node-xconnect
40
41 | 2core VPP passes 64B frames through bridge domain at 3.5mpps in 3-node topology
42 | | Given L2 bridge domain initialized in a 3-node circular topology
43 | | Then Traffic should pass with no loss | 10 | 3.5mpps | 64 | 3-node-bridge
44
45 | 2core VPP passes 1518B frames through bridge domain at 10gbps in 3-node topology
46 | | Given L2 bridge domain initialized in a 3-node circular topology
47 | | Then Traffic should pass with no loss | 10 | 10gbps | 1518 | 3-node-bridge
48
49 | 2core VPP passes 9000B frames through bridge domain at 10gbps in 3-node topology
50 | | Given L2 bridge domain initialized in a 3-node circular topology
51 | | Then Traffic should pass with no loss | 10 | 10gbps | 9000 | 3-node-bridge
52
53 #| VPP passes 64B frames through IPv4 forwarding at 3.5mpps in 3-node topology
54 #| | Given IPv4 forwarding initialized in a 3-node topology
55 #| | Then Traffic should pass with no loss | 10 | 3.5mpps | 64 | 3-node-IPv4
56
57 #| VPP passes 1518B frames through IPv4 forwarding at 100% in 3-node topology
58 #| | Given IPv4 forwarding initialized in a 3-node topology
59 #| | Then Traffic should pass with no loss | 10 | 100 | 1518 | 3-node-IPv4
60
61 #| VPP passes 9000B frames through IPv4 forwarding at 100% in 3-node topology
62 #| | Given IPv4 forwarding initialized in a 3-node topology
63 #| | Then Traffic should pass with no loss | 10 | 100 | 9000 | 3-node-IPv4
64
65
66 *** Keywords ***
67
68 | 3-node Topology Variables Setup
69 | | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']}
70 | | ...          | ${nodes['TG']}
71 | | Compute Path
72 | | ${tg_if1} | ${tg}= | Next Interface
73 | | ${dut1_if1} | ${dut1}= | Next Interface
74 | | ${dut1_if2} | ${dut1}= | Next Interface
75 | | ${dut2_if1} | ${dut2}= | Next Interface
76 | | ${dut2_if2} | ${dut2}= | Next Interface
77 | | ${tg_if2} | ${tg}= | Next Interface
78 | | Set Suite Variable | ${tg}
79 | | Set Suite Variable | ${tg_if1}
80 | | Set Suite Variable | ${tg_if2}
81 | | Set Suite Variable | ${dut1}
82 | | Set Suite Variable | ${dut1_if1}
83 | | Set Suite Variable | ${dut1_if2}
84 | | Set Suite Variable | ${dut2}
85 | | Set Suite Variable | ${dut2_if1}
86 | | Set Suite Variable | ${dut2_if2}
87
88 | 3-node Performance Suite Setup
89 | | 3-node Topology Variables Setup
90 | | Initialize traffic generator | ${tg} | ${tg_if1} | ${tg_if2} | L2
91
92 | 3-node Performance Suite Teardown
93 | | Teardown traffic generator | ${tg}
94
95 | IPv4 forwarding initialized in a 3-node topology
96 | | Setup nodes for IPv4 testing
97
98 | L2 bridge domain initialized in a 3-node circular topology
99 | | Vpp l2bd forwarding setup | ${dut1} | ${dut1_if1} | ${dut1_if2}
100 | | Vpp l2bd forwarding setup | ${dut2} | ${dut2_if1} | ${dut2_if2}
101 | | Sleep | 10 | Wait for interfaces initialization
102
103 | L2 xconnect initialized in a 3-node circular topology
104 | | L2 setup xconnect on DUT | ${dut1} | ${dut1_if1} | ${dut1_if2}
105 | | L2 setup xconnect on DUT | ${dut2} | ${dut2_if1} | ${dut2_if2}
106 | | Sleep | 10 | Wait for interfaces initialization
107
108 | Traffic should pass with no loss
109 | | [Arguments] | ${duration} | ${rate} | ${framesize} | ${topology_type}
110 | | Send traffic on | ${nodes} | ${duration}
111 | | ...             | ${rate} | ${framesize} | ${topology_type}
112 | | No traffic loss occured
113
114 | Show statistics on all DUTs
115 | | Sleep | 10 | Waiting for statistics to be collected
116 | | Vpp show stats | ${dut1}
117 | | Vpp show stats | ${dut2}