container memif

eth2p-ethipv4-ip4base-eth-2memif-1dcr-dev

IPv4 routing test cases with memif interface

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

  • [Enc] Packet Encapsulations: Eth-IPv4 for IPv4 routing on both links.

  • [Cfg] DUT configuration: DUT1 is configured with IPv4 routing and two static IPv4 /24 route entries. Container is connected to VPP via Memif interface. Container is running same VPP version as running on DUT.

  • [Ver] TG verification: Test IPv4 packets with IP protocol=61 are sent in one direction by TG on links to DUT1 and via container; on receive TG verifies packets for correctness and their IPv4 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC791, RFC826, RFC792

Name

VPP API Test Commands History - Commands Used Per Test Case

 64b-ethipv4-ip4base- 
eth-2memif-1dcr-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
ip_table_add_del(table={‘table_id’: 10, ‘is_ip6’: False},is_add=True)
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 10, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=10)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘1.1.1.1’})
ip_table_add_del(table={‘table_id’: 11, ‘is_ip6’: False},is_add=True)
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 11, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x14x14x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x02x02x02x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=11)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x02x02x02x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘2.2.2.2’})
memif_socket_filename_add_del(is_add=True,socket_id=1,socket_filename=’/tmp/memif-DUT1_CNF1fe8c8b7452ac7522bf9ba7f9b59d4ae64ccf1bd4898a44574ac5ba583e564b79-1’)
memif_create(role=1,rx_queues=1,tx_queues=1,socket_id=1,id=1,secret=’’)
memif_dump()
memif_dump()
memif_socket_filename_add_del(is_add=True,socket_id=2,socket_filename=’/tmp/memif-DUT1_CNF1fe8c8b7452ac7522bf9ba7f9b59d4ae64ccf1bd4898a44574ac5ba583e564b79-2’)
memif_create(role=1,rx_queues=1,tx_queues=1,socket_id=2,id=1,secret=’’)
memif_dump()
memif_dump()
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=10)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=11)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x1fx1fx1fx01’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’ x01’}}})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 10, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x14x14x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’ x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 11, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x1fx1fx1fx01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:a0:3e:f5:81’, ‘ip_address’: ‘32.32.32.1’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:74:8d:7b:ee’, ‘ip_address’: ‘31.31.31.1’})
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
memif_dump()
show_threads()

eth2p-ethipv4-l2bdbasemaclrn-eth-2memif-1dcr-dev

L2 bridge-domain test cases with memif interface

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

  • [Enc] Packet Encapsulations: Eth-IPv4 for L2 switching of IPv4. Both apply to all links.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge-domain switching. Container is connected to VPP via Memif interface. Container is running same VPP version as running on DUT.

  • [Ver] TG verification: Test IPv4 packets with IP protocol=61 are sent in both directions by TG on links to DUT1 and via container; on receive TG verifies packets for correctness and their IPv4 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC792

Name

VPP API Test Commands History - Commands Used Per Test Case

 64b-ethipv4-l2bdbasemaclrn- 
eth-2memif-1dcr-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=1,shg=0,port_type=0,enable=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=2,shg=0,port_type=0,enable=1)
memif_socket_filename_add_del(is_add=True,socket_id=1,socket_filename=’/tmp/memif-DUT1_CNF1fe8c8b7452ac7522bf9ba7f9b59d4ae64ccf1bd4898a44574ac5ba583e564b79-1’)
memif_create(role=1,rx_queues=1,tx_queues=1,socket_id=1,id=1,secret=’’)
memif_dump()
memif_dump()
memif_socket_filename_add_del(is_add=True,socket_id=2,socket_filename=’/tmp/memif-DUT1_CNF1fe8c8b7452ac7522bf9ba7f9b59d4ae64ccf1bd4898a44574ac5ba583e564b79-2’)
memif_create(role=1,rx_queues=1,tx_queues=1,socket_id=2,id=1,secret=’’)
memif_dump()
memif_dump()
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=1)

eth2p-ethipv4-l2xcbase-eth-2memif-1dcr-dev

L2 cross-connect test cases with memif interface

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

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

  • [Cfg] DUT configuration: DUT1 is configured with L2 cross-connect (L2XC) switching. Container is connected to VPP via Memif interface. Container is running same VPP version as running on DUT.

  • [Ver] TG verification: Test IPv4 packets with IP protocol=61 are sent in both directions by TG on links to DUT1 and via container; on receive TG verifies packets for correctness and their IPv4 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC792

Name

VPP API Test Commands History - Commands Used Per Test Case

 64b-ethipv4-l2xcbase- 
eth-2memif-1dcr-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
memif_socket_filename_add_del(is_add=True,socket_id=1,socket_filename=’/tmp/memif-DUT1_CNF1fe8c8b7452ac7522bf9ba7f9b59d4ae64ccf1bd4898a44574ac5ba583e564b79-1’)
memif_create(role=1,rx_queues=1,tx_queues=1,socket_id=1,id=1,secret=’’)
memif_dump()
memif_dump()
memif_socket_filename_add_del(is_add=True,socket_id=2,socket_filename=’/tmp/memif-DUT1_CNF1fe8c8b7452ac7522bf9ba7f9b59d4ae64ccf1bd4898a44574ac5ba583e564b79-2’)
memif_create(role=1,rx_queues=1,tx_queues=1,socket_id=2,id=1,secret=’’)
memif_dump()
memif_dump()
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=3,enable=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=2,enable=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=1,enable=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=4,enable=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
memif_dump()
show_threads()

eth2p-ethipv6-ip6base-eth-2memif-1dcr-dev

IPv4 routing test cases with memif interface

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

  • [Enc] Packet Encapsulations: Eth-IPv6 for IPv6 routing on both links.

  • [Cfg] DUT configuration: DUT1 is configured with IPv6 routing and two static IPv6 /64 route entries. Container is connected to VPP via Memif interface. Container is running same VPP version as running on DUT.

  • [Ver] TG verification: Test IPv6 packets are sent in one direction by TG on links to DUT1 and via container; on receive TG verifies packets for correctness and their IPv6 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC791, RFC826, RFC792

Name

VPP API Test Commands History - Commands Used Per Test Case

 78b-ethipv6-ip6base- 
eth-2memif-1dcr-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
memif_socket_filename_add_del(is_add=True,socket_id=1,socket_filename=’/tmp/memif-DUT1_CNF1fe8c8b7452ac7522bf9ba7f9b59d4ae64ccf1bd4898a44574ac5ba583e564b79-1’)
memif_create(role=1,rx_queues=1,tx_queues=1,socket_id=1,id=1,secret=’’)
memif_dump()
memif_dump()
memif_socket_filename_add_del(is_add=True,socket_id=2,socket_filename=’/tmp/memif-DUT1_CNF1fe8c8b7452ac7522bf9ba7f9b59d4ae64ccf1bd4898a44574ac5ba583e564b79-2’)
memif_create(role=1,rx_queues=1,tx_queues=1,socket_id=2,id=1,secret=’’)
memif_dump()
memif_dump()
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 20, ‘is_ip6’: True},is_add=True)
sw_interface_set_table(sw_if_index=4,is_ipv6=True,vrf_id=20)
sw_interface_set_table(sw_if_index=1,is_ipv6=True,vrf_id=20)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 20, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:bc:67:72:87’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘2001:3::2’})

crypto

eth2p-ethip4ipsec1tnlsw-ip4base-policy-aes-128-cbc-sha-512-256-dev

IPv4 IPsec tunnel mode test suite.

  • [Top] Network topologies: TG-DUT1 2-node topology with one link between nodes.

  • [Cfg] DUT configuration: On DUT1 create loopback interface, configure loopback an physical interface IPv4 addresses, static ARP record, route and IPsec manual keyed connection in tunnel mode.

  • [Ver] TG verification: ESP packet is sent from TG to DUT1. ESP packet is received on TG from DUT1.

  • [Ref] Applicable standard specifications: RFC4303.

Name

VPP API Test Commands History - Commands Used Per Test Case

 110b-ethip4ipsec1tnlsw-ip4base-policy-aes- 
