diff options
-rwxr-xr-x | bootstrap.sh | 4 | ||||
-rw-r--r-- | resources/libraries/robot/bridge_domain.robot | 4 | ||||
-rw-r--r-- | tests/suites/vxlan/vxlan_bd_untagged.robot | 346 |
3 files changed, 336 insertions, 18 deletions
diff --git a/bootstrap.sh b/bootstrap.sh index d1ca2f4606..9c7db03b01 100755 --- a/bootstrap.sh +++ b/bootstrap.sh @@ -110,8 +110,8 @@ if [ "${#}" -ne "0" ]; then echo ${arr[0]} else rm -f *.deb - VPP_STABLE_VER="1.0.0-451~g686a5a5_amd64" - VPP_REPO_URL="https://nexus.fd.io/service/local/repositories/fd.io.dev/content/io/fd/vpp" + VPP_STABLE_VER="16.09-rc0~33-g4b46c84~b200_amd64" + VPP_REPO_URL="https://nexus.fd.io/service/local/repositories/fd.io.master.ubuntu.trusty.main/content/io/fd/vpp" wget -q "${VPP_REPO_URL}/vpp/${VPP_STABLE_VER}/vpp-${VPP_STABLE_VER}.deb" || exit wget -q "${VPP_REPO_URL}/vpp-dbg/${VPP_STABLE_VER}/vpp-dbg-${VPP_STABLE_VER}.deb" || exit wget -q "${VPP_REPO_URL}/vpp-dev/${VPP_STABLE_VER}/vpp-dev-${VPP_STABLE_VER}.deb" || exit diff --git a/resources/libraries/robot/bridge_domain.robot b/resources/libraries/robot/bridge_domain.robot index f1458a0023..96af11d2da 100644 --- a/resources/libraries/robot/bridge_domain.robot +++ b/resources/libraries/robot/bridge_domain.robot @@ -216,7 +216,7 @@ | | ... | *Example:* | | ... | | ... | \| VM for Vhost L2BD forwarding is setup \| ${nodes['DUT1']} \ -| | ... | \| /tmp/sock1 \| /tmp/sock2 +| | ... | \| /tmp/sock1 \| /tmp/sock2 \| | | [Arguments] | ${node} | ${sock1} | ${sock2} | | Set Test Variable | ${vm_node} | ${None} | | Qemu Set Node | ${node} @@ -247,7 +247,7 @@ | | ... | *Example:* | | ... | | ... | \| VPP Vhost interfaces for L2BD forwarding are setup \ -| | ... | \| ${nodes['DUT1']} \| /tmp/sock1 \| /tmp/sock2 +| | ... | \| ${nodes['DUT1']} \| /tmp/sock1 \| /tmp/sock2 \| | | [Arguments] | ${node} | ${sock1} | ${sock2} | | ${vhost_if1}= | Vpp Create Vhost User Interface | ${node} | ${sock1} | | ${vhost_if2}= | Vpp Create Vhost User Interface | ${node} | ${sock2} diff --git a/tests/suites/vxlan/vxlan_bd_untagged.robot b/tests/suites/vxlan/vxlan_bd_untagged.robot index ecf2c55e33..5ce93e04b6 100644 --- a/tests/suites/vxlan/vxlan_bd_untagged.robot +++ b/tests/suites/vxlan/vxlan_bd_untagged.robot @@ -24,23 +24,341 @@ | Test Teardown | Show Packet Trace on All DUTs | ${nodes} *** Variables *** -| ${VNI}= | 23 -| ${BID}= | 23 +| ${vni_1}= | 23 +| ${vni_2}= | 35 + +| ${bd_id1}= | 10 +| ${bd_id2}= | 20 +| ${bd_id3}= | 30 +| ${shg1}= | 1 +| ${shg2}= | 2 + +| ${ip4_addr1}= | 172.16.0.1 +| ${ip4_addr2}= | 172.16.0.2 +| ${ip4_prefix}= | 24 + +| ${ip6_addr1}= | 3ffe:64::1 +| ${ip6_addr2}= | 3ffe:64::2 +| ${ip6_prefix}= | 64 *** Test Cases *** -| VPP can pass IPv4 bidirectionally through VXLAN +| VPP can pass IPv4 bidirectionally through VXLAN using bridge domain +| | [Documentation] | Create VXLAN interface on both VPP nodes. Create one +| | ... | bridge domain (learning enabled) on both VPP nodes, add +| | ... | VXLAN interface and interface toward TG to bridge domains +| | ... | and check traffic bidirectionally. | | Given Path for 3-node testing is set | | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} -| | And Interfaces in 3-node path are up -| | And IP addresses are set on interfaces | ${dut1_node} | ${dut1_to_dut2} | ${NONE} -| | ... | ${dut2_node} | ${dut2_to_dut1} | ${NONE} -| | ${dut1s_vxlan}= | When Create VXLAN interface | ${dut1_node} | ${VNI} -| | | ... | ${dut1s_ip_address} | ${dut2s_ip_address} -| | And Interfaces are added to BD | ${dut1_node} | ${BID} -| | ... | ${dut1_to_tg} | ${dut1s_vxlan} -| | ${dut2s_vxlan}= | And Create VXLAN interface | ${dut2_node} | ${VNI} -| | | ... | ${dut2s_ip_address} | ${dut1s_ip_address} -| | And Interfaces are added to BD | ${dut2_node} | ${BID} -| | ... | ${dut2_to_tg} | ${dut2s_vxlan} +| | And Interfaces in 3-node path are up +| | And IP addresses are set on interfaces | ${dut1_node} | ${dut1_to_dut2} | ${NONE} +| | ... | ${dut2_node} | ${dut2_to_dut1} | ${NONE} +| | ${dut1s_vxlan}= | When Create VXLAN interface | ${dut1_node} | ${vni_1} +| | | ... | ${dut1s_ip_address} | ${dut2s_ip_address} +| | And Interfaces are added to BD | ${dut1_node} | ${bd_id1} +| | ... | ${dut1_to_tg} | ${dut1s_vxlan} +| | ${dut2s_vxlan}= | And Create VXLAN interface | ${dut2_node} | ${vni_1} +| | | ... | ${dut2s_ip_address} | ${dut1s_ip_address} +| | And Interfaces are added to BD | ${dut2_node} | ${bd_id1} +| | ... | ${dut2_to_tg} | ${dut2s_vxlan} | | Then Send and receive ICMPv4 bidirectionally | | ... | ${tg_node} | ${tg_to_dut1} | ${tg_to_dut2} + +| Vpp forwards ICMPv4 packets through VXLAN tunnels in the same split-horizon group of one L2 bridge domain +| | [Documentation] | Create two VXLAN interfaces on both VPP nodes. Create one +| | ... | bridge domain (learning enabled) on the first VPP node, +| | ... | add VXLAN interfaces to the same split-horizon group of +| | ... | the bridge domain where interfaces toward TG are added to. +| | ... | Create two bridge domains (learning enabled) on the second +| | ... | VPP node and add one VXLAN interface and one interface +| | ... | toward TG to each of them. Check traffic bidirectionally. +| | [Tags] | 3_NODE_DOUBLE_LINK_TOPO +| | Given Path for 3-node BD-SHG testing is set | ${nodes['TG']} +| | ... | ${nodes['DUT1']} +| | ... | ${nodes['DUT2']} +| | And Interfaces in 3-node BD-SHG testing are up +| | And Set Interface Address | ${dut1_node} | ${dut1_to_dut2} | ${ip4_addr1} +| | ... | ${ip4_prefix} +| | And Set Interface Address | ${dut2_node} | ${dut2_to_dut1} | ${ip4_addr2} +| | ... | ${ip4_prefix} +| | And VPP IP Probe | ${dut1_node} | ${dut1_to_dut2} | ${ip4_addr2} +| | And VPP IP Probe | ${dut2_node} | ${dut2_to_dut1} | ${ip4_addr1} +| | ${dut1s_vxlan1}= | When Create VXLAN interface | ${dut1_node} | ${vni_1} +| | | ... | ${ip4_addr1} | ${ip4_addr2} +| | ${dut1s_vxlan2}= | And Create VXLAN interface | ${dut1_node} | ${vni_2} +| | | ... | ${ip4_addr1} | ${ip4_addr2} +| | ${dut2s_vxlan1}= | And Create VXLAN interface | ${dut2_node} | ${vni_1} +| | | ... | ${ip4_addr2} | ${ip4_addr1} +| | ${dut2s_vxlan2}= | And Create VXLAN interface | ${dut2_node} | ${vni_2} +| | | ... | ${ip4_addr2} | ${ip4_addr1} +| | And Set Interface State | ${dut1_node} | ${dut1s_vxlan1} | up +| | And Set Interface State | ${dut1_node} | ${dut1s_vxlan2} | up +| | And Set Interface State | ${dut2_node} | ${dut2s_vxlan1} | up +| | And Set Interface State | ${dut2_node} | ${dut2s_vxlan2} | up +| | And Vpp Node Interfaces Ready Wait | ${dut1_node} +| | And Vpp Node Interfaces Ready Wait | ${dut2_node} +| | And Bridge domain on DUT node is created | ${dut1_node} | ${bd_id1} +| | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_tg_if1} +| | ... | ${bd_id1} +| | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_tg_if2} +| | ... | ${bd_id1} +| | And Interface is added to bridge domain | ${dut1_node} | ${dut1s_vxlan1} +| | ... | ${bd_id1} | ${shg1} +| | And Interface is added to bridge domain | ${dut1_node} | ${dut1s_vxlan2} +| | ... | ${bd_id1} | ${shg1} +| | And Bridge domain on DUT node is created | ${dut2_node} | ${bd_id2} +| | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_tg_if1} +| | ... | ${bd_id2} +| | And Interface is added to bridge domain | ${dut2_node} | ${dut2s_vxlan1} +| | ... | ${bd_id2} +| | And Bridge domain on DUT node is created | ${dut2_node} | ${bd_id3} +| | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_tg_if2} +| | ... | ${bd_id3} +| | And Interface is added to bridge domain | ${dut2_node} | ${dut2s_vxlan2} +| | ... | ${bd_id3} +| | Then Send and receive ICMPv4 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut1_if1} +| | ... | ${tg_to_dut2_if1} +| | And Send and receive ICMPv4 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut1_if1} +| | ... | ${tg_to_dut2_if2} +| | And Send and receive ICMPv4 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut1_if2} +| | ... | ${tg_to_dut2_if1} +| | And Send and receive ICMPv4 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut1_if2} +| | ... | ${tg_to_dut2_if2} +| | And Run Keyword And Expect Error | ICMP echo Rx timeout +| | ... | Send and receive ICMPv4 bidirectionally +| | | ... | ${tg_node} | ${tg_to_dut2_if1} +| | | ... | ${tg_to_dut2_if2} + +| Vpp forwards ICMPv4 packets through VXLAN tunnels in different split-horizon groups of one L2 bridge domain +| | [Documentation] | Create two VXLAN interfaces on both VPP nodes. Create one +| | ... | bridge domain (learning enabled) on the first VPP node, +| | ... | add VXLAN interfaces to different split-horizon groups of +| | ... | the bridge domain where interfaces toward TG are added to. +| | ... | Create two bridge domains (learning enabled) on the second +| | ... | VPP node and add one VXLAN interface and one interface +| | ... | toward TG to each of them. Check traffic bidirectionally. +| | [Tags] | 3_NODE_DOUBLE_LINK_TOPO +| | Given Path for 3-node BD-SHG testing is set | ${nodes['TG']} +| | ... | ${nodes['DUT1']} +| | ... | ${nodes['DUT2']} +| | And Interfaces in 3-node BD-SHG testing are up +| | And Set Interface Address | ${dut1_node} | ${dut1_to_dut2} | ${ip4_addr1} +| | ... | ${ip4_prefix} +| | And Set Interface Address | ${dut2_node} | ${dut2_to_dut1} | ${ip4_addr2} +| | ... | ${ip4_prefix} +| | And VPP IP Probe | ${dut1_node} | ${dut1_to_dut2} | ${ip4_addr2} +| | And VPP IP Probe | ${dut2_node} | ${dut2_to_dut1} | ${ip4_addr1} +| | ${dut1s_vxlan1}= | When Create VXLAN interface | ${dut1_node} | ${vni_1} +| | | ... | ${ip4_addr1} | ${ip4_addr2} +| | ${dut1s_vxlan2}= | And Create VXLAN interface | ${dut1_node} | ${vni_2} +| | | ... | ${ip4_addr1} | ${ip4_addr2} +| | ${dut2s_vxlan1}= | And Create VXLAN interface | ${dut2_node} | ${vni_1} +| | | ... | ${ip4_addr2} | ${ip4_addr1} +| | ${dut2s_vxlan2}= | And Create VXLAN interface | ${dut2_node} | ${vni_2} +| | | ... | ${ip4_addr2} | ${ip4_addr1} +| | And Set Interface State | ${dut1_node} | ${dut1s_vxlan1} | up +| | And Set Interface State | ${dut1_node} | ${dut1s_vxlan2} | up +| | And Set Interface State | ${dut2_node} | ${dut2s_vxlan1} | up +| | And Set Interface State | ${dut2_node} | ${dut2s_vxlan2} | up +| | And Vpp Node Interfaces Ready Wait | ${dut1_node} +| | And Vpp Node Interfaces Ready Wait | ${dut2_node} +| | And Bridge domain on DUT node is created | ${dut1_node} | ${bd_id1} +| | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_tg_if1} +| | ... | ${bd_id1} +| | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_tg_if2} +| | ... | ${bd_id1} +| | And Interface is added to bridge domain | ${dut1_node} | ${dut1s_vxlan1} +| | ... | ${bd_id1} | ${shg1} +| | And Interface is added to bridge domain | ${dut1_node} | ${dut1s_vxlan2} +| | ... | ${bd_id1} | ${shg2} +| | And Bridge domain on DUT node is created | ${dut2_node} | ${bd_id2} +| | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_tg_if1} +| | ... | ${bd_id2} +| | And Interface is added to bridge domain | ${dut2_node} | ${dut2s_vxlan1} +| | ... | ${bd_id2} +| | And Bridge domain on DUT node is created | ${dut2_node} | ${bd_id3} +| | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_tg_if2} +| | ... | ${bd_id3} +| | And Interface is added to bridge domain | ${dut2_node} | ${dut2s_vxlan2} +| | ... | ${bd_id3} +| | Then Send and receive ICMPv4 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut1_if1} +| | ... | ${tg_to_dut2_if1} +| | And Send and receive ICMPv4 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut1_if1} +| | ... | ${tg_to_dut2_if2} +| | And Send and receive ICMPv4 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut1_if2} +| | ... | ${tg_to_dut2_if1} +| | And Send and receive ICMPv4 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut1_if2} +| | ... | ${tg_to_dut2_if2} +| | And Send and receive ICMPv4 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut2_if1} +| | ... | ${tg_to_dut2_if2} + +| VPP can pass IPv6 bidirectionally through VXLAN using bridge domain +| | [Documentation] | Create VXLAN interface on both VPP nodes. Create one +| | ... | bridge domain (learning enabled) on both VPP nodes, add +| | ... | VXLAN interface and interface toward TG to bridge domains +| | ... | and check traffic bidirectionally. +| | [Tags] | 3_NODE_DOUBLE_LINK_TOPO +| | Given Path for 3-node testing is set +| | ... | ${nodes['TG']} | ${nodes['DUT1']} | ${nodes['DUT2']} | ${nodes['TG']} +| | And Interfaces in 3-node path are up +| | And Set Interface Address | ${dut1_node} | ${dut1_to_dut2} | ${ip6_addr1} +| | ... | ${ip6_prefix} +| | And Set Interface Address | ${dut2_node} | ${dut2_to_dut1} | ${ip6_addr2} +| | ... | ${ip6_prefix} +| | And VPP IP Probe | ${dut1_node} | ${dut1_to_dut2} | ${ip6_addr2} +| | And VPP IP Probe | ${dut2_node} | ${dut2_to_dut1} | ${ip6_addr1} +| | ${dut1s_vxlan}= | When Create VXLAN interface | ${dut1_node} | ${vni_1} +| | | ... | ${ip6_addr1} | ${ip6_addr2} +| | And Interfaces are added to BD | ${dut1_node} | ${bd_id1} +| | ... | ${dut1_to_tg} | ${dut1s_vxlan} +| | ${dut2s_vxlan}= | And Create VXLAN interface | ${dut2_node} | ${vni_1} +| | | ... | ${ip6_addr2} | ${ip6_addr1} +| | And Interfaces are added to BD | ${dut2_node} | ${bd_id1} +| | ... | ${dut2_to_tg} | ${dut2s_vxlan} +| | Then Send and receive ICMPv6 bidirectionally +| | ... | ${tg_node} | ${tg_to_dut1} | ${tg_to_dut2} + +| Vpp forwards ICMPv6 packets through VXLAN tunnels in the same split-horizon group of one L2 bridge domain +| | [Documentation] | Create two VXLAN interfaces on both VPP nodes. Create one +| | ... | bridge domain (learning enabled) on the first VPP node, +| | ... | add VXLAN interfaces to the same split-horizon group of +| | ... | the bridge domain where interfaces toward TG are added to. +| | ... | Create two bridge domains (learning enabled) on the second +| | ... | VPP node and add one VXLAN interface and one interface +| | ... | toward TG to each of them. Check traffic bidirectionally. +| | [Tags] | 3_NODE_DOUBLE_LINK_TOPO | EXPECTED_FAILING +| | Given Path for 3-node BD-SHG testing is set | ${nodes['TG']} +| | ... | ${nodes['DUT1']} +| | ... | ${nodes['DUT2']} +| | And Interfaces in 3-node BD-SHG testing are up +| | And Set Interface Address | ${dut1_node} | ${dut1_to_dut2} | ${ip6_addr1} +| | ... | ${ip6_prefix} +| | And Set Interface Address | ${dut2_node} | ${dut2_to_dut1} | ${ip6_addr2} +| | ... | ${ip6_prefix} +| | And VPP IP Probe | ${dut1_node} | ${dut1_to_dut2} | ${ip6_addr2} +| | And VPP IP Probe | ${dut2_node} | ${dut2_to_dut1} | ${ip6_addr1} +| | ${dut1s_vxlan1}= | When Create VXLAN interface | ${dut1_node} | ${vni_1} +| | | ... | ${ip6_addr1} | ${ip6_addr2} +| | ${dut1s_vxlan2}= | And Create VXLAN interface | ${dut1_node} | ${vni_2} +| | | ... | ${ip6_addr1} | ${ip6_addr2} +| | ${dut2s_vxlan1}= | And Create VXLAN interface | ${dut2_node} | ${vni_1} +| | | ... | ${ip6_addr2} | ${ip6_addr1} +| | ${dut2s_vxlan2}= | And Create VXLAN interface | ${dut2_node} | ${vni_2} +| | | ... | ${ip6_addr2} | ${ip6_addr1} +| | And Set Interface State | ${dut1_node} | ${dut1s_vxlan1} | up +| | And Set Interface State | ${dut1_node} | ${dut1s_vxlan2} | up +| | And Set Interface State | ${dut2_node} | ${dut2s_vxlan1} | up +| | And Set Interface State | ${dut2_node} | ${dut2s_vxlan2} | up +| | And Vpp Node Interfaces Ready Wait | ${dut1_node} +| | And Vpp Node Interfaces Ready Wait | ${dut2_node} +| | And Bridge domain on DUT node is created | ${dut1_node} | ${bd_id1} +| | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_tg_if1} +| | ... | ${bd_id1} +| | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_tg_if2} +| | ... | ${bd_id1} +| | And Interface is added to bridge domain | ${dut1_node} | ${dut1s_vxlan1} +| | ... | ${bd_id1} | ${shg1} +| | And Interface is added to bridge domain | ${dut1_node} | ${dut1s_vxlan2} +| | ... | ${bd_id1} | ${shg1} +| | And Bridge domain on DUT node is created | ${dut2_node} | ${bd_id2} +| | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_tg_if1} +| | ... | ${bd_id2} +| | And Interface is added to bridge domain | ${dut2_node} | ${dut2s_vxlan1} +| | ... | ${bd_id2} +| | And Bridge domain on DUT node is created | ${dut2_node} | ${bd_id3} +| | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_tg_if2} +| | ... | ${bd_id3} +| | And Interface is added to bridge domain | ${dut2_node} | ${dut2s_vxlan2} +| | ... | ${bd_id3} +| | Then Send and receive ICMPv6 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut1_if1} +| | ... | ${tg_to_dut2_if1} +| | And Send and receive ICMPv6 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut1_if1} +| | ... | ${tg_to_dut2_if2} +| | And Send and receive ICMPv6 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut1_if2} +| | ... | ${tg_to_dut2_if1} +| | And Send and receive ICMPv6 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut1_if2} +| | ... | ${tg_to_dut2_if2} +| | And Run Keyword And Expect Error | ICMP echo Rx timeout +| | ... | Send and receive ICMPv6 bidirectionally +| | | ... | ${tg_node} | ${tg_to_dut2_if1} +| | | ... | ${tg_to_dut2_if2} + +| Vpp forwards ICMPv6 packets through VXLAN tunnels in different split-horizon groups of one L2 bridge domain +| | [Documentation] | Create two VXLAN interfaces on both VPP nodes. Create one +| | ... | bridge domain (learning enabled) on the first VPP node, +| | ... | add VXLAN interfaces to different split-horizon groups of +| | ... | the bridge domain where interfaces toward TG are added to. +| | ... | Create two bridge domains (learning enabled) on the second +| | ... | VPP node and add one VXLAN interface and one interface +| | ... | toward TG to each of them. Check traffic bidirectionally. +| | [Tags] | 3_NODE_DOUBLE_LINK_TOPO | EXPECTED_FAILING +| | Given Path for 3-node BD-SHG testing is set | ${nodes['TG']} +| | ... | ${nodes['DUT1']} +| | ... | ${nodes['DUT2']} +| | And Interfaces in 3-node BD-SHG testing are up +| | And Set Interface Address | ${dut1_node} | ${dut1_to_dut2} | ${ip6_addr1} +| | ... | ${ip6_prefix} +| | And Set Interface Address | ${dut2_node} | ${dut2_to_dut1} | ${ip6_addr2} +| | ... | ${ip6_prefix} +| | And VPP IP Probe | ${dut1_node} | ${dut1_to_dut2} | ${ip6_addr2} +| | And VPP IP Probe | ${dut2_node} | ${dut2_to_dut1} | ${ip6_addr1} +| | ${dut1s_vxlan1}= | When Create VXLAN interface | ${dut1_node} | ${vni_1} +| | | ... | ${ip6_addr1} | ${ip6_addr2} +| | ${dut1s_vxlan2}= | And Create VXLAN interface | ${dut1_node} | ${vni_2} +| | | ... | ${ip6_addr1} | ${ip6_addr2} +| | ${dut2s_vxlan1}= | And Create VXLAN interface | ${dut2_node} | ${vni_1} +| | | ... | ${ip6_addr2} | ${ip6_addr1} +| | ${dut2s_vxlan2}= | And Create VXLAN interface | ${dut2_node} | ${vni_2} +| | | ... | ${ip6_addr2} | ${ip6_addr1} +| | And Set Interface State | ${dut1_node} | ${dut1s_vxlan1} | up +| | And Set Interface State | ${dut1_node} | ${dut1s_vxlan2} | up +| | And Set Interface State | ${dut2_node} | ${dut2s_vxlan1} | up +| | And Set Interface State | ${dut2_node} | ${dut2s_vxlan2} | up +| | And Vpp Node Interfaces Ready Wait | ${dut1_node} +| | And Vpp Node Interfaces Ready Wait | ${dut2_node} +| | And Bridge domain on DUT node is created | ${dut1_node} | ${bd_id1} +| | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_tg_if1} +| | ... | ${bd_id1} +| | And Interface is added to bridge domain | ${dut1_node} | ${dut1_to_tg_if2} +| | ... | ${bd_id1} +| | And Interface is added to bridge domain | ${dut1_node} | ${dut1s_vxlan1} +| | ... | ${bd_id1} | ${shg1} +| | And Interface is added to bridge domain | ${dut1_node} | ${dut1s_vxlan2} +| | ... | ${bd_id1} | ${shg2} +| | And Bridge domain on DUT node is created | ${dut2_node} | ${bd_id2} +| | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_tg_if1} +| | ... | ${bd_id2} +| | And Interface is added to bridge domain | ${dut2_node} | ${dut2s_vxlan1} +| | ... | ${bd_id2} +| | And Bridge domain on DUT node is created | ${dut2_node} | ${bd_id3} +| | And Interface is added to bridge domain | ${dut2_node} | ${dut2_to_tg_if2} +| | ... | ${bd_id3} +| | And Interface is added to bridge domain | ${dut2_node} | ${dut2s_vxlan2} +| | ... | ${bd_id3} +| | Then Send and receive ICMPv6 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut1_if1} +| | ... | ${tg_to_dut2_if1} +| | And Send and receive ICMPv6 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut1_if1} +| | ... | ${tg_to_dut2_if2} +| | And Send and receive ICMPv6 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut1_if2} +| | ... | ${tg_to_dut2_if1} +| | And Send and receive ICMPv6 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut1_if2} +| | ... | ${tg_to_dut2_if2} +| | And Send and receive ICMPv6 bidirectionally | ${tg_node} +| | ... | ${tg_to_dut2_if1} +| | ... | ${tg_to_dut2_if2} |