346ce86c921dc65562df7d3071b4f3003801bf01
[csit.git] / tests / func / bridge_domain / bridge_domain_untagged.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/default.robot
16 | Resource | resources/libraries/robot/bridge_domain.robot
17 | Resource | resources/libraries/robot/testing_path.robot
18 | Resource | resources/libraries/robot/qemu.robot
19 | Library  | resources.libraries.python.Trace
20 | Force Tags | HW_ENV | VM_ENV
21 | Test Setup | Func Test Setup
22 | Test Teardown | Func Test Teardown
23 | Documentation | *L2 bridge-domain test cases*
24 | ...
25 | ... | *[Top] Network Topologies:* TG=DUT1 2-node topology with two links
26 | ... | between nodes; TG-DUT1-DUT2-TG 3-node circular topology with
27 | ... | single links between nodes; TG=DUT1=DUT2=TG 3-node circular
28 | ... | topology with double parallel links and TG=DUT=VM 3-node topology
29 | ... | with VM and double parallel links.
30 | ... | *[Enc] Packet Encapsulations:* Eth-IPv4-ICMPv4 for L2 switching of
31 | ... | IPv4; Eth-IPv6-ICMPv6 for L2 switching of IPv6 use. Both apply
32 | ... | to all links.
33 | ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with L2
34 | ... | bridge-domain (L2BD) switching combined with static MACs; MAC
35 | ... | learning enabled and Split Horizon Groups (SHG) depending on
36 | ... | test case.
37 | ... | *[Ver] TG verification:* Test ICMPv4 (or ICMPv6) Echo Request packets
38 | ... | are sent in both directions by TG on links to DUT1 and DUT2; on
39 | ... | receive TG verifies packets for correctness and their IPv4 (IPv6)
40 | ... | src-addr, dst-addr and MAC addresses.
41 | ... | *[Ref] Applicable standard specifications:*
42
43 *** Variables ***
44 | ${bd_id1}= | 1
45 | ${bd_id2}= | 2
46 | ${shg1}= | 3
47 | ${shg2}= | 4
48 | ${sock1}= | /tmp/sock1
49 | ${sock2}= | /tmp/sock2
50
51 *** Test Cases ***
52 | TC01: DUT reports active interfaces
53 | | [Documentation]
54 | | ... | [Top] TG=DUT1; TG-DUT1-DUT2-TG. [Enc] None. [Cfg] Discovered \
55 | | ... | active interfaces. [Ver] Report active interfaces on DUT. [Ref]
56 | | [Tags] | 3_NODE_DOUBLE_LINK_TOPO | 3_NODE_SINGLE_LINK_TOPO
57 | | VPP reports interfaces on | ${nodes['DUT1']}
58
59 | TC02: DUT with L2BD (MAC learning) switch ICMPv4 between two TG links
60 | | [Documentation]
61 | | ... | [Top] TG=DUT1. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 configure \
62 | | ... | two i/fs into L2BD with MAC learning. [Ver] Make TG verify
63 | | ... | ICMPv4 Echo Req pkts are switched thru DUT1 in both directions
64 | | ... | and are correct on receive. [Ref]
65 | | [Tags] | 3_NODE_DOUBLE_LINK_TOPO
66 | | Given Path for 2-node testing is set
67 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
68 | | And Interfaces in 2-node path are up
69 | | When Bridge domain on DUT node is created | ${dut_node} | ${bd_id1}
70 | | And Interface is added to bridge domain | ${dut_node} | ${dut_to_tg_if1}
71 | | ...                                     | ${bd_id1}
72 | | And Interface is added to bridge domain | ${dut_node} | ${dut_to_tg_if2}
73 | | ...                                     | ${bd_id1}
74 | | Then Send and receive ICMPv4 bidirectionally | ${tg_node} | ${tg_to_dut_if1}
75 | | ...                                     | ${tg_to_dut_if2}
76
77 | TC03: DUT1 and DUT2 with L2BD (MAC learning) switch between two TG links
78 | | [Documentation]
79 | | ... | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 and DUT2 \
80 | | ... | configure two i/fs into L2BD with MAC learning. [Ver] Make TG
81 | | ... | verify ICMPv4 Echo Req pkts are switched thru DUT1 and DUT2 in
82 | | ... | both directions and are correct on receive. [Ref]
83 | | [Tags] | 3_NODE_SINGLE_LINK_TOPO
84 | | Given Path for 3-node testing is set
85 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
86 | | And Interfaces in 3-node path are up
87 | | When Bridge domain on DUT node is created | ${dut1_node} | ${bd_id1}
88 | | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_tg}
89 | | ...                                     | ${bd_id1}
90 | | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_dut2}
91 | | ...                                     | ${bd_id1}
92 | | And Bridge domain on DUT node is created | ${dut2_node} | ${bd_id2}
93 | | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_tg}
94 | | ...                                     | ${bd_id2}
95 | | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_dut1}
96 | | ...                                     | ${bd_id2}
97 | | Then Send and receive ICMPv4 bidirectionally | ${tg_node} | ${tg_to_dut1}
98 | | ...                                          | ${tg_to_dut2}
99
100 | TC04: DUT1 and DUT2 with L2BD (static MACs) switch between two TG links
101 | | [Documentation]
102 | | ... | [Top] TG-DUT1-DUT2-TG. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 and \
103 | | ... | DUT2 configure two i/fs into L2BD with static MACs. [Ver] Make
104 | | ... | TG verify ICMPv4 Echo Req pkts are switched thru DUT1 and DUT2
105 | | ... | in both directions and are correct on receive. [Ref]
106 | | [Tags] | 3_NODE_SINGLE_LINK_TOPO
107 | | Given Path for 3-node testing is set
108 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']}
109 | | And Interfaces in 3-node path are up
110 | | When Bridge domain on DUT node is created | ${dut1_node} | ${bd_id1}
111 | | ...                                       | learn=${FALSE}
112 | | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_tg}
113 | | ...                                     | ${bd_id1}
114 | | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_dut2}
115 | | ...                                     | ${bd_id1}
116 | | And Destination port is added to L2FIB on DUT node | ${tg_node}
117 | | ...                                                | ${tg_to_dut1}
118 | | ...                                                | ${dut1_node}
119 | | ...                                                | ${dut1_to_tg}
120 | | ...                                                | ${bd_id1}
121 | | And Destination port is added to L2FIB on DUT node | ${tg_node}
122 | | ...                                                | ${tg_to_dut2}
123 | | ...                                                | ${dut1_node}
124 | | ...                                                | ${dut1_to_dut2}
125 | | ...                                                | ${bd_id1}
126 | | And Bridge domain on DUT node is created | ${dut2_node} | ${bd_id2}
127 | | ...                                      | learn=${FALSE}
128 | | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_tg}
129 | | ...                                     | ${bd_id2}
130 | | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_dut1}
131 | | ...                                     | ${bd_id2}
132 | | And Destination port is added to L2FIB on DUT node | ${tg_node}
133 | | ...                                                | ${tg_to_dut1}
134 | | ...                                                | ${dut2_node}
135 | | ...                                                | ${dut2_to_dut1}
136 | | ...                                                | ${bd_id2}
137 | | And Destination port is added to L2FIB on DUT node | ${tg_node}
138 | | ...                                                | ${tg_to_dut2}
139 | | ...                                                | ${dut2_node}
140 | | ...                                                | ${dut2_to_tg}
141 | | ...                                                | ${bd_id2}
142 | | Then Send and receive ICMPv4 bidirectionally | ${tg_node} | ${tg_to_dut1}
143 | | ...                                          | ${tg_to_dut2}
144
145 | TC05: DUT1 and DUT2 with L2BD (MAC learn) and SHG switch between four TG links
146 | | [Documentation]
147 | | ... | [Top] TG=DUT1=DUT2=TG. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 and \
148 | | ... | DUT2 configure four i/fs into L2BD with MAC learning and the
149 | | ... | same SHG on i/fs towards TG. [Ver] Make TG verify ICMPv4 Echo
150 | | ... | Req pkts are switched thru DUT1 and DUT2 in both directions and
151 | | ... | are correct on receive; verify no pkts are switched thru SHG
152 | | ... | isolated interfaces. [Ref]
153 | | [Tags] | 3_NODE_DOUBLE_LINK_TOPO
154 | | Given Path for 3-node BD-SHG testing is set | ${nodes['TG']}
155 | | ...                                         | ${nodes['DUT1']}
156 | | ...                                         | ${nodes['DUT2']}
157 | | And Interfaces in 3-node BD-SHG testing are up
158 | | When Bridge domain on DUT node is created | ${dut1_node} | ${bd_id1}
159 | | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_tg_if1}
160 | | ...                                     | ${bd_id1} | ${shg1}
161 | | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_tg_if2}
162 | | ...                                     | ${bd_id1} | ${shg1}
163 | | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_dut2}
164 | | ...                                     | ${bd_id1}
165 | | And Bridge domain on DUT node is created | ${dut2_node} | ${bd_id2}
166 | | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_tg_if1}
167 | | ...                                     | ${bd_id2} | ${shg2}
168 | | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_tg_if2}
169 | | ...                                     | ${bd_id2} | ${shg2}
170 | | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_dut1}
171 | | ...                                     | ${bd_id2}
172 | | Then Send and receive ICMPv4 bidirectionally | ${tg_node}
173 | | ...                                          | ${tg_to_dut1_if1}
174 | | ...                                          | ${tg_to_dut2_if1}
175 | | And Send and receive ICMPv4 bidirectionally | ${tg_node}
176 | | ...                                         | ${tg_to_dut1_if1}
177 | | ...                                         | ${tg_to_dut2_if2}
178 | | And Send and receive ICMPv4 bidirectionally | ${tg_node}
179 | | ...                                         | ${tg_to_dut1_if2}
180 | | ...                                         | ${tg_to_dut2_if1}
181 | | And Send and receive ICMPv4 bidirectionally | ${tg_node}
182 | | ...                                         | ${tg_to_dut1_if2}
183 | | ...                                         | ${tg_to_dut2_if2}
184 | | And Run Keyword And Expect Error | ICMP echo Rx timeout
185 | | ...                              | Send and receive ICMPv4 bidirectionally
186 | | | ...                            | ${tg_node} | ${tg_to_dut1_if1}
187 | | | ...                            | ${tg_to_dut1_if2}
188 | | And Run Keyword And Expect Error | ICMP echo Rx timeout
189 | | ...                              | Send and receive ICMPv4 bidirectionally
190 | | | ...                            | ${tg_node} | ${tg_to_dut2_if1}
191 | | | ...                            | ${tg_to_dut2_if2}
192
193 | TC06: DUT with two L2BDs (MAC learn) switches ICMPv4 between TG and VM links
194 | | [Documentation]
195 | | ... | [Top] TG=DUT=VM. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 configure \
196 | | ... | two L2BDs with MAC learning, each with vhost-user i/f to local
197 | | ... | VM and i/f to TG; configure VM to loop pkts back betwen its two
198 | | ... | virtio i/fs. [Ver] Make TG verify ICMPv4 Echo Req pkts are
199 | | ... | switched thru DUT1 and VM in both directions and are correct on
200 | | ... | receive. [Ref]
201 | | [Tags] | 3_NODE_DOUBLE_LINK_TOPO | VPP_VM_ENV
202 | | Given Path for 2-node testing is set
203 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
204 | | And Interfaces in 2-node path are up
205 | | When VPP Vhost interfaces for L2BD forwarding are setup | ${dut_node}
206 | | ...                                                     | ${sock1}
207 | | ...                                                     | ${sock2}
208 | | And Bridge domain on DUT node is created | ${dut_node} | ${bd_id1}
209 | | And Interface is added to bridge domain | ${dut_node} | ${dut_to_tg_if1}
210 | | ...                                     | ${bd_id1}
211 | | And Interface is added to bridge domain | ${dut_node} | ${vhost_if1}
212 | | ...                                     | ${bd_id1}
213 | | And Bridge domain on DUT node is created | ${dut_node} | ${bd_id2}
214 | | And Interface is added to bridge domain | ${dut_node} | ${dut_to_tg_if2}
215 | | ...                                     | ${bd_id2}
216 | | And Interface is added to bridge domain | ${dut_node} | ${vhost_if2}
217 | | ...                                     | ${bd_id2}
218 | | And VM for Vhost L2BD forwarding is setup | ${dut_node} | ${sock1}
219 | | ...                                       | ${sock2}
220 | | Then Send and receive ICMPv4 bidirectionally | ${tg_node} | ${tg_to_dut_if1}
221 | | ...                                          | ${tg_to_dut_if2}
222 | | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
223 | | ... | AND | Show vpp trace dump on all DUTs
224 | | ... | AND | Stop and Clear QEMU | ${dut_node} | ${vm_node}
225 | | ... | AND | Check VPP PID in Teardown
226
227 | TC07: DUT with two L2BDs (MAC learn) switches ICMPv6 between TG and VM links
228 | | [Documentation]
229 | | ... | [Top] TG=DUT=VM. [Enc] Eth-IPv6-ICMPv6. [Cfg] On DUT1 configure \
230 | | ... | two L2BDs with MAC learning, each with vhost-user i/f to local
231 | | ... | VM and i/f to TG; configure VM to loop pkts back betwen its two
232 | | ... | virtio i/fs. [Ver] Make TG verify ICMPv6 Echo Req pkts are
233 | | ... | switched thru DUT1 and VM in both directions and are correct on
234 | | ... | receive. [Ref]
235 | | [Tags] | 3_NODE_DOUBLE_LINK_TOPO | VPP_VM_ENV
236 | | Given Path for 2-node testing is set
237 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
238 | | And Interfaces in 2-node path are up
239 | | When VPP Vhost interfaces for L2BD forwarding are setup | ${dut_node}
240 | | ...                                                     | ${sock1}
241 | | ...                                                     | ${sock2}
242 | | And Bridge domain on DUT node is created | ${dut_node} | ${bd_id1}
243 | | And Interface is added to bridge domain | ${dut_node} | ${dut_to_tg_if1}
244 | | ...                                     | ${bd_id1}
245 | | And Interface is added to bridge domain | ${dut_node} | ${vhost_if1}
246 | | ...                                     | ${bd_id1}
247 | | And Bridge domain on DUT node is created | ${dut_node} | ${bd_id2}
248 | | And Interface is added to bridge domain | ${dut_node} | ${dut_to_tg_if2}
249 | | ...                                     | ${bd_id2}
250 | | And Interface is added to bridge domain | ${dut_node} | ${vhost_if2}
251 | | ...                                     | ${bd_id2}
252 | | And VM for Vhost L2BD forwarding is setup | ${dut_node} | ${sock1}
253 | | ...                                       | ${sock2}
254 | | Then Send and receive ICMPv6 bidirectionally | ${tg_node} | ${tg_to_dut_if1}
255 | | ...                                          | ${tg_to_dut_if2}
256 | | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
257 | | ... | AND | Show vpp trace dump on all DUTs
258 | | ... | AND | Stop and Clear QEMU | ${dut_node} | ${vm_node}
259 | | ... | AND | Check VPP PID in Teardown
260
261 | TC08: DUT with two L2BDs (static MACs) switches ICMPv4 between TG and VM links
262 | | [Documentation]
263 | | ... | [Top] TG=DUT=VM. [Enc] Eth-IPv4-ICMPv4. [Cfg] On DUT1 configure \
264 | | ... | two L2BDs with static MACs, each with vhost-user i/f to local VM
265 | | ... | and i/f to TG; configure VM to loop pkts back betwen its two
266 | | ... | virtio i/fs. [Ver] Make TG verify ICMPv4 Echo Req pkts are
267 | | ... | switched thru DUT1 and VM in both directions and are correct on
268 | | ... | receive. [Ref]
269 | | [Tags] | 3_NODE_DOUBLE_LINK_TOPO | VPP_VM_ENV
270 | | Given Path for 2-node testing is set
271 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
272 | | And Interfaces in 2-node path are up
273 | | When VPP Vhost interfaces for L2BD forwarding are setup | ${dut_node}
274 | | ...                                                     | ${sock1}
275 | | ...                                                     | ${sock2}
276 | | And Bridge domain on DUT node is created | ${dut_node} | ${bd_id1}
277 | | ...                                      | learn=${FALSE}
278 | | And Interface is added to bridge domain | ${dut_node} | ${dut_to_tg_if1}
279 | | ...                                     | ${bd_id1}
280 | | And Interface is added to bridge domain | ${dut_node} | ${vhost_if1}
281 | | ...                                     | ${bd_id1}
282 | | And Destination port is added to L2FIB on DUT node | ${tg_node}
283 | | ...                                                | ${tg_to_dut_if1}
284 | | ...                                                | ${dut_node}
285 | | ...                                                | ${dut_to_tg_if1}
286 | | ...                                                | ${bd_id1}
287 | | And Destination port is added to L2FIB on DUT node | ${tg_node}
288 | | ...                                                | ${tg_to_dut_if2}
289 | | ...                                                | ${dut_node}
290 | | ...                                                | ${vhost_if1}
291 | | ...                                                | ${bd_id1}
292 | | And Bridge domain on DUT node is created | ${dut_node} | ${bd_id2}
293 | | ...                                      | learn=${FALSE}
294 | | And Interface is added to bridge domain | ${dut_node} | ${dut_to_tg_if2}
295 | | ...                                     | ${bd_id2}
296 | | And Interface is added to bridge domain | ${dut_node} | ${vhost_if2}
297 | | ...                                     | ${bd_id2}
298 | | And Destination port is added to L2FIB on DUT node | ${tg_node}
299 | | ...                                                | ${tg_to_dut_if2}
300 | | ...                                                | ${dut_node}
301 | | ...                                                | ${dut_to_tg_if2}
302 | | ...                                                | ${bd_id2}
303 | | And Destination port is added to L2FIB on DUT node | ${tg_node}
304 | | ...                                                | ${tg_to_dut_if1}
305 | | ...                                                | ${dut_node}
306 | | ...                                                | ${vhost_if2}
307 | | ...                                                | ${bd_id2}
308 | | And VM for Vhost L2BD forwarding is setup | ${dut_node} | ${sock1}
309 | | ...                                       | ${sock2}
310 | | Then Send and receive ICMPv4 bidirectionally | ${tg_node} | ${tg_to_dut_if1}
311 | | ...                                          | ${tg_to_dut_if2}
312 | | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
313 | | ... | AND | Show vpp trace dump on all DUTs
314 | | ... | AND | Stop and Clear QEMU | ${dut_node} | ${vm_node}
315 | | ... | AND | Check VPP PID in Teardown
316
317 | TC09: DUT with two L2BDs (static MACs) switches ICMPv6 between TG and VM links
318 | | [Documentation]
319 | | ... | [Top] TG=DUT=VM. [Enc] Eth-IPv6-ICMPv6. [Cfg] On DUT1 configure \
320 | | ... | two L2BDs with static MACs, each with vhost-user i/f to local VM
321 | | ... | and i/f to TG; configure VM to loop pkts back betwen its two
322 | | ... | virtio i/fs. [Ver] Make TG verify ICMPv6 Echo Req pkts are
323 | | ... | switched thru DUT1 and VM in both directions and are correct on
324 | | ... | receive. [Ref]
325 | | ...
326 | | [Tags] | 3_NODE_DOUBLE_LINK_TOPO | VPP_VM_ENV
327 | | ...
328 | | [Teardown] | Run Keywords | Show Packet Trace on All DUTs | ${nodes}
329 | | ... | AND | Show vpp trace dump on all DUTs
330 | | ... | AND | Stop and Clear QEMU | ${dut_node} | ${vm_node}
331 | | ... | AND | Check VPP PID in Teardown
332 | | ...
333 | | Given Path for 2-node testing is set
334 | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['TG']}
335 | | And Interfaces in 2-node path are up
336 | | When VPP Vhost interfaces for L2BD forwarding are setup | ${dut_node}
337 | | ...                                                     | ${sock1}
338 | | ...                                                     | ${sock2}
339 | | And Bridge domain on DUT node is created | ${dut_node} | ${bd_id1}
340 | | ...                                      | learn=${FALSE}
341 | | And Interface is added to bridge domain | ${dut_node} | ${dut_to_tg_if1}
342 | | ...                                     | ${bd_id1}
343 | | And Interface is added to bridge domain | ${dut_node} | ${vhost_if1}
344 | | ...                                     | ${bd_id1}
345 | | And Destination port is added to L2FIB on DUT node | ${tg_node}
346 | | ...                                                | ${tg_to_dut_if1}
347 | | ...                                                | ${dut_node}
348 | | ...                                                | ${dut_to_tg_if1}
349 | | ...                                                | ${bd_id1}
350 | | And Destination port is added to L2FIB on DUT node | ${tg_node}
351 | | ...                                                | ${tg_to_dut_if2}
352 | | ...                                                | ${dut_node}
353 | | ...                                                | ${vhost_if1}
354 | | ...                                                | ${bd_id1}
355 | | And Bridge domain on DUT node is created | ${dut_node} | ${bd_id2}
356 | | ...                                      | learn=${FALSE}
357 | | And Interface is added to bridge domain | ${dut_node} | ${dut_to_tg_if2}
358 | | ...                                     | ${bd_id2}
359 | | And Interface is added to bridge domain | ${dut_node} | ${vhost_if2}
360 | | ...                                     | ${bd_id2}
361 | | And Destination port is added to L2FIB on DUT node | ${tg_node}
362 | | ...                                                | ${tg_to_dut_if2}
363 | | ...                                                | ${dut_node}
364 | | ...                                                | ${dut_to_tg_if2}
365 | | ...                                                | ${bd_id2}
366 | | And Destination port is added to L2FIB on DUT node | ${tg_node}
367 | | ...                                                | ${tg_to_dut_if1}
368 | | ...                                                | ${dut_node}
369 | | ...                                                | ${vhost_if2}
370 | | ...                                                | ${bd_id2}
371 | | And VM for Vhost L2BD forwarding is setup | ${dut_node} | ${sock1}
372 | | ...                                       | ${sock2}
373 | | Then Send and receive ICMPv6 bidirectionally | ${tg_node} | ${tg_to_dut_if1}
374 | | ...                                          | ${tg_to_dut_if2}