ip6

eth2p-ethicmpv6-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-ICMPv6 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 ICMPv6 Echo Request 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

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-ethicmpv6-ip6base-dev 

 DUT1:  
cli_inband(cmd=’show log’)
show_version()
sw_interface_dump(name_filter=’’,name_filter_valid=0)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,admin_up_down=1)
sw_interface_set_flags(sw_if_index=2,admin_up_down=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=’’,name_filter_valid=0)
sw_interface_dump(name_filter=’’,name_filter_valid=0)
sw_interface_dump(name_filter=’’,name_filter_valid=0)
ip_neighbor_add_del(is_add=1,neighbor={‘ip_address’: ‘2001:1::2’, ‘flags’: 0, ‘sw_if_index’: 1, ‘mac_address’: ‘fa:ce:00:00:02:00’})
ip_neighbor_add_del(is_add=1,neighbor={‘ip_address’: ‘2001:2::2’, ‘flags’: 0, ‘sw_if_index’: 2, ‘mac_address’: ‘fa:ce:00:00:02:01’})
sw_interface_add_del_address(address_length=64,del_all=0,is_add=1,sw_if_index=1,address=’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,is_ipv6=1)
sw_interface_add_del_address(address_length=64,del_all=0,is_add=1,sw_if_index=2,address=’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,is_ipv6=1)
ip_address_dump(sw_if_index=2,is_ipv6=1)
sw_interface_ip6nd_ra_config(suppress=1,sw_if_index=2)
ip_address_dump(sw_if_index=1,is_ipv6=1)
sw_interface_ip6nd_ra_config(suppress=1,sw_if_index=1)
ip_route_add_del(route={‘paths’: [{‘nh’: {‘obj_id’: 4294967295, ‘via_label’: 1048576, ‘address’: {‘ip6’: ‘ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x02’}}, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘proto’: 1, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ‘sw_if_index’: 1, ‘flags’: 0, ‘preference’: 1, ‘table_id’: 0, ‘type’: 0}], ‘prefix’: {‘len’: 128, ‘address’: {‘un’: {‘ip6’: ‘?xfex00_x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘af’: 1}}, ‘n_paths’: 1, ‘table_id’: 0},is_add=1,is_multipath=0)
ip_route_add_del(route={‘paths’: [{‘nh’: {‘obj_id’: 4294967295, ‘via_label’: 1048576, ‘address’: {‘ip6’: ‘ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}}, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘proto’: 1, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ‘sw_if_index’: 2, ‘flags’: 0, ‘preference’: 1, ‘table_id’: 0, ‘type’: 0}], ‘prefix’: {‘len’: 128, ‘address’: {‘un’: {‘ip6’: ‘?xfex00_x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘af’: 1}}, ‘n_paths’: 1, ‘table_id’: 0},is_add=1,is_multipath=0)

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:

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-ethip6- 
ip6base-copblklistbase-dev

 DUT1:  
cli_inband(cmd=’show log’)
show_version()
sw_interface_dump(name_filter=’’,name_filter_valid=0)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,admin_up_down=1)
sw_interface_set_flags(sw_if_index=2,admin_up_down=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=’’,name_filter_valid=0)
sw_interface_dump(name_filter=’’,name_filter_valid=0)
ip_neighbor_add_del(is_add=1,neighbor={‘ip_address’: ‘2001:1::2’, ‘flags’: 0, ‘sw_if_index’: 1, ‘mac_address’: ‘fa:ce:00:00:02:00’})
ip_neighbor_add_del(is_add=1,neighbor={‘ip_address’: ‘2001:2::2’, ‘flags’: 0, ‘sw_if_index’: 2, ‘mac_address’: ‘fa:ce:00:00:02:01’})
sw_interface_add_del_address(address_length=64,del_all=0,is_add=1,sw_if_index=1,address=’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,is_ipv6=1)
sw_interface_add_del_address(address_length=64,del_all=0,is_add=1,sw_if_index=2,address=’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,is_ipv6=1)
ip_address_dump(sw_if_index=2,is_ipv6=1)
sw_interface_ip6nd_ra_config(suppress=1,sw_if_index=2)
ip_address_dump(sw_if_index=1,is_ipv6=1)
sw_interface_ip6nd_ra_config(suppress=1,sw_if_index=1)
ip_table_add_del(table={‘is_ip6’: 1, ‘table_id’: 1},is_add=1)
ip_route_add_del(route={‘paths’: [{‘nh’: {‘obj_id’: 4294967295, ‘via_label’: 1048576, ‘address’: 0}, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘proto’: 1, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ‘sw_if_index’: 4294967295, ‘flags’: 0, ‘preference’: 1, ‘table_id’: 0, ‘type’: 1}], ‘prefix’: {‘len’: 64, ‘address’: {‘un’: {‘ip6’: ‘ x02x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}, ‘af’: 1}}, ‘n_paths’: 1, ‘table_id’: 1},is_add=1,is_multipath=0)
cop_whitelist_enable_disable(fib_id=1,default_cop=0,ip6=1,ip4=0,sw_if_index=1)
cop_interface_enable_disable(enable_disable=1,sw_if_index=1)

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:

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-ethip6- 
ip6base-copwhtlistbase-dev

 DUT1:  
cli_inband(cmd=’show log’)
show_version()
sw_interface_dump(name_filter=’’,name_filter_valid=0)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,admin_up_down=1)
sw_interface_set_flags(sw_if_index=2,admin_up_down=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=’’,name_filter_valid=0)
sw_interface_dump(name_filter=’’,name_filter_valid=0)
sw_interface_dump(name_filter=’’,name_filter_valid=0)
ip_neighbor_add_del(is_add=1,neighbor={‘ip_address’: ‘2001:1::2’, ‘flags’: 0, ‘sw_if_index’: 1, ‘mac_address’: ‘fa:ce:00:00:02:00’})
ip_neighbor_add_del(is_add=1,neighbor={‘ip_address’: ‘2001:2::2’, ‘flags’: 0, ‘sw_if_index’: 2, ‘mac_address’: ‘fa:ce:00:00:02:01’})
sw_interface_add_del_address(address_length=64,del_all=0,is_add=1,sw_if_index=1,address=’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,is_ipv6=1)
sw_interface_add_del_address(address_length=64,del_all=0,is_add=1,sw_if_index=2,address=’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,is_ipv6=1)
ip_address_dump(sw_if_index=2,is_ipv6=1)
sw_interface_ip6nd_ra_config(suppress=1,sw_if_index=2)
ip_address_dump(sw_if_index=1,is_ipv6=1)
sw_interface_ip6nd_ra_config(suppress=1,sw_if_index=1)
ip_table_add_del(table={‘is_ip6’: 1, ‘table_id’: 1},is_add=1)
ip_route_add_del(route={‘paths’: [{‘nh’: {‘obj_id’: 4294967295, ‘via_label’: 1048576, ‘address’: 0}, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘proto’: 1, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], ‘sw_if_index’: 4294967295, ‘flags’: 0, ‘preference’: 1, ‘table_id’: 0, ‘type’: 1}], ‘prefix’: {‘len’: 64, ‘address’: {‘un’: {‘ip6’: ‘ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}, ‘af’: 1}}, ‘n_paths’: 1, ‘table_id’: 1},is_add=1,is_multipath=0)
cop_whitelist_enable_disable(fib_id=1,default_cop=0,ip6=1,ip4=0,sw_if_index=1)
cop_interface_enable_disable(enable_disable=1,sw_if_index=1)

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:

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-ethip6- 
ip6base-iacldstbase-dev

 DUT1:  
