interfaces

eth2p-ethicmpv4-ip4base-eth-1tap-dev

Tap Interface Traffic Tests

  • [Top] Network Topologies: TG=DUT1 2-node topology with two links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-ICMPv4 for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 and DUT2 are configured with L2 bridge-domain (L2BD) MAC learning enabled; Split Horizon Groups (SHG) are set depending on test case; Namespaces (NM) are set on DUT1 with attached linux-TAP.

  • [Ver] TG verification: Test ICMPv4 Echo Request packets are sent by TG on link to DUT1; On receipt TG verifies packets for correctness and their IPv4 src-addr, dst-addr, and MAC addresses.

  • [Ref] Applicable standard specifications:

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 64b-ethicmpv4-ip4base- 
eth-1tap-dev

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
tap_create_v2(id=4294967295,use_random_mac=True,mac_address=None,num_rx_queues=1,tx_ring_sz=0,rx_ring_sz=0,host_mtu_set=False,host_mac_addr_set=False,host_ip4_prefix_set=False,host_ip6_prefix_set=False,host_ip4_gw_set=False,host_ip6_gw_set=False,host_namespace_set=False,host_namespace=None,host_if_name_set=True,host_if_name=’tap0’,host_bridge_set=False,tap_flags=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_tap_v2_dump()
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x10x00nx01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x00x01’}}})
sw_interface_set_flags(sw_if_index=3,flags=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:00’, ‘ip_address’: ‘192.168.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:00:00:00:00:02’, ‘ip_address’: ‘16.0.10.2’})

eth2p-ethicmpv4-ip4base-eth-1tap-namespace-dev

Tap Interface Traffic Tests

  • [Top] Network Topologies: TG=DUT1 2-node topology with two links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-ICMPv4 for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 and DUT2 are configured with L2 bridge-domain (L2BD) MAC learning enabled; Split Horizon Groups (SHG) are set depending on test case; Namespaces (NM) are set on DUT1 with attached linux-TAP.

  • [Ver] TG verification: Test ICMPv4 Echo Request packets are sent by TG on link to DUT1; On receipt TG verifies packets for correctness and their IPv4 src-addr, dst-addr, and MAC addresses.

  • [Ref] Applicable standard specifications:

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 64b-ethicmpv4-ip4base- 
eth-1tap-namespace-dev

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
tap_create_v2(id=4294967295,use_random_mac=True,mac_address=None,num_rx_queues=1,tx_ring_sz=0,rx_ring_sz=0,host_mtu_set=False,host_mac_addr_set=False,host_ip4_prefix_set=False,host_ip6_prefix_set=False,host_ip4_gw_set=False,host_ip6_gw_set=False,host_namespace_set=False,host_namespace=None,host_if_name_set=True,host_if_name=’tap0’,host_bridge_set=False,tap_flags=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_tap_v2_dump()
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x10x00nx01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x00x01’}}})
sw_interface_set_flags(sw_if_index=3,flags=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:00’, ‘ip_address’: ‘192.168.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:00:00:00:00:02’, ‘ip_address’: ‘16.0.10.2’})

eth2p-ethipv4-l2bdbasemaclrn-eth-2tap-dev

Tap Interface Traffic Tests

  • [Top] Network Topologies: TG=DUT1 2-node topology with two links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4 for L2 switching of IPv4.

  • [Cfg] DUT configuration: DUT1 and DUT2 are configured with L2 bridge-domain (L2BD) MAC learning enabled; Split Horizon Groups (SHG) are set depending on test case; Namespaces (NM) are set on DUT1 with attached linux-TAP.

  • [Ver] TG verification: Test IPv4 packets with IP protocol=61 are sent by TG on link to DUT1; On receipt TG verifies packets for correctness and their IPv4 src-addr, dst-addr, and MAC addresses.

  • [Ref] Applicable standard specifications:

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 64b-ethipv4-l2bdbasemaclrn- 
eth-2tap-dev

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
tap_create_v2(id=4294967295,use_random_mac=True,mac_address=None,num_rx_queues=1,tx_ring_sz=0,rx_ring_sz=0,host_mtu_set=False,host_mac_addr_set=False,host_ip4_prefix_set=False,host_ip6_prefix_set=False,host_ip4_gw_set=False,host_ip6_gw_set=False,host_namespace_set=False,host_namespace=None,host_if_name_set=True,host_if_name=’tap0’,host_bridge_set=False,tap_flags=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_tap_v2_dump()
tap_create_v2(id=4294967295,use_random_mac=True,mac_address=None,num_rx_queues=1,tx_ring_sz=0,rx_ring_sz=0,host_mtu_set=False,host_mac_addr_set=False,host_ip4_prefix_set=False,host_ip6_prefix_set=False,host_ip4_gw_set=False,host_ip6_gw_set=False,host_namespace_set=False,host_namespace=None,host_if_name_set=True,host_if_name=’tap1’,host_bridge_set=False,tap_flags=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_tap_v2_dump()
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
bridge_domain_add_del(bd_id=19,flood=True,uu_flood=True,forward=True,learn=True,arp_term=False,is_add=True)
bridge_domain_add_del(bd_id=20,flood=True,uu_flood=True,forward=True,learn=True,arp_term=False,is_add=True)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=20,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=20,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=19,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=19,shg=0,port_type=0,enable=True)