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