1f4985610d916d1c648969d6900423f911236c38
[csit.git] / tests / perf / Long_IPv4_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.topology.Topology
17 | Library | resources.libraries.python.NodePath
18 | Library | resources.libraries.python.InterfaceUtil
19 | Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']} | WITH NAME | dut1_v4
20 | Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']} | WITH NAME | dut2_v4
21 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
22 | ...        | NIC_Intel-X520-DA2
23 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
24 | ... | L3 | Intel-X520-DA2
25 | Suite Teardown | 3-node Performance Suite Teardown
26 | Test Setup | Setup all DUTs before test
27 | Test Teardown | Run Keywords | Remove startup configuration of VPP from all DUTs
28 | ...           | AND          | Show vpp trace dump on all DUTs
29 | Documentation | *RFC2544: Pkt throughput IPv4 routing test cases*
30 | ...
31 | ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology
32 | ... | with single links between nodes.
33 | ... | *[Enc] Packet Encapsulations:* Eth-IPv4 for IPv4 routing.
34 | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4
35 | ... | routing and two static IPv4 /24 route entries. DUT1 and DUT2 tested with
36 | ... | 2p10GE NIC X520 Niantic by Intel.
37 | ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop
38 | ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop
39 | ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage
40 | ... | of packets transmitted. NDR and PDR are discovered for different
41 | ... | Ethernet L2 frame sizes using either binary search or linear search
42 | ... | algorithms with configured starting rate and final step that determines
43 | ... | throughput measurement resolution. Test packets are generated by TG on
44 | ... | links to DUTs. TG traffic profile contains two L3 flow-groups
45 | ... | (flow-group per direction, 253 flows per flow-group) with all packets
46 | ... | containing Ethernet header, IPv4 header with IP protocol=61 and static
47 | ... | payload. MAC addresses are matching MAC addresses of the TG node
48 | ... | interfaces.
49 | ... | *[Ref] Applicable standard specifications:* RFC2544.
50
51 *** Test Cases ***
52 | TC01: 64B NDR binary search - DUT IPv4 - 1thread 1core 1rxq
53 | | [Documentation]
54 | | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \
55 | | ... | 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames
56 | | ... | using binary search start at 10GE linerate, step 100kpps.
57 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR
58 | | ${framesize}= | Set Variable | 64
59 | | ${min_rate}= | Set Variable | 100000
60 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_64B}
61 | | ${binary_min}= | Set Variable | ${min_rate}
62 | | ${binary_max}= | Set Variable | ${max_rate}
63 | | ${threshold}= | Set Variable | ${min_rate}
64 | | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs
65 | | And   Add PCI devices to DUTs from 3-node single link topology
66 | | And   Add No Multi Seg to all DUTs
67 | | And   Apply startup configuration on all VPP DUTs
68 | | And   IPv4 forwarding initialized in a 3-node circular topology
69 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
70 | | ...                                       | ${binary_max} | 3-node-IPv4
71 | | ...                                       | ${min_rate} | ${max_rate}
72 | | ...                                       | ${threshold}
73
74 | TC02: 64B PDR binary search - DUT IPv4 - 1thread 1core 1rxq
75 | | [Documentation]
76 | | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \
77 | | ... | 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames
78 | | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%.
79 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | SKIP_PATCH
80 | | ${framesize}= | Set Variable | 64
81 | | ${min_rate}= | Set Variable | 100000
82 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_64B}
83 | | ${binary_min}= | Set Variable | ${min_rate}
84 | | ${binary_max}= | Set Variable | ${max_rate}
85 | | ${threshold}= | Set Variable | ${min_rate}
86 | | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs
87 | | And   Add PCI devices to DUTs from 3-node single link topology
88 | | And   Add No Multi Seg to all DUTs
89 | | And   Apply startup configuration on all VPP DUTs
90 | | And   IPv4 forwarding initialized in a 3-node circular topology
91 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
92 | | ...                                       | ${binary_max} | 3-node-IPv4
93 | | ...                                       | ${min_rate} | ${max_rate}
94 | | ...                                       | ${threshold}
95 | | ...                                       | ${glob_loss_acceptance}
96 | | ...                                       | ${glob_loss_acceptance_type}
97
98 | TC03: 1518B NDR binary search - DUT IPv4 - 1thread 1core 1rxq
99 | | [Documentation]
100 | | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \
101 | | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames
102 | | ... | using binary search start at 10GE linerate, step 10kpps.
103 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR
104 | | ${framesize}= | Set Variable | 1518
105 | | ${min_rate}= | Set Variable | 10000
106 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_1518B}
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 | | And   IPv4 forwarding initialized in a 3-node circular topology
115 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
116 | | ...                                       | ${binary_max} | 3-node-IPv4
117 | | ...                                       | ${min_rate} | ${max_rate}
118 | | ...                                       | ${threshold}
119
120 | TC04: 1518B PDR binary search - DUT IPv4 - 1thread 1core 1rxq
121 | | [Documentation]
122 | | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \
123 | | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames
124 | | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
125 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | SKIP_PATCH
126 | | ${framesize}= | Set Variable | 1518
127 | | ${min_rate}= | Set Variable | 10000
128 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_1518B}
129 | | ${binary_min}= | Set Variable | ${min_rate}
130 | | ${binary_max}= | Set Variable | ${max_rate}
131 | | ${threshold}= | Set Variable | ${min_rate}
132 | | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs
133 | | And   Add PCI devices to DUTs from 3-node single link topology
134 | | And   Add No Multi Seg to all DUTs
135 | | And   Apply startup configuration on all VPP DUTs
136 | | And   IPv4 forwarding initialized in a 3-node circular topology
137 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
138 | | ...                                       | ${binary_max} | 3-node-IPv4
139 | | ...                                       | ${min_rate} | ${max_rate}
140 | | ...                                       | ${threshold}
141 | | ...                                       | ${glob_loss_acceptance}
142 | | ...                                       | ${glob_loss_acceptance_type}
143
144 | TC05: 9000B NDR binary search - DUT IPv4 - 1thread 1core 1rxq
145 | | [Documentation]
146 | | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \
147 | | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames
148 | | ... | using binary search start at 10GE linerate, step 5kpps.
149 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR
150 | | ${framesize}= | Set Variable | 9000
151 | | ${min_rate}= | Set Variable | 5000
152 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_9000B}
153 | | ${binary_min}= | Set Variable | ${min_rate}
154 | | ${binary_max}= | Set Variable | ${max_rate}
155 | | ${threshold}= | Set Variable | ${min_rate}
156 | | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs
157 | | And   Add PCI devices to DUTs from 3-node single link topology
158 | | And   Apply startup configuration on all VPP DUTs
159 | | And   IPv4 forwarding initialized in a 3-node circular topology
160 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
161 | | ...                                       | ${binary_max} | 3-node-IPv4
162 | | ...                                       | ${min_rate} | ${max_rate}
163 | | ...                                       | ${threshold}
164
165 | TC06: 9000B PDR binary search - DUT IPv4 - 1thread 1core 1rxq
166 | | [Documentation]
167 | | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \
168 | | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames
169 | | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%.
170 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | SKIP_PATCH
171 | | ${framesize}= | Set Variable | 9000
172 | | ${min_rate}= | Set Variable | 5000
173 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_9000B}
174 | | ${binary_min}= | Set Variable | ${min_rate}
175 | | ${binary_max}= | Set Variable | ${max_rate}
176 | | ${threshold}= | Set Variable | ${min_rate}
177 | | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs
178 | | And   Add PCI devices to DUTs from 3-node single link topology
179 | | And   Apply startup configuration on all VPP DUTs
180 | | And   IPv4 forwarding initialized in a 3-node circular topology
181 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
182 | | ...                                       | ${binary_max} | 3-node-IPv4
183 | | ...                                       | ${min_rate} | ${max_rate}
184 | | ...                                       | ${threshold}
185 | | ...                                       | ${glob_loss_acceptance}
186 | | ...                                       | ${glob_loss_acceptance_type}
187
188 | TC07: 64B NDR binary search - DUT IPv4 - 2threads 2cores 1rxq
189 | | [Documentation]
190 | | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \
191 | | ... | 1 receive queue per NIC port. [Ver] Find NDR for 64 Byte frames
192 | | ... | using binary search start at 10GE linerate, step 100kpps.
193 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR
194 | | ${framesize}= | Set Variable | 64
195 | | ${min_rate}= | Set Variable | 100000
196 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_64B}
197 | | ${binary_min}= | Set Variable | ${min_rate}
198 | | ${binary_max}= | Set Variable | ${max_rate}
199 | | ${threshold}= | Set Variable | ${min_rate}
200 | | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs
201 | | And   Add PCI devices to DUTs from 3-node single link topology
202 | | And   Add No Multi Seg to all DUTs
203 | | And   Apply startup configuration on all VPP DUTs
204 | | And   IPv4 forwarding initialized in a 3-node circular topology
205 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
206 | | ...                                       | ${binary_max} | 3-node-IPv4
207 | | ...                                       | ${min_rate} | ${max_rate}
208 | | ...                                       | ${threshold}
209
210 | TC08: 64B PDR binary search - DUT IPv4 - 2threads 2cores 1rxq
211 | | [Documentation]
212 | | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \
213 | | ... | 1 receive queue per NIC port. [Ver] Find PDR for 64 Byte frames
214 | | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%.
215 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | SKIP_PATCH
216 | | ${framesize}= | Set Variable | 64
217 | | ${min_rate}= | Set Variable | 100000
218 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_64B}
219 | | ${binary_min}= | Set Variable | ${min_rate}
220 | | ${binary_max}= | Set Variable | ${max_rate}
221 | | ${threshold}= | Set Variable | ${min_rate}
222 | | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs
223 | | And   Add PCI devices to DUTs from 3-node single link topology
224 | | And   Add No Multi Seg to all DUTs
225 | | And   Apply startup configuration on all VPP DUTs
226 | | And   IPv4 forwarding initialized in a 3-node circular topology
227 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
228 | | ...                                       | ${binary_max} | 3-node-IPv4
229 | | ...                                       | ${min_rate} | ${max_rate}
230 | | ...                                       | ${threshold}
231 | | ...                                       | ${glob_loss_acceptance}
232 | | ...                                       | ${glob_loss_acceptance_type}
233
234 | TC09: 1518B NDR binary search - DUT IPv4 - 2threads 2cores 1rxq
235 | | [Documentation]
236 | | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \
237 | | ... | 1 receive queue per NIC port. [Ver] Find NDR for 1518 Byte frames
238 | | ... | using binary search start at 10GE linerate, step 10kpps.
239 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | SKIP_PATCH
240 | | ${framesize}= | Set Variable | 1518
241 | | ${min_rate}= | Set Variable | 10000
242 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_1518B}
243 | | ${binary_min}= | Set Variable | ${min_rate}
244 | | ${binary_max}= | Set Variable | ${max_rate}
245 | | ${threshold}= | Set Variable | ${min_rate}
246 | | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs
247 | | And   Add PCI devices to DUTs from 3-node single link topology
248 | | And   Add No Multi Seg to all DUTs
249 | | And   Apply startup configuration on all VPP DUTs
250 | | And   IPv4 forwarding initialized in a 3-node circular topology
251 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
252 | | ...                                       | ${binary_max} | 3-node-IPv4
253 | | ...                                       | ${min_rate} | ${max_rate}
254 | | ...                                       | ${threshold}
255
256 | TC10: 1518B PDR binary search - DUT IPv4 - 2threads 2cores 1rxq
257 | | [Documentation]
258 | | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \
259 | | ... | 1 receive queue per NIC port. [Ver] Find PDR for 1518 Byte frames
260 | | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
261 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | SKIP_PATCH
262 | | ${framesize}= | Set Variable | 1518
263 | | ${min_rate}= | Set Variable | 10000
264 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_1518B}
265 | | ${binary_min}= | Set Variable | ${min_rate}
266 | | ${binary_max}= | Set Variable | ${max_rate}
267 | | ${threshold}= | Set Variable | ${min_rate}
268 | | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs
269 | | And   Add PCI devices to DUTs from 3-node single link topology
270 | | And   Add No Multi Seg to all DUTs
271 | | And   Apply startup configuration on all VPP DUTs
272 | | And   IPv4 forwarding initialized in a 3-node circular topology
273 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
274 | | ...                                       | ${binary_max} | 3-node-IPv4
275 | | ...                                       | ${min_rate} | ${max_rate}
276 | | ...                                       | ${threshold}
277 | | ...                                       | ${glob_loss_acceptance}
278 | | ...                                       | ${glob_loss_acceptance_type}
279
280 | TC11: 9000B NDR binary search - DUT IPv4 - 2threads 2cores 1rxq
281 | | [Documentation]
282 | | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \
283 | | ... | 1 receive queue per NIC port. [Ver] Find NDR for 9000 Byte frames
284 | | ... | using binary search start at 10GE linerate, step 5kpps.
285 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | SKIP_PATCH
286 | | ${framesize}= | Set Variable | 9000
287 | | ${min_rate}= | Set Variable | 5000
288 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_9000B}
289 | | ${binary_min}= | Set Variable | ${min_rate}
290 | | ${binary_max}= | Set Variable | ${max_rate}
291 | | ${threshold}= | Set Variable | ${min_rate}
292 | | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs
293 | | And   Add PCI devices to DUTs from 3-node single link topology
294 | | And   Apply startup configuration on all VPP DUTs
295 | | And   IPv4 forwarding initialized in a 3-node circular topology
296 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
297 | | ...                                       | ${binary_max} | 3-node-IPv4
298 | | ...                                       | ${min_rate} | ${max_rate}
299 | | ...                                       | ${threshold}
300
301 | TC12: 9000B PDR binary search - DUT IPv4 - 2threads 2cores 1rxq
302 | | [Documentation]
303 | | ... | [Cfg] DUT runs IPv4 routing config with 2 threads, 2 phy cores, \
304 | | ... | 1 receive queue per NIC port. [Ver] Find PDR for 9000 Byte frames
305 | | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%.
306 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | SKIP_PATCH
307 | | ${framesize}= | Set Variable | 9000
308 | | ${min_rate}= | Set Variable | 5000
309 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_9000B}
310 | | ${binary_min}= | Set Variable | ${min_rate}
311 | | ${binary_max}= | Set Variable | ${max_rate}
312 | | ${threshold}= | Set Variable | ${min_rate}
313 | | Given Add '2' worker threads and rxqueues '1' without HTT to all DUTs
314 | | And   Add PCI devices to DUTs from 3-node single link topology
315 | | And   Apply startup configuration on all VPP DUTs
316 | | And   IPv4 forwarding initialized in a 3-node circular topology
317 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
318 | | ...                                       | ${binary_max} | 3-node-IPv4
319 | | ...                                       | ${min_rate} | ${max_rate}
320 | | ...                                       | ${threshold}
321 | | ...                                       | ${glob_loss_acceptance}
322 | | ...                                       | ${glob_loss_acceptance_type}
323
324 | TC13: 64B NDR binary search - DUT IPv4 - 4threads 4cores 2rxq
325 | | [Documentation]
326 | | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \
327 | | ... | 2 receive queues per NIC port. [Ver] Find NDR for 64 Byte frames
328 | | ... | using binary search start at 10GE linerate, step 100kpps.
329 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR
330 | | ${framesize}= | Set Variable | 64
331 | | ${min_rate}= | Set Variable | 100000
332 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_64B}
333 | | ${binary_min}= | Set Variable | ${min_rate}
334 | | ${binary_max}= | Set Variable | ${max_rate}
335 | | ${threshold}= | Set Variable | ${min_rate}
336 | | Given Add '4' worker threads and rxqueues '2' 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 | | And   IPv4 forwarding initialized in a 3-node circular topology
341 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
342 | | ...                                       | ${binary_max} | 3-node-IPv4
343 | | ...                                       | ${min_rate} | ${max_rate}
344 | | ...                                       | ${threshold}
345
346 | TC14: 64B PDR binary search - DUT IPv4 - 4threads 4cores 2rxq
347 | | [Documentation]
348 | | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \
349 | | ... | 2 receive queues per NIC port. [Ver] Find PDR for 64 Byte frames
350 | | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%.
351 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | SKIP_PATCH
352 | | ${framesize}= | Set Variable | 64
353 | | ${min_rate}= | Set Variable | 100000
354 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_64B}
355 | | ${binary_min}= | Set Variable | ${min_rate}
356 | | ${binary_max}= | Set Variable | ${max_rate}
357 | | ${threshold}= | Set Variable | ${min_rate}
358 | | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs
359 | | And   Add PCI devices to DUTs from 3-node single link topology
360 | | And   Add No Multi Seg to all DUTs
361 | | And   Apply startup configuration on all VPP DUTs
362 | | And   IPv4 forwarding initialized in a 3-node circular topology
363 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
364 | | ...                                       | ${binary_max} | 3-node-IPv4
365 | | ...                                       | ${min_rate} | ${max_rate}
366 | | ...                                       | ${threshold}
367 | | ...                                       | ${glob_loss_acceptance}
368 | | ...                                       | ${glob_loss_acceptance_type}
369
370 | TC15: 1518B NDR binary search - DUT IPv4 - 4threads 4cores 2rxq
371 | | [Documentation]
372 | | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \
373 | | ... | 2 receive queues per NIC port. [Ver] Find NDR for 1518 Byte frames
374 | | ... | using binary search start at 10GE linerate, step 10kpps.
375 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | SKIP_PATCH
376 | | ${framesize}= | Set Variable | 1518
377 | | ${min_rate}= | Set Variable | 10000
378 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_1518B}
379 | | ${binary_min}= | Set Variable | ${min_rate}
380 | | ${binary_max}= | Set Variable | ${max_rate}
381 | | ${threshold}= | Set Variable | ${min_rate}
382 | | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs
383 | | And   Add PCI devices to DUTs from 3-node single link topology
384 | | And   Add No Multi Seg to all DUTs
385 | | And   Apply startup configuration on all VPP DUTs
386 | | And   IPv4 forwarding initialized in a 3-node circular topology
387 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
388 | | ...                                       | ${binary_max} | 3-node-IPv4
389 | | ...                                       | ${min_rate} | ${max_rate}
390 | | ...                                       | ${threshold}
391
392 | TC16: 1518B PDR binary search - DUT IPv4 - 4threads 4cores 2rxq
393 | | [Documentation]
394 | | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \
395 | | ... | 2 receive queues per NIC port. [Ver] Find PDR for 1518 Byte frames
396 | | ... | using binary search start at 10GE linerate, step 10kpps, LT=0.5%.
397 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | SKIP_PATCH
398 | | ${framesize}= | Set Variable | 1518
399 | | ${min_rate}= | Set Variable | 10000
400 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_1518B}
401 | | ${binary_min}= | Set Variable | ${min_rate}
402 | | ${binary_max}= | Set Variable | ${max_rate}
403 | | ${threshold}= | Set Variable | ${min_rate}
404 | | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs
405 | | And   Add PCI devices to DUTs from 3-node single link topology
406 | | And   Add No Multi Seg to all DUTs
407 | | And   Apply startup configuration on all VPP DUTs
408 | | And   IPv4 forwarding initialized in a 3-node circular topology
409 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
410 | | ...                                       | ${binary_max} | 3-node-IPv4
411 | | ...                                       | ${min_rate} | ${max_rate}
412 | | ...                                       | ${threshold}
413 | | ...                                       | ${glob_loss_acceptance}
414 | | ...                                       | ${glob_loss_acceptance_type}
415
416 | TC17: 9000B NDR binary search - DUT IPv4 - 4threads 4cores 2rxq
417 | | [Documentation]
418 | | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \
419 | | ... | 2 receive queues per NIC port. [Ver] Find NDR for 9000 Byte frames
420 | | ... | using binary search start at 10GE linerate, step 5kpps.
421 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | SKIP_PATCH
422 | | ${framesize}= | Set Variable | 9000
423 | | ${min_rate}= | Set Variable | 5000
424 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_9000B}
425 | | ${binary_min}= | Set Variable | ${min_rate}
426 | | ${binary_max}= | Set Variable | ${max_rate}
427 | | ${threshold}= | Set Variable | ${min_rate}
428 | | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs
429 | | And   Add PCI devices to DUTs from 3-node single link topology
430 | | And   Apply startup configuration on all VPP DUTs
431 | | And   IPv4 forwarding initialized in a 3-node circular topology
432 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
433 | | ...                                       | ${binary_max} | 3-node-IPv4
434 | | ...                                       | ${min_rate} | ${max_rate}
435 | | ...                                       | ${threshold}
436
437 | TC18: 9000B PDR binary search - DUT IPv4 - 4threads 4cores 2rxq
438 | | [Documentation]
439 | | ... | [Cfg] DUT runs IPv4 routing config with 4 threads, 4 phy cores, \
440 | | ... | 2 receive queues per NIC port. [Ver] Find PDR for 9000 Byte frames
441 | | ... | using binary search start at 10GE linerate, step 5kpps, LT=0.5%.
442 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | SKIP_PATCH
443 | | ${framesize}= | Set Variable | 9000
444 | | ${min_rate}= | Set Variable | 5000
445 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_9000B}
446 | | ${binary_min}= | Set Variable | ${min_rate}
447 | | ${binary_max}= | Set Variable | ${max_rate}
448 | | ${threshold}= | Set Variable | ${min_rate}
449 | | Given Add '4' worker threads and rxqueues '2' without HTT to all DUTs
450 | | And   Add PCI devices to DUTs from 3-node single link topology
451 | | And   Apply startup configuration on all VPP DUTs
452 | | And   IPv4 forwarding initialized in a 3-node circular topology
453 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
454 | | ...                                       | ${binary_max} | 3-node-IPv4
455 | | ...                                       | ${min_rate} | ${max_rate}
456 | | ...                                       | ${threshold}
457 | | ...                                       | ${glob_loss_acceptance}
458 | | ...                                       | ${glob_loss_acceptance_type}
459
460 *** Test Cases ***
461 | TC19: IMIX_v4_1 NDR binary search - DUT IPv4 - 1thread 1core 1rxq
462 | | [Documentation]
463 | | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \
464 | | ... | 1 receive queue per NIC port. [Ver] Find NDR for IMIX_v4_1 frame size
465 | | ... | using binary search start at 10GE linerate, step 100kpps.
466 | | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
467 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR
468 | | ${framesize}= | Set Variable | IMIX_v4_1
469 | | ${min_rate}= | Set Variable | 100000
470 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_IMIX_v4_1}
471 | | ${binary_min}= | Set Variable | ${min_rate}
472 | | ${binary_max}= | Set Variable | ${max_rate}
473 | | ${threshold}= | Set Variable | ${min_rate}
474 | | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs
475 | | And   Add all PCI devices to all DUTs
476 | | And   Add No Multi Seg to all DUTs
477 | | And   Apply startup configuration on all VPP DUTs
478 | | And   IPv4 forwarding initialized in a 3-node circular topology
479 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
480 | | ...                                       | ${binary_max} | 3-node-IPv4
481 | | ...                                       | ${min_rate} | ${max_rate}
482 | | ...                                       | ${threshold}
483
484 | TC20: 64B PDR binary search - DUT IPv4 - 1thread 1core 1rxq
485 | | [Documentation]
486 | | ... | [Cfg] DUT runs IPv4 routing config with 1 thread, 1 phy core, \
487 | | ... | 1 receive queue per NIC port. [Ver] Find PDR for IMIX_v4_1 frame size
488 | | ... | using binary search start at 10GE linerate, step 100kpps, LT=0.5%.
489 | | ... | IMIX_v4_1 = (28x64B;16x570B;4x1518B)
490 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | SKIP_PATCH
491 | | ${framesize}= | Set Variable | IMIX_v4_1
492 | | ${min_rate}= | Set Variable | 100000
493 | | ${max_rate}= | Set Variable | ${10Ge_linerate_pps_IMIX_v4_1}
494 | | ${binary_min}= | Set Variable | ${min_rate}
495 | | ${binary_max}= | Set Variable | ${max_rate}
496 | | ${threshold}= | Set Variable | ${min_rate}
497 | | Given Add '1' worker threads and rxqueues '1' without HTT to all DUTs
498 | | And   Add all PCI devices to all DUTs
499 | | And   Add No Multi Seg to all DUTs
500 | | And   Apply startup configuration on all VPP DUTs
501 | | And   IPv4 forwarding initialized in a 3-node circular topology
502 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
503 | | ...                                       | ${binary_max} | 3-node-IPv4
504 | | ...                                       | ${min_rate} | ${max_rate}
505 | | ...                                       | ${threshold}
506 | | ...                                       | ${glob_loss_acceptance}
507 | | ...                                       | ${glob_loss_acceptance_type}