-| TC01: Tap Interface Simple BD
-| | [Documentation]
-| | ... | [Top] TG-DUT1-TG.
-| | ... | [Enc] Eth-IPv4-ICMPv4.
-| | ... | [Cfg] On DUT1 configure two
-| | ... | L2BD with two if's for each L2BD with MAC learning and one L2BD
-| | ... | joining two linux-TAP interfaces created by VPP located in namespace.
-| | ... | [Ver] Packet sent from TG is passed through all L2BD and received
-| | ... | back on TG. Then src_ip, dst_ip and MAC are checked.
-| | ...
-| | [Teardown] | Run Keywords
-| | ... | Linux Del Bridge | ${dut_node} | ${bid_TAP} | AND
-| | ... | Show Packet Trace on All DUTs | ${nodes} | AND
-| | ... | Clean Up Namespaces | ${nodes['DUT1']} | AND
-| | ... | Check VPP PID in Teardown
-| | ...
-| | Given Path for 2-node testing is set | ${nodes['TG']} | ${nodes['DUT1']}
-| | ... | ${nodes['TG']}
-| | And Interfaces in 2-node path are up
-| | ${int1}= | And Add Tap Interface | ${dut_node} | ${tap_int1}
-| | ${int2}= | And Add Tap Interface | ${dut_node} | ${tap_int2}
-| | And Set Interface State | ${dut_node} | ${int1} | up
-| | And Set Interface State | ${dut_node} | ${int2} | up
-| | And Bridge domain on DUT node is created | ${dut_node}
-| | ... | ${bid_from_TG} | learn=${TRUE}
-| | And Bridge domain on DUT node is created | ${dut_node}
-| | ... | ${bid_to_TG} | learn=${TRUE}
-| | And Linux Add Bridge | ${dut_node}
-| | ... | ${bid_TAP} | ${tap_int1} | ${tap_int2}
-| | And Interface is added to bridge domain | ${dut_node}
-| | ... | ${int1} | ${bid_to_TG} | 0
-| | And Interface is added to bridge domain | ${dut_node}
-| | ... | ${dut_to_tg_if1} | ${bid_to_TG} | 0
-| | And Interface is added to bridge domain | ${dut_node}
-| | ... | ${int2} | ${bid_from_TG} | 0
-| | And Interface is added to bridge domain | ${dut_node}
-| | ... | ${dut_to_tg_if2} | ${bid_from_TG} | 0
-| | Then Send and receive ICMP Packet | ${tg_node}
-| | ... | ${tg_to_dut_if1} | ${tg_to_dut_if2}
-
-| TC02: Tap Interface IP Ping Without Namespace
-| | [Documentation]
-| | ... | [Top] TG-DUT1-TG.
-| | ... | [Enc] Eth-IPv4-ICMPv4.
-| | ... | [Cfg] On DUT1 configure two interface addresses with IPv4 of which
-| | ... | one is TAP interface ( dut_to_tg_if and TAP ).
-| | ... | and one is linux-TAP.
-| | ... | [Ver] Packet sent from TG gets to the destination and ICMP-reply is
-| | ... | received on TG.
-| | Given Path for 2-node testing is set | ${nodes['TG']} | ${nodes['DUT1']}
-| | ... | ${nodes['TG']}
-| | And Interfaces in 2-node path are up
-| | ${int1}= | And Add Tap Interface | ${dut_node} | ${tap_int1} |
-| | And Set Interface Address
-| | ... | ${dut_node} | ${int1} | ${tap1_VPP_ip} | ${prefix}
-| | And Set Interface Address
-| | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip_address} | ${prefix}
-| | And Set Interface State | ${dut_node} | ${int1} | up
-| | And Set Linux Interface MAC | ${dut_node} | ${tap_int1} | ${tap1_NM_mac}
-| | And Set Linux Interface IP | ${dut_node}
-| | ... | ${tap_int1} | ${tap1_NM_ip} | ${prefix}
-| | And Add Route | ${dut_node}
-| | ... | ${tg_ip_address_GW} | ${prefix} | ${tap1_VPP_ip}
-| | And Add Arp On Dut | ${dut_node} | ${dut_to_tg_if1}
-| | ... | ${tg_ip_address} | ${tg_to_dut_if1_mac}
-| | And Add Arp On Dut | ${dut_node} | ${int1}
-| | ... | ${tap1_NM_ip} | ${tap1_NM_mac}
-| | Then Node replies to ICMP echo request | ${tg_node} | ${tg_to_dut_if1}
-| | ... | ${dut_to_tg_if1_mac} | ${tg_to_dut_if1_mac}
-| | ... | ${tap1_NM_ip} | ${tg_ip_address}
-
-| TC03: Tap Interface IP Ping With Namespace
-| | [Documentation]
-| | ... | [Top] TG-DUT1-TG.
-| | ... | [Enc] Eth-IPv4-ICMPv4.
-| | ... | [Cfg] On DUT1 configure two interface addresses with IPv4 of which
-| | ... | one is TAP interface ( dut_to_tg_if and TAP ).
-| | ... | and one is linux-TAP in namespace.
-| | ... | [Ver] Packet sent from TG gets to the destination and ICMP-reply is
-| | ... | received on TG.
-| | Given Path for 2-node testing is set | ${nodes['TG']} | ${nodes['DUT1']}
-| | ... | ${nodes['TG']}
-| | And Interfaces in 2-node path are up
-| | ${int1}= | And Add Tap Interface | ${dut_node} | ${tap_int1} |
-| | And Set Interface Address
-| | ... | ${dut_node} | ${int1} | ${tap1_VPP_ip} | ${prefix}
-| | And Set Interface Address
-| | ... | ${dut_node} | ${dut_to_tg_if1} | ${dut_ip_address} | ${prefix}
-| | And Set Interface State | ${dut_node} | ${int1} | up
-| | When Create Namespace | ${dut_node} | ${namespace1}
-| | And Attach Interface To Namespace | ${dut_node}
-| | ... | ${namespace1} | ${tap_int1}
-| | And Set Linux Interface MAC | ${dut_node}
-| | ... | ${tap_int1} | ${tap1_NM_mac} | ${namespace1}
-| | And Set Linux Interface IP | ${dut_node}
-| | ... | ${tap_int1} | ${tap1_NM_ip} | ${prefix} | ${namespace1}
-| | And Add Arp On Dut | ${dut_node} | ${dut_to_tg_if1}
-| | ... | ${tg_ip_address} | ${tg_to_dut_if1_mac}
-| | And Add Arp On Dut | ${dut_node} | ${int1}
-| | ... | ${tap1_NM_ip} | ${tap1_NM_mac}
-| | And Add Route | ${dut_node}
-| | ... | ${tg_ip_address_GW} | ${prefix} | ${tap1_VPP_ip} | ${namespace1}
-| | Then Node replies to ICMP echo request | ${tg_node} | ${tg_to_dut_if1}
-| | ... | ${dut_to_tg_if1_mac} | ${tg_to_dut_if1_mac}
-| | ... | ${tap1_NM_ip} | ${tg_ip_address}
-
-| TC04: Tap Interface BD - Different Split Horizon