128-cbc-sha-512-256-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx03’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x04x03’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘192.168.100.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘192.168.4.4’})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 0, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x03x03’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc0xa8dx02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ipsec_sad_entry_add_del(is_add=1,entry={‘sad_id’: 10, ‘spi’: 1001, ‘crypto_algorithm’: 1, ‘crypto_key’: {‘length’: 16, ‘data’: b’LvIbycrJ3xeP0Cni’}, ‘integrity_algorithm’: 6, ‘integrity_key’: {‘length’: 64, ‘data’: b’3oLVQGkij5NJVxE8IymN0UZZxC8aF2c83nzXK3Jnt6w2rBLPe6gO7dieSkOUOddF’}, ‘flags’: 4, ‘tunnel_src’: ‘192.168.100.3’, ‘tunnel_dst’: ‘192.168.100.2’, ‘protocol’: 1})
ipsec_sad_entry_add_del(is_add=1,entry={‘sad_id’: 20, ‘spi’: 1000, ‘crypto_algorithm’: 1, ‘crypto_key’: {‘length’: 16, ‘data’: b’LvIbycrJ3xeP0Cni’}, ‘integrity_algorithm’: 6, ‘integrity_key’: {‘length’: 64, ‘data’: b’3oLVQGkij5NJVxE8IymN0UZZxC8aF2c83nzXK3Jnt6w2rBLPe6gO7dieSkOUOddF’}, ‘flags’: 4, ‘tunnel_src’: ‘192.168.100.2’, ‘tunnel_dst’: ‘192.168.100.3’, ‘protocol’: 1})
ipsec_spd_add_del(is_add=1,spd_id=1)
ipsec_interface_add_del_spd(is_add=1,sw_if_index=2,spd_id=1)
ipsec_spd_entry_add_del(is_add=1,entry={‘spd_id’: 1, ‘priority’: 100, ‘is_outbound’: 0, ‘sa_id’: 0, ‘policy’: 0, ‘protocol’: 50, ‘remote_address_start’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx03’}}, ‘remote_address_stop’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx03’}}, ‘local_address_start’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx02’}}, ‘local_address_stop’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx02’}}, ‘remote_port_start’: 0, ‘remote_port_stop’: 65535, ‘local_port_start’: 0, ‘local_port_stop’: 65535})
ipsec_spd_entry_add_del(is_add=1,entry={‘spd_id’: 1, ‘priority’: 100, ‘is_outbound’: 1, ‘sa_id’: 0, ‘policy’: 0, ‘protocol’: 50, ‘remote_address_start’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx02’}}, ‘remote_address_stop’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx02’}}, ‘local_address_start’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx03’}}, ‘local_address_stop’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx03’}}, ‘remote_port_start’: 0, ‘remote_port_stop’: 65535, ‘local_port_start’: 0, ‘local_port_stop’: 65535})
ipsec_spd_entry_add_del(is_add=1,entry={‘spd_id’: 1, ‘priority’: 10, ‘is_outbound’: 0, ‘sa_id’: 20, ‘policy’: 3, ‘protocol’: 0, ‘remote_address_start’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x03x03’}}, ‘remote_address_stop’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x03x03’}}, ‘local_address_start’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x04x04’}}, ‘local_address_stop’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x04x04’}}, ‘remote_port_start’: 0, ‘remote_port_stop’: 65535, ‘local_port_start’: 0, ‘local_port_stop’: 65535})
ipsec_spd_entry_add_del(is_add=1,entry={‘spd_id’: 1, ‘priority’: 10, ‘is_outbound’: 1, ‘sa_id’: 10, ‘policy’: 3, ‘protocol’: 0, ‘remote_address_start’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x03x03’}}, ‘remote_address_stop’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x03x03’}}, ‘local_address_start’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x04x04’}}, ‘local_address_stop’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x04x04’}}, ‘remote_port_start’: 0, ‘remote_port_stop’: 65535, ‘local_port_start’: 0, ‘local_port_stop’: 65535})

eth2p-ethip4ipsec1tptsw-ip4base-policy-aes-128-cbc-sha-512-256-dev

IPv4 IPsec transport mode test suite.

  • [Top] Network topologies: TG-DUT1 2-node topology with one link between nodes.

  • [Cfg] DUT configuration: On DUT1 create loopback interface, configure loopback an physical interface IPv4 addresses, static ARP record, route and IPsec manual keyed connection in transport mode.

  • [Ver] TG verification: ESP packet is sent from TG to DUT1. ESP packet is received on TG from DUT1.

  • [Ref] Applicable standard specifications: RFC4303.

Name

VPP API Test Commands History - Commands Used Per Test Case

 110b-ethip4ipsec1tptsw-ip4base-policy-aes- 
128-cbc-sha-512-256-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx03’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x04x03’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘192.168.100.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘192.168.4.4’})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 0, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x03x03’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc0xa8dx02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ipsec_sad_entry_add_del(is_add=1,entry={‘sad_id’: 10, ‘spi’: 1001, ‘crypto_algorithm’: 1, ‘crypto_key’: {‘length’: 16, ‘data’: b’c7aGLZKCx3pOLsEq’}, ‘integrity_algorithm’: 6, ‘integrity_key’: {‘length’: 64, ‘data’: b’WmiI5UZeLqVrqQh8LtcPfc0E13mSG3l9M4oBpg872gtaArNbjx4zBvU483VqDueK’}, ‘flags’: 0, ‘tunnel_src’: ‘’, ‘tunnel_dst’: ‘’, ‘protocol’: 1})
ipsec_sad_entry_add_del(is_add=1,entry={‘sad_id’: 20, ‘spi’: 1000, ‘crypto_algorithm’: 1, ‘crypto_key’: {‘length’: 16, ‘data’: b’c7aGLZKCx3pOLsEq’}, ‘integrity_algorithm’: 6, ‘integrity_key’: {‘length’: 64, ‘data’: b’WmiI5UZeLqVrqQh8LtcPfc0E13mSG3l9M4oBpg872gtaArNbjx4zBvU483VqDueK’}, ‘flags’: 0, ‘tunnel_src’: ‘’, ‘tunnel_dst’: ‘’, ‘protocol’: 1})
ipsec_spd_add_del(is_add=1,spd_id=1)
ipsec_interface_add_del_spd(is_add=1,sw_if_index=2,spd_id=1)
ipsec_spd_entry_add_del(is_add=1,entry={‘spd_id’: 1, ‘priority’: 100, ‘is_outbound’: 0, ‘sa_id’: 0, ‘policy’: 0, ‘protocol’: 50, ‘remote_address_start’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx03’}}, ‘remote_address_stop’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx03’}}, ‘local_address_start’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx02’}}, ‘local_address_stop’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx02’}}, ‘remote_port_start’: 0, ‘remote_port_stop’: 65535, ‘local_port_start’: 0, ‘local_port_stop’: 65535})
ipsec_spd_entry_add_del(is_add=1,entry={‘spd_id’: 1, ‘priority’: 100, ‘is_outbound’: 1, ‘sa_id’: 0, ‘policy’: 0, ‘protocol’: 50, ‘remote_address_start’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx02’}}, ‘remote_address_stop’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx02’}}, ‘local_address_start’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx03’}}, ‘local_address_stop’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8dx03’}}, ‘remote_port_start’: 0, ‘remote_port_stop’: 65535, ‘local_port_start’: 0, ‘local_port_stop’: 65535})
ipsec_spd_entry_add_del(is_add=1,entry={‘spd_id’: 1, ‘priority’: 10, ‘is_outbound’: 0, ‘sa_id’: 20, ‘policy’: 3, ‘protocol’: 0, ‘remote_address_start’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x03x03’}}, ‘remote_address_stop’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x03x03’}}, ‘local_address_start’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x04x04’}}, ‘local_address_stop’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x04x04’}}, ‘remote_port_start’: 0, ‘remote_port_stop’: 65535, ‘local_port_start’: 0, ‘local_port_stop’: 65535})
ipsec_spd_entry_add_del(is_add=1,entry={‘spd_id’: 1, ‘priority’: 10, ‘is_outbound’: 1, ‘sa_id’: 10, ‘policy’: 3, ‘protocol’: 0, ‘remote_address_start’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x03x03’}}, ‘remote_address_stop’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x03x03’}}, ‘local_address_start’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x04x04’}}, ‘local_address_stop’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x04x04’}}, ‘remote_port_start’: 0, ‘remote_port_stop’: 65535, ‘local_port_start’: 0, ‘local_port_stop’: 65535})

eth2p-ethip6ipsec1tnlsw-ip6base-policy-aes-128-cbc-sha-512-256-dev

IPv6 IPsec tunnel mode test suite.

  • [Top] Network topologies: TG-DUT1 2-node topology with one link between nodes.

  • [Cfg] DUT configuration: On DUT1 create loopback interface, configure loopback an physical interface IPv6 addresses, static ARP record, route and IPsec manual keyed connection in tunnel mode.

  • [Ver] TG verification: ESP packet is sent from TG to DUT1. ESP packet is received on TG from DUT1.

  • [Ref] Applicable standard specifications: RFC4303.