cli_inband(cmd=’show log’)
show_version()
sw_interface_dump(name_filter=’’,name_filter_valid=0)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,admin_up_down=1)
sw_interface_set_flags(sw_if_index=2,admin_up_down=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=’’,name_filter_valid=0)
sw_interface_dump(name_filter=’’,name_filter_valid=0)
ip_neighbor_add_del(is_add=1,neighbor={‘ip_address’: ‘2001:1::2’, ‘flags’: 0, ‘sw_if_index’: 1, ‘mac_address’: ‘fa:ce:00:00:02:00’})
ip_neighbor_add_del(is_add=1,neighbor={‘ip_address’: ‘2001:2::2’, ‘flags’: 0, ‘sw_if_index’: 2, ‘mac_address’: ‘fa:ce:00:00:02:01’})
sw_interface_add_del_address(address_length=64,del_all=0,is_add=1,sw_if_index=1,address=’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,is_ipv6=1)
sw_interface_add_del_address(address_length=64,del_all=0,is_add=1,sw_if_index=2,address=’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,is_ipv6=1)
ip_address_dump(sw_if_index=2,is_ipv6=1)
sw_interface_ip6nd_ra_config(suppress=1,sw_if_index=2)
ip_address_dump(sw_if_index=1,is_ipv6=1)
sw_interface_ip6nd_ra_config(suppress=1,sw_if_index=1)
classify_add_del_table(next_table_index=4294967295,miss_next_index=4294967295,mask_len=48,match_n_vectors=3,mask=’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00 x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02x00x00x00x00x00x00x00x00’,current_data_offset=0,memory_size=2097152,table_index=4294967295,nbuckets=2,skip_n_vectors=0,is_add=1,current_data_flag=0)
classify_add_del_session(advance=0,match_len=48,is_add=1,opaque_index=4294967295,hit_next_index=4294967295,table_index=0,action=0,match=’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00 x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02x00x00x00x00x00x00x00x00’,metadata=0)
input_acl_set_interface(ip6_table_index=0,is_add=1,l2_table_index=4294967295,ip4_table_index=4294967295,sw_if_index=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.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-ethip6- 
ip6base-ipolicemarkbase-dev

 DUT1:  
cli_inband(cmd=’show log’)
show_version()
sw_interface_dump(name_filter=’’,name_filter_valid=0)
cli_inband(cmd=’trace add dpdk-input 50’)
cli_inband(cmd=’trace add vhost-user-input 50’)
cli_inband(cmd=’trace add memif-input 50’)
cli_inband(cmd=’trace add avf-input 50’)
sw_interface_set_flags(sw_if_index=1,admin_up_down=1)
sw_interface_set_flags(sw_if_index=2,admin_up_down=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=’’,name_filter_valid=0)
sw_interface_dump(name_filter=’’,name_filter_valid=0)
sw_interface_dump(name_filter=’’,name_filter_valid=0)
ip_neighbor_add_del(is_add=1,neighbor={‘ip_address’: ‘2001:1::2’, ‘flags’: 0, ‘sw_if_index’: 1, ‘mac_address’: ‘fa:ce:00:00:02:00’})
ip_neighbor_add_del(is_add=1,neighbor={‘ip_address’: ‘2001:2::2’, ‘flags’: 0, ‘sw_if_index’: 2, ‘mac_address’: ‘fa:ce:00:00:02:01’})
sw_interface_add_del_address(address_length=64,del_all=0,is_add=1,sw_if_index=1,address=’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,is_ipv6=1)
sw_interface_add_del_address(address_length=64,del_all=0,is_add=1,sw_if_index=2,address=’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,is_ipv6=1)
ip_address_dump(sw_if_index=2,is_ipv6=1)
sw_interface_ip6nd_ra_config(suppress=1,sw_if_index=2)
ip_address_dump(sw_if_index=1,is_ipv6=1)
sw_interface_ip6nd_ra_config(suppress=1,sw_if_index=1)
policer_add_del name policer1 cir 100 eir 150 cb 78 eb 78 rate_type pps round_type closest type 2r3c-2698 conform_action transmit exceed_action mark-and-transmit AF22 violate_action transmit color-aware
classify_add_del_table mask l3 ip6 dst
classify_add_del_session policer-hit-next 0 exceed-color table-index 0 skip_n 2 match_n 2 match l3 ip6 dst 2001:2::2
policer_classify_set_interface sw_if_index 1 ip6-table 0
policer_add_del name policer2 cir 100 eir 150 cb 78 eb 78 rate_type pps round_type closest type 2r3c-2698 conform_action transmit exceed_action mark-and-transmit AF22 violate_action transmit color-aware
classify_add_del_table mask l3 ip6 dst
classify_add_del_session policer-hit-next 1 exceed-color table-index 1 skip_n 2 match_n 2 match l3 ip6 dst 2001:1::2
policer_classify_set_interface sw_if_index 2 ip6-table 1