2n-zn2-x710

2n1l-10ge2p1x710-avf-ethip6-ip6base-ndrpdr

Packet throughput 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.

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

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 253 flows per flow-group) with all packets containing Ethernet header, IPv6 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-2t1c-avf- 
ethip6-ip6base-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=2,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=100728832,enable_elog=0,rxq_num=2,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

 78b-4t2c-avf- 
ethip6-ip6base-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=4,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=100728832,enable_elog=0,rxq_num=4,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

 78b-8t4c-avf- 
ethip6-ip6base-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=8,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=100728832,enable_elog=0,rxq_num=8,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

 1518b-2t1c-avf- 
ethip6-ip6base-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=2,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=100728832,enable_elog=0,rxq_num=2,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

 1518b-4t2c-avf- 
ethip6-ip6base-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=4,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=100728832,enable_elog=0,rxq_num=4,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

 9000b-2t1c-avf- 
ethip6-ip6base-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=2,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=100728832,enable_elog=0,rxq_num=2,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

 imix-2t1c-avf- 
ethip6-ip6base-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=2,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=100728832,enable_elog=0,rxq_num=2,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

 imix-4t2c-avf- 
ethip6-ip6base-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=4,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=100728832,enable_elog=0,rxq_num=4,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

 imix-8t4c-avf- 
ethip6-ip6base-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=8,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=100728832,enable_elog=0,rxq_num=8,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

2n1l-10ge2p1x710-avf-ethip6-ip6scale2m-ndrpdr

RFC2544: Pkt throughput 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.

  • [Cfg] DUT configuration: DUT1 is configured with IPv6 routing 2x1M static IPv6 /64 route entries. DUT1 is tested with Intel-X710.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUT1. TG traffic profile contains two L3 flow-groups (flow-group per direction, 1M flows per flow-group) with all packets containing Ethernet header, IPv6 header with IP and static payload. MAC addresses are matching MAC addresses of the TG node interfaces. Incrementing of IP.dst (IPv6 destination address) field is applied to both streams.

  • [Ref] Applicable standard specifications: RFC2544.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-2t1c-avf- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=2,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=100728832,enable_elog=0,rxq_num=2,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-4t2c-avf- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=4,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=100728832,enable_elog=0,rxq_num=4,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-8t4c-avf- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=8,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=100728832,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=100728832,enable_elog=0,rxq_num=8,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 1518b-2t1c-avf- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=2,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=100728832,enable_elog=0,rxq_num=2,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 1518b-4t2c-avf- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=4,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=100728832,enable_elog=0,rxq_num=4,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 9000b-2t1c-avf- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=2,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=100728832,enable_elog=0,rxq_num=2,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 imix-2t1c-avf- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=2,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=100728832,enable_elog=0,rxq_num=2,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 imix-4t2c-avf- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=4,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=100728832,enable_elog=0,rxq_num=4,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 imix-8t4c-avf- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=8,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=100728832,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=100728832,enable_elog=0,rxq_num=8,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

2n1l-10ge2p1x710-avf-ethip6-ip6scale2m-rnd-ndrpdr

RFC2544: Pkt throughput 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.

  • [Cfg] DUT configuration: DUT1 is configured with IPv6 routing 2x1M static IPv6 /64 route entries. DUT1 is tested with Intel-X710.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUT1. TG traffic profile contains two L3 flow-groups (flow-group per direction, 1M flows per flow-group) with all packets containing Ethernet header, IPv6 header with IP and static payload. MAC addresses are matching MAC addresses of the TG node interfaces. Randomization of IP.dst (IPv6 destination address) field is applied to both streams.

  • [Ref] Applicable standard specifications: RFC2544.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-2t1c-avf- 
