3n-tsh-x520

10ge2p1x520-ethip6ip6-ip6base-srv6enc1sid-mrr

Packet throughput Segment routing over IPv6 dataplane with one SID (SRH not inserted) test cases

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular opology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv6-IPv6 on DUT1-DUT2, Eth-IPv6 on TG-DUTn for IPv6 routing over SRv6.

  • [Cfg] DUT configuration: DUT1 and DUT2 are configured with IPv6

outing and static route, SR policy and steering policy for one direction and one SR behaviour (function) - End.DX6 - for other direction. DUT1 and DUT2 are tested with Intel-X520-DA2.

  • [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 static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: SRv6 Network Programming - draft 3.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-1t1c-ethip6ip6- 
ip6base-srv6enc1sid-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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]}]})
sr_localsid_add_del(is_del=False,localsid=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x00’,end_psp=False,behavior=6,sw_if_index=1,vlan_index=0,fib_table=0,nh_addr={‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 1, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-2t2c-ethip6ip6- 
ip6base-srv6enc1sid-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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]}]})
sr_localsid_add_del(is_del=False,localsid=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x00’,end_psp=False,behavior=6,sw_if_index=1,vlan_index=0,fib_table=0,nh_addr={‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 1, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-4t4c-ethip6ip6- 
ip6base-srv6enc1sid-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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]}]})
sr_localsid_add_del(is_del=False,localsid=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x00’,end_psp=False,behavior=6,sw_if_index=1,vlan_index=0,fib_table=0,nh_addr={‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 1, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-mrr

Packet throughput Segment routing over IPv6 dataplane with wo SIDs (SRH inserted) test cases

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular opology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv6-SRH-IPv6 on DUT1-DUT2, Eth-IPv6 on TG-DUTn for IPv6 routing over SRv6.

  • [Cfg] DUT configuration: DUT1 and DUT2 are configured with IPv6

outing and static route, SR policy and steering policy for one direction and two SR behaviours (functions) - End and End.DX6 - for other direction. DUT1 and DUT2 are tested with Intel-X520-DA2.

  • [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 static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: SRv6 Network Programming - draft 3.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-1t1c-ethip6srhip6- 
ip6base-srv6enc2sids-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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]}]})
sr_localsid_add_del(is_del=False,localsid=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x00’,end_psp=False,behavior=1,sw_if_index=4294967295,vlan_index=0,fib_table=0,nh_addr=0)
sr_localsid_add_del(is_del=False,localsid=b’ x02x00x03x00x00x00x00x00x00x00x00x00x00x00x00’,end_psp=False,behavior=6,sw_if_index=1,vlan_index=0,fib_table=0,nh_addr={‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 2, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x03x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-2t2c-ethip6srhip6- 
ip6base-srv6enc2sids-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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]}]})
sr_localsid_add_del(is_del=False,localsid=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x00’,end_psp=False,behavior=1,sw_if_index=4294967295,vlan_index=0,fib_table=0,nh_addr=0)
sr_localsid_add_del(is_del=False,localsid=b’ x02x00x03x00x00x00x00x00x00x00x00x00x00x00x00’,end_psp=False,behavior=6,sw_if_index=1,vlan_index=0,fib_table=0,nh_addr={‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 2, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x03x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-4t4c-ethip6srhip6- 
ip6base-srv6enc2sids-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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]}]})
sr_localsid_add_del(is_del=False,localsid=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x00’,end_psp=False,behavior=1,sw_if_index=4294967295,vlan_index=0,fib_table=0,nh_addr=0)
sr_localsid_add_del(is_del=False,localsid=b’ x02x00x03x00x00x00x00x00x00x00x00x00x00x00x00’,end_psp=False,behavior=6,sw_if_index=1,vlan_index=0,fib_table=0,nh_addr={‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 2, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x03x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

10ge2p1x520-ethip6srhip6-ip6base-srv6enc2sids-nodecaps-mrr

Packet throughput Segment routing over IPv6 dataplane with wo SIDs (SRH inserted) without decapsulation test cases

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular opology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv6-SRH-IPv6 on DUT1-DUT2 and DUTn->TG, Eth-IPv6 on TG->DUTn for IPv6 routing over SRv6.

  • [Cfg] DUT configuration: DUT1 and DUT2 are configured with IPv6

outing and static route, SR policy and steering policy for one direction and one SR behaviour (function) - End - for other direction. DUT1 and DUT2 are tested with Intel-X520-DA2.

  • [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 static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: SRv6 Network Programming - draft 3.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-1t1c-ethip6srhip6- 
ip6base-srv6enc2sids-nodecaps-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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]}]})
sr_localsid_add_del(is_del=False,localsid=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x00’,end_psp=False,behavior=1,sw_if_index=4294967295,vlan_index=0,fib_table=0,nh_addr=0)
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x02x00x03x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 2, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x03x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-2t2c-ethip6srhip6- 
ip6base-srv6enc2sids-nodecaps-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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]}]})
sr_localsid_add_del(is_del=False,localsid=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x00’,end_psp=False,behavior=1,sw_if_index=4294967295,vlan_index=0,fib_table=0,nh_addr=0)
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x02x00x03x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 2, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x03x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-4t4c-ethip6srhip6- 
ip6base-srv6enc2sids-nodecaps-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
ip_address_dump(sw_if_index=1,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=1,suppress=1)
ip_address_dump(sw_if_index=2,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=2,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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]}]})
sr_localsid_add_del(is_del=False,localsid=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x00’,end_psp=False,behavior=1,sw_if_index=4294967295,vlan_index=0,fib_table=0,nh_addr=0)
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x02x00x03x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 2, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x03x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x02x00x02x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-dyn-mrr

