4b7f5cd5c11beb868f59909c54ebd521fd71f0e8
[csit.git] / tests / perf / 40ge2p1xl710-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrpdrdisc.robot
1 # Copyright (c) 2017 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
14 *** Settings ***
15 | Resource | resources/libraries/robot/performance.robot
16 | Library | resources.libraries.python.QemuUtils
17 | ...
18 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | NDRPDRDISC
19 | ... | NIC_Intel-XL710 | ETH | L2BDMACLRN | BASE | VHOST | VM
20 | ...
21 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
22 | ... | L2 | Intel-XL710
23 | Suite Teardown | 3-node Performance Suite Teardown
24 | ...
25 | Test Setup | Performance test setup
26 | Test Teardown | Performance test with vhost and VM with dpdk-testpmd teardown
27 | ... | ${min_rate}pps | ${framesize} | 3-node-bridge
28 | ... | dut1_node=${dut1} | dut1_vm_refs=${dut1_vm_refs}
29 | ... | dut2_node=${dut2} | dut2_vm_refs=${dut2_vm_refs}
30 | ...
31 | Documentation | *RFC2544: Packet throughput L2BD test cases with vhost*
32 | ...
33 | ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
34 | ... | with single links between nodes.
35 | ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for L2 switching of IPv4.
36 | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 bridge-
37 | ... | domain and MAC learning enabled. Qemu Guests are connected to VPP via
38 | ... | vhost-user interfaces. Guests are running DPDK testpmd interconnecting
39 | ... | vhost-user interfaces using 5 cores pinned to cpus on NUMA1 and 2048M
40 | ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores
41 | ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to
42 | ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p40GE NIC XL710
43 | ... | by Intel.
44 | ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop
45 | ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop
46 | ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage
47 | ... | of packets transmitted. NDR and PDR are discovered for different
48 | ... | Ethernet L2 frame sizes using either binary search or linear search
49 | ... | algorithms with configured starting rate and final step that determines
50 | ... | throughput measurement resolution. Test packets are generated by TG on
51 | ... | links to DUTs. TG traffic profile contains two L3 flow-groups
52 | ... | (flow-group per direction, 253 flows per flow-group) with all packets
53 | ... | containing Ethernet header, IPv4 header with IP protocol=61 and static
54 | ... | payload. MAC addresses are matching MAC addresses of the TG node
55 | ... | interfaces.
56 | ... | *[Ref] Applicable standard specifications:* RFC2544.
57
58 *** Variables ***
59 # XL710-DA2 bandwidth limit ~49Gbps/2=24.5Gbps
60 | ${s_24.5G} | ${24500000000}
61 # XL710-DA2 Mpps limit 37.5Mpps/2=18.75Mpps
62 | ${s_18.75Mpps} | ${18750000}
63 #CPU settings
64 | ${system_cpus}= | ${1}
65 | ${vpp_cpus}= | ${5}
66 | ${vm_cpus}= | ${5}
67
68 *** Test Cases ***
69 | tc01-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc
70 | | [Documentation]
71 | | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, \
72 | | ... | 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames \
73 | | ... | using binary search start at 40GE linerate, step 10kpps.
74 | | ...
75 | | [Tags] | 1T1C | STHREAD | NDRDISC
76 | | ...
77 | | ${framesize}= | Set Variable | ${64}
78 | | ${min_rate}= | Set Variable | ${10000}
79 | | ${max_rate}= | Set Variable | ${s_18.75Mpps}
80 | | ${binary_min}= | Set Variable | ${min_rate}
81 | | ${binary_max}= | Set Variable | ${max_rate}
82 | | ${threshold}= | Set Variable | ${min_rate}
83 | | ${dut1_vm_refs}= | Create Dictionary
84 | | ${dut2_vm_refs}= | Create Dictionary
85 | | Set Test Variable | ${dut1_vm_refs}
86 | | Set Test Variable | ${dut2_vm_refs}
87 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
88 | | And   Add PCI devices to DUTs from 3-node single link topology
89 | | And   Add No Multi Seg to all DUTs
90 | | And   Apply startup configuration on all VPP DUTs
91 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
92 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
93 | | And   Setup scheduler policy for VPP on all DUTs
94 | | Then  Find NDR using binary search and pps
95 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
96 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
97
98 | tc02-64B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc
99 | | [Documentation]
100 | | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, \
101 | | ... | 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames \
102 | | ... | using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
103 | | ...
104 | | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
105 | | ...
106 | | ${framesize}= | Set Variable | ${64}
107 | | ${min_rate}= | Set Variable | ${10000}
108 | | ${max_rate}= | Set Variable | ${s_18.75Mpps}
109 | | ${binary_min}= | Set Variable | ${min_rate}
110 | | ${binary_max}= | Set Variable | ${max_rate}
111 | | ${threshold}= | Set Variable | ${min_rate}
112 | | ${dut1_vm_refs}= | Create Dictionary
113 | | ${dut2_vm_refs}= | Create Dictionary
114 | | Set Test Variable | ${dut1_vm_refs}
115 | | Set Test Variable | ${dut2_vm_refs}
116 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
117 | | And   Add PCI devices to DUTs from 3-node single link topology
118 | | And   Add No Multi Seg to all DUTs
119 | | And   Apply startup configuration on all VPP DUTs
120 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
121 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
122 | | And   Setup scheduler policy for VPP on all DUTs
123 | | Then  Find PDR using binary search and pps
124 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
125 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
126 | | ...   | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type}
127
128 | tc03-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc
129 | | [Documentation]
130 | | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, \
131 | | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames \
132 | | ... | using binary search start at 40GE linerate, step 10kpps.
133 | | ...
134 | | [Tags] | 1T1C | STHREAD | NDRDISC
135 | | ...
136 | | ${framesize}= | Set Variable | ${1518}
137 | | ${min_rate}= | Set Variable | ${10000}
138 | | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
139 | | ${binary_min}= | Set Variable | ${min_rate}
140 | | ${binary_max}= | Set Variable | ${max_rate}
141 | | ${threshold}= | Set Variable | ${min_rate}
142 | | ${dut1_vm_refs}= | Create Dictionary
143 | | ${dut2_vm_refs}= | Create Dictionary
144 | | Set Test Variable | ${dut1_vm_refs}
145 | | Set Test Variable | ${dut2_vm_refs}
146 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
147 | | And   Add PCI devices to DUTs from 3-node single link topology
148 | | And   Add No Multi Seg to all DUTs
149 | | And   Apply startup configuration on all VPP DUTs
150 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
151 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
152 | | And   Setup scheduler policy for VPP on all DUTs
153 | | Then  Find NDR using binary search and pps
154 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
155 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
156
157 | tc04-1518B-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc
158 | | [Documentation]
159 | | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, \
160 | | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames \
161 | | ... | using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
162 | | ...
163 | | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
164 | | ...
165 | | ${framesize}= | Set Variable | ${1518}
166 | | ${min_rate}= | Set Variable | ${10000}
167 | | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
168 | | ${binary_min}= | Set Variable | ${min_rate}
169 | | ${binary_max}= | Set Variable | ${max_rate}
170 | | ${threshold}= | Set Variable | ${min_rate}
171 | | ${dut1_vm_refs}= | Create Dictionary
172 | | ${dut2_vm_refs}= | Create Dictionary
173 | | Set Test Variable | ${dut1_vm_refs}
174 | | Set Test Variable | ${dut2_vm_refs}
175 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
176 | | And   Add PCI devices to DUTs from 3-node single link topology
177 | | And   Add No Multi Seg to all DUTs
178 | | And   Apply startup configuration on all VPP DUTs
179 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
180 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
181 | | And   Setup scheduler policy for VPP on all DUTs
182 | | Then  Find PDR using binary search and pps
183 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
184 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
185 | | ...   | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type}
186
187 | tc05-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc
188 | | [Documentation]
189 | | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, \
190 | | ... | 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame \
191 | | ... | size using binary search start at 40GE linerate, step 10kpps.
192 | | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
193 | | ...
194 | | [Tags] | 1T1C | STHREAD | NDRDISC
195 | | ...
196 | | ${framesize}= | Set Variable | IMIX_v4_1
197 | | ${min_rate}= | Set Variable | ${10000}
198 | | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333}
199 | | ${binary_min}= | Set Variable | ${min_rate}
200 | | ${binary_max}= | Set Variable | ${max_rate}
201 | | ${threshold}= | Set Variable | ${min_rate}
202 | | ${dut1_vm_refs}= | Create Dictionary
203 | | ${dut2_vm_refs}= | Create Dictionary
204 | | Set Test Variable | ${dut1_vm_refs}
205 | | Set Test Variable | ${dut2_vm_refs}
206 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
207 | | And   Add PCI devices to DUTs from 3-node single link topology
208 | | And   Add No Multi Seg to all DUTs
209 | | And   Apply startup configuration on all VPP DUTs
210 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
211 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
212 | | And   Setup scheduler policy for VPP on all DUTs
213 | | Then  Find NDR using binary search and pps
214 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
215 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
216
217 | tc06-IMIX-1t1c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc
218 | | [Documentation]
219 | | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core, \
220 | | ... | 1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 frame \
221 | | ... | size using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
222 | | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
223 | | ...
224 | | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
225 | | ...
226 | | ${framesize}= | Set Variable | IMIX_v4_1
227 | | ${min_rate}= | Set Variable | ${10000}
228 | | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333}
229 | | ${binary_min}= | Set Variable | ${min_rate}
230 | | ${binary_max}= | Set Variable | ${max_rate}
231 | | ${threshold}= | Set Variable | ${min_rate}
232 | | ${dut1_vm_refs}= | Create Dictionary
233 | | ${dut2_vm_refs}= | Create Dictionary
234 | | Set Test Variable | ${dut1_vm_refs}
235 | | Set Test Variable | ${dut2_vm_refs}
236 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
237 | | And   Add PCI devices to DUTs from 3-node single link topology
238 | | And   Add No Multi Seg to all DUTs
239 | | And   Apply startup configuration on all VPP DUTs
240 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
241 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
242 | | And   Setup scheduler policy for VPP on all DUTs
243 | | Then  Find PDR using binary search and pps
244 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
245 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
246 | | ...   | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type}
247
248 | tc07-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc
249 | | [Documentation]
250 | | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, \
251 | | ... | 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames \
252 | | ... | using binary search start at 40GE linerate, step 10kpps.
253 | | ...
254 | | [Tags] | 2T2C | MTHREAD | NDRDISC
255 | | ...
256 | | ${framesize}= | Set Variable | ${64}
257 | | ${min_rate}= | Set Variable | ${10000}
258 | | ${max_rate}= | Set Variable | ${s_18.75Mpps}
259 | | ${binary_min}= | Set Variable | ${min_rate}
260 | | ${binary_max}= | Set Variable | ${max_rate}
261 | | ${threshold}= | Set Variable | ${min_rate}
262 | | ${dut1_vm_refs}= | Create Dictionary
263 | | ${dut2_vm_refs}= | Create Dictionary
264 | | Set Test Variable | ${dut1_vm_refs}
265 | | Set Test Variable | ${dut2_vm_refs}
266 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
267 | | And   Add PCI devices to DUTs from 3-node single link topology
268 | | And   Add No Multi Seg to all DUTs
269 | | And   Apply startup configuration on all VPP DUTs
270 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
271 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
272 | | And   Setup scheduler policy for VPP on all DUTs
273 | | Then  Find NDR using binary search and pps
274 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
275 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
276
277 | tc08-64B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc
278 | | [Documentation]
279 | | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, \
280 | | ... | 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames \
281 | | ... | using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
282 | | ...
283 | | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
284 | | ...
285 | | ${framesize}= | Set Variable | ${64}
286 | | ${min_rate}= | Set Variable | ${10000}
287 | | ${max_rate}= | Set Variable | ${s_18.75Mpps}
288 | | ${binary_min}= | Set Variable | ${min_rate}
289 | | ${binary_max}= | Set Variable | ${max_rate}
290 | | ${threshold}= | Set Variable | ${min_rate}
291 | | ${dut1_vm_refs}= | Create Dictionary
292 | | ${dut2_vm_refs}= | Create Dictionary
293 | | Set Test Variable | ${dut1_vm_refs}
294 | | Set Test Variable | ${dut2_vm_refs}
295 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
296 | | And   Add PCI devices to DUTs from 3-node single link topology
297 | | And   Add No Multi Seg to all DUTs
298 | | And   Apply startup configuration on all VPP DUTs
299 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
300 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
301 | | And   Setup scheduler policy for VPP on all DUTs
302 | | Then  Find PDR using binary search and pps
303 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
304 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
305 | | ...   | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type}
306
307 | tc09-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc
308 | | [Documentation]
309 | | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, \
310 | | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames \
311 | | ... | using binary search start at 40GE linerate, step 10kpps.
312 | | ...
313 | | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
314 | | ...
315 | | ${framesize}= | Set Variable | ${1518}
316 | | ${min_rate}= | Set Variable | ${10000}
317 | | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
318 | | ${binary_min}= | Set Variable | ${min_rate}
319 | | ${binary_max}= | Set Variable | ${max_rate}
320 | | ${threshold}= | Set Variable | ${min_rate}
321 | | ${dut1_vm_refs}= | Create Dictionary
322 | | ${dut2_vm_refs}= | Create Dictionary
323 | | Set Test Variable | ${dut1_vm_refs}
324 | | Set Test Variable | ${dut2_vm_refs}
325 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
326 | | And   Add PCI devices to DUTs from 3-node single link topology
327 | | And   Add No Multi Seg to all DUTs
328 | | And   Apply startup configuration on all VPP DUTs
329 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
330 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
331 | | And   Setup scheduler policy for VPP on all DUTs
332 | | Then  Find NDR using binary search and pps
333 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
334 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
335
336 | tc10-1518B-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc
337 | | [Documentation]
338 | | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, \
339 | | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames \
340 | | ... | using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
341 | | ...
342 | | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
343 | | ...
344 | | ${framesize}= | Set Variable | ${1518}
345 | | ${min_rate}= | Set Variable | ${10000}
346 | | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
347 | | ${binary_min}= | Set Variable | ${min_rate}
348 | | ${binary_max}= | Set Variable | ${max_rate}
349 | | ${threshold}= | Set Variable | ${min_rate}
350 | | ${dut1_vm_refs}= | Create Dictionary
351 | | ${dut2_vm_refs}= | Create Dictionary
352 | | Set Test Variable | ${dut1_vm_refs}
353 | | Set Test Variable | ${dut2_vm_refs}
354 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
355 | | And   Add PCI devices to DUTs from 3-node single link topology
356 | | And   Add No Multi Seg to all DUTs
357 | | And   Apply startup configuration on all VPP DUTs
358 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
359 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
360 | | And   Setup scheduler policy for VPP on all DUTs
361 | | Then  Find PDR using binary search and pps
362 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
363 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
364 | | ...   | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type}
365
366 | tc11-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc
367 | | [Documentation]
368 | | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, \
369 | | ... | 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame \
370 | | ... | size using binary search start at 40GE linerate, step 10kpps.
371 | | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
372 | | ...
373 | | [Tags] | 2T2C | MTHREAD | NDRDISC | SKIP_PATCH
374 | | ...
375 | | ${framesize}= | Set Variable | IMIX_v4_1
376 | | ${min_rate}= | Set Variable | ${10000}
377 | | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333}
378 | | ${binary_min}= | Set Variable | ${min_rate}
379 | | ${binary_max}= | Set Variable | ${max_rate}
380 | | ${threshold}= | Set Variable | ${min_rate}
381 | | ${dut1_vm_refs}= | Create Dictionary
382 | | ${dut2_vm_refs}= | Create Dictionary
383 | | Set Test Variable | ${dut1_vm_refs}
384 | | Set Test Variable | ${dut2_vm_refs}
385 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
386 | | And   Add PCI devices to DUTs from 3-node single link topology
387 | | And   Add No Multi Seg to all DUTs
388 | | And   Apply startup configuration on all VPP DUTs
389 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
390 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
391 | | And   Setup scheduler policy for VPP on all DUTs
392 | | Then  Find NDR using binary search and pps
393 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
394 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
395
396 | tc12-IMIX-2t2c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc
397 | | [Documentation]
398 | | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores, \
399 | | ... | 1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 frame \
400 | | ... | size using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
401 | | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
402 | | ...
403 | | [Tags] | 2T2C | MTHREAD | PDRDISC | SKIP_PATCH
404 | | ...
405 | | ${framesize}= | Set Variable | IMIX_v4_1
406 | | ${min_rate}= | Set Variable | ${10000}
407 | | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333}
408 | | ${binary_min}= | Set Variable | ${min_rate}
409 | | ${binary_max}= | Set Variable | ${max_rate}
410 | | ${threshold}= | Set Variable | ${min_rate}
411 | | ${dut1_vm_refs}= | Create Dictionary
412 | | ${dut2_vm_refs}= | Create Dictionary
413 | | Set Test Variable | ${dut1_vm_refs}
414 | | Set Test Variable | ${dut2_vm_refs}
415 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
416 | | And   Add PCI devices to DUTs from 3-node single link topology
417 | | And   Add No Multi Seg to all DUTs
418 | | And   Apply startup configuration on all VPP DUTs
419 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
420 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
421 | | And   Setup scheduler policy for VPP on all DUTs
422 | | Then  Find PDR using binary search and pps
423 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
424 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
425 | | ...   | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type}
426
427 | tc13-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc
428 | | [Documentation]
429 | | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, \
430 | | ... | 2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames \
431 | | ... | using binary search start at 40GE linerate, step 10kpps.
432 | | ...
433 | | [Tags] | 4T4C | MTHREAD | NDRDISC
434 | | ...
435 | | ${framesize}= | Set Variable | ${64}
436 | | ${min_rate}= | Set Variable | ${10000}
437 | | ${max_rate}= | Set Variable | ${s_18.75Mpps}
438 | | ${binary_min}= | Set Variable | ${min_rate}
439 | | ${binary_max}= | Set Variable | ${max_rate}
440 | | ${threshold}= | Set Variable | ${min_rate}
441 | | ${dut1_vm_refs}= | Create Dictionary
442 | | ${dut2_vm_refs}= | Create Dictionary
443 | | Set Test Variable | ${dut1_vm_refs}
444 | | Set Test Variable | ${dut2_vm_refs}
445 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
446 | | And   Add PCI devices to DUTs from 3-node single link topology
447 | | And   Add No Multi Seg to all DUTs
448 | | And   Apply startup configuration on all VPP DUTs
449 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
450 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
451 | | And   Setup scheduler policy for VPP on all DUTs
452 | | Then  Find NDR using binary search and pps
453 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
454 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
455
456 | tc14-64B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc
457 | | [Documentation]
458 | | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, \
459 | | ... | 2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames \
460 | | ... | using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
461 | | ...
462 | | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
463 | | ...
464 | | ${framesize}= | Set Variable | ${64}
465 | | ${min_rate}= | Set Variable | ${10000}
466 | | ${max_rate}= | Set Variable | ${s_18.75Mpps}
467 | | ${binary_min}= | Set Variable | ${min_rate}
468 | | ${binary_max}= | Set Variable | ${max_rate}
469 | | ${threshold}= | Set Variable | ${min_rate}
470 | | ${dut1_vm_refs}= | Create Dictionary
471 | | ${dut2_vm_refs}= | Create Dictionary
472 | | Set Test Variable | ${dut1_vm_refs}
473 | | Set Test Variable | ${dut2_vm_refs}
474 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
475 | | And   Add PCI devices to DUTs from 3-node single link topology
476 | | And   Add No Multi Seg to all DUTs
477 | | And   Apply startup configuration on all VPP DUTs
478 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
479 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
480 | | And   Setup scheduler policy for VPP on all DUTs
481 | | Then  Find PDR using binary search and pps
482 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
483 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
484 | | ...   | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type}
485
486 | tc15-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc
487 | | [Documentation]
488 | | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, \
489 | | ... | 2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames \
490 | | ... | using binary search start at 40GE linerate, step 10kpps.
491 | | ...
492 | | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
493 | | ...
494 | | ${framesize}= | Set Variable | ${1518}
495 | | ${min_rate}= | Set Variable | ${10000}
496 | | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
497 | | ${binary_min}= | Set Variable | ${min_rate}
498 | | ${binary_max}= | Set Variable | ${max_rate}
499 | | ${threshold}= | Set Variable | ${min_rate}
500 | | ${dut1_vm_refs}= | Create Dictionary
501 | | ${dut2_vm_refs}= | Create Dictionary
502 | | Set Test Variable | ${dut1_vm_refs}
503 | | Set Test Variable | ${dut2_vm_refs}
504 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
505 | | And   Add PCI devices to DUTs from 3-node single link topology
506 | | And   Add No Multi Seg to all DUTs
507 | | And   Apply startup configuration on all VPP DUTs
508 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
509 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
510 | | And   Setup scheduler policy for VPP on all DUTs
511 | | Then  Find NDR using binary search and pps
512 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
513 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
514
515 | tc16-1518B-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc
516 | | [Documentation]
517 | | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, \
518 | | ... | 2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames \
519 | | ... | using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
520 | | ...
521 | | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
522 | | ...
523 | | ${framesize}= | Set Variable | ${1518}
524 | | ${min_rate}= | Set Variable | ${10000}
525 | | ${max_rate}= | Calculate pps | ${s_24.5G} | ${framesize}
526 | | ${binary_min}= | Set Variable | ${min_rate}
527 | | ${binary_max}= | Set Variable | ${max_rate}
528 | | ${threshold}= | Set Variable | ${min_rate}
529 | | ${dut1_vm_refs}= | Create Dictionary
530 | | ${dut2_vm_refs}= | Create Dictionary
531 | | Set Test Variable | ${dut1_vm_refs}
532 | | Set Test Variable | ${dut2_vm_refs}
533 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
534 | | And   Add PCI devices to DUTs from 3-node single link topology
535 | | And   Add No Multi Seg to all DUTs
536 | | And   Apply startup configuration on all VPP DUTs
537 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
538 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
539 | | And   Setup scheduler policy for VPP on all DUTs
540 | | Then  Find PDR using binary search and pps
541 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
542 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
543 | | ...   | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type}
544
545 | tc17-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-ndrdisc
546 | | [Documentation]
547 | | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, \
548 | | ... | 2 receive queues per NIC port. [Ver] Find NDR for IMIX_v4_1 frame \
549 | | ... | size using binary search start at 40GE linerate, step 10kpps.
550 | | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
551 | | ...
552 | | [Tags] | 4T4C | MTHREAD | NDRDISC | SKIP_PATCH
553 | | ...
554 | | ${framesize}= | Set Variable | IMIX_v4_1
555 | | ${min_rate}= | Set Variable | ${10000}
556 | | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333}
557 | | ${binary_min}= | Set Variable | ${min_rate}
558 | | ${binary_max}= | Set Variable | ${max_rate}
559 | | ${threshold}= | Set Variable | ${min_rate}
560 | | ${dut1_vm_refs}= | Create Dictionary
561 | | ${dut2_vm_refs}= | Create Dictionary
562 | | Set Test Variable | ${dut1_vm_refs}
563 | | Set Test Variable | ${dut2_vm_refs}
564 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
565 | | And   Add PCI devices to DUTs from 3-node single link topology
566 | | And   Add No Multi Seg to all DUTs
567 | | And   Apply startup configuration on all VPP DUTs
568 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
569 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
570 | | And   Setup scheduler policy for VPP on all DUTs
571 | | Then  Find NDR using binary search and pps
572 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
573 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
574
575 | tc18-IMIX-4t4c-eth-l2bdbasemaclrn-eth-4vhost-2vm-pdrdisc
576 | | [Documentation]
577 | | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores, \
578 | | ... | 2 receive queues per NIC port. [Ver] Find PDR for IMIX_v4_1 frame \
579 | | ... | size using binary search start at 40GE linerate, step 10kpps, LT=0.5%.
580 | | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
581 | | ...
582 | | [Tags] | 4T4C | MTHREAD | PDRDISC | SKIP_PATCH
583 | | ...
584 | | ${framesize}= | Set Variable | IMIX_v4_1
585 | | ${min_rate}= | Set Variable | ${10000}
586 | | ${max_rate}= | Calculate pps | ${s_24.5G} | ${353.83333}
587 | | ${binary_min}= | Set Variable | ${min_rate}
588 | | ${binary_max}= | Set Variable | ${max_rate}
589 | | ${threshold}= | Set Variable | ${min_rate}
590 | | ${dut1_vm_refs}= | Create Dictionary
591 | | ${dut2_vm_refs}= | Create Dictionary
592 | | Set Test Variable | ${dut1_vm_refs}
593 | | Set Test Variable | ${dut2_vm_refs}
594 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
595 | | And   Add PCI devices to DUTs from 3-node single link topology
596 | | And   Add No Multi Seg to all DUTs
597 | | And   Apply startup configuration on all VPP DUTs
598 | | When  L2 bridge domains with Vhost-User for '2' VMs initialized in a 3-node circular topology
599 | | And   '2' Guest VMs with dpdk-testpmd connected via vhost-user is setup in a 3-node circular topology
600 | | And   Setup scheduler policy for VPP on all DUTs
601 | | Then  Find PDR using binary search and pps
602 | | ...   | ${framesize} | ${binary_min} | ${binary_max} | 3-node-bridge
603 | | ...   | ${min_rate} | ${max_rate} | ${threshold}
604 | | ...   | ${perf_pdr_loss_acceptance} | ${perf_pdr_loss_acceptance_type}