Name

VPP API Test Commands History - Commands Used Per Test Case

 124b-ethip6ipsec1tnlsw-ip6base-policy-aes- 
128-cbc-sha-512-256-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00`x00x00x00x00x00x00x00x00x00x00x00x03’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘3ffe:5f::1’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘3ffe:60::4’})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00ax00x00x00x00x00x00x00x00x00x00x00x03’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ipsec_sad_entry_add_del(is_add=1,entry={‘sad_id’: 10, ‘spi’: 1001, ‘crypto_algorithm’: 1, ‘crypto_key’: {‘length’: 16, ‘data’: b’B15USRFY7a95myJk’}, ‘integrity_algorithm’: 6, ‘integrity_key’: {‘length’: 64, ‘data’: b’FBUZ4ppe3eoTJ2UHb52W7JtLKubTPWlDhRLeBLYkak48EtiDhIDvRsxWuuvQpFqg’}, ‘flags’: 12, ‘tunnel_src’: ‘3ffe:5f::2’, ‘tunnel_dst’: ‘3ffe:5f::1’, ‘protocol’: 1})
ipsec_sad_entry_add_del(is_add=1,entry={‘sad_id’: 20, ‘spi’: 1000, ‘crypto_algorithm’: 1, ‘crypto_key’: {‘length’: 16, ‘data’: b’B15USRFY7a95myJk’}, ‘integrity_algorithm’: 6, ‘integrity_key’: {‘length’: 64, ‘data’: b’FBUZ4ppe3eoTJ2UHb52W7JtLKubTPWlDhRLeBLYkak48EtiDhIDvRsxWuuvQpFqg’}, ‘flags’: 12, ‘tunnel_src’: ‘3ffe:5f::1’, ‘tunnel_dst’: ‘3ffe:5f::2’, ‘protocol’: 1})
ipsec_spd_add_del(is_add=1,spd_id=1)
ipsec_interface_add_del_spd(is_add=1,sw_if_index=2,spd_id=1)
ipsec_spd_entry_add_del(is_add=1,entry={‘spd_id’: 1, ‘priority’: 100, ‘is_outbound’: 0, ‘sa_id’: 0, ‘policy’: 0, ‘protocol’: 50, ‘remote_address_start’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x02’}}, ‘remote_address_stop’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x02’}}, ‘local_address_start’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x01’}}, ‘local_address_stop’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x01’}}, ‘remote_port_start’: 0, ‘remote_port_stop’: 65535, ‘local_port_start’: 0, ‘local_port_stop’: 65535})
ipsec_spd_entry_add_del(is_add=1,entry={‘spd_id’: 1, ‘priority’: 100, ‘is_outbound’: 1, ‘sa_id’: 0, ‘policy’: 0, ‘protocol’: 50, ‘remote_address_start’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x01’}}, ‘remote_address_stop’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x01’}}, ‘local_address_start’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x02’}}, ‘local_address_stop’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x02’}}, ‘remote_port_start’: 0, ‘remote_port_stop’: 65535, ‘local_port_start’: 0, ‘local_port_stop’: 65535})
ipsec_spd_entry_add_del(is_add=1,entry={‘spd_id’: 1, ‘priority’: 10, ‘is_outbound’: 0, ‘sa_id’: 20, ‘policy’: 3, ‘protocol’: 0, ‘remote_address_start’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00ax00x00x00x00x00x00x00x00x00x00x00x03’}}, ‘remote_address_stop’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00ax00x00x00x00x00x00x00x00x00x00x00x03’}}, ‘local_address_start’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00`x00x00x00x00x00x00x00x00x00x00x00x04’}}, ‘local_address_stop’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00`x00x00x00x00x00x00x00x00x00x00x00x04’}}, ‘remote_port_start’: 0, ‘remote_port_stop’: 65535, ‘local_port_start’: 0, ‘local_port_stop’: 65535})
ipsec_spd_entry_add_del(is_add=1,entry={‘spd_id’: 1, ‘priority’: 10, ‘is_outbound’: 1, ‘sa_id’: 10, ‘policy’: 3, ‘protocol’: 0, ‘remote_address_start’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00ax00x00x00x00x00x00x00x00x00x00x00x03’}}, ‘remote_address_stop’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00ax00x00x00x00x00x00x00x00x00x00x00x03’}}, ‘local_address_start’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00`x00x00x00x00x00x00x00x00x00x00x00x04’}}, ‘local_address_stop’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00`x00x00x00x00x00x00x00x00x00x00x00x04’}}, ‘remote_port_start’: 0, ‘remote_port_stop’: 65535, ‘local_port_start’: 0, ‘local_port_stop’: 65535})

eth2p-ethip6ipsec1tptsw-ip6base-policy-aes-128-cbc-sha-512-256-dev

IPv6 IPsec transport mode test suite.

  • [Top] Network topologies: TG-DUT1 2-node topology with one link between nodes.

  • [Cfg] DUT configuration: On DUT1 create loopback interface, configure loopback an physical interface IPv6 addresses, static ARP record, route and IPsec manual keyed connection in transport mode.

  • [Ver] TG verification: ESP packet is sent from TG to DUT1. ESP packet is received on TG from DUT1.

  • [Ref] Applicable standard specifications: RFC4303.

Name

VPP API Test Commands History - Commands Used Per Test Case

 124b-ethip6ipsec1tptsw-ip6base-policy-aes- 
128-cbc-sha-512-256-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00`x00x00x00x00x00x00x00x00x00x00x00x03’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘3ffe:5f::1’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘3ffe:60::4’})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00ax00x00x00x00x00x00x00x00x00x00x00x03’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ipsec_sad_entry_add_del(is_add=1,entry={‘sad_id’: 10, ‘spi’: 1001, ‘crypto_algorithm’: 1, ‘crypto_key’: {‘length’: 16, ‘data’: b’KauDb3ivr46RBbdk’}, ‘integrity_algorithm’: 6, ‘integrity_key’: {‘length’: 64, ‘data’: b’dRP8HTdfrzmXLjo339hygJyp8WX6rhI0yycJ2uQxH9DwYmuc5KfpWGDo286JiqGD’}, ‘flags’: 0, ‘tunnel_src’: ‘’, ‘tunnel_dst’: ‘’, ‘protocol’: 1})
ipsec_sad_entry_add_del(is_add=1,entry={‘sad_id’: 20, ‘spi’: 1000, ‘crypto_algorithm’: 1, ‘crypto_key’: {‘length’: 16, ‘data’: b’KauDb3ivr46RBbdk’}, ‘integrity_algorithm’: 6, ‘integrity_key’: {‘length’: 64, ‘data’: b’dRP8HTdfrzmXLjo339hygJyp8WX6rhI0yycJ2uQxH9DwYmuc5KfpWGDo286JiqGD’}, ‘flags’: 0, ‘tunnel_src’: ‘’, ‘tunnel_dst’: ‘’, ‘protocol’: 1})
ipsec_spd_add_del(is_add=1,spd_id=1)
ipsec_interface_add_del_spd(is_add=1,sw_if_index=2,spd_id=1)
ipsec_spd_entry_add_del(is_add=1,entry={‘spd_id’: 1, ‘priority’: 100, ‘is_outbound’: 0, ‘sa_id’: 0, ‘policy’: 0, ‘protocol’: 50, ‘remote_address_start’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x02’}}, ‘remote_address_stop’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x02’}}, ‘local_address_start’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x01’}}, ‘local_address_stop’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x01’}}, ‘remote_port_start’: 0, ‘remote_port_stop’: 65535, ‘local_port_start’: 0, ‘local_port_stop’: 65535})
ipsec_spd_entry_add_del(is_add=1,entry={‘spd_id’: 1, ‘priority’: 100, ‘is_outbound’: 1, ‘sa_id’: 0, ‘policy’: 0, ‘protocol’: 50, ‘remote_address_start’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x01’}}, ‘remote_address_stop’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x01’}}, ‘local_address_start’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x02’}}, ‘local_address_stop’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x02’}}, ‘remote_port_start’: 0, ‘remote_port_stop’: 65535, ‘local_port_start’: 0, ‘local_port_stop’: 65535})
ipsec_spd_entry_add_del(is_add=1,entry={‘spd_id’: 1, ‘priority’: 10, ‘is_outbound’: 0, ‘sa_id’: 20, ‘policy’: 3, ‘protocol’: 0, ‘remote_address_start’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00ax00x00x00x00x00x00x00x00x00x00x00x03’}}, ‘remote_address_stop’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00ax00x00x00x00x00x00x00x00x00x00x00x03’}}, ‘local_address_start’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00`x00x00x00x00x00x00x00x00x00x00x00x04’}}, ‘local_address_stop’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00`x00x00x00x00x00x00x00x00x00x00x00x04’}}, ‘remote_port_start’: 0, ‘remote_port_stop’: 65535, ‘local_port_start’: 0, ‘local_port_stop’: 65535})
ipsec_spd_entry_add_del(is_add=1,entry={‘spd_id’: 1, ‘priority’: 10, ‘is_outbound’: 1, ‘sa_id’: 10, ‘policy’: 3, ‘protocol’: 0, ‘remote_address_start’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00ax00x00x00x00x00x00x00x00x00x00x00x03’}}, ‘remote_address_stop’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00ax00x00x00x00x00x00x00x00x00x00x00x03’}}, ‘local_address_start’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00`x00x00x00x00x00x00x00x00x00x00x00x04’}}, ‘local_address_stop’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00`x00x00x00x00x00x00x00x00x00x00x00x04’}}, ‘remote_port_start’: 0, ‘remote_port_stop’: 65535, ‘local_port_start’: 0, ‘local_port_stop’: 65535})

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:

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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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,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_if_name_set=True,host_if_name=’tap0’,host_bridge_set=False)
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=2,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’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘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:

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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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,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_if_name_set=True,host_if_name=’tap0’,host_bridge_set=False)
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=2,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’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘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:

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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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,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_if_name_set=True,host_if_name=’tap0’,host_bridge_set=False)
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,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_if_name_set=True,host_if_name=’tap1’,host_bridge_set=False)
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=1,uu_flood=1,forward=1,learn=1,arp_term=0,is_add=1)
bridge_domain_add_del(bd_id=20,flood=1,uu_flood=1,forward=1,learn=1,arp_term=0,is_add=1)
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=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=20,shg=0,port_type=0,enable=1)
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=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=19,shg=0,port_type=0,enable=1)

