ddc295ea994876d3c10d3a5fcedb8c6e4a033b5d
[csit.git] / tests / perf / Long_IPv4_iAcl_Intel-X520-DA2.robot
1 # Copyright (c) 2016 Cisco and/or its affiliates.
2 # Licensed under the Apache License, Version 2.0 (the "License");
3 # you may not use this file except in compliance with the License.
4 # You may obtain a copy of the License at:
5 #
6 #     http://www.apache.org/licenses/LICENSE-2.0
7 #
8 # Unless required by applicable law or agreed to in writing, software
9 # distributed under the License is distributed on an "AS IS" BASIS,
10 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
11 # See the License for the specific language governing permissions and
12 # limitations under the License.
13
14 *** Settings ***
15 | Resource | resources/libraries/robot/performance.robot
16 | Library | resources.libraries.python.Classify.Classify
17 | Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} | WITH NAME | dut1_v4
18 | Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} | WITH NAME | dut2_v4
19 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
20 | ...        | NIC_Intel-X520-DA2
21 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
22 | ... | L3 | Intel-X520-DA2
23 | Suite Teardown | 3-node Performance Suite Teardown
24 | Test Setup | Setup all DUTs before test
25 | Test Teardown | Run Keywords
26 | ...           | Run Keyword If Test Failed
27 | ...           | Traffic should pass with no loss | 10
28 | ...           | ${min_rate}pps | ${framesize} | 3-node-IPv4
29 | ...           | fail_on_loss=${False}
30 | ...           | AND | Remove startup configuration of VPP from all DUTs
31 | ...           | AND | Show vpp trace dump on all DUTs
32 | Documentation | *RFC2544: Pkt throughput IPv4 iAcl whitelist test cases*
33 | ...
34 | ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
35 | ... | with single links between nodes.
36 | ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing.
37 | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4
38 | ... | routing, two static IPv4 /24 routes and IPv4 iAcl security whitelist
39 | ... | ingress /24 filter entries applied on links TG - DUT1 and DUT2 - TG.
40 | ... | DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic by Intel.
41 | ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop
42 | ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop
43 | ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage
44 | ... | of packets transmitted. NDR and PDR are discovered for different
45 | ... | Ethernet L2 frame sizes using either binary search or linear search
46 | ... | algorithms with configured starting rate and final step that determines
47 | ... | throughput measurement resolution. Test packets are generated by TG on
48 | ... | links to DUTs. TG traffic profile contains two L3 flow-groups
49 | ... | (flow-group per direction, 253 flows per flow-group) with all packets
50 | ... | containing Ethernet header, IPv4 header with IP protocol=61 and
51 | ... | static payload. MAC addresses are matching MAC addresses of the TG
52 | ... | node interfaces.
53 | ... | *[Ref] Applicable standard specifications:* RFC2544.
54
55 *** Variables ***
56 #X520-DA2 bandwidth limit
57 | ${s_limit} | ${10000000000}
58
59 *** Test Cases ***
60 | TC01: 64B NDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq
61 | | [Documentation]
62 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
63 | | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR
64 | | ... | for 64 Byte frames using binary search start at 10GE linerate,
65 | | ... | step 100kpps.
66 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR
67 | | ${framesize}= | Set Variable | ${64}
68 | | ${min_rate}= | Set Variable | ${100000}
69 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
70 | | ${binary_min}= | Set Variable | ${min_rate}
71 | | ${binary_max}= | Set Variable | ${max_rate}
72 | | ${threshold}= | Set Variable | ${min_rate}
73 | | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs
74 | | And   Add PCI devices to DUTs from 3-node single link topology
75 | | And   Add No Multi Seg to all DUTs
76 | | And   Apply startup configuration on all VPP DUTs
77 | | When  IPv4 forwarding initialized in a 3-node circular topology
78 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
79 | | ... | ${dut1} | ip4 | dst
80 | | And Vpp Configures Classify Session L3
81 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
82 | | ... | ip4 | dst | 20.20.20.2
83 | | And Vpp Enable Input Acl Interface
84 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
85 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
86 | | ... | ${dut2} | ip4 | dst
87 | | And Vpp Configures Classify Session L3
88 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
89 | | ... | ip4 | dst | 10.10.10.2
90 | | And Vpp Enable Input Acl Interface
91 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
92 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
93 | | ...                                       | ${binary_max} | 3-node-IPv4
94 | | ...                                       | ${min_rate} | ${max_rate}
95 | | ...                                       | ${threshold}
96
97 | TC02: 64B PDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq
98 | | [Documentation]
99 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
100 | | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR
101 | | ... | for 64 Byte frames using binary search start at 10GE linerate,
102 | | ... | step 100kpps, LT=0.5%.
103 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | SKIP_PATCH
104 | | ${framesize}= | Set Variable | ${64}
105 | | ${min_rate}= | Set Variable | ${100000}
106 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
107 | | ${binary_min}= | Set Variable | ${min_rate}
108 | | ${binary_max}= | Set Variable | ${max_rate}
109 | | ${threshold}= | Set Variable | ${min_rate}
110 | | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs
111 | | And   Add PCI devices to DUTs from 3-node single link topology
112 | | And   Add No Multi Seg to all DUTs
113 | | And   Apply startup configuration on all VPP DUTs
114 | | When  IPv4 forwarding initialized in a 3-node circular topology
115 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
116 | | ... | ${dut1} | ip4 | dst
117 | | And Vpp Configures Classify Session L3
118 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
119 | | ... | ip4 | dst | 20.20.20.2
120 | | And Vpp Enable Input Acl Interface
121 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
122 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
123 | | ... | ${dut2} | ip4 | dst
124 | | And Vpp Configures Classify Session L3
125 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
126 | | ... | ip4 | dst | 10.10.10.2
127 | | And Vpp Enable Input Acl Interface
128 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
129 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
130 | | ...                                       | ${binary_max} | 3-node-IPv4
131 | | ...                                       | ${min_rate} | ${max_rate}
132 | | ...                                       | ${threshold}
133 | | ...                                       | ${glob_loss_acceptance}
134 | | ...                                       | ${glob_loss_acceptance_type}
135
136 | TC03: 1518B NDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq
137 | | [Documentation]
138 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
139 | | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR
140 | | ... | for 1518 Byte frames using binary search start at 10GE linerate,
141 | | ... | step 10kpps.
142 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR
143 | | ${framesize}= | Set Variable | ${1518}
144 | | ${min_rate}= | Set Variable | ${10000}
145 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
146 | | ${binary_min}= | Set Variable | ${min_rate}
147 | | ${binary_max}= | Set Variable | ${max_rate}
148 | | ${threshold}= | Set Variable | ${min_rate}
149 | | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs
150 | | And   Add PCI devices to DUTs from 3-node single link topology
151 | | And   Add No Multi Seg to all DUTs
152 | | And   Apply startup configuration on all VPP DUTs
153 | | When  IPv4 forwarding initialized in a 3-node circular topology
154 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
155 | | ... | ${dut1} | ip4 | dst
156 | | And Vpp Configures Classify Session L3
157 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
158 | | ... | ip4 | dst | 20.20.20.2
159 | | And Vpp Enable Input Acl Interface
160 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
161 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
162 | | ... | ${dut2} | ip4 | dst
163 | | And Vpp Configures Classify Session L3
164 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
165 | | ... | ip4 | dst | 10.10.10.2
166 | | And Vpp Enable Input Acl Interface
167 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
168 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
169 | | ...                                       | ${binary_max} | 3-node-IPv4
170 | | ...                                       | ${min_rate} | ${max_rate}
171 | | ...                                       | ${threshold}
172
173 | TC04: 1518B PDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq
174 | | [Documentation]
175 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
176 | | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR
177 | | ... | for 1518 Byte frames using binary search start at 10GE linerate,
178 | | ... | step 10kpps, LT=0.5%.
179 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | SKIP_PATCH
180 | | ${framesize}= | Set Variable | ${1518}
181 | | ${min_rate}= | Set Variable | ${10000}
182 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
183 | | ${binary_min}= | Set Variable | ${min_rate}
184 | | ${binary_max}= | Set Variable | ${max_rate}
185 | | ${threshold}= | Set Variable | ${min_rate}
186 | | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs
187 | | And   Add PCI devices to DUTs from 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  IPv4 forwarding initialized in a 3-node circular topology
191 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
192 | | ... | ${dut1} | ip4 | dst
193 | | And Vpp Configures Classify Session L3
194 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
195 | | ... | ip4 | dst | 20.20.20.2
196 | | And Vpp Enable Input Acl Interface
197 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
198 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
199 | | ... | ${dut2} | ip4 | dst
200 | | And Vpp Configures Classify Session L3
201 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
202 | | ... | ip4 | dst | 10.10.10.2
203 | | And Vpp Enable Input Acl Interface
204 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
205 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
206 | | ...                                       | ${binary_max} | 3-node-IPv4
207 | | ...                                       | ${min_rate} | ${max_rate}
208 | | ...                                       | ${threshold}
209 | | ...                                       | ${glob_loss_acceptance}
210 | | ...                                       | ${glob_loss_acceptance_type}
211
212 | TC05: 9000B NDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq
213 | | [Documentation]
214 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
215 | | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find NDR
216 | | ... | for 9000 Byte frames using binary search start at 10GE linerate,
217 | | ... | step 5kpps.
218 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR
219 | | ${framesize}= | Set Variable | ${9000}
220 | | ${min_rate}= | Set Variable | ${5000}
221 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
222 | | ${binary_min}= | Set Variable | ${min_rate}
223 | | ${binary_max}= | Set Variable | ${max_rate}
224 | | ${threshold}= | Set Variable | ${min_rate}
225 | | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs
226 | | And   Add PCI devices to DUTs from 3-node single link topology
227 | | And   Apply startup configuration on all VPP DUTs
228 | | When  IPv4 forwarding initialized in a 3-node circular topology
229 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
230 | | ... | ${dut1} | ip4 | dst
231 | | And Vpp Configures Classify Session L3
232 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
233 | | ... | ip4 | dst | 20.20.20.2
234 | | And Vpp Enable Input Acl Interface
235 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
236 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
237 | | ... | ${dut2} | ip4 | dst
238 | | And Vpp Configures Classify Session L3
239 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
240 | | ... | ip4 | dst | 10.10.10.2
241 | | And Vpp Enable Input Acl Interface
242 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
243 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
244 | | ...                                       | ${binary_max} | 3-node-IPv4
245 | | ...                                       | ${min_rate} | ${max_rate}
246 | | ...                                       | ${threshold}
247
248 | TC06: 9000B PDR binary search - DUT IPv4 iAcl whitelist - 1thread 1core 1rxq
249 | | [Documentation]
250 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
251 | | ... | 1 thread, 1 phy core, 1 receive queue per NIC port. [Ver] Find PDR
252 | | ... | for 9000 Byte frames using binary search start at 10GE linerate,
253 | | ... | step 5kpps, LT=0.5%.
254 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | SKIP_PATCH
255 | | ${framesize}= | Set Variable | ${9000}
256 | | ${min_rate}= | Set Variable | ${5000}
257 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
258 | | ${binary_min}= | Set Variable | ${min_rate}
259 | | ${binary_max}= | Set Variable | ${max_rate}
260 | | ${threshold}= | Set Variable | ${min_rate}
261 | | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs
262 | | And   Add PCI devices to DUTs from 3-node single link topology
263 | | And   Apply startup configuration on all VPP DUTs
264 | | When  IPv4 forwarding initialized in a 3-node circular topology
265 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
266 | | ... | ${dut1} | ip4 | dst
267 | | And Vpp Configures Classify Session L3
268 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
269 | | ... | ip4 | dst | 20.20.20.2
270 | | And Vpp Enable Input Acl Interface
271 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
272 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
273 | | ... | ${dut2} | ip4 | dst
274 | | And Vpp Configures Classify Session L3
275 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
276 | | ... | ip4 | dst | 10.10.10.2
277 | | And Vpp Enable Input Acl Interface
278 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
279 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
280 | | ...                                       | ${binary_max} | 3-node-IPv4
281 | | ...                                       | ${min_rate} | ${max_rate}
282 | | ...                                       | ${threshold}
283 | | ...                                       | ${glob_loss_acceptance}
284 | | ...                                       | ${glob_loss_acceptance_type}
285
286 | TC07: 64B NDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq
287 | | [Documentation]
288 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
289 | | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR
290 | | ... | for 64 Byte frames using binary search start at 10GE linerate,
291 | | ... | step 100kpps.
292 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR
293 | | ${framesize}= | Set Variable | ${64}
294 | | ${min_rate}= | Set Variable | ${100000}
295 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
296 | | ${binary_min}= | Set Variable | ${min_rate}
297 | | ${binary_max}= | Set Variable | ${max_rate}
298 | | ${threshold}= | Set Variable | ${min_rate}
299 | | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs
300 | | And   Add PCI devices to DUTs from 3-node single link topology
301 | | And   Add No Multi Seg to all DUTs
302 | | And   Apply startup configuration on all VPP DUTs
303 | | When  IPv4 forwarding initialized in a 3-node circular topology
304 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
305 | | ... | ${dut1} | ip4 | dst
306 | | And Vpp Configures Classify Session L3
307 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
308 | | ... | ip4 | dst | 20.20.20.2
309 | | And Vpp Enable Input Acl Interface
310 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
311 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
312 | | ... | ${dut2} | ip4 | dst
313 | | And Vpp Configures Classify Session L3
314 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
315 | | ... | ip4 | dst | 10.10.10.2
316 | | And Vpp Enable Input Acl Interface
317 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
318 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
319 | | ...                                       | ${binary_max} | 3-node-IPv4
320 | | ...                                       | ${min_rate} | ${max_rate}
321 | | ...                                       | ${threshold}
322
323 | TC08: 64B PDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq
324 | | [Documentation]
325 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
326 | | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR
327 | | ... | for 64 Byte frames using binary search start at 10GE linerate,
328 | | ... | step 100kpps, LT=0.5%.
329 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | SKIP_PATCH
330 | | ${framesize}= | Set Variable | ${64}
331 | | ${min_rate}= | Set Variable | ${100000}
332 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
333 | | ${binary_min}= | Set Variable | ${min_rate}
334 | | ${binary_max}= | Set Variable | ${max_rate}
335 | | ${threshold}= | Set Variable | ${min_rate}
336 | | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs
337 | | And   Add PCI devices to DUTs from 3-node single link topology
338 | | And   Add No Multi Seg to all DUTs
339 | | And   Apply startup configuration on all VPP DUTs
340 | | When  IPv4 forwarding initialized in a 3-node circular topology
341 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
342 | | ... | ${dut1} | ip4 | dst
343 | | And Vpp Configures Classify Session L3
344 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
345 | | ... | ip4 | dst | 20.20.20.2
346 | | And Vpp Enable Input Acl Interface
347 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
348 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
349 | | ... | ${dut2} | ip4 | dst
350 | | And Vpp Configures Classify Session L3
351 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
352 | | ... | ip4 | dst | 10.10.10.2
353 | | And Vpp Enable Input Acl Interface
354 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
355 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
356 | | ...                                       | ${binary_max} | 3-node-IPv4
357 | | ...                                       | ${min_rate} | ${max_rate}
358 | | ...                                       | ${threshold}
359 | | ...                                       | ${glob_loss_acceptance}
360 | | ...                                       | ${glob_loss_acceptance_type}
361
362 | TC09: 1518B NDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq
363 | | [Documentation]
364 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
365 | | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR
366 | | ... | for 1518 Byte frames using binary search start at 10GE linerate,
367 | | ... | step 10kpps.
368 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | SKIP_PATCH
369 | | ${framesize}= | Set Variable | ${1518}
370 | | ${min_rate}= | Set Variable | ${10000}
371 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
372 | | ${binary_min}= | Set Variable | ${min_rate}
373 | | ${binary_max}= | Set Variable | ${max_rate}
374 | | ${threshold}= | Set Variable | ${min_rate}
375 | | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs
376 | | And   Add PCI devices to DUTs from 3-node single link topology
377 | | And   Add No Multi Seg to all DUTs
378 | | And   Apply startup configuration on all VPP DUTs
379 | | When  IPv4 forwarding initialized in a 3-node circular topology
380 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
381 | | ... | ${dut1} | ip4 | dst
382 | | And Vpp Configures Classify Session L3
383 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
384 | | ... | ip4 | dst | 20.20.20.2
385 | | And Vpp Enable Input Acl Interface
386 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
387 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
388 | | ... | ${dut2} | ip4 | dst
389 | | And Vpp Configures Classify Session L3
390 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
391 | | ... | ip4 | dst | 10.10.10.2
392 | | And Vpp Enable Input Acl Interface
393 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
394 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
395 | | ...                                       | ${binary_max} | 3-node-IPv4
396 | | ...                                       | ${min_rate} | ${max_rate}
397 | | ...                                       | ${threshold}
398
399 | TC10: 1518B PDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq
400 | | [Documentation]
401 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
402 | | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR
403 | | ... | for 1518 Byte frames using binary search start at 10GE linerate,
404 | | ... | step 10kpps, LT=0.5%.
405 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | SKIP_PATCH
406 | | ${framesize}= | Set Variable | ${1518}
407 | | ${min_rate}= | Set Variable | ${10000}
408 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
409 | | ${binary_min}= | Set Variable | ${min_rate}
410 | | ${binary_max}= | Set Variable | ${max_rate}
411 | | ${threshold}= | Set Variable | ${min_rate}
412 | | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs
413 | | And   Add PCI devices to DUTs from 3-node single link topology
414 | | And   Add No Multi Seg to all DUTs
415 | | And   Apply startup configuration on all VPP DUTs
416 | | When  IPv4 forwarding initialized in a 3-node circular topology
417 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
418 | | ... | ${dut1} | ip4 | dst
419 | | And Vpp Configures Classify Session L3
420 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
421 | | ... | ip4 | dst | 20.20.20.2
422 | | And Vpp Enable Input Acl Interface
423 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
424 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
425 | | ... | ${dut2} | ip4 | dst
426 | | And Vpp Configures Classify Session L3
427 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
428 | | ... | ip4 | dst | 10.10.10.2
429 | | And Vpp Enable Input Acl Interface
430 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
431 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
432 | | ...                                       | ${binary_max} | 3-node-IPv4
433 | | ...                                       | ${min_rate} | ${max_rate}
434 | | ...                                       | ${threshold}
435 | | ...                                       | ${glob_loss_acceptance}
436 | | ...                                       | ${glob_loss_acceptance_type}
437
438 | TC11: 9000B NDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq
439 | | [Documentation]
440 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
441 | | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find NDR
442 | | ... | for 9000 Byte frames using binary search start at 10GE linerate,
443 | | ... | step 5kpps.
444 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | SKIP_PATCH
445 | | ${framesize}= | Set Variable | ${9000}
446 | | ${min_rate}= | Set Variable | ${5000}
447 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
448 | | ${binary_min}= | Set Variable | ${min_rate}
449 | | ${binary_max}= | Set Variable | ${max_rate}
450 | | ${threshold}= | Set Variable | ${min_rate}
451 | | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs
452 | | And   Add PCI devices to DUTs from 3-node single link topology
453 | | And   Apply startup configuration on all VPP DUTs
454 | | When  IPv4 forwarding initialized in a 3-node circular topology
455 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
456 | | ... | ${dut1} | ip4 | dst
457 | | And Vpp Configures Classify Session L3
458 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
459 | | ... | ip4 | dst | 20.20.20.2
460 | | And Vpp Enable Input Acl Interface
461 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
462 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
463 | | ... | ${dut2} | ip4 | dst
464 | | And Vpp Configures Classify Session L3
465 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
466 | | ... | ip4 | dst | 10.10.10.2
467 | | And Vpp Enable Input Acl Interface
468 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
469 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
470 | | ...                                       | ${binary_max} | 3-node-IPv4
471 | | ...                                       | ${min_rate} | ${max_rate}
472 | | ...                                       | ${threshold}
473
474 | TC12: 9000B PDR binary search - DUT IPv4 iAcl whitelist - 2threads 2cores 1rxq
475 | | [Documentation]
476 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
477 | | ... | 2 threads, 2 phy cores, 1 receive queue per NIC port. [Ver] Find PDR
478 | | ... | for 9000 Byte frames using binary search start at 10GE linerate,
479 | | ... | step 5kpps, LT=0.5%.
480 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | SKIP_PATCH
481 | | ${framesize}= | Set Variable | ${9000}
482 | | ${min_rate}= | Set Variable | ${5000}
483 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
484 | | ${binary_min}= | Set Variable | ${min_rate}
485 | | ${binary_max}= | Set Variable | ${max_rate}
486 | | ${threshold}= | Set Variable | ${min_rate}
487 | | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs
488 | | And   Add PCI devices to DUTs from 3-node single link topology
489 | | And   Apply startup configuration on all VPP DUTs
490 | | When  IPv4 forwarding initialized in a 3-node circular topology
491 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
492 | | ... | ${dut1} | ip4 | dst
493 | | And Vpp Configures Classify Session L3
494 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
495 | | ... | ip4 | dst | 20.20.20.2
496 | | And Vpp Enable Input Acl Interface
497 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
498 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
499 | | ... | ${dut2} | ip4 | dst
500 | | And Vpp Configures Classify Session L3
501 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
502 | | ... | ip4 | dst | 10.10.10.2
503 | | And Vpp Enable Input Acl Interface
504 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
505 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
506 | | ...                                       | ${binary_max} | 3-node-IPv4
507 | | ...                                       | ${min_rate} | ${max_rate}
508 | | ...                                       | ${threshold}
509 | | ...                                       | ${glob_loss_acceptance}
510 | | ...                                       | ${glob_loss_acceptance_type}
511
512 | TC13: 64B NDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq
513 | | [Documentation]
514 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
515 | | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR
516 | | ... | for 64 Byte frames using binary search start at 10GE linerate,
517 | | ... | step 100kpps.
518 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR
519 | | ${framesize}= | Set Variable | ${64}
520 | | ${min_rate}= | Set Variable | ${100000}
521 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
522 | | ${binary_min}= | Set Variable | ${min_rate}
523 | | ${binary_max}= | Set Variable | ${max_rate}
524 | | ${threshold}= | Set Variable | ${min_rate}
525 | | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs
526 | | And   Add PCI devices to DUTs from 3-node single link topology
527 | | And   Add No Multi Seg to all DUTs
528 | | And   Apply startup configuration on all VPP DUTs
529 | | When  IPv4 forwarding initialized in a 3-node circular topology
530 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
531 | | ... | ${dut1} | ip4 | dst
532 | | And Vpp Configures Classify Session L3
533 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
534 | | ... | ip4 | dst | 20.20.20.2
535 | | And Vpp Enable Input Acl Interface
536 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
537 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
538 | | ... | ${dut2} | ip4 | dst
539 | | And Vpp Configures Classify Session L3
540 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
541 | | ... | ip4 | dst | 10.10.10.2
542 | | And Vpp Enable Input Acl Interface
543 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
544 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
545 | | ...                                       | ${binary_max} | 3-node-IPv4
546 | | ...                                       | ${min_rate} | ${max_rate}
547 | | ...                                       | ${threshold}
548
549 | TC14: 64B PDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq
550 | | [Documentation]
551 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
552 | | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR
553 | | ... | for 64 Byte frames using binary search start at 10GE linerate,
554 | | ... | step 100kpps, LT=0.5%.
555 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | SKIP_PATCH
556 | | ${framesize}= | Set Variable | ${64}
557 | | ${min_rate}= | Set Variable | ${100000}
558 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
559 | | ${binary_min}= | Set Variable | ${min_rate}
560 | | ${binary_max}= | Set Variable | ${max_rate}
561 | | ${threshold}= | Set Variable | ${min_rate}
562 | | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs
563 | | And   Add PCI devices to DUTs from 3-node single link topology
564 | | And   Add No Multi Seg to all DUTs
565 | | And   Apply startup configuration on all VPP DUTs
566 | | When  IPv4 forwarding initialized in a 3-node circular topology
567 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
568 | | ... | ${dut1} | ip4 | dst
569 | | And Vpp Configures Classify Session L3
570 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
571 | | ... | ip4 | dst | 20.20.20.2
572 | | And Vpp Enable Input Acl Interface
573 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
574 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
575 | | ... | ${dut2} | ip4 | dst
576 | | And Vpp Configures Classify Session L3
577 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
578 | | ... | ip4 | dst | 10.10.10.2
579 | | And Vpp Enable Input Acl Interface
580 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
581 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
582 | | ...                                       | ${binary_max} | 3-node-IPv4
583 | | ...                                       | ${min_rate} | ${max_rate}
584 | | ...                                       | ${threshold}
585 | | ...                                       | ${glob_loss_acceptance}
586 | | ...                                       | ${glob_loss_acceptance_type}
587
588 | TC15: 1518B NDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq
589 | | [Documentation]
590 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
591 | | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR
592 | | ... | for 1518 Byte frames using binary search start at 10GE linerate,
593 | | ... | step 10kpps.
594 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | SKIP_PATCH
595 | | ${framesize}= | Set Variable | ${1518}
596 | | ${min_rate}= | Set Variable | ${10000}
597 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
598 | | ${binary_min}= | Set Variable | ${min_rate}
599 | | ${binary_max}= | Set Variable | ${max_rate}
600 | | ${threshold}= | Set Variable | ${min_rate}
601 | | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs
602 | | And   Add PCI devices to DUTs from 3-node single link topology
603 | | And   Add No Multi Seg to all DUTs
604 | | And   Apply startup configuration on all VPP DUTs
605 | | When  IPv4 forwarding initialized in a 3-node circular topology
606 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
607 | | ... | ${dut1} | ip4 | dst
608 | | And Vpp Configures Classify Session L3
609 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
610 | | ... | ip4 | dst | 20.20.20.2
611 | | And Vpp Enable Input Acl Interface
612 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
613 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
614 | | ... | ${dut2} | ip4 | dst
615 | | And Vpp Configures Classify Session L3
616 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
617 | | ... | ip4 | dst | 10.10.10.2
618 | | And Vpp Enable Input Acl Interface
619 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
620 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
621 | | ...                                       | ${binary_max} | 3-node-IPv4
622 | | ...                                       | ${min_rate} | ${max_rate}
623 | | ...                                       | ${threshold}
624
625 | TC16: 1518B PDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq
626 | | [Documentation]
627 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
628 | | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR
629 | | ... | for 1518 Byte frames using binary search start at 10GE linerate,
630 | | ... | step 10kpps, LT=0.5%.
631 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | SKIP_PATCH
632 | | ${framesize}= | Set Variable | ${1518}
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 | | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs
639 | | And   Add PCI devices to DUTs from 3-node single link topology
640 | | And   Add No Multi Seg to all DUTs
641 | | And   Apply startup configuration on all VPP DUTs
642 | | When  IPv4 forwarding initialized in a 3-node circular topology
643 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
644 | | ... | ${dut1} | ip4 | dst
645 | | And Vpp Configures Classify Session L3
646 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
647 | | ... | ip4 | dst | 20.20.20.2
648 | | And Vpp Enable Input Acl Interface
649 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
650 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
651 | | ... | ${dut2} | ip4 | dst
652 | | And Vpp Configures Classify Session L3
653 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
654 | | ... | ip4 | dst | 10.10.10.2
655 | | And Vpp Enable Input Acl Interface
656 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
657 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
658 | | ...                                       | ${binary_max} | 3-node-IPv4
659 | | ...                                       | ${min_rate} | ${max_rate}
660 | | ...                                       | ${threshold}
661 | | ...                                       | ${glob_loss_acceptance}
662 | | ...                                       | ${glob_loss_acceptance_type}
663
664 | TC17: 9000B NDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq
665 | | [Documentation]
666 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
667 | | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find NDR
668 | | ... | for 9000 Byte frames using binary search start at 10GE linerate,
669 | | ... | step 5kpps.
670 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | SKIP_PATCH
671 | | ${framesize}= | Set Variable | ${9000}
672 | | ${min_rate}= | Set Variable | ${5000}
673 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
674 | | ${binary_min}= | Set Variable | ${min_rate}
675 | | ${binary_max}= | Set Variable | ${max_rate}
676 | | ${threshold}= | Set Variable | ${min_rate}
677 | | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs
678 | | And   Add PCI devices to DUTs from 3-node single link topology
679 | | And   Apply startup configuration on all VPP DUTs
680 | | When  IPv4 forwarding initialized in a 3-node circular topology
681 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
682 | | ... | ${dut1} | ip4 | dst
683 | | And Vpp Configures Classify Session L3
684 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
685 | | ... | ip4 | dst | 20.20.20.2
686 | | And Vpp Enable Input Acl Interface
687 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
688 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
689 | | ... | ${dut2} | ip4 | dst
690 | | And Vpp Configures Classify Session L3
691 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
692 | | ... | ip4 | dst | 10.10.10.2
693 | | And Vpp Enable Input Acl Interface
694 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
695 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
696 | | ...                                       | ${binary_max} | 3-node-IPv4
697 | | ...                                       | ${min_rate} | ${max_rate}
698 | | ...                                       | ${threshold}
699
700 | TC18: 9000B PDR binary search - DUT IPv4 iAcl whitelist - 4threads 4cores 2rxq
701 | | [Documentation]
702 | | ... | [Cfg] DUT runs IPv4 routing and whitelist filters config with \
703 | | ... | 4 threads, 4 phy cores, 2 receive queue per NIC port. [Ver] Find PDR
704 | | ... | for 9000 Byte frames using binary search start at 10GE linerate,
705 | | ... | step 5kpps, LT=0.5%.
706 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | SKIP_PATCH
707 | | ${framesize}= | Set Variable | ${9000}
708 | | ${min_rate}= | Set Variable | ${5000}
709 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize}
710 | | ${binary_min}= | Set Variable | ${min_rate}
711 | | ${binary_max}= | Set Variable | ${max_rate}
712 | | ${threshold}= | Set Variable | ${min_rate}
713 | | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs
714 | | And   Add PCI devices to DUTs from 3-node single link topology
715 | | And   Apply startup configuration on all VPP DUTs
716 | | When  IPv4 forwarding initialized in a 3-node circular topology
717 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
718 | | ... | ${dut1} | ip4 | dst
719 | | And Vpp Configures Classify Session L3
720 | | ... | ${dut1} | permit | ${table_idx} | ${skip_n} | ${match_n}
721 | | ... | ip4 | dst | 20.20.20.2
722 | | And Vpp Enable Input Acl Interface
723 | | ... | ${dut1} | ${dut1_if1} | ip4 | ${table_idx}
724 | | ${table_idx} | ${skip_n} | ${match_n}= | And Vpp Creates Classify Table L3
725 | | ... | ${dut2} | ip4 | dst
726 | | And Vpp Configures Classify Session L3
727 | | ... | ${dut2} | permit | ${table_idx} | ${skip_n} | ${match_n}
728 | | ... | ip4 | dst | 10.10.10.2
729 | | And Vpp Enable Input Acl Interface
730 | | ... | ${dut2} | ${dut2_if2} | ip4 | ${table_idx}
731 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
732 | | ...                                       | ${binary_max} | 3-node-IPv4
733 | | ...                                       | ${min_rate} | ${max_rate}
734 | | ...                                       | ${threshold}
735 | | ...                                       | ${glob_loss_acceptance}
736 | | ...                                       | ${glob_loss_acceptance_type}