CSIT-548: Add x520 IP4base perf test with 2 VMs per DUT
[csit.git] / tests / perf / 10ge2p1x520-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-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-X520-DA2 | DOT1Q | L2BDMACLRN | BASE | VHOST | VM
20 | ...
21 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
22 | ... | L2 | Intel-X520-DA2
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. 802.1q
36 | ... | tagging is applied on link between DUT1 and DUT2.
37 | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2 bridge-
38 | ... | domain and MAC learning enabled. Qemu Guest is connected to VPP via
39 | ... | vhost-user interfaces. Guest is running DPDK testpmd interconnecting
40 | ... | vhost-user interfaces using 5 cores pinned to cpus 5-9 and 2048M
41 | ... | memory. Testpmd is using socket-mem=1024M (512x2M hugepages), 5 cores
42 | ... | (1 main core and 4 cores dedicated for io), forwarding mode is set to
43 | ... | io, rxd/txd=256, burst=64. DUT1, DUT2 are tested with 2p10GE NIC X520
44 | ... | Niantic by Intel.
45 | ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop
46 | ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop
47 | ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage
48 | ... | of packets transmitted. NDR and PDR are discovered for different
49 | ... | Ethernet L2 frame sizes using either binary search or linear search
50 | ... | algorithms with configured starting rate and final step that determines
51 | ... | throughput measurement resolution. Test packets are generated by TG on
52 | ... | links to DUTs. TG traffic profile contains two L3 flow-groups
53 | ... | (flow-group per direction, 253 flows per flow-group) with all packets
54 | ... | containing Ethernet header, IPv4 header with IP protocol=61 and static
55 | ... | payload. MAC addresses are matching MAC addresses of the TG node
56 | ... | interfaces.
57 | ... | *[Ref] Applicable standard specifications:* RFC2544.
58
59 *** Variables ***
60 | ${subid}= | 10
61 | ${tag_rewrite}= | pop-1
62 | ${vlan_overhead}= | ${4}
63 # X520-DA2 bandwidth limit
64 | ${s_limit} | ${10000000000}
65 # Socket names
66 | ${bd_id1}= | 1
67 | ${bd_id2}= | 2
68 | ${sock1}= | /tmp/sock-1-${bd_id1}
69 | ${sock2}= | /tmp/sock-1-${bd_id2}
70
71
72 *** Test Cases ***
73 | tc01-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
74 | | [Documentation]
75 | | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,\
76 | | ... | 1 receive queue per NIC port.
77 | | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
78 | | ... | linerate, step 10kpps.
79 | | ...
80 | | [Tags] | 1T1C | STHREAD | NDRDISC
81 | | ...
82 | | ${framesize}= | Set Variable | ${64}
83 | | ${min_rate}= | Set Variable | ${10000}
84 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vlan_overhead}}
85 | | ${binary_min}= | Set Variable | ${min_rate}
86 | | ${binary_max}= | Set Variable | ${max_rate}
87 | | ${threshold}= | Set Variable | ${min_rate}
88 | | ${dut1_vm_refs}= | Create Dictionary
89 | | ${dut2_vm_refs}= | Create Dictionary
90 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
91 | | And Add PCI devices to DUTs from 3-node single link topology
92 | | And Add No Multi Seg to all DUTs
93 | | And Apply startup configuration on all VPP DUTs
94 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
95 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
96 | | ... | ${tag_rewrite}
97 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
98 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
99 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
100 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
101 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
102 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
103 | | And Setup scheduler policy for VPP on all DUTs
104 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
105 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
106 | | ... | ${threshold}
107
108 | tc02-64B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
109 | | [Documentation]
110 | | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,\
111 | | ... | 1 receive queue per NIC port.
112 | | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
113 | | ... | linerate, step 10kpps, LT=0.5%.
114 | | ...
115 | | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
116 | | ...
117 | | ${framesize}= | Set Variable | ${64}
118 | | ${min_rate}= | Set Variable | ${10000}
119 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vlan_overhead}}
120 | | ${binary_min}= | Set Variable | ${min_rate}
121 | | ${binary_max}= | Set Variable | ${max_rate}
122 | | ${threshold}= | Set Variable | ${min_rate}
123 | | ${dut1_vm_refs}= | Create Dictionary
124 | | ${dut2_vm_refs}= | Create Dictionary
125 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
126 | | And Add PCI devices to DUTs from 3-node single link topology
127 | | And Add No Multi Seg to all DUTs
128 | | And Apply startup configuration on all VPP DUTs
129 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
130 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
131 | | ... | ${tag_rewrite}
132 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
133 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
134 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
135 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
136 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
137 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
138 | | And Setup scheduler policy for VPP on all DUTs
139 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
140 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
141 | | ... | ${threshold} | ${perf_pdr_loss_acceptance}
142 | | ... | ${perf_pdr_loss_acceptance_type}
143
144 | tc03-1518B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
145 | | [Documentation]
146 | | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,\
147 | | ... | 1 receive queue per NIC port.
148 | | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
149 | | ... | linerate, step 10kpps.
150 | | ...
151 | | [Tags] | 1T1C | STHREAD | NDRDISC
152 | | ...
153 | | ${framesize}= | Set Variable | ${1518}
154 | | ${min_rate}= | Set Variable | ${10000}
155 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vlan_overhead}}
156 | | ${binary_min}= | Set Variable | ${min_rate}
157 | | ${binary_max}= | Set Variable | ${max_rate}
158 | | ${threshold}= | Set Variable | ${min_rate}
159 | | ${dut1_vm_refs}= | Create Dictionary
160 | | ${dut2_vm_refs}= | Create Dictionary
161 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
162 | | And Add PCI devices to DUTs from 3-node single link topology
163 | | And Add No Multi Seg to all DUTs
164 | | And Apply startup configuration on all VPP DUTs
165 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
166 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
167 | | ... | ${tag_rewrite}
168 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
169 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
170 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
171 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
172 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
173 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
174 | | And Setup scheduler policy for VPP on all DUTs
175 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
176 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
177 | | ... | ${threshold}
178
179 | tc04-1518B-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
180 | | [Documentation]
181 | | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,\
182 | | ... | 1 receive queue per NIC port.
183 | | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
184 | | ... | linerate, step 10kpps, LT=0.5%.
185 | | ...
186 | | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
187 | | ...
188 | | ${framesize}= | Set Variable | ${1518}
189 | | ${min_rate}= | Set Variable | ${10000}
190 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vlan_overhead}}
191 | | ${binary_min}= | Set Variable | ${min_rate}
192 | | ${binary_max}= | Set Variable | ${max_rate}
193 | | ${threshold}= | Set Variable | ${min_rate}
194 | | ${dut1_vm_refs}= | Create Dictionary
195 | | ${dut2_vm_refs}= | Create Dictionary
196 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
197 | | And Add PCI devices to DUTs from 3-node single link topology
198 | | And Add No Multi Seg to all DUTs
199 | | And Apply startup configuration on all VPP DUTs
200 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
201 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
202 | | ... | ${tag_rewrite}
203 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
204 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
205 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
206 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
207 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
208 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
209 | | And Setup scheduler policy for VPP on all DUTs
210 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
211 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
212 | | ... | ${threshold} | ${perf_pdr_loss_acceptance}
213 | | ... | ${perf_pdr_loss_acceptance_type}
214
215 | tc05-IMIX-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
216 | | [Documentation]
217 | | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,\
218 | | ... | 1 receive queue per NIC port.
219 | | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
220 | | ... | 10GE linerate, step 10kpps.
221 | | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
222 | | ...
223 | | [Tags] | 1T1C | STHREAD | NDRDISC
224 | | ...
225 | | ${framesize}= | Set Variable | IMIX_v4_1
226 | | ${avg_framesize}= | Set Variable | ${357.833}
227 | | ${min_rate}= | Set Variable | ${10000}
228 | | ${max_rate}= | Calculate pps | ${s_limit} | ${avg_framesize}
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 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
235 | | And Add PCI devices to DUTs from 3-node single link topology
236 | | And Add No Multi Seg to all DUTs
237 | | And Apply startup configuration on all VPP DUTs
238 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
239 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
240 | | ... | ${tag_rewrite}
241 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
242 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
243 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
244 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
245 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
246 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
247 | | And Setup scheduler policy for VPP on all DUTs
248 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
249 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
250 | | ... | ${threshold}
251
252 | tc06-IMIX-1t1c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
253 | | [Documentation]
254 | | ... | [Cfg] DUT runs L2BD switching config with 1 thread, 1 phy core,\
255 | | ... | 1 receive queue per NIC port.
256 | | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
257 | | ... | 10GE linerate, step 10kpps, LT=0.5%.
258 | | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
259 | | ...
260 | | [Tags] | 1T1C | STHREAD | PDRDISC | SKIP_PATCH
261 | | ...
262 | | ${framesize}= | Set Variable | IMIX_v4_1
263 | | ${avg_framesize}= | Set Variable | ${357.833}
264 | | ${min_rate}= | Set Variable | ${10000}
265 | | ${max_rate}= | Calculate pps | ${s_limit} | ${avg_framesize}
266 | | ${binary_min}= | Set Variable | ${min_rate}
267 | | ${binary_max}= | Set Variable | ${max_rate}
268 | | ${threshold}= | Set Variable | ${min_rate}
269 | | ${dut1_vm_refs}= | Create Dictionary
270 | | ${dut2_vm_refs}= | Create Dictionary
271 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
272 | | And Add PCI devices to DUTs from 3-node single link topology
273 | | And Add No Multi Seg to all DUTs
274 | | And Apply startup configuration on all VPP DUTs
275 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
276 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
277 | | ... | ${tag_rewrite}
278 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
279 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
280 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
281 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
282 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
283 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
284 | | And Setup scheduler policy for VPP on all DUTs
285 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
286 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
287 | | ... | ${threshold} | ${perf_pdr_loss_acceptance}
288 | | ... | ${perf_pdr_loss_acceptance_type}
289
290 | tc07-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
291 | | [Documentation]
292 | | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,\
293 | | ... | 1 receive queue per NIC port.
294 | | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
295 | | ... | linerate, step 10kpps.
296 | | ...
297 | | [Tags] | 2T2C | STHREAD | NDRDISC
298 | | ...
299 | | ${framesize}= | Set Variable | ${64}
300 | | ${min_rate}= | Set Variable | ${10000}
301 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vlan_overhead}}
302 | | ${binary_min}= | Set Variable | ${min_rate}
303 | | ${binary_max}= | Set Variable | ${max_rate}
304 | | ${threshold}= | Set Variable | ${min_rate}
305 | | ${dut1_vm_refs}= | Create Dictionary
306 | | ${dut2_vm_refs}= | Create Dictionary
307 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
308 | | And Add PCI devices to DUTs from 3-node single link topology
309 | | And Add No Multi Seg to all DUTs
310 | | And Apply startup configuration on all VPP DUTs
311 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
312 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
313 | | ... | ${tag_rewrite}
314 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
315 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
316 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
317 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
318 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
319 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
320 | | And Setup scheduler policy for VPP on all DUTs
321 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
322 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
323 | | ... | ${threshold}
324
325 | tc08-64B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
326 | | [Documentation]
327 | | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,\
328 | | ... | 1 receive queue per NIC port.
329 | | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
330 | | ... | linerate, step 10kpps, LT=0.5%.
331 | | ...
332 | | [Tags] | 2T2C | STHREAD | PDRDISC | SKIP_PATCH
333 | | ...
334 | | ${framesize}= | Set Variable | ${64}
335 | | ${min_rate}= | Set Variable | ${10000}
336 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vlan_overhead}}
337 | | ${binary_min}= | Set Variable | ${min_rate}
338 | | ${binary_max}= | Set Variable | ${max_rate}
339 | | ${threshold}= | Set Variable | ${min_rate}
340 | | ${dut1_vm_refs}= | Create Dictionary
341 | | ${dut2_vm_refs}= | Create Dictionary
342 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
343 | | And Add PCI devices to DUTs from 3-node single link topology
344 | | And Add No Multi Seg to all DUTs
345 | | And Apply startup configuration on all VPP DUTs
346 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
347 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
348 | | ... | ${tag_rewrite}
349 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
350 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
351 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
352 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
353 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
354 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
355 | | And Setup scheduler policy for VPP on all DUTs
356 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
357 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
358 | | ... | ${threshold} | ${perf_pdr_loss_acceptance}
359 | | ... | ${perf_pdr_loss_acceptance_type}
360
361 | tc09-1518B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
362 | | [Documentation]
363 | | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,\
364 | | ... | 1 receive queue per NIC port.
365 | | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
366 | | ... | linerate, step 10kpps.
367 | | ...
368 | | [Tags] | 2T2C | STHREAD | NDRDISC | SKIP_PATCH
369 | | ...
370 | | ${framesize}= | Set Variable | ${1518}
371 | | ${min_rate}= | Set Variable | ${10000}
372 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vlan_overhead}}
373 | | ${binary_min}= | Set Variable | ${min_rate}
374 | | ${binary_max}= | Set Variable | ${max_rate}
375 | | ${threshold}= | Set Variable | ${min_rate}
376 | | ${dut1_vm_refs}= | Create Dictionary
377 | | ${dut2_vm_refs}= | Create Dictionary
378 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
379 | | And Add PCI devices to DUTs from 3-node single link topology
380 | | And Add No Multi Seg to all DUTs
381 | | And Apply startup configuration on all VPP DUTs
382 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
383 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
384 | | ... | ${tag_rewrite}
385 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
386 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
387 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
388 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
389 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
390 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
391 | | And Setup scheduler policy for VPP on all DUTs
392 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
393 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
394 | | ... | ${threshold}
395
396 | tc10-1518B-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
397 | | [Documentation]
398 | | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,\
399 | | ... | 1 receive queue per NIC port.
400 | | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
401 | | ... | linerate, step 10kpps, LT=0.5%.
402 | | ...
403 | | [Tags] | 2T2C | STHREAD | PDRDISC | SKIP_PATCH
404 | | ...
405 | | ${framesize}= | Set Variable | ${1518}
406 | | ${min_rate}= | Set Variable | ${10000}
407 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vlan_overhead}}
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 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
414 | | And Add PCI devices to DUTs from 3-node single link topology
415 | | And Add No Multi Seg to all DUTs
416 | | And Apply startup configuration on all VPP DUTs
417 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
418 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
419 | | ... | ${tag_rewrite}
420 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
421 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
422 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
423 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
424 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
425 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
426 | | And Setup scheduler policy for VPP on all DUTs
427 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
428 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
429 | | ... | ${threshold} | ${perf_pdr_loss_acceptance}
430 | | ... | ${perf_pdr_loss_acceptance_type}
431
432 | tc11-IMIX-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
433 | | [Documentation]
434 | | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,\
435 | | ... | 1 receive queue per NIC port.
436 | | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
437 | | ... | 10GE linerate, step 10kpps.
438 | | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
439 | | ...
440 | | [Tags] | 2T2C | STHREAD | NDRDISC | SKIP_PATCH
441 | | ...
442 | | ${framesize}= | Set Variable | IMIX_v4_1
443 | | ${avg_framesize}= | Set Variable | ${357.833}
444 | | ${min_rate}= | Set Variable | ${10000}
445 | | ${max_rate}= | Calculate pps | ${s_limit} | ${avg_framesize}
446 | | ${binary_min}= | Set Variable | ${min_rate}
447 | | ${binary_max}= | Set Variable | ${max_rate}
448 | | ${threshold}= | Set Variable | ${min_rate}
449 | | ${dut1_vm_refs}= | Create Dictionary
450 | | ${dut2_vm_refs}= | Create Dictionary
451 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
452 | | And Add PCI devices to DUTs from 3-node single link topology
453 | | And Add No Multi Seg to all DUTs
454 | | And Apply startup configuration on all VPP DUTs
455 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
456 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
457 | | ... | ${tag_rewrite}
458 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
459 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
460 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
461 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
462 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
463 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
464 | | And Setup scheduler policy for VPP on all DUTs
465 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
466 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
467 | | ... | ${threshold}
468
469 | tc12-IMIX-2t2c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
470 | | [Documentation]
471 | | ... | [Cfg] DUT runs L2BD switching config with 2 threads, 2 phy cores,\
472 | | ... | 1 receive queue per NIC port.
473 | | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
474 | | ... | 10GE linerate, step 10kpps.
475 | | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
476 | | ...
477 | | [Tags] | 2T2C | STHREAD | PDRDISC | SKIP_PATCH
478 | | ...
479 | | ${framesize}= | Set Variable | IMIX_v4_1
480 | | ${avg_framesize}= | Set Variable | ${357.833}
481 | | ${min_rate}= | Set Variable | ${10000}
482 | | ${max_rate}= | Calculate pps | ${s_limit} | ${avg_framesize}
483 | | ${binary_min}= | Set Variable | ${min_rate}
484 | | ${binary_max}= | Set Variable | ${max_rate}
485 | | ${threshold}= | Set Variable | ${min_rate}
486 | | ${dut1_vm_refs}= | Create Dictionary
487 | | ${dut2_vm_refs}= | Create Dictionary
488 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
489 | | And Add PCI devices to DUTs from 3-node single link topology
490 | | And Add No Multi Seg to all DUTs
491 | | And Apply startup configuration on all VPP DUTs
492 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
493 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
494 | | ... | ${tag_rewrite}
495 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
496 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
497 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
498 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
499 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
500 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
501 | | And Setup scheduler policy for VPP on all DUTs
502 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
503 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
504 | | ... | ${threshold} | ${perf_pdr_loss_acceptance}
505 | | ... | ${perf_pdr_loss_acceptance_type}
506
507 | tc13-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
508 | | [Documentation]
509 | | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,\
510 | | ... | 2 receive queues per NIC port.
511 | | ... | [Ver] Find NDR for 64 Byte frames using binary search start at 10GE\
512 | | ... | linerate, step 10kpps.
513 | | ...
514 | | [Tags] | 4T4C | STHREAD | NDRDISC
515 | | ...
516 | | ${framesize}= | Set Variable | ${64}
517 | | ${min_rate}= | Set Variable | ${10000}
518 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vlan_overhead}}
519 | | ${binary_min}= | Set Variable | ${min_rate}
520 | | ${binary_max}= | Set Variable | ${max_rate}
521 | | ${threshold}= | Set Variable | ${min_rate}
522 | | ${dut1_vm_refs}= | Create Dictionary
523 | | ${dut2_vm_refs}= | Create Dictionary
524 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
525 | | And Add PCI devices to DUTs from 3-node single link topology
526 | | And Add No Multi Seg to all DUTs
527 | | And Apply startup configuration on all VPP DUTs
528 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
529 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
530 | | ... | ${tag_rewrite}
531 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
532 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
533 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
534 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
535 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
536 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
537 | | And Setup scheduler policy for VPP on all DUTs
538 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
539 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
540 | | ... | ${threshold}
541
542 | tc14-64B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
543 | | [Documentation]
544 | | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,\
545 | | ... | 2 receive queues per NIC port.
546 | | ... | [Ver] Find PDR for 64 Byte frames using binary search start at 10GE\
547 | | ... | linerate, step 10kpps, LT=0.5%.
548 | | ...
549 | | [Tags] | 4T4C | STHREAD | PDRDISC | SKIP_PATCH
550 | | ...
551 | | ${framesize}= | Set Variable | ${64}
552 | | ${min_rate}= | Set Variable | ${10000}
553 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vlan_overhead}}
554 | | ${binary_min}= | Set Variable | ${min_rate}
555 | | ${binary_max}= | Set Variable | ${max_rate}
556 | | ${threshold}= | Set Variable | ${min_rate}
557 | | ${dut1_vm_refs}= | Create Dictionary
558 | | ${dut2_vm_refs}= | Create Dictionary
559 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
560 | | And Add PCI devices to DUTs from 3-node single link topology
561 | | And Add No Multi Seg to all DUTs
562 | | And Apply startup configuration on all VPP DUTs
563 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
564 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
565 | | ... | ${tag_rewrite}
566 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
567 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
568 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
569 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
570 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
571 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
572 | | And Setup scheduler policy for VPP on all DUTs
573 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
574 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
575 | | ... | ${threshold} | ${perf_pdr_loss_acceptance}
576 | | ... | ${perf_pdr_loss_acceptance_type}
577
578 | tc15-1518B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
579 | | [Documentation]
580 | | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,\
581 | | ... | 2 receive queues per NIC port.
582 | | ... | [Ver] Find NDR for 1518 Byte frames using binary search start at 10GE\
583 | | ... | linerate, step 10kpps.
584 | | ...
585 | | [Tags] | 4T4C | STHREAD | NDRDISC | SKIP_PATCH
586 | | ...
587 | | ${framesize}= | Set Variable | ${1518}
588 | | ${min_rate}= | Set Variable | ${10000}
589 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vlan_overhead}}
590 | | ${binary_min}= | Set Variable | ${min_rate}
591 | | ${binary_max}= | Set Variable | ${max_rate}
592 | | ${threshold}= | Set Variable | ${min_rate}
593 | | ${dut1_vm_refs}= | Create Dictionary
594 | | ${dut2_vm_refs}= | Create Dictionary
595 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
596 | | And Add PCI devices to DUTs from 3-node single link topology
597 | | And Add No Multi Seg to all DUTs
598 | | And Apply startup configuration on all VPP DUTs
599 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
600 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
601 | | ... | ${tag_rewrite}
602 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
603 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
604 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
605 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
606 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
607 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
608 | | And Setup scheduler policy for VPP on all DUTs
609 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
610 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
611 | | ... | ${threshold}
612
613 | tc16-1518B-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
614 | | [Documentation]
615 | | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,\
616 | | ... | 2 receive queues per NIC port.
617 | | ... | [Ver] Find PDR for 1518 Byte frames using binary search start at 10GE\
618 | | ... | linerate, step 10kpps, LT=0.5%.
619 | | ...
620 | | [Tags] | 4T4C | STHREAD | PDRDISC | SKIP_PATCH
621 | | ...
622 | | ${framesize}= | Set Variable | ${1518}
623 | | ${min_rate}= | Set Variable | ${10000}
624 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + ${vlan_overhead}}
625 | | ${binary_min}= | Set Variable | ${min_rate}
626 | | ${binary_max}= | Set Variable | ${max_rate}
627 | | ${threshold}= | Set Variable | ${min_rate}
628 | | ${dut1_vm_refs}= | Create Dictionary
629 | | ${dut2_vm_refs}= | Create Dictionary
630 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
631 | | And Add PCI devices to DUTs from 3-node single link topology
632 | | And Add No Multi Seg to all DUTs
633 | | And Apply startup configuration on all VPP DUTs
634 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
635 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
636 | | ... | ${tag_rewrite}
637 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
638 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
639 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
640 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
641 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
642 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
643 | | And Setup scheduler policy for VPP on all DUTs
644 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
645 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
646 | | ... | ${threshold} | ${perf_pdr_loss_acceptance}
647 | | ... | ${perf_pdr_loss_acceptance_type}
648
649 | tc17-IMIX-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-ndrdisc
650 | | [Documentation]
651 | | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,\
652 | | ... | 2 receive queues per NIC port.
653 | | ... | [Ver] Find NDR for IMIX_v4_1 framesize using binary search start at\
654 | | ... | 10GE linerate, step 10kpps.
655 | | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
656 | | ...
657 | | [Tags] | 4T4C | STHREAD | NDRDISC | SKIP_PATCH
658 | | ...
659 | | ${framesize}= | Set Variable | IMIX_v4_1
660 | | ${avg_framesize}= | Set Variable | ${357.833}
661 | | ${min_rate}= | Set Variable | ${10000}
662 | | ${max_rate}= | Calculate pps | ${s_limit} | ${avg_framesize}
663 | | ${binary_min}= | Set Variable | ${min_rate}
664 | | ${binary_max}= | Set Variable | ${max_rate}
665 | | ${threshold}= | Set Variable | ${min_rate}
666 | | ${dut1_vm_refs}= | Create Dictionary
667 | | ${dut2_vm_refs}= | Create Dictionary
668 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
669 | | And Add PCI devices to DUTs from 3-node single link topology
670 | | And Add No Multi Seg to all DUTs
671 | | And Apply startup configuration on all VPP DUTs
672 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
673 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
674 | | ... | ${tag_rewrite}
675 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
676 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
677 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
678 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
679 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
680 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
681 | | And Setup scheduler policy for VPP on all DUTs
682 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
683 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
684 | | ... | ${threshold}
685
686 | tc18-IMIX-4t4c-dot1q-l2bdbasemaclrn-eth-2vhost-1vm-pdrdisc
687 | | [Documentation]
688 | | ... | [Cfg] DUT runs L2BD switching config with 4 threads, 4 phy cores,\
689 | | ... | 2 receive queues per NIC port.
690 | | ... | [Ver] Find PDR for IMIX_v4_1 framesize using binary search start at\
691 | | ... | 10GE linerate, step 10kpps, LT=0.5%.
692 | | ... | IMIX_v4_1 = (28x64B; 16x570B; 4x1518B)
693 | | ...
694 | | [Tags] | 4T4C | STHREAD | PDRDISC | SKIP_PATCH
695 | | ...
696 | | ${framesize}= | Set Variable | IMIX_v4_1
697 | | ${avg_framesize}= | Set Variable | ${357.833}
698 | | ${min_rate}= | Set Variable | ${10000}
699 | | ${max_rate}= | Calculate pps | ${s_limit} | ${avg_framesize}
700 | | ${binary_min}= | Set Variable | ${min_rate}
701 | | ${binary_max}= | Set Variable | ${max_rate}
702 | | ${threshold}= | Set Variable | ${min_rate}
703 | | ${dut1_vm_refs}= | Create Dictionary
704 | | ${dut2_vm_refs}= | Create Dictionary
705 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
706 | | And Add PCI devices to DUTs from 3-node single link topology
707 | | And Add No Multi Seg to all DUTs
708 | | And Apply startup configuration on all VPP DUTs
709 | | When L2 bridge domains with Vhost-User and VLAN initialized in a 3-node circular topology
710 | | ... | ${bd_id1} | ${bd_id2} | ${sock1} | ${sock2} | ${subid}
711 | | ... | ${tag_rewrite}
712 | | ${vm1}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
713 | | ... | ${dut1} | ${sock1} | ${sock2} | DUT1_VM1
714 | | Set To Dictionary | ${dut1_vm_refs} | DUT1_VM1 | ${vm1}
715 | | ${vm2}= | And Guest VM with dpdk-testpmd connected via vhost-user is setup
716 | | ... | ${dut2} | ${sock1} | ${sock2} | DUT2_VM1
717 | | Set To Dictionary | ${dut2_vm_refs} | DUT2_VM1 | ${vm2}
718 | | And Setup scheduler policy for VPP on all DUTs
719 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
720 | | ... | ${binary_max} | 3-node-bridge | ${min_rate} | ${max_rate}
721 | | ... | ${threshold} | ${perf_pdr_loss_acceptance}
722 | | ... | ${perf_pdr_loss_acceptance_type}