ip4

eth2p-ethip4-ip4base-copblklistbase-dev

COP Security IPv4 whitelist test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv4 on all links.

  • [Cfg] DUT configuration: DUT1 is configured with IPv4 routing and static routes. COP security white-lists is applied on DUT1 ingress interface from TG.

  • [Ver] TG verification: Test IPv4 packets are sent in one direction by TG on link to DUT1; on receive TG verifies packets for correctness and drops as applicable.

  • [Ref] Applicable standard specifications:

Name

VPP API Test Commands History - Commands Used Per Test Case

 64b-ethip4- 
ip4base-copblklistbase-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘10.10.10.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘20.20.20.2’})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x14x14x01’}}})
ip_table_add_del(table={‘table_id’: 1, ‘is_ip6’: False},is_add=True)
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 1, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4294967295, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 1, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: 0, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
cop_whitelist_enable_disable(sw_if_index=2,fib_id=1,ip4=True,ip6=False,default_cop=0)
cop_interface_enable_disable(sw_if_index=2,enable_disable=True)

eth2p-ethip4-ip4base-copwhtlistbase-dev

COP Security IPv4 whitelist test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv4 on all links.

  • [Cfg] DUT configuration: DUT1 is configured with IPv4 routing and static routes. COP security white-lists is applied on DUT1 ingress interface from TG.

  • [Ver] TG verification: Test IPv4 packets are sent in one direction by TG on link to DUT1; on receive TG verifies packets for correctness and drops as applicable.

  • [Ref] Applicable standard specifications:

Name

VPP API Test Commands History - Commands Used Per Test Case

 64b-ethip4- 
ip4base-copwhtlistbase-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘10.10.10.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘20.20.20.2’})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x14x14x01’}}})
ip_table_add_del(table={‘table_id’: 1, ‘is_ip6’: False},is_add=True)
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 1, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4294967295, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 1, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: 0, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
cop_whitelist_enable_disable(sw_if_index=2,fib_id=1,ip4=True,ip6=False,default_cop=0)
cop_interface_enable_disable(sw_if_index=2,enable_disable=True)

eth2p-ethip4-ip4base-iacldstbase-dev

IPv4 iAcl whitelist test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv4 on all links.

  • [Cfg] DUT configuration: DUT1 is configured with IPv4 routing and static routes. IPv4 iAcl security whitelist is applied on DUT1 ingress interface from TG.

  • [Ver] TG verification: Test IPv4 packets are sent in one direction by TG on link to DUT1; on receive TG verifies packets for correctness and drops as applicable.

  • [Ref] Applicable standard specifications:

Name

VPP API Test Commands History - Commands Used Per Test Case

 64b-ethip4- 
ip4base-iacldstbase-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘10.10.10.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘20.20.20.2’})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x14x14x01’}}})
classify_add_del_table(is_add=True,del_chain=False,table_index=4294967295,nbuckets=2,memory_size=2097152,skip_n_vectors=1,match_n_vectors=2,next_table_index=4294967295,miss_next_index=4294967295,current_data_flag=0,current_data_offset=0,mask_len=32,mask=b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00xffxffxffxffx00x00x00x00x00x00x00x00x00x00x00x00x00x00’)
classify_add_del_session(is_add=True,table_index=0,hit_next_index=4294967295,opaque_index=4294967295,advance=0,action=0,metadata=0,match_len=48,match=b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x14x14x14x02x00x00x00x00x00x00x00x00x00x00x00x00x00x00’)
input_acl_set_interface(sw_if_index=2,ip4_table_index=0,ip6_table_index=4294967295,l2_table_index=4294967295,is_add=1)

eth2p-ethip4-ip4base-ipolicemarkbase-dev

IPv4 policer test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv4 on all links.

  • [Cfg] DUT configuration: On DUT1 configure interfaces IPv4 adresses, and static ARP record on the second interface. On DUT1 configure 2R3C color-aware policer on the first interface.

  • [Ver] TG verification: Test packet is sent from TG on the first link to DUT1. Packet is received on TG on the second link from DUT1.

  • [Ref] Applicable standard specifications: RFC2474, RFC2697, RFC2698.

Name

VPP API Test Commands History - Commands Used Per Test Case

 64b-ethip4- 
ip4base-ipolicemarkbase-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘10.10.10.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘20.20.20.2’})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x14x14x01’}}})
policer_add_del(is_add=1,name=b’policer1’,cir=100,eir=150,cb=64,eb=64,rate_type=1,round_type=0,type=2,conform_action_type=1,conform_dscp=0,exceed_action_type=2,exceed_dscp=20,violate_action_type=1,violate_dscp=0,color_aware=1)
classify_add_del_table(is_add=True,del_chain=False,table_index=4294967295,nbuckets=2,memory_size=2097152,skip_n_vectors=1,match_n_vectors=2,next_table_index=4294967295,miss_next_index=4294967295,current_data_flag=0,current_data_offset=0,mask_len=32,mask=b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00xffxffxffxffx00x00x00x00x00x00x00x00x00x00x00x00x00x00’)
classify_add_del_session(is_add=True,table_index=0,hit_next_index=0,opaque_index=1,advance=0,action=0,metadata=0,match_len=48,match=b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x14x14x14x02x00x00x00x00x00x00x00x00x00x00x00x00x00x00’)
policer_classify_set_interface(is_add=True,sw_if_index=2,ip4_table_index=0,ip6_table_index=4294967295,l2_table_index=4294967295)
classify_add_del_session(is_add=True,table_index=0,hit_next_index=0,opaque_index=1,advance=0,action=0,metadata=0,match_len=48,match=b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00nnnx02x00x00x00x00x00x00x00x00x00x00x00x00x00x00’)
policer_classify_set_interface(is_add=True,sw_if_index=1,ip4_table_index=0,ip6_table_index=4294967295,l2_table_index=4294967295)

eth2p-ethipv4-ip4base-dev

IPv4 routing test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv4 for IPv4 routing on both links.

  • [Cfg] DUT configuration: DUT1 is configured with IPv4 routing and two static IPv4 /24 route entries.

  • [Ver] TG verification: Test IPv4 packet with IP protocol=61 is sent in one direction by TG on links to DUT1; on receive TG verifies packet for correctness and their IPv4 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC791, RFC826, RFC792

Name

VPP API Test Commands History - Commands Used Per Test Case

 64b-ethipv4-ip4base-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘10.10.10.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘20.20.20.2’})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x14x14x01’}}})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 0, ‘prefix’: {‘len’: 32, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x00x01’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’nnnx02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 0, ‘prefix’: {‘len’: 32, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc0xa8x00x02’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x14x14x14x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})

