2n-skx-xxv710

2n1l-25ge2p1xxv710-avf-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr

RFC2544: Pkt throughput L2BD test cases with vhost

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

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

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge- domain and MAC learning enabled. Qemu VNFs are connected to VPP via vhost-user interfaces. Guest is running testpmd interconnecting vhost-user interfaces, rxd/txd=1024. DUT1 is tested with Intel-XXV710.

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

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 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 

 64b-2t1c-avf-eth- 
l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 64b-4t2c-avf-eth- 
l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 64b-8t4c-avf-eth- 
l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

 1518b-2t1c-avf-eth- 
l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 9000b-2t1c-avf-eth- 
l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-2t1c-avf-eth- 
l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-4t2c-avf-eth- 
l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 imix-8t4c-avf-eth- 
l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

2n1l-25ge2p1xxv710-avf-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

RFC2544: Pkt throughput L2BD test cases with vhost

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

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

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge- domain and MAC learning enabled. Qemu VNFs are connected to VPP via vhost-user interfaces. Guest is running VPP l2xc interconnecting vhost-user interfaces, rxd/txd=1024. DUT1 is tested with Intel-XXV710.

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

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 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 

 64b-2t1c-avf-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 64b-4t2c-avf-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 64b-8t4c-avf-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

 1518b-2t1c-avf-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 1518b-4t2c-avf-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 9000b-2t1c-avf-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-2t1c-avf-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-4t2c-avf-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 imix-8t4c-avf-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

2n1l-25ge2p1xxv710-avf-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr

RFC2544: Pkt throughput L2XC test cases with vhost

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

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

  • [Cfg] DUT configuration: DUT1 is configured with L2 cross- connect. Qemu VNFs are connected to VPP via vhost-user interfaces. Guest is running testpmd interconnecting vhost-user interfaces, rxd/txd=1024. DUT1 is tested with Intel-XXV710.

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

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 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 

 64b-2t1c-avf-eth- 
l2xcbase-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 64b-4t2c-avf-eth- 
l2xcbase-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 64b-8t4c-avf-eth- 
l2xcbase-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

 1518b-2t1c-avf-eth- 
l2xcbase-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 1518b-4t2c-avf-eth- 
l2xcbase-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 9000b-2t1c-avf-eth- 
l2xcbase-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-2t1c-avf-eth- 
l2xcbase-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-4t2c-avf-eth- 
l2xcbase-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 imix-8t4c-avf-eth- 
l2xcbase-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

2n1l-25ge2p1xxv710-avf-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

RFC2544: Pkt throughput L2XC test cases with vhost

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

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

  • [Cfg] DUT configuration: DUT1 is configured with L2 cross- connect. Qemu VNFs are connected to VPP via vhost-user interfaces. Guest is running VPP l2xc interconnecting vhost-user interfaces, rxd/txd=1024. DUT1 is tested with Intel-XXV710.

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

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 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 

 64b-2t1c-avf-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 64b-4t2c-avf-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 64b-8t4c-avf-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

 1518b-2t1c-avf-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 1518b-4t2c-avf-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 9000b-2t1c-avf-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-2t1c-avf-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-4t2c-avf-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 imix-8t4c-avf-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

2n1l-25ge2p1xxv710-avf-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr

RFC2544: Pkt throughput IPv4 test cases with vhost

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

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

  • [Cfg] DUT configuration: DUT1 is configured with IPv4. routing and two static IPv4 /24 route entries. Qemu VNFs are connected to VPP via vhost-user interfaces. Guest is running testpmd interconnecting vhost-user interfaces, rxd/txd=1024. DUT1 is tested with Intel-XXV710.

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

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 253 flows per flow-group) with all packets containing Ethernet header, IPv4 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 

 64b-2t1c-avf-ethip4- 
ip4base-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:e8:f4:88:6d’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:6d:46:6a:ff’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 64b-4t2c-avf-ethip4- 
ip4base-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:03:9b:53:43’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:34:61:15:4f’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 64b-8t4c-avf-ethip4- 
ip4base-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:5c:52:33:5e’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:b1:10:24:a0’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

 1518b-2t1c-avf-ethip4- 
ip4base-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:e6:75:25:18’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:e3:d9:70:f8’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 1518b-4t2c-avf-ethip4- 
ip4base-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:c2:a9:2b:c8’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:2f:62:8a:37’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 9000b-2t1c-avf-ethip4- 
ip4base-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:24:d4:09:77’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:99:af:d2:78’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-2t1c-avf-ethip4- 
ip4base-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:90:d2:95:9a’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:b5:98:82:b9’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-4t2c-avf-ethip4- 
ip4base-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:59:bf:ef:41’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:62:e7:fa:08’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 imix-8t4c-avf-ethip4- 
ip4base-eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:a8:a2:21:e8’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:2d:fb:a1:5a’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

2n1l-25ge2p1xxv710-avf-ethip4-ip4base-eth-2vhostvr1024-1vm-vppip4-ndrpdr

