diff options
author | Nidhy <nidhyanandhan.a@hcl.com> | 2019-08-31 12:53:12 +0000 |
---|---|---|
committer | Peter Mikus <pmikus@cisco.com> | 2019-09-19 13:38:58 +0000 |
commit | aafa2efa63b891e85ff13255691aae4909bc503c (patch) | |
tree | 9ea9e6d57a25148009a84661fff7a0e30907c529 /tests/vpp/func/ip4_tunnels | |
parent | a295b175cd410e63829a71eb4565f4bc0f6965a4 (diff) |
LISP: 3-node (func) to 2-node (dev) converstion
Change-Id: I0fbe4d9ef1b30a1ac1382ea43b5b52aeb8a7d39f
Signed-off-by: Nidhy <nidhyanandhan.a@hcl.com>
Diffstat (limited to 'tests/vpp/func/ip4_tunnels')
4 files changed, 0 insertions, 358 deletions
diff --git a/tests/vpp/func/ip4_tunnels/__init__.robot b/tests/vpp/func/ip4_tunnels/__init__.robot deleted file mode 100644 index 501a130d68..0000000000 --- a/tests/vpp/func/ip4_tunnels/__init__.robot +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (c) 2017 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. diff --git a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lisp-ip4base-func.robot b/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lisp-ip4base-func.robot deleted file mode 100644 index a2d1da3e52..0000000000 --- a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lisp-ip4base-func.robot +++ /dev/null @@ -1,129 +0,0 @@ -# Copyright (c) 2019 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.Trace -| ... -| Resource | resources/libraries/robot/ip/ip4.robot -| Resource | resources/libraries/robot/l2/l2_traffic.robot -| Resource | resources/libraries/robot/overlay/lisp_static_adjacency.robot -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/shared/traffic.robot -| ... -# import additional Lisp settings from resource file -| Variables | resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | 3_NODE_DOUBLE_LINK_TOPO -| ... | VM_ENV | HW_ENV -| ... -| Test Setup | Set up functional test -| ... -| Test Teardown | Tear down functional test -| ... -| Documentation | *IP AFI independent functional tests.* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-LISP-IPv4-ICMPv4 on DUT1-DUT2,\ -| ... | Eth-IPv4-ICMPv4 on TG-DUTn for IPv4 routing over LISPoIPv4 tunnel. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4\ -| ... | routing and static routes. LISPoIPv4 tunnel is\ -| ... | configured between DUT1 and DUT2. -| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets\ -| ... | are sent in both directions by TG on links to DUT1 and DUT2; on receive\ -| ... | TG verifies packets for correctness and their IPv4 src-addr,\ -| ... | dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC6830. - -*** Test Cases *** -| TC01: DUT1 and DUT2 route IPv4 over LISPoIPv4 tunnel after disable-enable -| | [Documentation] -| | ... | [Top] TG-DUT1-DUT2-TG. -| | ... | [Enc] Eth-IPv4-LISP-IPv4-ICMPv4 on DUT1-DUT2, Eth-IPv4-ICMPv4 on\ -| | ... | TG-DUTn. -| | ... | [Cfg1] On DUT1 and DUT2 configure IPv4 LISP static adjacencies. -| | ... | [Ver1] Make TG send ICMPv4 Echo Req between its interfaces across\ -| | ... | both DUTs and LISP tunnel between them; verify IPv4 headers on\ -| | ... | received packets are correct. -| | ... | [Cfg2] Disable LISP. -| | ... | [Ver2] Verify packets are not received via LISP tunnel. -| | ... | [Cfg3] Re-enable LISP. -| | ... | [Ver3] Verify packets are received again via LISP tunnel. -| | ... | [Ref] RFC6830. -| | Given Configure path in 3-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} -| | And Set interfaces in 3-node circular topology up -| | And VPP Interface Set IP Address -| | ... | ${dut1_node} | ${dut1_to_dut2} -| | ... | ${dut1_to_dut2_ip4} | ${prefix4} -| | And VPP Interface Set IP Address -| | ... | ${dut1_node} | ${dut1_to_tg} -| | ... | ${dut1_to_tg_ip4} | ${prefix4} -| | And VPP Interface Set IP Address -| | ... | ${dut2_node} | ${dut2_to_dut1} -| | ... | ${dut2_to_dut1_ip4} | ${prefix4} -| | And VPP Interface Set IP Address -| | ... | ${dut2_node} | ${dut2_to_tg} -| | ... | ${dut2_to_tg_ip4} | ${prefix4} -| | And VPP IP Probe | ${dut1_node} | ${dut1_to_dut2} | ${dut2_to_dut1_ip4} -| | And VPP IP Probe | ${dut2_node} | ${dut2_to_dut1} | ${dut1_to_dut2_ip4} -| | And VPP Add IP Neighbor -| | ... | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip4} | ${tg_to_dut2_mac} -| | And VPP Add IP Neighbor -| | ... | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip4} | ${tg_to_dut1_mac} -| | When Configure LISP topology in 3-node circular topology -| | ... | ${dut1_node} | ${dut1_to_dut2} | ${NONE} -| | ... | ${dut2_node} | ${dut2_to_dut1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_to_dut2_ip4_static_adjacency} -| | ... | ${dut2_to_dut1_ip4_static_adjacency} -| | Then Send packet and verify headers -| | ... | ${tg_node} | ${tg1_ip4} | ${tg2_ip4} -| | ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} -| | ... | ${tg_to_dut2} | ${dut2_to_tg_mac} | ${tg_to_dut2_mac} -| | And Send packet and verify headers -| | ... | ${tg_node} | ${tg2_ip4} | ${tg1_ip4} -| | ... | ${tg_to_dut2} | ${tg_to_dut2_mac} | ${dut2_to_tg_mac} -| | ... | ${tg_to_dut1} | ${dut1_to_tg_mac} | ${tg_to_dut1_mac} -| | When Disable Lisp | ${dut1_node} -| | Then Packet transmission from port to port should fail -| | ... | ${tg_node} | ${tg1_ip4} | ${tg2_ip4} -| | ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} -| | ... | ${tg_to_dut2} | ${dut2_to_tg_mac} | ${tg_to_dut2_mac} -| | And Packet transmission from port to port should fail -| | ... | ${tg_node} | ${tg2_ip4} | ${tg1_ip4} -| | ... | ${tg_to_dut2} | ${tg_to_dut2_mac} | ${dut2_to_tg_mac} -| | ... | ${tg_to_dut1} | ${dut1_to_tg_mac} | ${tg_to_dut1_mac} -| | When Enable Lisp | ${dut1_node} -| | And Vpp Add Lisp Adjacency | ${dut1_node} -| | ... | ${dut1_to_dut2_ip4_static_adjacency['vni']} -| | ... | ${dut1_to_dut2_ip4_static_adjacency['deid']} -| | ... | ${dut1_to_dut2_ip4_static_adjacency['prefix']} -| | ... | ${dut1_to_dut2_ip4_static_adjacency['seid']} -| | ... | ${dut1_to_dut2_ip4_static_adjacency['prefix']} -| | And Vpp Add Lisp Adjacency | ${dut2_node} -| | ... | ${dut2_to_dut1_ip4_static_adjacency['vni']} -| | ... | ${dut2_to_dut1_ip4_static_adjacency['deid']} -| | ... | ${dut2_to_dut1_ip4_static_adjacency['prefix']} -| | ... | ${dut2_to_dut1_ip4_static_adjacency['seid']} -| | ... | ${dut2_to_dut1_ip4_static_adjacency['prefix']} -| | Then Wait Until Keyword Succeeds | 2x | 5s | Send packet and verify headers -| | ... | ${tg_node} | ${tg1_ip4} | ${tg2_ip4} -| | ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} -| | ... | ${tg_to_dut2} | ${dut2_to_tg_mac} | ${tg_to_dut2_mac} -| | And Wait Until Keyword Succeeds | 2x | 5s | Send packet and verify headers -| | ... | ${tg_node} | ${tg2_ip4} | ${tg1_ip4} -| | ... | ${tg_to_dut2} | ${tg_to_dut2_mac} | ${dut2_to_tg_mac} -| | ... | ${tg_to_dut1} | ${dut1_to_tg_mac} | ${tg_to_dut1_mac} diff --git a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip4base-func.robot b/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip4base-func.robot deleted file mode 100644 index adde88ab4f..0000000000 --- a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip4base-func.robot +++ /dev/null @@ -1,107 +0,0 @@ -# Copyright (c) 2019 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Library | resources.libraries.python.InterfaceUtil -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.NodePath -| Library | resources.libraries.python.topology.Topology -| Library | resources.libraries.python.Trace -| Library | resources.libraries.python.VhostUser -| Library | resources.libraries.python.VPPUtil -| ... -| Resource | resources/libraries/robot/ip/ip4.robot -| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot -| Resource | resources/libraries/robot/overlay/lispgpe.robot -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/shared/interfaces.robot -| Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/shared/traffic.robot -| ... -# Import configuration and test data: -| Variables | resources/test_data/lisp/ipv4_lispgpe_ipv4/ipv4_lispgpe_ipv4.py -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | VM_ENV | LISP -| ... -| Test Setup | Set up functional test -| ... -| Test Teardown | Tear down LISP functional test -| ... -| Documentation | *ip4-lispgpe-ip4 encapsulation test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-LISP-IPv4-ICMPv4 on DUT1-DUT2,\ -| ... | Eth-IPv4-ICMPv4 on TG-DUTn for IPv4 routing over LISPoIPv4 tunnel. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv4\ -| ... | routing and static routes. LISPoIPv4 tunnel is configured between\ -| ... | DUT1 and DUT2. -| ... | *[Ver] TG verification:* Test ICMPv4 Echo Request packets are sent in\ -| ... | both directions by TG on links to DUT1 and DUT2; on receive\ -| ... | TG verifies packets for correctness and their IPv4 src-addr, dst-addr\ -| ... | and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC6830. - -*** Test Cases *** -| TC01: DUT1 and DUT2 route IPv4 bidirectionally over LISP GPE tunnel using physical interfaces -| | [Documentation] -| | ... | [Top] TG-DUT1-DUT2-TG. -| | ... | [Enc] Eth-IPv4-LISPGPE-IPv4-ICMPv4 on DUT1-DUT2, Eth-IPv4-ICMPv4 on\ -| | ... | TG-DUTn. -| | ... | [Cfg] Configure IPv4 LISP static adjacencies on DUT1 and DUT2. -| | ... | [Ver] Case: ip4-lispgpe-ip4 - phy2lisp -| | ... | Make TG send ICMPv4 Echo Req between its interfaces across both\ -| | ... | DUTs and LISP GPE tunnel between them; verify IPv4 headers on\ -| | ... | received packets are correct. -| | ... | [Ref] RFC6830. -| | ... -| | Given Configure path in 3-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} -| | And Set interfaces in 3-node circular topology up -| | And VPP Interface Set IP Address -| | ... | ${dut1_node} | ${dut1_to_dut2} | ${dut1_to_dut2_ip4} | ${prefix4} -| | And VPP Interface Set IP Address -| | ... | ${dut1_node} | ${dut1_to_tg} | ${dut1_to_tg_ip4} | ${prefix4} -| | And VPP Interface Set IP Address -| | ... | ${dut2_node} | ${dut2_to_dut1} | ${dut2_to_dut1_ip4} | ${prefix4} -| | And VPP Interface Set IP Address -| | ... | ${dut2_node} | ${dut2_to_tg} | ${dut2_to_tg_ip4} | ${prefix4} -| | And Add IP Neighbors -| | When Configure LISP GPE topology in 3-node circular topology -| | ... | ${dut1_node} | ${dut1_to_dut2} | ${NONE} -| | ... | ${dut2_node} | ${dut2_to_dut1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip4_eid} | ${dut2_ip4_eid} -| | ... | ${dut1_to_dut2_ip4_static_adjacency} -| | ... | ${dut2_to_dut1_ip4_static_adjacency} -| | Then Send packet and verify headers -| | ... | ${tg_node} | ${tg1_ip4} | ${tg2_ip4} -| | ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} -| | ... | ${tg_to_dut2} | ${dut2_to_tg_mac} | ${tg_to_dut2_mac} -| | And Send packet and verify headers -| | ... | ${tg_node} | ${tg2_ip4} | ${tg1_ip4} -| | ... | ${tg_to_dut2} | ${tg_to_dut2_mac} | ${dut2_to_tg_mac} -| | ... | ${tg_to_dut1} | ${dut1_to_tg_mac} | ${tg_to_dut1_mac} - -*** Keywords *** -| Add IP Neighbors -| | [Documentation] -| | ... | Add IP neighbors to physical interfaces on DUTs. -| | ... -| | VPP Add IP Neighbor -| | ... | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip4} | ${tg_to_dut1_mac} -| | VPP Add IP Neighbor -| | ... | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip4} | ${tg_to_dut2_mac} -| | VPP Add IP Neighbor | ${dut1_node} -| | ... | ${dut1_to_dut2} | ${dut2_to_dut1_ip4} | ${dut2_to_dut1_mac} -| | VPP Add IP Neighbor | ${dut2_node} -| | ... | ${dut2_to_dut1} | ${dut1_to_dut2_ip4} | ${dut1_to_dut2_mac} diff --git a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip6base-func.robot b/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip6base-func.robot deleted file mode 100644 index ce8b910854..0000000000 --- a/tests/vpp/func/ip4_tunnels/lisp/eth2p-ethip4lispgpe-ip6base-func.robot +++ /dev/null @@ -1,110 +0,0 @@ -# Copyright (c) 2019 Cisco and/or its affiliates. -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at: -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -*** Settings *** -| Library | resources.libraries.python.IPUtil -| Library | resources.libraries.python.Trace -| Library | resources.libraries.python.VhostUser -| Library | resources.libraries.python.VPPUtil -| ... -| Resource | resources/libraries/robot/ip/ip4.robot -| Resource | resources/libraries/robot/l2/l2_bridge_domain.robot -| Resource | resources/libraries/robot/l2/l2_traffic.robot -| Resource | resources/libraries/robot/overlay/lispgpe.robot -| Resource | resources/libraries/robot/overlay/lisp_static_adjacency.robot -| Resource | resources/libraries/robot/shared/default.robot -| Resource | resources/libraries/robot/shared/testing_path.robot -| Resource | resources/libraries/robot/shared/traffic.robot -| ... -# import additional Lisp settings from resource file -| Variables | resources/test_data/lisp/static_adjacency/lisp_static_adjacency.py -| ... -| Force Tags | 3_NODE_SINGLE_LINK_TOPO | 3_NODE_DOUBLE_LINK_TOPO -| ... | VM_ENV | HW_ENV -| ... -| Test Setup | Set up functional test -| ... -| Test Teardown | Tear down functional test -| ... -| Documentation | *LISP static adjacency test cases* -| ... -| ... | *[Top] Network Topologies:* TG-DUT1-DUT2-TG 3-node circular topology\ -| ... | with single links between nodes. -| ... | *[Enc] Packet Encapsulations:* Eth-IPv4-LISP-IPv6-ICMPv6 on DUT1-DUT2,\ -| ... | Eth-IPv6-ICMPv6 on TG-DUTn for IPv6 routing over LISPoIPv4 tunnel. -| ... | *[Cfg] DUT configuration:* DUT1 and DUT2 are configured with IPv6\ -| ... | routing and static routes. LISPoIPv4 tunnel is configured\ -| ... | between DUT1 and DUT2. -| ... | *[Ver] TG verification:* Test ICMPv6 Echo Request packets\ -| ... | are sent in both directions by TG on links to DUT1 and DUT2; on receive\ -| ... | TG verifies packets for correctness and their IPv6 src-addr,\ -| ... | dst-addr and MAC addresses. -| ... | *[Ref] Applicable standard specifications:* RFC6830. - -*** Test Cases *** -| TC01: DUT1 and DUT2 route IPv6 bidirectionally over LISPoIPv4 tunnel -| | [Documentation] -| | ... | [Top] TG-DUT1-DUT2-TG. -| | ... | [Enc] Eth-IPv4-LISP-IPv6-ICMPv6 on DUT1-DUT2, Eth-IPv6-ICMPv6 on\ -| | ... | TG-DUTn. -| | ... | [Cfg] On DUT1 and DUT2 configure IPv4 LISP static adjacencies. -| | ... | [Ver] Make TG send ICMPv6 Echo Req between its interfaces across both\ -| | ... | DUTs and LISP tunnel between them; verify IPv6 headers on received\ -| | ... | packets are correct. -| | ... | [Cfg2] Reconf LISP. -| | ... | [Ver2] Verify packets are received again via LISP tunnel. -| | ... | [Ref] RFC6830. -| | Given Configure path in 3-node circular topology -| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} -| | And Set interfaces in 3-node circular topology up -| | And VPP Interface Set IP Address -| | ... | ${dut1_node} | ${dut1_to_dut2} -| | ... | ${dut1_to_dut2_ip6o4} | ${dut_prefix6o4} -| | And VPP Interface Set IP Address -| | ... | ${dut1_node} | ${dut1_to_tg} -| | ... | ${dut1_to_tg_ip6o4} | ${tg_prefix6o4} -| | And VPP Interface Set IP Address -| | ... | ${dut2_node} | ${dut2_to_dut1} -| | ... | ${dut2_to_dut1_ip6o4} | ${dut_prefix6o4} -| | And VPP Interface Set IP Address -| | ... | ${dut2_node} | ${dut2_to_tg} -| | ... | ${dut2_to_tg_ip6o4} | ${tg_prefix6o4} -| | And Add IP Neighbors -| | And Vpp All RA Suppress Link Layer | ${nodes} -| | When Configure LISP topology in 3-node circular topology -| | ... | ${dut1_node} | ${dut1_to_dut2} | ${NONE} -| | ... | ${dut2_node} | ${dut2_to_dut1} | ${NONE} -| | ... | ${duts_locator_set} | ${dut1_ip6o4_eid} | ${dut2_ip6o4_eid} -| | ... | ${dut1_ip6o4_static_adjacency} | ${dut2_ip6o4_static_adjacency} -| | Then Send packet and verify headers -| | ... | ${tg_node} | ${tg1_ip6o4} | ${tg2_ip6o4} -| | ... | ${tg_to_dut1} | ${tg_to_dut1_mac} | ${dut1_to_tg_mac} -| | ... | ${tg_to_dut2} | ${dut2_to_tg_mac} | ${tg_to_dut2_mac} -| | And Send packet and verify headers -| | ... | ${tg_node} | ${tg2_ip6o4} | ${tg1_ip6o4} -| | ... | ${tg_to_dut2} | ${tg_to_dut2_mac} | ${dut2_to_tg_mac} -| | ... | ${tg_to_dut1} | ${dut1_to_tg_mac} | ${tg_to_dut1_mac} - -*** Keywords *** -| Add IP Neighbors -| | [Documentation] -| | ... | Add IP neighbors to physical interfaces on DUTs. -| | ... -| | VPP Add IP Neighbor -| | ... | ${dut1_node} | ${dut1_to_tg} | ${tg1_ip6o4} | ${tg_to_dut1_mac} -| | VPP Add IP Neighbor -| | ... | ${dut2_node} | ${dut2_to_tg} | ${tg2_ip6o4} | ${tg_to_dut2_mac} -| | VPP Add IP Neighbor | ${dut1_node} -| | ... | ${dut1_to_dut2} | ${dut2_to_dut1_ip6o4} | ${dut2_to_dut1_mac} -| | VPP Add IP Neighbor | ${dut2_node} -| | ... | ${dut2_to_dut1} | ${dut1_to_dut2_ip6o4} | ${dut1_to_dut2_mac} |