ip4 tunnels

eth2p-ethip4vxlan-l2bdbasemaclrn-dev

L2BD with VXLANoIPv4 test cases

  • [Top] Network topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet encapsulations: Eth-IPv4-VXLAN-Eth-IPv4-ICMPv4 on TG-DUT.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge-domain switching combined with MAC learning enable. VXLAN tunnels are configured on links betwen TG and DUT.

  • [Ver] TG verification: Test Eth-IPv4-VXLAN-Eth-IPv4-ICMPv4 packet is sent by TG on link to DUT1; on receive TG verifies packets for correctness and their IPv4 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC7348.

Name

VPP API Test Commands History - Commands Used Per Test Case

 114b-ethip4vxlan- 
l2bdbasemaclrn-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xacx10x00x01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xacx1ax00x01’}}})
vxlan_add_del_tunnel(is_add=1,is_ipv6=0,instance=4294967295,src_address=b’xacx10x00x01’,dst_address=b’xacx11x00x02’,mcast_sw_if_index=4294967295,encap_vrf_id=0,decap_next_index=4294967295,vni=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
vxlan_add_del_tunnel(is_add=1,is_ipv6=0,instance=4294967295,src_address=b’xacx1ax00x01’,dst_address=b’xacx1bx00x02’,mcast_sw_if_index=4294967295,encap_vrf_id=0,decap_next_index=4294967295,vni=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘172.16.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘172.26.0.2’})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 0, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xacx11x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xacx10x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 0, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xacx1bx00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xacx1ax00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_set_vxlan_bypass(is_ipv6=0,sw_if_index=2,enable=1)
sw_interface_set_vxlan_bypass(is_ipv6=0,sw_if_index=1,enable=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=1,shg=0,port_type=0,enable=1)

eth2p-ethip4vxlan-l2xcbase-dev

L2XC with VXLANoIPv4 test cases

  • [Top] Network topologies: TG-DUT1-TG 2-node circular topology with single links between nodes.

  • [Enc] Packet encapsulations: Eth-IPv4-VXLAN-Eth-IPv4-ICMPv4 on TG-DUT.

  • [Cfg] DUT configuration: DUT1 is configured with L2 cross-connect. VXLAN tunnels are configured on links betwen TG and DUT.

  • [Ver] TG verification: Test Eth-IPv4-VXLAN-Eth-IPv4-ICMPv4 packet is sent by TG on link to DUT1; on receive TG verifies packets for correctness and their IPv4 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC7348.

Name

VPP API Test Commands History - Commands Used Per Test Case

 114b-ethip4vxlan-l2xcbase-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xacx10x00x01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xacx1ax00x01’}}})
vxlan_add_del_tunnel(is_add=1,is_ipv6=0,instance=4294967295,src_address=b’xacx10x00x01’,dst_address=b’xacx11x00x02’,mcast_sw_if_index=4294967295,encap_vrf_id=0,decap_next_index=4294967295,vni=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
vxlan_add_del_tunnel(is_add=1,is_ipv6=0,instance=4294967295,src_address=b’xacx1ax00x01’,dst_address=b’xacx1bx00x02’,mcast_sw_if_index=4294967295,encap_vrf_id=0,decap_next_index=4294967295,vni=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘172.16.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘172.26.0.2’})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 0, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xacx11x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xacx10x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 0, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xacx1bx00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xacx1ax00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_set_vxlan_bypass(is_ipv6=0,sw_if_index=2,enable=1)
sw_interface_set_vxlan_bypass(is_ipv6=0,sw_if_index=1,enable=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=4,enable=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=3,enable=1)

lisp

eth2p-ethip4lisp-ip4base-dev

ip4-lisp-ip4 encapsulation test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv4-LISP-IPv4-ICMPv4 on DUT1-TG, Eth-IPv4-ICMPv4 on TG-DUTn for IPv4 routing over LISPoIPv4 tunnel.

  • [Cfg] DUT configuration: DUT is configured with IPv4 routing and static routes. LISPoIPv4 tunnel is configured between DUT1 and TG2.

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

  • [Ref] Applicable standard specifications: RFC6830.

Name

VPP API Test Commands History - Commands Used Per Test Case

 46b-ethip4lisp-ip4base-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x06x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x06x00x01x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘6.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘6.0.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘6.0.1.2’})
lisp_enable_disable(is_en=1)
lisp_add_del_locator_set(is_add=1,locator_set_name=b’tst_locator’,locator_num=0,locators=[])
lisp_add_del_locator(is_add=1,locator_set_name=b’tst_locator’,sw_if_index=1,priority=1,weight=1)
lisp_add_del_local_eid(is_add=1,eid_type=0,eid=b’x06x00x00x00’,prefix_len=24,locator_set_name=b’tst_locator’,vni=0)
lisp_add_del_remote_mapping(is_add=1,is_src_dst=1,vni=0,eid_type=0,eid=b’x06x00x02x00’,eid_len=24,seid=b’x06x00x00x00’,seid_len=24,rloc_num=1,rlocs=[{‘is_ip4’: 1, ‘addr’: b’x06x00x01x02’}])
lisp_add_del_adjacency(is_add=1,vni=0,eid_type=0,reid=b’x06x00x02x00’,reid_len=24,leid=b’x06x00x00x00’,leid_len=24)

eth2p-ethip4lispgpe-ip4base-dev

ip4-lispgpe-ip4 encapsulation test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv4-LISPGPE-IPv4-ICMPv4 on DUT1-TG, Eth-IPv4-ICMPv4 on TG-DUTn for IPv4 routing over LISPoIPv4 tunnel.

  • [Cfg] DUT configuration: DUT1 and TG(if2) are configured with IPv4 routing and static routes. LISPoIPv4 tunnel is configured between DUT1 and TG.

  • [Ver] TG verification: Test ICMPv4 Echo Request packets are sent in TG->DUT(if1); On receive TG(if2) verifies packets for correctness and their IPv4 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC6830.

Name

VPP API Test Commands History - Commands Used Per Test Case

 46b-ethip4lispgpe-ip4base-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x06x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x06x00x01x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘6.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘6.0.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘6.0.1.2’})
lisp_enable_disable(is_en=1)
gpe_enable_disable(is_en=1)
lisp_add_del_locator_set(is_add=1,locator_set_name=b’tst_locator’,locator_num=0,locators=[])
lisp_add_del_locator(is_add=1,locator_set_name=b’tst_locator’,sw_if_index=1,priority=1,weight=1)
lisp_add_del_local_eid(is_add=1,eid_type=0,eid=b’x06x00x00x00’,prefix_len=24,locator_set_name=b’tst_locator’,vni=0)
lisp_add_del_remote_mapping(is_add=1,is_src_dst=1,vni=0,eid_type=0,eid=b’x06x00x02x00’,eid_len=24,seid=b’x06x00x00x00’,seid_len=24,rloc_num=1,rlocs=[{‘is_ip4’: 1, ‘addr’: b’x06x00x01x02’}])
lisp_add_del_adjacency(is_add=1,vni=0,eid_type=0,reid=b’x06x00x02x00’,reid_len=24,leid=b’x06x00x00x00’,leid_len=24)

eth2p-ethip4lispgpe-ip6base-dev

ip4-lispgpe-ip6 encapsulation test cases

  • [Top] Network Topologies: TG(if1)-DUT1-TG(if2) 2-node circular topology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4-LISPGPE-IPv6-ICMPv6 on DUT1-TG(if2),Eth-IPv6-ICMPv6 on TG-DUTn for IPv6 routing over LISPoIPv4 tunnel.

  • [Cfg] DUT configuration: DUT1 and TG(if2) are configured with IPv6 routing and static routes. LISPoIPv4 tunnel is configured between DUT1 and TG(if2).

  • [Ver] TG verification: Test ICMPv6 Echo Request packets are sent in if1 by TG on links to DUT1; on receive TG verifies packets for correctness and their IPv6 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC6830.

Name

VPP API Test Commands History - Commands Used Per Test Case

 62b-ethip4lispgpe-ip6base-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’x00x06x00x00x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x06x00x01x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘6::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘6:0:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘6.0.1.2’})
