2n-zn2-cx556a

2n1l-100ge2p1cx556a-rdma-ethip6-ip6base-mrr

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 Mellanox-CX556A.

  • [Ver] TG vefication: In MaxReceivedRate tests TG sends traffic at line rate and reports total received packets over trial period. 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-rdma- 
ethip6-ip6base-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f0np0’,host_if=’enp129s0f0np0’,rxq_num=2,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=1,mac_address=b’x0cBxa1pxadxba’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f1np1’,host_if=’enp129s0f1np1’,rxq_num=2,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=2,mac_address=b’x0cBxa1pxadxbb’)
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’: ‘0c:42:a1:70:b0:6a’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘0c:42:a1:70:b0:6b’, ‘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-rdma- 
ethip6-ip6base-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f0np0’,host_if=’enp129s0f0np0’,rxq_num=4,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=1,mac_address=b’x0cBxa1pxadxba’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f1np1’,host_if=’enp129s0f1np1’,rxq_num=4,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=2,mac_address=b’x0cBxa1pxadxbb’)
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’: ‘0c:42:a1:70:b0:6a’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘0c:42:a1:70:b0:6b’, ‘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-rdma- 
ethip6-ip6base-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f0np0’,host_if=’enp129s0f0np0’,rxq_num=8,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=1,mac_address=b’x0cBxa1pxadxba’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f1np1’,host_if=’enp129s0f1np1’,rxq_num=8,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=2,mac_address=b’x0cBxa1pxadxbb’)
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’: ‘0c:42:a1:70:b0:6a’, ‘ip_address’: ‘2001:1::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘0c:42:a1:70:b0:6b’, ‘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-100ge2p1cx556a-rdma-ethip6-ip6scale200k-mrr

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 2x100k static IPv6 /64 route entries. DUT1 is tested with Mellanox-CX556A.

  • [Ver] TG vefication: In MaxReceivedRate tests TG sends traffic at line rate and reports total received packets over trial period. Test packets are generated by TG on links to DUT1. TG traffic profile contains two L3 flow-groups (flow-group per direction, 100k 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-rdma- 
ethip6-ip6scale200k-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f0np0’,host_if=’enp129s0f0np0’,rxq_num=2,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=1,mac_address=b’x0cBxa1pxadxba’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f1np1’,host_if=’enp129s0f1np1’,rxq_num=2,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=2,mac_address=b’x0cBxa1pxadxbb’)
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’: ‘0c:42:a1:70:b0:6a’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘0c:42:a1:70:b0:6b’, ‘ip_address’: ‘2001:5::2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x01x86x9f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x01x86x9f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})

 78b-4t2c-rdma- 
ethip6-ip6scale200k-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f0np0’,host_if=’enp129s0f0np0’,rxq_num=4,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=1,mac_address=b’x0cBxa1pxadxba’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f1np1’,host_if=’enp129s0f1np1’,rxq_num=4,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=2,mac_address=b’x0cBxa1pxadxbb’)
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’: ‘0c:42:a1:70:b0:6a’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘0c:42:a1:70:b0:6b’, ‘ip_address’: ‘2001:5::2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x01x86x9f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x01x86x9f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})

 78b-8t4c-rdma- 
ethip6-ip6scale200k-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f0np0’,host_if=’enp129s0f0np0’,rxq_num=8,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=1,mac_address=b’x0cBxa1pxadxba’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f1np1’,host_if=’enp129s0f1np1’,rxq_num=8,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=2,mac_address=b’x0cBxa1pxadxbb’)
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’: ‘0c:42:a1:70:b0:6a’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘0c:42:a1:70:b0:6b’, ‘ip_address’: ‘2001:5::2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x01x86x9f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x01x86x9f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})

2n1l-100ge2p1cx556a-rdma-ethip6-ip6scale200k-rnd-mrr

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 2x100k static IPv6 /64 route entries. DUT1 is tested with Mellanox-CX556A.

  • [Ver] TG vefication: In MaxReceivedRate tests TG sends traffic at line rate and reports total received packets over trial period. Test packets are generated by TG on links to DUT1. TG traffic profile contains two L3 flow-groups (flow-group per direction, 100k 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-rdma- 
ethip6-ip6scale200k-rnd-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f0np0’,host_if=’enp129s0f0np0’,rxq_num=2,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=1,mac_address=b’x0cBxa1pxadxba’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f1np1’,host_if=’enp129s0f1np1’,rxq_num=2,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=2,mac_address=b’x0cBxa1pxadxbb’)
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’: ‘0c:42:a1:70:b0:6a’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘0c:42:a1:70:b0:6b’, ‘ip_address’: ‘2001:5::2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x01x86x9f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x01x86x9f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})

 78b-4t2c-rdma- 
ethip6-ip6scale200k-rnd-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f0np0’,host_if=’enp129s0f0np0’,rxq_num=4,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=1,mac_address=b’x0cBxa1pxadxba’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f1np1’,host_if=’enp129s0f1np1’,rxq_num=4,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=2,mac_address=b’x0cBxa1pxadxbb’)
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’: ‘0c:42:a1:70:b0:6a’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘0c:42:a1:70:b0:6b’, ‘ip_address’: ‘2001:5::2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x01x86x9f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x01x86x9f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})

 78b-8t4c-rdma- 
