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