ip_address_dump(sw_if_index=1,is_ipv6=True)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
lisp_enable_disable(is_en=1)
gpe_enable_disable(is_en=1)
lisp_add_del_locator_set(is_add=1,locator_set_name=b’tst_locator’,locator_num=0,locators=[])
lisp_add_del_locator(is_add=1,locator_set_name=b’tst_locator’,sw_if_index=1,priority=1,weight=1)
lisp_add_del_local_eid(is_add=1,eid_type=1,eid=b’x00x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00’,prefix_len=64,locator_set_name=b’tst_locator’,vni=0)
lisp_add_del_remote_mapping(is_add=1,is_src_dst=1,vni=0,eid_type=1,eid=b’x00x06x00x00x00x02x00x00x00x00x00x00x00x00x00x00’,eid_len=64,seid=b’x00x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00’,seid_len=64,rloc_num=1,rlocs=[{‘is_ip4’: 1, ‘addr’: b’x06x00x01x02’}])
lisp_add_del_adjacency(is_add=1,vni=0,eid_type=1,reid=b’x00x06x00x00x00x02x00x00x00x00x00x00x00x00x00x00’,reid_len=64,leid=b’x00x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00’,leid_len=64)

ip6

eth2p-ethip6-ip6base-copblklistbase-dev

COP Security IPv6 whitelist test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv6 on all links.

  • [Cfg] DUT configuration: DUT1 is configured with IPv6 routing and static routes. COP security white-lists are applied on DUT1 ingress interface from TG.

  • [Ver] TG verification: Test IPv6 packets are sent in one direction by TG on link to DUT1; on receive TG verifies packets for correctness and drops as applicable.

  • [Ref] Applicable standard specifications:

Name

VPP API Test Commands History - Commands Used Per Test Case

 78b-ethip6- 
ip6base-copblklistbase-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
ip_table_add_del(table={‘table_id’: 1, ‘is_ip6’: True},is_add=True)
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 1, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x02x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4294967295, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 1, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: 0, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
cop_whitelist_enable_disable(sw_if_index=2,fib_id=1,ip4=False,ip6=True,default_cop=0)
cop_interface_enable_disable(sw_if_index=2,enable_disable=True)

eth2p-ethip6-ip6base-copwhtlistbase-dev

COP Security IPv6 whitelist test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv6 on all links.

  • [Cfg] DUT configuration: DUT1 is configured with IPv6 routing and static routes. COP security white-lists are applied on DUT1 ingress interface from TG.

  • [Ver] TG verification: Test IPv6 packets are sent in one direction by TG on link to DUT1; on receive TG verifies packets for correctness and drops as applicable.

  • [Ref] Applicable standard specifications:

Name

VPP API Test Commands History - Commands Used Per Test Case

 78b-ethip6- 
ip6base-copwhtlistbase-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
ip_table_add_del(table={‘table_id’: 1, ‘is_ip6’: True},is_add=True)
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 1, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4294967295, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 1, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: 0, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
cop_whitelist_enable_disable(sw_if_index=2,fib_id=1,ip4=False,ip6=True,default_cop=0)
cop_interface_enable_disable(sw_if_index=2,enable_disable=True)

eth2p-ethip6-ip6base-iacldstbase-dev

IPv6 iAcl whitelist test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv6 on all links.

  • [Cfg] DUT configuration: DUT1 is configured with IPv6 routing and static routes. IPv6 iAcl security whitelist is applied on DUT1 ingress interface from TG.

  • [Ver] TG verification: Test IPv6 packets are sent in one direction by TG on link to DUT1; on receive TG verifies packets for correctness and drops as applicable.

  • [Ref] Applicable standard specifications:

Name

VPP API Test Commands History - Commands Used Per Test Case

 78b-ethip6- 
ip6base-iacldstbase-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
classify_add_del_table(is_add=True,del_chain=False,table_index=4294967295,nbuckets=2,memory_size=2097152,skip_n_vectors=2,match_n_vectors=2,next_table_index=4294967295,miss_next_index=4294967295,current_data_flag=0,current_data_offset=0,mask_len=32,mask=b’x00x00x00x00x00x00xffxffxffxffxffxffxffxffxffxffxffxffxffxffxffxffx00x00x00x00x00x00x00x00x00x00’)
classify_add_del_session(is_add=True,table_index=0,hit_next_index=4294967295,opaque_index=4294967295,advance=0,action=0,metadata=0,match_len=64,match=b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00 x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02x00x00x00x00x00x00x00x00x00x00’)
input_acl_set_interface(sw_if_index=2,ip4_table_index=4294967295,ip6_table_index=0,l2_table_index=4294967295,is_add=1)

eth2p-ethip6-ip6base-ipolicemarkbase-dev

IPv4 policer test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv6 on all links.

  • [Cfg] DUT configuration: On DUT1 configure interfaces IPv6 adresses, and static ARP record on the second interface. On DUT1 configure 2R3C color-aware policer on the first interface.

  • [Ver] TG verification: Test packet is sent from TG on the first link to DUT1. Packet is received on TG on the second link from DUT1.

  • [Ref] Applicable standard specifications: RFC2474, RFC2697, RFC2698.

Name

VPP API Test Commands History - Commands Used Per Test Case

 78b-ethip6- 
ip6base-ipolicemarkbase-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
policer_add_del(is_add=1,name=b’policer1’,cir=100,eir=150,cb=78,eb=78,rate_type=1,round_type=0,type=2,conform_action_type=1,conform_dscp=0,exceed_action_type=2,exceed_dscp=20,violate_action_type=1,violate_dscp=0,color_aware=1)
classify_add_del_table(is_add=True,del_chain=False,table_index=4294967295,nbuckets=2,memory_size=2097152,skip_n_vectors=2,match_n_vectors=2,next_table_index=4294967295,miss_next_index=4294967295,current_data_flag=0,current_data_offset=0,mask_len=32,mask=b’x00x00x00x00x00x00xffxffxffxffxffxffxffxffxffxffxffxffxffxffxffxffx00x00x00x00x00x00x00x00x00x00’)
classify_add_del_session(is_add=True,table_index=0,hit_next_index=0,opaque_index=1,advance=0,action=0,metadata=0,match_len=64,match=b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00 x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02x00x00x00x00x00x00x00x00x00x00’)
policer_classify_set_interface(is_add=True,sw_if_index=2,ip4_table_index=4294967295,ip6_table_index=0,l2_table_index=4294967295)
classify_add_del_session(is_add=True,table_index=0,hit_next_index=0,opaque_index=1,advance=0,action=0,metadata=0,match_len=64,match=b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00 x01x00x01x00x00x00x00x00x00x00x00x00x00x00x02x00x00x00x00x00x00x00x00x00x00’)
policer_classify_set_interface(is_add=True,sw_if_index=1,ip4_table_index=4294967295,ip6_table_index=0,l2_table_index=4294967295)

eth2p-ethipv6-ip6base-dev

IPv6 routing test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv6 for IPv6 routing on both links.

  • [Cfg] DUT configuration: DUT1 is configured with IPv6 routing and two static IPv6 /64 route entries.

  • [Ver] TG verification: Test IPv6 packet is sent in one direction by TG on links to DUT1; on receive TG verifies packet for correctness and their IPv6 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC2460, RFC4443, RFC4861

Name

VPP API Test Commands History - Commands Used Per Test Case

 78b-ethipv6-ip6base-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x01’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’?xfex00_x00x00x00x00x00x00x00x00x00x00x00x02’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})

ip6 tunnels

lisp

eth2p-ethip6lispgpe-ip4base-dev

ip6-lispgpe-ip4 encapsulation test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv6-LISPGPE-IPv4-ICMPv4 on DUT1-TG, Eth-IPv4-ICMPv4 on TG-DUTn for IPv6 routing over LISPoIPv6 tunnel.

  • [Cfg] DUT configuration: DUT1 and TG(if2) are configured with IPv6 routing and static routes. LISPoIPv6 tunnel is configured between DUT1 and TG.

  • [Ver] TG verification: Test ICMPv4 Echo Request packets are sent in TG->DUT(if1); On receive TG(if2) verifies packets for correctness and their IPv4 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC6830.

Name

VPP API Test Commands History - Commands Used Per Test Case

 46b-ethip6lispgpe-ip4base-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x06x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’x00x06x00x00x00x01x00x00x00x00x00x00x00x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘6.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘6.0.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘6:0:1::2’})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