ethip6-ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=2,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=100728832,enable_elog=0,rxq_num=2,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-4t2c-avf- 
ethip6-ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=4,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=100728832,enable_elog=0,rxq_num=4,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-8t4c-avf- 
ethip6-ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=8,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=100728832,enable_elog=0,rxq_num=8,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 1518b-2t1c-avf- 
ethip6-ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=2,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=100728832,enable_elog=0,rxq_num=2,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 1518b-4t2c-avf- 
ethip6-ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=4,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=100728832,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=100728832,enable_elog=0,rxq_num=4,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 9000b-2t1c-avf- 
ethip6-ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=2,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=100728832,enable_elog=0,rxq_num=2,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 imix-2t1c-avf- 
ethip6-ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=2,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=100728832,enable_elog=0,rxq_num=2,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 imix-4t2c-avf- 
ethip6-ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=4,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=100728832,enable_elog=0,rxq_num=4,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 imix-8t4c-avf- 
ethip6-ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=33619968,enable_elog=0,rxq_num=8,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=100728832,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=100728832,enable_elog=0,rxq_num=8,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)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

2n1l-10ge2p1x710-ethip6-ip6base-ndrpdr

Packet throughput 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.

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

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 253 flows per flow-group) with all packets containing Ethernet header, IPv6 header with IP protocol=61 and static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: RFC2544.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-2t1c-ethip6-ip6base-ndrpdr 

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

 78b-4t2c-ethip6-ip6base-ndrpdr 

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

 78b-8t4c-ethip6-ip6base-ndrpdr 

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

 1518b-2t1c- 
ethip6-ip6base-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

 1518b-4t2c- 
ethip6-ip6base-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

 9000b-2t1c- 
ethip6-ip6base-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

 imix-2t1c- 
ethip6-ip6base-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

 imix-4t2c- 
ethip6-ip6base-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

 imix-8t4c- 
ethip6-ip6base-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:2::2’})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,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)

2n1l-10ge2p1x710-ethip6-ip6scale2m-ndrpdr

RFC2544: Pkt throughput 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.

  • [Cfg] DUT configuration: DUT1 is configured with IPv6 routing 2x1M static IPv6 /64 route entries. DUT1 is tested with Intel-X710.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUT1. TG traffic profile contains two L3 flow-groups (flow-group per direction, 1M flows per flow-group) with all packets containing Ethernet header, IPv6 header with IP and static payload. MAC addresses are matching MAC addresses of the TG node interfaces. Incrementing of IP.dst (IPv6 destination address) field is applied to both streams.

  • [Ref] Applicable standard specifications: RFC2544.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-2t1c- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-4t2c- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-8t4c- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 1518b-2t1c- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 1518b-4t2c- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 9000b-2t1c- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 imix-2t1c- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 imix-4t2c- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 imix-8t4c- 
ethip6-ip6scale2m-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

2n1l-10ge2p1x710-ethip6-ip6scale2m-rnd-ndrpdr

RFC2544: Pkt throughput 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.

  • [Cfg] DUT configuration: DUT1 is configured with IPv6 routing 2x1M static IPv6 /64 route entries. DUT1 is tested with Intel-X710.

  • [Ver] TG verification: TG finds and reports throughput NDR (Non Drop Rate) with zero packet loss tolerance and throughput PDR (Partial Drop Rate) with non-zero packet loss tolerance (LT) expressed in percentage of packets transmitted. NDR and PDR are discovered for different Ethernet L2 frame sizes using MLRsearch library.

Test packets are generated by TG on links to DUT1. TG traffic profile contains two L3 flow-groups (flow-group per direction, 1M flows per flow-group) with all packets containing Ethernet header, IPv6 header with IP and static payload. MAC addresses are matching MAC addresses of the TG node interfaces. Randomization of IP.dst (IPv6 destination address) field is applied to both streams.

  • [Ref] Applicable standard specifications: RFC2544.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-2t1c-ethip6- 
ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-4t2c-ethip6- 
ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-8t4c-ethip6- 
ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 1518b-2t1c-ethip6- 
ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 1518b-4t2c-ethip6- 
ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 9000b-2t1c-ethip6- 
ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 imix-2t1c-ethip6- 
ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 imix-4t2c-ethip6- 
ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 imix-8t4c-ethip6- 
ip6scale2m-rnd-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x01’}}})
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_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:72’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:61:5f:01:5a:73’, ‘ip_address’: ‘2001:5::2’})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)