Add hw/vm tags, add single link tag.
[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 | Test Setup | Setup all DUTs before test
24 | Suite Setup | Initialize traffic generator | ${nodes['TG']}
25 | ... | ${nodes['TG']['interfaces']['port3']['pci_address']}
26 | ... | ${nodes['TG']['interfaces']['port5']['pci_address']}
27 | Suite Teardown | Teardown traffic generator | ${nodes['TG']}
28
29 *** Test Cases ***
30 | VPP passes 64B frames through L2 cross connect at 3.5mpps in 3-node topology
31 | | Given L2 xconnect initialized in a 3-node circular topology
32 | | Then Traffic should pass with no loss | 10 | 3.5mpps | 64 | 3-node-xconnect
33
34 | VPP passes 1518B frames through L2 cross connect at 10gbps in 3-node topology
35 | | Given L2 xconnect initialized in a 3-node circular topology
36 | | Then Traffic should pass with no loss | 10 | 10gbps | 1518 | 3-node-xconnect
37
38 | VPP passes 9000B frames through L2 cross connect at 10gbps in 3-node topology
39 | | Given L2 xconnect initialized in a 3-node circular topology
40 | | Then Traffic should pass with no loss | 10 | 10gbps | 9000 | 3-node-xconnect
41
42 | VPP passes 64B frames through bridge domain at 3.5mpps in 3-node topology
43 | | Given L2 bridge domain initialized in a 3-node circular topology
44 | | Then Traffic should pass with no loss | 10 | 3.5mpps | 64 | 3-node-bridge
45
46 | VPP passes 1518B frames through bridge domain at 10gbps in 3-node topology
47 | | Given L2 bridge domain initialized in a 3-node circular topology
48 | | Then Traffic should pass with no loss | 10 | 10gbps | 1518 | 3-node-bridge
49
50 | VPP passes 9000B frames through bridge domain at 10gbps in 3-node topology
51 | | Given L2 bridge domain initialized in a 3-node circular topology
52 | | Then Traffic should pass with no loss | 10 | 10gbps | 9000 | 3-node-bridge
53
54 #| VPP passes 64B frames through IPv4 forwarding at 3.5mpps in 3-node topology
55 #| | Given IPv4 forwarding initialized in a 3-node topology
56 #| | Then Traffic should pass with no loss | 10 | 3.5mpps | 64 | 3-node-IPv4
57
58 #| VPP passes 1518B frames through IPv4 forwarding at 100% in 3-node topology
59 #| | Given IPv4 forwarding initialized in a 3-node topology
60 #| | Then Traffic should pass with no loss | 10 | 100 | 1518 | 3-node-IPv4
61
62 #| VPP passes 9000B frames through IPv4 forwarding at 100% in 3-node topology
63 #| | Given IPv4 forwarding initialized in a 3-node topology
64 #| | Then Traffic should pass with no loss | 10 | 100 | 9000 | 3-node-IPv4
65
66
67 *** Keywords ***
68
69
70 | L2 xconnect initialized in a 3-node topology
71 | | Interfaces on all DUTs are in "up" state
72 | | L2 setup xconnect on DUTs
73
74 | IPv4 forwarding initialized in a 3-node topology
75 | | Setup nodes for IPv4 testing
76
77 | L2 bridge domain initialized in a 3-node circular topology
78 | | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']}
79 | | ...          | ${nodes['TG']}
80 | | Compute Path
81 | | ${src_if} | ${tg}= | Next Interface
82 | | ${dut1_if1} | ${dut1}= | Next Interface
83 | | ${dut1_if2} | ${dut1}= | Next Interface
84 | | ${dut2_if1} | ${dut2}= | Next Interface
85 | | ${dut2_if2} | ${dut2}= | Next Interface
86 | | ${dst_if} | ${tg}= | Next Interface
87 | | Vpp l2bd forwarding setup | ${dut1} | ${dut1_if1} | ${dut1_if2}
88 | | Vpp l2bd forwarding setup | ${dut2} | ${dut2_if1} | ${dut2_if2}
89
90 | L2 xconnect initialized in a 3-node circular topology
91 | | Append Nodes | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']}
92 | | ...          | ${nodes['TG']}
93 | | Compute Path
94 | | ${src_if} | ${tg}= | Next Interface
95 | | ${dut1_if1} | ${dut1}= | Next Interface
96 | | ${dut1_if2} | ${dut1}= | Next Interface
97 | | ${dut2_if1} | ${dut2}= | Next Interface
98 | | ${dut2_if2} | ${dut2}= | Next Interface
99 | | ${dst_if} | ${tg}= | Next Interface
100 | | L2 setup xconnect on DUT | ${dut1} | ${dut1_if1} | ${dut1_if2}
101 | | L2 setup xconnect on DUT | ${dut2} | ${dut2_if1} | ${dut2_if2}
102
103 | Traffic should pass with no loss
104 | | [Arguments] | ${duration} | ${rate} | ${framesize} | ${topology_type}
105 | | Send traffic on | ${nodes} | ${duration}
106 | | ...             | ${rate} | ${framesize} | ${topology_type}
107 | | Show statistics on all DUTs
108 | | No traffic loss occured
109
110 | Show statistics on all DUTs
111 | | Vpp show stats | ${nodes['DUT1']}
112 | | Vpp show stats | ${nodes['DUT2']}