lisp_enable_disable(is_en=1)
gpe_enable_disable(is_en=1)
lisp_add_del_locator_set(is_add=1,locator_set_name=b’tst_locator’,locator_num=0,locators=[])
lisp_add_del_locator(is_add=1,locator_set_name=b’tst_locator’,sw_if_index=1,priority=1,weight=1)
lisp_add_del_local_eid(is_add=1,eid_type=0,eid=b’x06x00x00x00’,prefix_len=24,locator_set_name=b’tst_locator’,vni=0)
lisp_add_del_remote_mapping(is_add=1,is_src_dst=1,vni=0,eid_type=0,eid=b’x06x00x02x00’,eid_len=24,seid=b’x06x00x00x00’,seid_len=24,rloc_num=1,rlocs=[{‘is_ip4’: 0, ‘addr’: b’x00x06x00x00x00x01x00x00x00x00x00x00x00x00x00x02’}])
lisp_add_del_adjacency(is_add=1,vni=0,eid_type=0,reid=b’x06x00x02x00’,reid_len=24,leid=b’x06x00x00x00’,leid_len=24)

eth2p-ethip6lispgpe-ip6base-dev

ip6-lispgpe-ip6 encapsulation test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv6-LISPGPE-IPv6-ICMPv6 on DUT1-TG, Eth-IPv6-ICMPv6 on TG-DUTn for IPv6 routing over LISPoIPv6 tunnel.

  • [Cfg] DUT configuration: DUT1 and TG(if2) are configured with IPv6 routing and static routes. LISPoIPv6 tunnel is configured between DUT1 and TG.

  • [Ver] TG verification: Test ICMPv6 Echo Request packets are sent in TG->DUT(if1); On receive TG(if2) verifies packets for correctness and their IPv6 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC6830.

Name

VPP API Test Commands History - Commands Used Per Test Case

 62b-ethip6lispgpe-ip6base-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’x00x06x00x00x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’x00x06x00x00x00x01x00x00x00x00x00x00x00x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘6::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘6:0:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘6:0:1::2’})
lisp_enable_disable(is_en=1)
gpe_enable_disable(is_en=1)
lisp_add_del_locator_set(is_add=1,locator_set_name=b’tst_locator’,locator_num=0,locators=[])
lisp_add_del_locator(is_add=1,locator_set_name=b’tst_locator’,sw_if_index=1,priority=1,weight=1)
lisp_add_del_local_eid(is_add=1,eid_type=1,eid=b’x00x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00’,prefix_len=64,locator_set_name=b’tst_locator’,vni=0)
lisp_add_del_remote_mapping(is_add=1,is_src_dst=1,vni=0,eid_type=1,eid=b’x00x06x00x00x00x02x00x00x00x00x00x00x00x00x00x00’,eid_len=64,seid=b’x00x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00’,seid_len=64,rloc_num=1,rlocs=[{‘is_ip4’: 0, ‘addr’: b’x00x06x00x00x00x01x00x00x00x00x00x00x00x00x00x02’}])
lisp_add_del_adjacency(is_add=1,vni=0,eid_type=1,reid=b’x00x06x00x00x00x02x00x00x00x00x00x00x00x00x00x00’,reid_len=64,leid=b’x00x06x00x00x00x00x00x00x00x00x00x00x00x00x00x00’,leid_len=64)

l2bd

eth2p-avf-dot1q-l2bdbasemaclrn-gbp-dev

L2BD with IEEE 802.1Q and GBP test cases

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

  • [Enc] Packet Encapsulations: Dot1q-IPv4 for L2 switching of IPv4. IEEE 802.1Q tagging is applied on both links TG-DUT1 .

  • [Cfg] DUT configuration: DUT1 is configured with: 2 VLAN subinterfaces (VID 200 and 300), 1 L2 BD with the 2 VLAN subinterfaces and a BVI, 1 GBP L3 RD, 1 GBP L2 BD with the L2 BD, 1 GBP EPG EPG-1 with sclass 100, the GBP L2 BD and L3 RD, 2 GBP external EP in EPG-1, 2 external subnets with sclass 200 and 300, Contracts allowing full communications between the 2 external subnets. DUT1 tested with virtual with VF enabled.

  • [Ver] TG verification: Test IPv4 packets are sent in one direction by TG on link to DUT1; on receive TG verifies packets for correctness and drops as applicable.

  • [Ref] Applicable standard specifications: IEEE 802.1q.

Name

VPP API Test Commands History - Commands Used Per Test Case

 64b-avf-dot1q- 
l2bdbasemaclrn-gbp-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’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=2855993344,enable_elog=0,rxq_num=1,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=2319122432,enable_elog=0,rxq_num=1,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vlan_subif(sw_if_index=1,vlan_id=1305)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vlan_subif(sw_if_index=2,vlan_id=1304)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
l2_interface_vlan_tag_rewrite(sw_if_index=3,vtr_op=3,push_dot1q=1,tag1=0,tag2=0)
l2_interface_vlan_tag_rewrite(sw_if_index=4,vtr_op=3,push_dot1q=1,tag1=0,tag2=0)
create_loopback(mac_address=b’xbaxdcx00xffxeex01’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=5,flags=1)
ip_table_add_del(table={‘table_id’: 1, ‘is_ip6’: False},is_add=True)
gbp_route_domain_add(rd={‘rd_id’: 1, ‘ip4_table_id’: 1, ‘ip6_table_id’: 0, ‘ip4_uu_sw_if_index’: 4294967295, ‘ip6_uu_sw_if_index’: 4294967295})
sw_interface_set_table(sw_if_index=5,is_ipv6=False,vrf_id=1)
bridge_domain_add_del(bd_id=1,flood=1,uu_flood=1,forward=1,learn=1,arp_term=1,is_add=1)
gbp_bridge_domain_add(bd={‘flags’: 0, ‘bvi_sw_if_index’: 5, ‘uu_fwd_sw_if_index’: 4294967295, ‘bm_flood_sw_if_index’: 4294967295, ‘bd_id’: 1, ‘rd_id’: 1})
gbp_endpoint_group_add(epg={‘uplink_sw_if_index’: 4294967295, ‘bd_id’: 1, ‘rd_id’: 1, ‘vnid’: 1, ‘sclass’: 100, ‘retention’: {‘remote_ep_timeout’: 4294967295}})
sw_interface_add_del_address(sw_if_index=5,is_add=True,del_all=False,prefix={‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x01’}}})
gbp_subnet_add_del(is_add=True,subnet={‘type’: 4, ‘sw_if_index’: 4294967295, ‘sclass’: 100, ‘prefix’: {‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x00’}}, ‘len’: 24}, ‘rd_id’: 1})
gbp_ext_itf_add_del(is_add=True,ext_itf={‘sw_if_index’: 5, ‘bd_id’: 1, ‘rd_id’: 1, ‘flags’: 0})
gbp_endpoint_add(endpoint={‘sw_if_index’: 3, ‘ips’: [{‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01d’}}], ‘n_ips’: 1, ‘mac’: b’xfaxcex00x00x02x05’, ‘sclass’: 100, ‘flags’: 8, ‘tun’: {‘src’: {‘af’: 0, ‘un’: {‘ip4’: b’x00x00x00x00’}}, ‘dst’: {‘af’: 0, ‘un’: {‘ip4’: b’x00x00x00x00’}}}})
gbp_endpoint_add(endpoint={‘sw_if_index’: 4, ‘ips’: [{‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01xc8’}}], ‘n_ips’: 1, ‘mac’: b’xfaxcex00x00x02x04’, ‘sclass’: 100, ‘flags’: 8, ‘tun’: {‘src’: {‘af’: 0, ‘un’: {‘ip4’: b’x00x00x00x00’}}, ‘dst’: {‘af’: 0, ‘un’: {‘ip4’: b’x00x00x00x00’}}}})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 1, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 5, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01d’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 1, ‘prefix’: {‘len’: 24, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x14x14x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 5, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01xc8’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
gbp_subnet_add_del(is_add=True,subnet={‘type’: 4, ‘sw_if_index’: 4294967295, ‘sclass’: 200, ‘prefix’: {‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nnnx00’}}, ‘len’: 24}, ‘rd_id’: 1})
gbp_subnet_add_del(is_add=True,subnet={‘type’: 4, ‘sw_if_index’: 4294967295, ‘sclass’: 300, ‘prefix’: {‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x14x14x00’}}, ‘len’: 24}, ‘rd_id’: 1})
acl_add_replace(tag=b’’gbp-permit-200-300’’,acl_index=4294967295,count=1,r=[{‘is_permit’: 1, ‘is_ipv6’: 0, ‘src_ip_addr’: b’x00x00x00x00’, ‘src_ip_prefix_len’: 0, ‘dst_ip_addr’: b’x00x00x00x00’, ‘dst_ip_prefix_len’: 0, ‘srcport_or_icmptype_first’: 0, ‘srcport_or_icmptype_last’: 65535, ‘dstport_or_icmpcode_first’: 0, ‘dstport_or_icmpcode_last’: 65535, ‘proto’: 61}])
gbp_contract_add_del(is_add=True,contract={‘acl_index’: 0, ‘sclass’: 200, ‘dclass’: 300, ‘n_rules’: 2, ‘rules’: [{‘action’: 1, ‘nh_set’: {‘hash_mode’: 1, ‘n_nhs’: 8, ‘nhs’: [{}, {}, {}, {}, {}, {}, {}, {}]}}, {‘action’: 1, ‘nh_set’: {‘hash_mode’: 1, ‘n_nhs’: 8, ‘nhs’: [{}, {}, {}, {}, {}, {}, {}, {}]}}], ‘n_ether_types’: 16, ‘allowed_ethertypes’: [2048, 34525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]})
gbp_contract_add_del(is_add=True,contract={‘acl_index’: 0, ‘sclass’: 300, ‘dclass’: 200, ‘n_rules’: 2, ‘rules’: [{‘action’: 1, ‘nh_set’: {‘hash_mode’: 1, ‘n_nhs’: 8, ‘nhs’: [{}, {}, {}, {}, {}, {}, {}, {}]}}, {‘action’: 1, ‘nh_set’: {‘hash_mode’: 1, ‘n_nhs’: 8, ‘nhs’: [{}, {}, {}, {}, {}, {}, {}, {}]}}], ‘n_ether_types’: 16, ‘allowed_ethertypes’: [2048, 34525, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]})
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

