CSIT-469 Rename performance suites
[csit.git] / tests / perf / 10ge2p1x520-ethip6lispip4-ip6base-ndrdisc.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 | Resource | resources/libraries/robot/lisp/lisp_static_adjacency.robot
17 | Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT1']}
18 | ...     | WITH NAME | dut1_v4
19 | Library | resources.libraries.python.IPv4Setup.Dut | ${nodes['DUT2']}
20 | ...     | WITH NAME | dut2_v4
21 # import additional Lisp settings from resource file
22 | Variables | resources/test_data/lisp/performance/lisp_static_adjacency.py
23 | Force Tags | 3_NODE_SINGLE_LINK_TOPO | PERFTEST | HW_ENV | PERFTEST_LONG
24 | ...        | NIC_Intel-X520-DA2 | PERFTEST_ENCAP | LISP
25 | Suite Setup | 3-node Performance Suite Setup with DUT's NIC model
26 | ... | L3 | Intel-X520-DA2
27 | Suite Teardown | 3-node Performance Suite Teardown
28 | Test Setup | Setup all DUTs before test
29 | Test Teardown | Run Keywords
30 | ...           | Run Keyword If Test Failed
31 | ...           | Traffic should pass with no loss | 10
32 | ...           | ${min_rate}pps | ${framesize} | 3-node-IPv6
33 | ...           | fail_on_loss=${False}
34 | ...           | AND | Remove startup configuration of VPP from all DUTs
35 | Documentation | *RFC6830: Pkt throughput Lisp test cases*
36 | ...
37 | ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\
38 | ... | with single links between nodes.
39 | ... | *[Enc] Packet Encapsulations:* Eth-IPv6-LISP-IPv4 on DUT1-DUT2,\
40 | ... | Eth-IPv6 on TG-DUTn for IPv6 routing over LISPoIPv4 tunnel.
41 | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6\
42 | ... | routing and static routes. LISPoIPv4 tunnel is configured between\
43 | ... | DUT1 and DUT2. DUT1 and DUT2 tested with 2p10GE NIC X520 Niantic\
44 | ... | by Intel.
45 | ... | *[Ver] TG verification:* TG finds and reports throughput NDR (Non Drop\
46 | ... | Rate) with zero packet loss tolerance or throughput PDR (Partial Drop\
47 | ... | Rate) with non-zero packet loss tolerance (LT) expressed in percentage\
48 | ... | of packets transmitted. NDR and PDR are discovered for different\
49 | ... | Ethernet L2 frame sizes using either binary search or linear search
50 | ... | *[Ref] Applicable standard specifications:* RFC6830.
51
52 *** Variables ***
53 #X520-DA2 bandwidth limit
54 | ${s_limit} | ${10000000000}
55
56 *** Test Cases ***
57 | TC01: 78B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq
58 | | [Documentation]
59 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
60 | | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\
61 | | ... | port.
62 | | ... | [Ver] Find NDR for 78 Byte frames using binary search start\
63 | | ... | at 10GE linerate, step 100kpps.
64 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6oIPv4
65 | | ${framesize}= | Set Variable | ${78}
66 | | ${min_rate}= | Set Variable | ${100000}
67 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
68 | | ${binary_min}= | Set Variable | ${min_rate}
69 | | ${binary_max}= | Set Variable | ${max_rate}
70 | | ${threshold}= | Set Variable | ${min_rate}
71 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
72 | | And   Add PCI devices to DUTs from 3-node single link topology
73 | | And   Add No Multi Seg to all DUTs
74 | | And   Apply startup configuration on all VPP DUTs
75 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
76 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
77 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
78 | | And  Set up Lisp topology
79 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
80 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
81 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
82 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
83 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
84 | | ...                                       | ${binary_max} | 3-node-IPv6
85 | | ...                                       | ${min_rate} | ${max_rate}
86 | | ...                                       | ${threshold}
87
88 | TC02: 78B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq
89 | | [Documentation]
90 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
91 | | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\
92 | | ... | port.
93 | | ... | [Ver] Find PDR for 78 Byte frames using binary search start\
94 | | ... | at 10GE linerate, step 100kpps, LT=0.5%.
95 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv6IPv4
96 | | ...    | SKIP_PATCH
97 | | ${framesize}= | Set Variable | ${78}
98 | | ${min_rate}= | Set Variable | ${100000}
99 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
100 | | ${binary_min}= | Set Variable | ${min_rate}
101 | | ${binary_max}= | Set Variable | ${max_rate}
102 | | ${threshold}= | Set Variable | ${min_rate}
103 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
104 | | And   Add PCI devices to DUTs from 3-node single link topology
105 | | And   Add No Multi Seg to all DUTs
106 | | And   Apply startup configuration on all VPP DUTs
107 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
108 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
109 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
110 | | And  Set up Lisp topology
111 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
112 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
113 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
114 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
115 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
116 | | ...                                       | ${binary_max} | 3-node-IPv6
117 | | ...                                       | ${min_rate} | ${max_rate}
118 | | ...                                       | ${threshold}
119 | | ...                                       | ${glob_loss_acceptance}
120 | | ...                                       | ${glob_loss_acceptance_type}
121
122 | TC03: 1460B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq
123 | | [Documentation]
124 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
125 | | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\
126 | | ... | port.
127 | | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\
128 | | ... | at 10GE linerate, step 10kpps.
129 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6oIPv4
130 | | ${framesize}= | Set Variable | ${1460}
131 | | ${min_rate}= | Set Variable | ${10000}
132 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
133 | | ${binary_min}= | Set Variable | ${min_rate}
134 | | ${binary_max}= | Set Variable | ${max_rate}
135 | | ${threshold}= | Set Variable | ${min_rate}
136 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
137 | | And   Add PCI devices to DUTs from 3-node single link topology
138 | | And   Add No Multi Seg to all DUTs
139 | | And   Apply startup configuration on all VPP DUTs
140 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
141 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
142 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
143 | | And  Set up Lisp topology
144 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
145 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
146 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
147 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
148 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
149 | | ...                                       | ${binary_max} | 3-node-IPv6
150 | | ...                                       | ${min_rate} | ${max_rate}
151 | | ...                                       | ${threshold}
152
153 | TC04: 1460B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq
154 | | [Documentation]
155 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
156 | | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\
157 | | ... | port.
158 | | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\
159 | | ... | at 10GE linerate, step 10kpps, LT=0.5%.
160 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv6oIPv4
161 | | ...    | SKIP_PATCH
162 | | ${framesize}= | Set Variable | ${1460}
163 | | ${min_rate}= | Set Variable | ${10000}
164 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
165 | | ${binary_min}= | Set Variable | ${min_rate}
166 | | ${binary_max}= | Set Variable | ${max_rate}
167 | | ${threshold}= | Set Variable | ${min_rate}
168 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
169 | | And   Add PCI devices to DUTs from 3-node single link topology
170 | | And   Add No Multi Seg to all DUTs
171 | | And   Apply startup configuration on all VPP DUTs
172 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
173 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
174 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
175 | | And  Set up Lisp topology
176 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
177 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
178 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
179 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
180 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
181 | | ...                                       | ${binary_max} | 3-node-IPv6
182 | | ...                                       | ${min_rate} | ${max_rate}
183 | | ...                                       | ${threshold}
184 | | ...                                       | ${glob_loss_acceptance}
185 | | ...                                       | ${glob_loss_acceptance_type}
186
187 | TC05: 9000B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq
188 | | [Documentation]
189 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
190 | | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\
191 | | ... | port.
192 | | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\
193 | | ... | at 10GE linerate, step 5kpps.
194 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | NDR | LISP_IPv6oIPv4
195 | | ${framesize}= | Set Variable | ${9000}
196 | | ${min_rate}= | Set Variable | ${10000}
197 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
198 | | ${binary_min}= | Set Variable | ${min_rate}
199 | | ${binary_max}= | Set Variable | ${max_rate}
200 | | ${threshold}= | Set Variable | ${min_rate}
201 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
202 | | And   Add PCI devices to DUTs from 3-node single link topology
203 | | And   Apply startup configuration on all VPP DUTs
204 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
205 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
206 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
207 | | And  Set up Lisp topology
208 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
209 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
210 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
211 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
212 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
213 | | ...                                       | ${binary_max} | 3-node-IPv6
214 | | ...                                       | ${min_rate} | ${max_rate}
215 | | ...                                       | ${threshold}
216
217 | TC06: 9000B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 1thread 1core 1rxq
218 | | [Documentation]
219 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
220 | | ... | filters config with 1 thread, 1 phy core, 1 receive queue per NIC\
221 | | ... | port.
222 | | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\
223 | | ... | at 10GE linerate, step 5kpps, LT=0.5%.
224 | | [Tags] | 1_THREAD_NOHTT_RXQUEUES_1 | SINGLE_THREAD | PDR | LISP_IPv6oIPv4
225 | | ...    | SKIP_PATCH
226 | | ${framesize}= | Set Variable | ${9000}
227 | | ${min_rate}= | Set Variable | ${10000}
228 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
229 | | ${binary_min}= | Set Variable | ${min_rate}
230 | | ${binary_max}= | Set Variable | ${max_rate}
231 | | ${threshold}= | Set Variable | ${min_rate}
232 | | Given Add '1' worker threads and rxqueues '1' in 3-node single-link topo
233 | | And   Add PCI devices to DUTs from 3-node single link topology
234 | | And   Apply startup configuration on all VPP DUTs
235 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
236 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
237 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
238 | | And  Set up Lisp topology
239 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
240 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
241 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
242 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
243 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
244 | | ...                                       | ${binary_max} | 3-node-IPv6
245 | | ...                                       | ${min_rate} | ${max_rate}
246 | | ...                                       | ${threshold}
247 | | ...                                       | ${glob_loss_acceptance}
248 | | ...                                       | ${glob_loss_acceptance_type}
249
250 | TC07: 78B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq
251 | | [Documentation]
252 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
253 | | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\
254 | | ... | port.
255 | | ... | [Ver] Find NDR for 78 Byte frames using binary search start\
256 | | ... | at 10GE linerate, step 100kpps.
257 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6oIPv4
258 | | ${framesize}= | Set Variable | ${78}
259 | | ${min_rate}= | Set Variable | ${100000}
260 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
261 | | ${binary_min}= | Set Variable | ${min_rate}
262 | | ${binary_max}= | Set Variable | ${max_rate}
263 | | ${threshold}= | Set Variable | ${min_rate}
264 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
265 | | And   Add PCI devices to DUTs from 3-node single link topology
266 | | And   Add No Multi Seg to all DUTs
267 | | And   Apply startup configuration on all VPP DUTs
268 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
269 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
270 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
271 | | And  Set up Lisp topology
272 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
273 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
274 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
275 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
276 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
277 | | ...                                       | ${binary_max} | 3-node-IPv6
278 | | ...                                       | ${min_rate} | ${max_rate}
279 | | ...                                       | ${threshold}
280
281 | TC08: 78B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq
282 | | [Documentation]
283 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
284 | | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\
285 | | ... | port.
286 | | ... | [Ver] Find PDR for 78 Byte frames using binary search start\
287 | | ... | at 10GE linerate, step 100kpps, LT=0.5%.
288 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv6oIPv4
289 | | ...    | SKIP_PATCH
290 | | ${framesize}= | Set Variable | ${78}
291 | | ${min_rate}= | Set Variable | ${100000}
292 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
293 | | ${binary_min}= | Set Variable | ${min_rate}
294 | | ${binary_max}= | Set Variable | ${max_rate}
295 | | ${threshold}= | Set Variable | ${min_rate}
296 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
297 | | And   Add PCI devices to DUTs from 3-node single link topology
298 | | And   Add No Multi Seg to all DUTs
299 | | And   Apply startup configuration on all VPP DUTs
300 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
301 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
302 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
303 | | And  Set up Lisp topology
304 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
305 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
306 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
307 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
308 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
309 | | ...                                       | ${binary_max} | 3-node-IPv6
310 | | ...                                       | ${min_rate} | ${max_rate}
311 | | ...                                       | ${threshold}
312 | | ...                                       | ${glob_loss_acceptance}
313 | | ...                                       | ${glob_loss_acceptance_type}
314
315 | TC09: 1460B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq
316 | | [Documentation]
317 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
318 | | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\
319 | | ... | port.
320 | | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\
321 | | ... | at 10GE linerate, step 10kpps.
322 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6oIPv4
323 | | ...    | SKIP_PATCH
324 | | ${framesize}= | Set Variable | ${1460}
325 | | ${min_rate}= | Set Variable | ${10000}
326 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
327 | | ${binary_min}= | Set Variable | ${min_rate}
328 | | ${binary_max}= | Set Variable | ${max_rate}
329 | | ${threshold}= | Set Variable | ${min_rate}
330 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
331 | | And   Add PCI devices to DUTs from 3-node single link topology
332 | | And   Add No Multi Seg to all DUTs
333 | | And   Apply startup configuration on all VPP DUTs
334 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
335 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
336 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
337 | | And  Set up Lisp topology
338 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
339 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
340 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
341 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
342 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
343 | | ...                                       | ${binary_max} | 3-node-IPv6
344 | | ...                                       | ${min_rate} | ${max_rate}
345 | | ...                                       | ${threshold}
346
347 | TC10: 1460B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq
348 | | [Documentation]
349 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
350 | | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\
351 | | ... | port.
352 | | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\
353 | | ... | at 10GE linerate, step 10kpps, LT=0.5%.
354 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv6oIPv4
355 | | ...    | SKIP_PATCH
356 | | ${framesize}= | Set Variable | ${1460}
357 | | ${min_rate}= | Set Variable | ${10000}
358 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
359 | | ${binary_min}= | Set Variable | ${min_rate}
360 | | ${binary_max}= | Set Variable | ${max_rate}
361 | | ${threshold}= | Set Variable | ${min_rate}
362 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
363 | | And   Add PCI devices to DUTs from 3-node single link topology
364 | | And   Add No Multi Seg to all DUTs
365 | | And   Apply startup configuration on all VPP DUTs
366 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
367 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
368 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
369 | | And  Set up Lisp topology
370 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
371 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
372 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
373 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
374 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
375 | | ...                                       | ${binary_max} | 3-node-IPv6
376 | | ...                                       | ${min_rate} | ${max_rate}
377 | | ...                                       | ${threshold}
378 | | ...                                       | ${glob_loss_acceptance}
379 | | ...                                       | ${glob_loss_acceptance_type}
380
381 | TC11: 9000B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq
382 | | [Documentation]
383 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
384 | | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\
385 | | ... | port.
386 | | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\
387 | | ... | at 10GE linerate, step 10kpps.
388 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | NDR | LISP_IPv6oIPv4
389 | | ...    | SKIP_PATCH
390 | | ${framesize}= | Set Variable | ${9000}
391 | | ${min_rate}= | Set Variable | ${10000}
392 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
393 | | ${binary_min}= | Set Variable | ${min_rate}
394 | | ${binary_max}= | Set Variable | ${max_rate}
395 | | ${threshold}= | Set Variable | ${min_rate}
396 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
397 | | And   Add PCI devices to DUTs from 3-node single link topology
398 | | And   Apply startup configuration on all VPP DUTs
399 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
400 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
401 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
402 | | And  Set up Lisp topology
403 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
404 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
405 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
406 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
407 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
408 | | ...                                       | ${binary_max} | 3-node-IPv6
409 | | ...                                       | ${min_rate} | ${max_rate}
410 | | ...                                       | ${threshold}
411
412 | TC12: 9000B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 2thread 2core 1rxq
413 | | [Documentation]
414 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
415 | | ... | filters config with 2 threads, 2 phy cores, 1 receive queue per NIC\
416 | | ... | port.
417 | | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\
418 | | ... | at 10GE linerate, step 5kpps, LT=0.5%.
419 | | [Tags] | 2_THREAD_NOHTT_RXQUEUES_1 | MULTI_THREAD | PDR | LISP_IPv6oIPv4
420 | | ...    | SKIP_PATCH
421 | | ${framesize}= | Set Variable | ${9000}
422 | | ${min_rate}= | Set Variable | ${10000}
423 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
424 | | ${binary_min}= | Set Variable | ${min_rate}
425 | | ${binary_max}= | Set Variable | ${max_rate}
426 | | ${threshold}= | Set Variable | ${min_rate}
427 | | Given Add '2' worker threads and rxqueues '1' in 3-node single-link topo
428 | | And   Add PCI devices to DUTs from 3-node single link topology
429 | | And   Apply startup configuration on all VPP DUTs
430 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
431 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
432 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
433 | | And  Set up Lisp topology
434 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
435 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
436 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
437 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
438 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
439 | | ...                                       | ${binary_max} | 3-node-IPv6
440 | | ...                                       | ${min_rate} | ${max_rate}
441 | | ...                                       | ${threshold}
442 | | ...                                       | ${glob_loss_acceptance}
443 | | ...                                       | ${glob_loss_acceptance_type}
444
445 | TC13: 78B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq
446 | | [Documentation]
447 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
448 | | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\
449 | | ... | port.
450 | | ... | [Ver] Find NDR for 78 Byte frames using binary search start\
451 | | ... | at 10GE linerate, step 100kpps.
452 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6oIPv4
453 | | ${framesize}= | Set Variable | ${78}
454 | | ${min_rate}= | Set Variable | ${100000}
455 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
456 | | ${binary_min}= | Set Variable | ${min_rate}
457 | | ${binary_max}= | Set Variable | ${max_rate}
458 | | ${threshold}= | Set Variable | ${min_rate}
459 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
460 | | And   Add PCI devices to DUTs from 3-node single link topology
461 | | And   Add No Multi Seg to all DUTs
462 | | And   Apply startup configuration on all VPP DUTs
463 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
464 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
465 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
466 | | And  Set up Lisp topology
467 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
468 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
469 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
470 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
471 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
472 | | ...                                       | ${binary_max} | 3-node-IPv6
473 | | ...                                       | ${min_rate} | ${max_rate}
474 | | ...                                       | ${threshold}
475
476 | TC14: 78B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq
477 | | [Documentation]
478 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
479 | | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\
480 | | ... | port.
481 | | ... | [Ver] Find PDR for 78 Byte frames using binary search start\
482 | | ... | at 10GE linerate, step 100kpps, LT=0.5%.
483 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv6oIPv4
484 | | ...    | SKIP_PATCH
485 | | ${framesize}= | Set Variable | ${78}
486 | | ${min_rate}= | Set Variable | ${100000}
487 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
488 | | ${binary_min}= | Set Variable | ${min_rate}
489 | | ${binary_max}= | Set Variable | ${max_rate}
490 | | ${threshold}= | Set Variable | ${min_rate}
491 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
492 | | And   Add PCI devices to DUTs from 3-node single link topology
493 | | And   Add No Multi Seg to all DUTs
494 | | And   Apply startup configuration on all VPP DUTs
495 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
496 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
497 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
498 | | And  Set up Lisp topology
499 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
500 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
501 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
502 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
503 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
504 | | ...                                       | ${binary_max} | 3-node-IPv6
505 | | ...                                       | ${min_rate} | ${max_rate}
506 | | ...                                       | ${threshold}
507 | | ...                                       | ${glob_loss_acceptance}
508 | | ...                                       | ${glob_loss_acceptance_type}
509
510 | TC15: 1460B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq
511 | | [Documentation]
512 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
513 | | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\
514 | | ... | port.
515 | | ... | [Ver] Find NDR for 1460 Byte frames using binary search start\
516 | | ... | at 10GE linerate, step 10kpps.
517 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6oIPv4
518 | | ...    | SKIP_PATCH
519 | | ${framesize}= | Set Variable | ${1460}
520 | | ${min_rate}= | Set Variable | ${10000}
521 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
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' in 3-node single-link topo
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 Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
530 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
531 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
532 | | And  Set up Lisp topology
533 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
534 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
535 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
536 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
537 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
538 | | ...                                       | ${binary_max} | 3-node-IPv6
539 | | ...                                       | ${min_rate} | ${max_rate}
540 | | ...                                       | ${threshold}
541
542 | TC16: 1460B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq
543 | | [Documentation]
544 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
545 | | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\
546 | | ... | port.
547 | | ... | [Ver] Find PDR for 1460 Byte frames using binary search start\
548 | | ... | at 10GE linerate, step 10kpps, LT=0.5%.
549 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv6oIPv4
550 | | ...    | SKIP_PATCH
551 | | ${framesize}= | Set Variable | ${1460}
552 | | ${min_rate}= | Set Variable | ${10000}
553 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
554 | | ${binary_min}= | Set Variable | ${min_rate}
555 | | ${binary_max}= | Set Variable | ${max_rate}
556 | | ${threshold}= | Set Variable | ${min_rate}
557 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
558 | | And   Add PCI devices to DUTs from 3-node single link topology
559 | | And   Add No Multi Seg to all DUTs
560 | | And   Apply startup configuration on all VPP DUTs
561 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
562 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
563 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
564 | | And  Set up Lisp topology
565 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
566 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
567 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
568 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
569 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
570 | | ...                                       | ${binary_max} | 3-node-IPv6
571 | | ...                                       | ${min_rate} | ${max_rate}
572 | | ...                                       | ${threshold}
573 | | ...                                       | ${glob_loss_acceptance}
574 | | ...                                       | ${glob_loss_acceptance_type}
575
576 | TC17: 9000B NDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq
577 | | [Documentation]
578 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
579 | | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\
580 | | ... | port.
581 | | ... | [Ver] Find NDR for 9000 Byte frames using binary search start\
582 | | ... | at 10GE linerate, step 5kpps.
583 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | NDR | LISP_IPv6oIPv4
584 | | ...    | SKIP_PATCH
585 | | ${framesize}= | Set Variable | ${9000}
586 | | ${min_rate}= | Set Variable | ${10000}
587 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
588 | | ${binary_min}= | Set Variable | ${min_rate}
589 | | ${binary_max}= | Set Variable | ${max_rate}
590 | | ${threshold}= | Set Variable | ${min_rate}
591 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
592 | | And   Add PCI devices to DUTs from 3-node single link topology
593 | | And   Apply startup configuration on all VPP DUTs
594 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
595 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
596 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
597 | | And  Set up Lisp topology
598 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
599 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
600 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
601 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
602 | | Then Find NDR using binary search and pps | ${framesize} | ${binary_min}
603 | | ...                                       | ${binary_max} | 3-node-IPv6
604 | | ...                                       | ${min_rate} | ${max_rate}
605 | | ...                                       | ${threshold}
606
607 | TC18: 9000B PDR binary search - DUT IPv6 over LISPoIPv4 tunnel - 4thread 4core 2rxq
608 | | [Documentation]
609 | | ... | [Cfg] DUT runs IPv6 LISP remote static mappings and whitelist\
610 | | ... | filters config with 4 threads, 4 phy cores, 2 receive queues per NIC\
611 | | ... | port.
612 | | ... | [Ver] Find PDR for 9000 Byte frames using binary search start\
613 | | ... | at 10GE linerate, step 5kpps, LT=0.5%.
614 | | [Tags] | 4_THREAD_NOHTT_RXQUEUES_2 | MULTI_THREAD | PDR | LISP_IPv6oIPv4
615 | | ...    | SKIP_PATCH
616 | | ${framesize}= | Set Variable | ${9000}
617 | | ${min_rate}= | Set Variable | ${10000}
618 | | ${max_rate}= | Calculate pps | ${s_limit} | ${framesize + 48}
619 | | ${binary_min}= | Set Variable | ${min_rate}
620 | | ${binary_max}= | Set Variable | ${max_rate}
621 | | ${threshold}= | Set Variable | ${min_rate}
622 | | Given Add '4' worker threads and rxqueues '2' in 3-node single-link topo
623 | | And   Add PCI devices to DUTs from 3-node single link topology
624 | | And   Apply startup configuration on all VPP DUTs
625 | | When Lisp IPv6 over IPv4 forwarding initialized in a 3-node circular topology
626 | | ...  | ${dut1_to_dut2_ip6o4} | ${dut1_to_tg_ip6o4} | ${dut2_to_dut1_ip6o4}
627 | | ...  | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} | ${dut_prefix6o4}
628 | | And  Set up Lisp topology
629 | | ...  | ${dut1} | ${dut1_if2} | ${NONE}
630 | | ...  | ${dut2} | ${dut2_if1} | ${NONE}
631 | | ...  | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid}
632 | | ...  | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency}
633 | | Then Find PDR using binary search and pps | ${framesize} | ${binary_min}
634 | | ...                                       | ${binary_max} | 3-node-IPv6
635 | | ...                                       | ${min_rate} | ${max_rate}
636 | | ...                                       | ${threshold}
637 | | ...                                       | ${glob_loss_acceptance}
638 | | ...                                       | ${glob_loss_acceptance_type}