RFC2544: Pkt throughput IPv4 test cases with vhost

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

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

  • [Cfg] DUT configuration: DUT1 is configured with IPv4. routing and two static IPv4 /24 route entries. Qemu VNFs are connected to VPP via vhost-user interfaces. Guest is running VPP ip4 interconnecting vhost-user interfaces, rxd/txd=1024. DUT1 is tested with Intel-XXV710.

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

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 253 flows per flow-group) with all packets containing Ethernet header, IPv4 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 

 64b-2t1c-avf-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 64b-4t2c-avf-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 64b-8t4c-avf-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

 1518b-2t1c-avf-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 1518b-4t2c-avf-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 9000b-2t1c-avf-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-2t1c-avf-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=2,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-4t2c-avf-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 imix-8t4c-avf-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=37421056,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
cli_inband(cmd=’set logging class avf level debug’)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=171638784,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

2n1l-25ge2p1xxv710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-ndrpdr

RFC2544: Pkt throughput L2BD test cases with vhost

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

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

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge- domain and MAC learning enabled. Qemu VNFs are connected to VPP via vhost-user interfaces. Guest is running testpmd interconnecting vhost-user interfaces, rxd/txd=1024. DUT1 is tested with Intel-XXV710.

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

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 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 

 64b-2t1c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 64b-4t2c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 64b-8t4c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

 1518b-2t1c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 1518b-4t2c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 9000b-2t1c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-2t1c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-4t2c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 imix-8t4c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

2n1l-25ge2p1xxv710-eth-l2bdbasemaclrn-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

RFC2544: Pkt throughput L2BD test cases with vhost

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

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

  • [Cfg] DUT configuration: DUT1 is configured with L2 bridge- domain and MAC learning enabled. Qemu VNFs are connected to VPP via vhost-user interfaces. Guest is running VPP l2xc interconnecting vhost-user interfaces, rxd/txd=1024. DUT1 is tested with Intel-XXV710.

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

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 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 

 64b-2t1c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 64b-4t2c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 64b-8t4c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

 1518b-2t1c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 1518b-4t2c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 9000b-2t1c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-2t1c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-4t2c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 imix-8t4c-eth-l2bdbasemaclrn- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=1,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=2,bd_id=2,shg=0,port_type=0,enable=True)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=3,bd_id=1,shg=0,port_type=0,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_l2_bridge(rx_sw_if_index=4,bd_id=2,shg=0,port_type=0,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

2n1l-25ge2p1xxv710-eth-l2xcbase-eth-2vhostvr1024-1vm-ndrpdr

RFC2544: Pkt throughput L2XC test cases with vhost

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

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

  • [Cfg] DUT configuration: DUT1 is configured with L2 cross- connect. Qemu VNFs are connected to VPP via vhost-user interfaces. Guest is running testpmd interconnecting vhost-user interfaces, rxd/txd=1024. DUT1 is tested with Intel-XXV710.

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

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 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 

 64b-2t1c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 64b-4t2c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 64b-8t4c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

 1518b-2t1c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 1518b-4t2c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 9000b-2t1c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-2t1c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-4t2c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 imix-8t4c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

2n1l-25ge2p1xxv710-eth-l2xcbase-eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

RFC2544: Pkt throughput L2XC test cases with vhost

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

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

  • [Cfg] DUT configuration: DUT1 is configured with L2 cross- connect. Qemu VNFs are connected to VPP via vhost-user interfaces. Guest is running VPP l2xc interconnecting vhost-user interfaces, rxd/txd=1024. DUT1 is tested with Intel-XXV710.

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

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 254 flows per flow-group) with all packets containing Ethernet header, IPv4 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 

 64b-2t1c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 64b-4t2c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 64b-8t4c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

 1518b-2t1c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 1518b-4t2c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 9000b-2t1c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-2t1c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-4t2c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 imix-8t4c-eth-l2xcbase- 
eth-2vhostvr1024-1vm-vppl2xc-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=1,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=1,tx_sw_if_index=3,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=3,tx_sw_if_index=1,enable=True)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=2,flags=1)
sw_interface_set_l2_xconnect(rx_sw_if_index=4,tx_sw_if_index=2,enable=True)
sw_interface_set_l2_xconnect(rx_sw_if_index=2,tx_sw_if_index=4,enable=True)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

2n1l-25ge2p1xxv710-ethip4-ip4base-eth-2vhostvr1024-1vm-ndrpdr