eth2p-avf-dot1qip4-l2bdbasemaclrn-dev

IPv4 routing with IEEE 802.1Q test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv4 for IPv4 routing. IEEE 802.1Q tagging is applied on links between TG-DUT1.

  • [Cfg] DUT configuration: DUT1 is configured with IPv4 routing and two static IPv4 /30 route entries. DUT1 is tested with virtual.

  • [Ver] TG verification: Test IPv4 packets are sent in one direction by TG on link to DUT1; on receive TG verifies packets for correctness and drops as applicable.

  • [Ref] Applicable standard specifications: IEEE 802.1q.

Name

VPP API Test Commands History - Commands Used Per Test Case

 68b-avf- 
dot1qip4-l2bdbasemaclrn-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’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=2855993344,enable_elog=0,rxq_num=1,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=2319122432,enable_elog=0,rxq_num=1,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vlan_subif(sw_if_index=1,vlan_id=1305)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vlan_subif(sw_if_index=2,vlan_id=1304)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
l2_interface_vlan_tag_rewrite(sw_if_index=3,vtr_op=3,push_dot1q=1,tag1=0,tag2=0)
l2_interface_vlan_tag_rewrite(sw_if_index=4,vtr_op=3,push_dot1q=1,tag1=0,tag2=0)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=1,shg=0,port_type=0,enable=1)

eth2p-ethipv4-l2bdbasemaclrn-dev

L2 bridge-domain test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv4 for L2 switching of IPv4. Both apply to all links.

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge-domain switching.

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

  • [Ref] Applicable standard specifications: RFC792

Name

VPP API Test Commands History - Commands Used Per Test Case

 64b-ethipv4-l2bdbasemaclrn-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=1,shg=0,port_type=0,enable=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=1)

l2patch

eth2p-ethip4-l2patch-dev

L2 cross-connect test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv4 for L2 switching of IPv4. Both apply to all links.

  • [Cfg] DUT configuration: DUT1 is configured with L2 patch switching.

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

  • [Ref] Applicable standard specifications: RFC792

Name

VPP API Test Commands History - Commands Used Per Test Case

 64b-ethip4-l2patch-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
l2_patch_add_del(rx_sw_if_index=2,tx_sw_if_index=1,is_add=1)
l2_patch_add_del(rx_sw_if_index=1,tx_sw_if_index=2,is_add=1)

l2xc

eth2p-ethipv4-l2xcbase-dev

L2 cross-connect test cases

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

  • [Enc] Packet Encapsulations: Eth-IPv4 for L2 switching of IPv4. Both apply to all links.

  • [Cfg] DUT configuration: DUT1 is configured with L2 cross-connect switching.

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

  • [Ref] Applicable standard specifications: RFC792

Name

VPP API Test Commands History - Commands Used Per Test Case

 64b-ethipv4-l2xcbase-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=1,enable=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=2,enable=1)

vm vhost

ip4

eth2p-ethipv4-ip4base-eth-2vhost-1vm-dev

IPv4 routing test cases with vhost user interface

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with VM and single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv4 for IPv4 routing on both links.

  • [Cfg] DUT configuration: DUT1 is configured with IPv4 routing and two static IPv4 /24 route entries. Qemu Guest is connected to VPP via vhost-user interfaces. Guest is running VPP ip4 interconnecting vhost-user interfaces.

  • [Ver] TG verification: Test IPv4 packet with IP protocol=61 is sent in one direction by TG on links to DUT1; on receive TG verifies packet for correctness and their IPv4 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC791, RFC826, RFC792

Name

VPP API Test Commands History - Commands Used Per Test Case

 64b-ethip4-ip4base- 
eth-2vhost-1vm-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()

ip6

eth2p-ethipv6-ip6base-eth-2vhost-1vm-dev

IPv4 routing test cases with vhost user interface

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with VM and single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv6 for IPv6 routing on both links.

  • [Cfg] DUT configuration: DUT1 is configured with IPv6 routing and two static IPv6 /64 route entries. Qemu Guest is connected to VPP via vhost-user interfaces. Guest is running VPP ip6 interconnecting vhost-user interfaces.

  • [Ver] TG verification: Test IPv6 packets are sent in one direction by TG on links to DUT1; on receive TG verifies packets for correctness and their IPv6 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC2460, RFC4443, RFC4861

Name

VPP API Test Commands History - Commands Used Per Test Case

 64b-ethipv6-ip6base- 
eth-2vhost-1vm-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
ip_address_dump(sw_if_index=1,is_ipv6=True)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: True},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: True},is_add=True)
sw_interface_set_table(sw_if_index=2,is_ipv6=True,vrf_id=101)
sw_interface_set_table(sw_if_index=1,is_ipv6=True,vrf_id=102)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x01x00x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x02x00x00x00x00x00x00x00x00x00x00x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:05’, ‘ip_address’: ‘2001:100::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘fa:ce:00:00:02:04’, ‘ip_address’: ‘2001:200::2’})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 101, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x01x00x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 102, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x02x00x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: True},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: True},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=True,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=True,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’x00x01x00x01x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’x00x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}}})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 101, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’x00x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=False,route={‘table_id’: 102, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’x00x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()

l2bd

eth2p-ethipv4-l2bdbasemaclrn-eth-2vhost-1vm-dev

L2 bridge-domain test cases with vhost user interface

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with VM and single links between nodes.

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

  • [Cfg] DUT configuration: DUT1 is configured with two L2 bridge-domains (L2BD) switching combined with MAC learning enabled. Qemu Guest is connected to VPP via vhost-user interfaces. Guest is configured with VPP l2 cross-connect interconnecting vhost-user interfaces.

  • [Ver] TG verification: Test IPv4 packets with IP protocol=61 are sent in both directions by TG on links to DUT1 via VM; on receive TG verifies packets for correctness and their IPv4 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC792

Name

VPP API Test Commands History - Commands Used Per Test Case

 64b-ethipv4-l2bdbasemaclrn- 
eth-2vhost-1vm-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=1,shg=0,port_type=0,enable=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=2,shg=0,port_type=0,enable=1)
create_vhost_user_if(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=1)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()

l2xc

eth2p-ethipv4-l2xcbase-eth-2vhost-1vm-dev

L2 cross-connect test cases with vhost user interface

  • [Top] Network Topologies: TG-DUT1-TG 2-node circular topology with VM and single links between nodes.

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

  • [Cfg] DUT configuration: DUT1 is configured with L2 cross-connect (L2XC) switching. Qemu Guest is connected to VPP via vhost-user interfaces. Guest is configured with VPP l2 cross-connect interconnecting vhost-user interfaces.

  • [Ver] TG verification: Test IPv4 packets with IP protocol=61 are sent in both directions by TG on links to DUT1 via VM; on receive TG verifies packets for correctness and their IPv4 src-addr, dst-addr and MAC addresses.

  • [Ref] Applicable standard specifications: RFC792

Name

VPP API Test Commands History - Commands Used Per Test Case

 64b-ethipv4-l2xcbase- 
eth-2vhost-1vm-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=2,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
hw_interface_set_mtu(sw_if_index=1,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=’’)
create_vhost_user_if(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=3,enable=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=2,enable=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=1,enable=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=4,enable=1)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()