Packet throughput Segment routing over IPv6 dataplane with Dynamic SRv6 proxy test cases

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular opology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv6-SRH-IPv6 on DUT1-DUT2 and DUTn->TG, Eth-IPv6 on TG->DUTn and DUTn-CNT for IPv6 routing over SRv6.

  • [Cfg] DUT configuration: DUT1 and DUT2 are configured with IPv6

outing and static route, SR policy and steering policy for one direction and one SR behaviour (function) - End.AD - for other direction. DUT1 and DUT2 are tested with Intel-X520-DA2.

  • [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 static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: SRv6 Network Programming - draft 3.and Segment Routing for Service Chaining - internet draft 01.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-1t1c-ethip6srhip6- 
ip6base-srv6proxy-dyn-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_version()
memif_socket_filename_add_del(is_add=True,socket_id=1,socket_filename=’/tmp/memif-DUT2_CNF1-1’)
memif_create(role=1,rx_queues=1,tx_queues=1,socket_id=1,id=1,secret=’’)
memif_dump()
memif_dump()
memif_socket_filename_add_del(is_add=True,socket_id=2,socket_filename=’/tmp/memif-DUT2_CNF1-2’)
memif_create(role=1,rx_queues=1,tx_queues=1,socket_id=2,id=1,secret=’’)
memif_dump()
memif_dump()
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
hw_interface_set_mtu(sw_if_index=3,mtu=9200)
hw_interface_set_mtu(sw_if_index=4,mtu=9200)
memif_dump()
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x02’}}})
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_address_dump(sw_if_index=3,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=3,suppress=1)
ip_address_dump(sw_if_index=4,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=4,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:62:31:e7:33’, ‘ip_address’: ‘4001::’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x02x00x03x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 3, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x03x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x04x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
cli_inband(cmd=’sr localsid address 2002:2:: behavior end.ad nh 4001:: oif memif1/1 iif memif2/1’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-2t2c-ethip6srhip6- 
ip6base-srv6proxy-dyn-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_version()
memif_socket_filename_add_del(is_add=True,socket_id=1,socket_filename=’/tmp/memif-DUT2_CNF1-1’)
memif_create(role=1,rx_queues=2,tx_queues=2,socket_id=1,id=1,secret=’’)
memif_dump()
memif_dump()
memif_socket_filename_add_del(is_add=True,socket_id=2,socket_filename=’/tmp/memif-DUT2_CNF1-2’)
memif_create(role=1,rx_queues=2,tx_queues=2,socket_id=2,id=1,secret=’’)
memif_dump()
memif_dump()
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
hw_interface_set_mtu(sw_if_index=3,mtu=9200)
hw_interface_set_mtu(sw_if_index=4,mtu=9200)
memif_dump()
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x02’}}})
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_address_dump(sw_if_index=3,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=3,suppress=1)
ip_address_dump(sw_if_index=4,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=4,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:7e:25:1d:16’, ‘ip_address’: ‘4001::’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x02x00x03x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 3, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x03x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x04x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
cli_inband(cmd=’sr localsid address 2002:2:: behavior end.ad nh 4001:: oif memif1/1 iif memif2/1’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-4t4c-ethip6srhip6- 
ip6base-srv6proxy-dyn-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_version()
memif_socket_filename_add_del(is_add=True,socket_id=1,socket_filename=’/tmp/memif-DUT2_CNF1-1’)
memif_create(role=1,rx_queues=4,tx_queues=4,socket_id=1,id=1,secret=’’)
memif_dump()
memif_dump()
memif_socket_filename_add_del(is_add=True,socket_id=2,socket_filename=’/tmp/memif-DUT2_CNF1-2’)
memif_create(role=1,rx_queues=4,tx_queues=4,socket_id=2,id=1,secret=’’)
memif_dump()
memif_dump()
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
hw_interface_set_mtu(sw_if_index=3,mtu=9200)
hw_interface_set_mtu(sw_if_index=4,mtu=9200)
memif_dump()
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x02’}}})
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_address_dump(sw_if_index=3,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=3,suppress=1)
ip_address_dump(sw_if_index=4,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=4,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:bc:e6:9c:5b’, ‘ip_address’: ‘4001::’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x02x00x03x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 3, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x03x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x04x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
cli_inband(cmd=’sr localsid address 2002:2:: behavior end.ad nh 4001:: oif memif1/1 iif memif2/1’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-masq-mrr

Packet throughput Segment routing over IPv6 dataplane with Masquerading SRv6 proxy test cases

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular opology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv6-SRH-IPv6 on DUT1-DUT2, DUTn-CNT and DUTn->TG, Eth-IPv6 on TG->DUTn for IPv6 routing over SRv6.

  • [Cfg] DUT configuration: DUT1 and DUT2 are configured with IPv6

outing and static route, SR policy and steering policy for one direction and one SR behaviour (function) - End.AM - for other direction. DUT1 and DUT2 are tested with Intel-X520-DA2.

  • [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 static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: SRv6 Network Programming - draft 3.and Segment Routing for Service Chaining - internet draft 01.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-1t1c-ethip6srhip6- 
ip6base-srv6proxy-masq-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_version()
memif_socket_filename_add_del(is_add=True,socket_id=1,socket_filename=’/tmp/memif-DUT2_CNF1-1’)
memif_create(role=1,rx_queues=1,tx_queues=1,socket_id=1,id=1,secret=’’)
memif_dump()
memif_dump()
memif_socket_filename_add_del(is_add=True,socket_id=2,socket_filename=’/tmp/memif-DUT2_CNF1-2’)
memif_create(role=1,rx_queues=1,tx_queues=1,socket_id=2,id=1,secret=’’)
memif_dump()
memif_dump()
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
hw_interface_set_mtu(sw_if_index=3,mtu=9200)
hw_interface_set_mtu(sw_if_index=4,mtu=9200)
memif_dump()
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x02’}}})
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_address_dump(sw_if_index=3,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=3,suppress=1)
ip_address_dump(sw_if_index=4,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=4,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:ff:76:3c:e7’, ‘ip_address’: ‘4001::’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x02x00x03x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 3, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x03x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x04x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
cli_inband(cmd=’sr localsid address 2002:2:: behavior end.am nh 4001:: oif memif1/1 iif memif2/1’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-2t2c-ethip6srhip6- 
ip6base-srv6proxy-masq-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_version()
memif_socket_filename_add_del(is_add=True,socket_id=1,socket_filename=’/tmp/memif-DUT2_CNF1-1’)
memif_create(role=1,rx_queues=2,tx_queues=2,socket_id=1,id=1,secret=’’)
memif_dump()
memif_dump()
memif_socket_filename_add_del(is_add=True,socket_id=2,socket_filename=’/tmp/memif-DUT2_CNF1-2’)
memif_create(role=1,rx_queues=2,tx_queues=2,socket_id=2,id=1,secret=’’)
memif_dump()
memif_dump()
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
hw_interface_set_mtu(sw_if_index=3,mtu=9200)
hw_interface_set_mtu(sw_if_index=4,mtu=9200)
memif_dump()
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x02’}}})
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_address_dump(sw_if_index=3,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=3,suppress=1)
ip_address_dump(sw_if_index=4,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=4,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:92:d9:ac:f0’, ‘ip_address’: ‘4001::’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x02x00x03x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 3, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x03x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x04x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
cli_inband(cmd=’sr localsid address 2002:2:: behavior end.am nh 4001:: oif memif1/1 iif memif2/1’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-4t4c-ethip6srhip6- 
ip6base-srv6proxy-masq-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_version()
memif_socket_filename_add_del(is_add=True,socket_id=1,socket_filename=’/tmp/memif-DUT2_CNF1-1’)
memif_create(role=1,rx_queues=4,tx_queues=4,socket_id=1,id=1,secret=’’)
memif_dump()
memif_dump()
memif_socket_filename_add_del(is_add=True,socket_id=2,socket_filename=’/tmp/memif-DUT2_CNF1-2’)
memif_create(role=1,rx_queues=4,tx_queues=4,socket_id=2,id=1,secret=’’)
memif_dump()
memif_dump()
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
hw_interface_set_mtu(sw_if_index=3,mtu=9200)
hw_interface_set_mtu(sw_if_index=4,mtu=9200)
memif_dump()
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x02’}}})
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_address_dump(sw_if_index=3,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=3,suppress=1)
ip_address_dump(sw_if_index=4,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=4,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:31:ab:3b:da’, ‘ip_address’: ‘4001::’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x02x00x03x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 3, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x03x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x04x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
cli_inband(cmd=’sr localsid address 2002:2:: behavior end.am nh 4001:: oif memif1/1 iif memif2/1’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

10ge2p1x520-ethip6srhip6-ip6base-srv6proxy-stat-mrr

Packet throughput Segment routing over IPv6 dataplane with Static SRv6 proxy test cases

  • [Top] Network Topologies: TG-DUT1-DUT2-TG 3-node circular opology with single links between nodes.

  • [Enc] Packet Encapsulations: Eth-IPv6-SRH-IPv6 on DUT1-DUT2 and DUTn->TG, Eth-IPv6 on TG->DUTn and DUTn-CNT for IPv6 routing over SRv6.

  • [Cfg] DUT configuration: DUT1 and DUT2 are configured with IPv6

outing and static route, SR policy and steering policy for one direction and one SR behaviour (function) - End.AS - for other direction. DUT1 and DUT2 are tested with Intel-X520-DA2.

  • [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 static payload. MAC addresses are matching MAC addresses of the TG node interfaces.

  • [Ref] Applicable standard specifications: SRv6 Network Programming - draft 3.and Segment Routing for Service Chaining - internet draft 01.

 Test Name 

 VPP API Test Commands History - Commands Used Per Test Case 

 78b-1t1c-ethip6srhip6- 
ip6base-srv6proxy-stat-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_version()
memif_socket_filename_add_del(is_add=True,socket_id=1,socket_filename=’/tmp/memif-DUT2_CNF1-1’)
memif_create(role=1,rx_queues=1,tx_queues=1,socket_id=1,id=1,secret=’’)
memif_dump()
memif_dump()
memif_socket_filename_add_del(is_add=True,socket_id=2,socket_filename=’/tmp/memif-DUT2_CNF1-2’)
memif_create(role=1,rx_queues=1,tx_queues=1,socket_id=2,id=1,secret=’’)
memif_dump()
memif_dump()
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
hw_interface_set_mtu(sw_if_index=3,mtu=9200)
hw_interface_set_mtu(sw_if_index=4,mtu=9200)
memif_dump()
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x02’}}})
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_address_dump(sw_if_index=3,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=3,suppress=1)
ip_address_dump(sw_if_index=4,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=4,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:69:a4:3e:45’, ‘ip_address’: ‘4001::’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x02x00x03x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 3, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x03x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x04x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
cli_inband(cmd=’sr localsid address 2002:2:: behavior end.as nh 4001:: oif memif1/1 iif memif2/1 src 2002:1:: next 2002:3:: next 2002:4::’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-2t2c-ethip6srhip6- 
ip6base-srv6proxy-stat-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_version()
memif_socket_filename_add_del(is_add=True,socket_id=1,socket_filename=’/tmp/memif-DUT2_CNF1-1’)
memif_create(role=1,rx_queues=2,tx_queues=2,socket_id=1,id=1,secret=’’)
memif_dump()
memif_dump()
memif_socket_filename_add_del(is_add=True,socket_id=2,socket_filename=’/tmp/memif-DUT2_CNF1-2’)
memif_create(role=1,rx_queues=2,tx_queues=2,socket_id=2,id=1,secret=’’)
memif_dump()
memif_dump()
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
hw_interface_set_mtu(sw_if_index=3,mtu=9200)
hw_interface_set_mtu(sw_if_index=4,mtu=9200)
memif_dump()
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x02’}}})
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_address_dump(sw_if_index=3,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=3,suppress=1)
ip_address_dump(sw_if_index=4,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=4,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:5a:54:43:48’, ‘ip_address’: ‘4001::’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x02x00x03x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 3, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x03x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x04x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
cli_inband(cmd=’sr localsid address 2002:2:: behavior end.as nh 4001:: oif memif1/1 iif memif2/1 src 2002:1:: next 2002:3:: next 2002:4::’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)

 78b-4t4c-ethip6srhip6- 
ip6base-srv6proxy-stat-mrr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_version()
memif_socket_filename_add_del(is_add=True,socket_id=1,socket_filename=’/tmp/memif-DUT2_CNF1-1’)
memif_create(role=1,rx_queues=4,tx_queues=4,socket_id=1,id=1,secret=’’)
memif_dump()
memif_dump()
memif_socket_filename_add_del(is_add=True,socket_id=2,socket_filename=’/tmp/memif-DUT2_CNF1-2’)
memif_create(role=1,rx_queues=4,tx_queues=4,socket_id=2,id=1,secret=’’)
memif_dump()
memif_dump()
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
hw_interface_set_mtu(sw_if_index=3,mtu=9200)
hw_interface_set_mtu(sw_if_index=4,mtu=9200)
memif_dump()
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x02’}}})
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x01’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 128, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’0x02x00x01x00x00x00x00x00x00x00x00x00x00x00x02’}}})
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_address_dump(sw_if_index=3,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=3,suppress=1)
ip_address_dump(sw_if_index=4,is_ipv6=True)
sw_interface_ip6nd_ra_config(sw_if_index=4,suppress=1)
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘80:41:26:6f:19:81’, ‘ip_address’: ‘2001:3::1’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:a8:aa:c0’, ‘ip_address’: ‘2001:2::2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:11:95:04:98’, ‘ip_address’: ‘4001::’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 0, ‘prefix’: {‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘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’ x01x00x03x00x00x00x00x00x00x00x00x00x00x00x01’}, ‘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’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x02x00x03x00x00x00x00x00x00x00x00x00x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 1, ‘nh’: {‘address’: {‘ip6’: b’ x01x00x02x00x00x00x00x00x00x00x00x00x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sr_set_encap_source(encaps_source=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x00’)
sr_policy_add(bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,weight=1,is_encap=True,is_spray=False,sids={‘num_sids’: 3, ‘weight’: 1, ‘sids’: [b’ x03x00x02x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x03x00x00x00x00x00x00x00x00x00x00x00x00’, b’ x03x00x04x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’, b’x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00x00’]})
sr_steering_add_del(is_del=False,bsid_addr=b’ x03x00x01x00x00x00x00x00x00x00x00x00x00x00x01’,sr_policy_index=0,table_id=0,prefix={‘len’: 64, ‘address’: {‘af’: 1, ‘un’: {‘ip6’: b’ x01x00x01x00x00x00x00x00x00x00x00x00x00x00x00’}}},sw_if_index=4294967295,traffic_type=6)
cli_inband(cmd=’sr localsid address 2002:2:: behavior end.as nh 4001:: oif memif1/1 iif memif2/1 src 2002:1:: next 2002:3:: next 2002:4::’)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)