RFC2544: Pkt throughput IPv4 test cases with vhost

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

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

  • [Cfg] DUT configuration: DUT1 is configured with IPv4. routing and two static IPv4 /24 route entries. Qemu VNFs are connected to VPP via vhost-user interfaces. Guest is running testpmd interconnecting vhost-user interfaces, rxd/txd=1024. DUT1 is tested with Intel-XXV710.

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

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 253 flows per flow-group) with all packets containing Ethernet header, IPv4 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 

 64b-2t1c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:b4:77:a0:e2’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:69:0d:f8:09’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 64b-4t2c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:f6:b5:cf:e2’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:33:a6:79:61’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 64b-8t4c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:53:9f:b3:0f’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:c4:32:74:bc’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

 1518b-2t1c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:6a:bc:d6:0b’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:77:7d:99:1b’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 1518b-4t2c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:c4:2b:09:cf’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:b9:1d:70:62’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 9000b-2t1c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:ae:65:c1:05’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:cb:1e:dd:aa’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-2t1c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:f5:8d:47:c0’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:6e:85:12:02’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-4t2c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:ef:e6:b3:06’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:d0:ed:c8:58’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 imix-8t4c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 3, ‘flags’: 0, ‘mac_address’: ‘02:fe:bc:05:12:c0’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:91:19:2d:b2’, ‘ip_address’: ‘1.1.1.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x02’}, ‘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’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

2n1l-25ge2p1xxv710-ethip4-ip4base-eth-2vhostvr1024-1vm-vppip4-ndrpdr

RFC2544: Pkt throughput IPv4 test cases with vhost

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

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

  • [Cfg] DUT configuration: DUT1 is configured with IPv4. routing and two static IPv4 /24 route entries. Qemu VNFs are connected to VPP via vhost-user interfaces. Guest is running VPP ip4 interconnecting vhost-user interfaces, rxd/txd=1024. DUT1 is tested with Intel-XXV710.

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

Test packets are generated by TG on links to DUTs. TG traffic profile contains two L3 flow-groups (flow-group per direction, 253 flows per flow-group) with all packets containing Ethernet header, IPv4 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 

 64b-2t1c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 64b-4t2c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 64b-8t4c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)

 1518b-2t1c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 1518b-4t2c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 9000b-2t1c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-2t1c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)

 imix-4t2c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)

 imix-8t4c-ethip4-ip4base- 
eth-2vhostvr1024-1vm-vppip4-ndrpdr

 DUT1:  
cli_inband(cmd=’show logging’)
show_version()
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=1,flags=1)
hw_interface_set_mtu(sw_if_index=1,mtu=9200)
sw_interface_set_flags(sw_if_index=2,flags=1)
hw_interface_set_mtu(sw_if_index=2,mtu=9200)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=1,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=2,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=1,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’dx00x00x01’}}})
sw_interface_add_del_address(sw_if_index=2,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’xc8x00x00x01’}}})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 1, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:88’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘3c:fd:fe:bd:f9:89’, ‘ip_address’: ‘200.0.0.2’})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 1, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’dx00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 2, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’xc8x00x00x02’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-1’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
create_vhost_user_if_v2(is_server=False,sock_filename=’/var/run/vpp/sock-1-2’,enable_gso=False)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_dump(name_filter_valid=False,name_filter=’’)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
sw_interface_set_flags(sw_if_index=3,flags=1)
sw_interface_set_flags(sw_if_index=4,flags=1)
ip_table_add_del(table={‘table_id’: 101, ‘is_ip6’: False},is_add=True)
ip_table_add_del(table={‘table_id’: 102, ‘is_ip6’: False},is_add=True)
sw_interface_set_table(sw_if_index=3,is_ipv6=False,vrf_id=101)
sw_interface_set_table(sw_if_index=4,is_ipv6=False,vrf_id=102)
sw_interface_add_del_address(sw_if_index=3,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x01x02’}}})
sw_interface_add_del_address(sw_if_index=4,is_add=True,del_all=False,prefix={‘len’: 30, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x01x01x02x02’}}})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 101, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’x14x00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 3, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x01x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
ip_route_add_del(is_add=True,is_multipath=True,route={‘table_id’: 102, ‘prefix’: {‘len’: 8, ‘address’: {‘af’: 0, ‘un’: {‘ip4’: b’nx00x00x00’}}}, ‘n_paths’: 1, ‘paths’: [{‘sw_if_index’: 4, ‘table_id’: 0, ‘rpf_id’: 4294967295, ‘weight’: 1, ‘preference’: 1, ‘type’: 0, ‘flags’: 0, ‘proto’: 0, ‘nh’: {‘address’: {‘ip4’: b’x01x01x02x01’}, ‘via_label’: 1048576, ‘obj_id’: 4294967295}, ‘n_labels’: 0, ‘label_stack’: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]}]})
sw_interface_dump(name_filter_valid=False,name_filter=’’)
show_threads()
sw_interface_rx_placement_dump(sw_if_index=1)
sw_interface_rx_placement_dump(sw_if_index=2)
sw_interface_rx_placement_dump(sw_if_index=3)
sw_interface_rx_placement_dump(sw_if_index=4)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=3,queue_id=7,worker_id=7,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=0,worker_id=0,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=1,worker_id=1,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=2,worker_id=2,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=3,worker_id=3,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=4,worker_id=4,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=5,worker_id=5,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=6,worker_id=6,is_main=False)
sw_interface_set_rx_placement(sw_if_index=4,queue_id=7,worker_id=7,is_main=False)