ethip6-ip6scale200k-rnd-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f0np0’,host_if=’enp129s0f0np0’,rxq_num=8,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=1,mac_address=b’x0cBxa1pxadxba’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f1np1’,host_if=’enp129s0f1np1’,rxq_num=8,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=2,mac_address=b’x0cBxa1pxadxbb’)
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’: ‘0c:42:a1:70:b0:6a’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘0c:42:a1:70:b0:6b’, ‘ip_address’: ‘2001:5::2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x01x86x9f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x01x86x9f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})

2n1l-100ge2p1cx556a-rdma-ethip6-ip6scale20k-mrr

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 2x10k static IPv6 /64 route entries. DUT1 is tested with Mellanox-CX556A.

  • [Ver] TG vefication: In MaxReceivedRate tests TG sends traffic at line rate and reports total received packets over trial period. Test packets are generated by TG on links to DUT1. TG traffic profile contains two L3 flow-groups (flow-group per direction, 10k 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-rdma- 
ethip6-ip6scale20k-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f0np0’,host_if=’enp129s0f0np0’,rxq_num=2,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=1,mac_address=b’x0cBxa1pxadxba’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f1np1’,host_if=’enp129s0f1np1’,rxq_num=2,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=2,mac_address=b’x0cBxa1pxadxbb’)
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’: ‘0c:42:a1:70:b0:6a’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘0c:42:a1:70:b0:6b’, ‘ip_address’: ‘2001:5::2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00’x0f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00’x0f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})

 78b-4t2c-rdma- 
ethip6-ip6scale20k-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f0np0’,host_if=’enp129s0f0np0’,rxq_num=4,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=1,mac_address=b’x0cBxa1pxadxba’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f1np1’,host_if=’enp129s0f1np1’,rxq_num=4,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=2,mac_address=b’x0cBxa1pxadxbb’)
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’: ‘0c:42:a1:70:b0:6a’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘0c:42:a1:70:b0:6b’, ‘ip_address’: ‘2001:5::2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00’x0f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00’x0f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})

 78b-8t4c-rdma- 
ethip6-ip6scale20k-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f0np0’,host_if=’enp129s0f0np0’,rxq_num=8,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=1,mac_address=b’x0cBxa1pxadxba’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f1np1’,host_if=’enp129s0f1np1’,rxq_num=8,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=2,mac_address=b’x0cBxa1pxadxbb’)
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’: ‘0c:42:a1:70:b0:6a’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘0c:42:a1:70:b0:6b’, ‘ip_address’: ‘2001:5::2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00’x0f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00’x0f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})

2n1l-100ge2p1cx556a-rdma-ethip6-ip6scale20k-rnd-mrr

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 2x10k static IPv6 /64 route entries. DUT1 is tested with Mellanox-CX556A.

  • [Ver] TG vefication: In MaxReceivedRate tests TG sends traffic at line rate and reports total received packets over trial period. Test packets are generated by TG on links to DUT1. TG traffic profile contains two L3 flow-groups (flow-group per direction, 10k 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-rdma- 
ethip6-ip6scale20k-rnd-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f0np0’,host_if=’enp129s0f0np0’,rxq_num=2,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=1,mac_address=b’x0cBxa1pxadxba’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f1np1’,host_if=’enp129s0f1np1’,rxq_num=2,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=2,mac_address=b’x0cBxa1pxadxbb’)
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’: ‘0c:42:a1:70:b0:6a’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘0c:42:a1:70:b0:6b’, ‘ip_address’: ‘2001:5::2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00’x0f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00’x0f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})

 78b-4t2c-rdma- 
ethip6-ip6scale20k-rnd-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f0np0’,host_if=’enp129s0f0np0’,rxq_num=4,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=1,mac_address=b’x0cBxa1pxadxba’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f1np1’,host_if=’enp129s0f1np1’,rxq_num=4,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=2,mac_address=b’x0cBxa1pxadxbb’)
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’: ‘0c:42:a1:70:b0:6a’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘0c:42:a1:70:b0:6b’, ‘ip_address’: ‘2001:5::2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00’x0f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00’x0f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})

 78b-8t4c-rdma- 
ethip6-ip6scale20k-rnd-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f0np0’,host_if=’enp129s0f0np0’,rxq_num=8,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=1,mac_address=b’x0cBxa1pxadxba’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class rdma level debug’)
rdma_create_v3(name=’enp129s0f1np1’,host_if=’enp129s0f1np1’,rxq_num=8,rxq_size=0,txq_size=0,mode=0,no_multi_seg=False,max_pktlen=0)
sw_interface_set_mac_address(sw_if_index=2,mac_address=b’x0cBxa1pxadxbb’)
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’: ‘0c:42:a1:70:b0:6a’, ‘ip_address’: ‘2001:3::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘0c:42:a1:70:b0:6b’, ‘ip_address’: ‘2001:5::2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00’x0f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00’x0f’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x05x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})