2n-zn2-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 o 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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,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=172032000,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=172032000,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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,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=172032000,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=37814272,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=172032000,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 o 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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,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=172032000,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=172032000,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=172032000,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=172032000,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=172032000,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=172032000,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=172032000,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=37814272,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,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=172032000,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=172032000,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=172032000,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=172032000,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=172032000,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=172032000,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=172032000,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=172032000,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=172032000,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 o 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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,enable_elog=0,rxq_num=8,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,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=172032000,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 o 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=37814272,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=172032000,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=37814272,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,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=172032000,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=172032000,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=37814272,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=172032000,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=37814272,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=172032000,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)

 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=37814272,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=172032000,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=37814272,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=172032000,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=37814272,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,enable_elog=0,rxq_num=4,rxq_size=0,txq_size=0)
avf_create(pci_addr=37814272,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=172032000,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=37814272,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=172032000,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.

outing and two static IPv4 /24 route entries. Qemu VNFs are connected o 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=37814272,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=172032000,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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:8d:d2:8f:b2’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:66:8e:43:20’, ‘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=37814272,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=172032000,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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:88:e3:4e:a1’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:8d:e7:c1:6c’, ‘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=37814272,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=172032000,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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:04:01:8f:d4’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:f9:37:bb:bb’, ‘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=37814272,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=172032000,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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:cf:06:eb:04’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:30:75:29:10’, ‘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=37814272,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=172032000,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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:2f:18:c7:2a’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:10:d4:7b:4c’, ‘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=37814272,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=172032000,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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:c3:66:0a:21’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:f4:2b:ca:8a’, ‘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=37814272,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=172032000,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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:cc:d4:1e: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:e1:f0:35:c7’, ‘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=37814272,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=172032000,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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:70:42:16:64’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:15:b0:cd:13’, ‘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)

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.

outing and two static IPv4 /24 route entries. Qemu VNFs are connected o 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=37814272,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=172032000,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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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=37814272,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=172032000,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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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=37814272,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=172032000,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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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=37814272,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=172032000,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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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)

 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=37814272,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=172032000,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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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=37814272,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=172032000,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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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=37814272,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=172032000,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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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=37814272,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=172032000,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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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 o 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 o 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 o 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 o 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.

outing and two static IPv4 /24 route entries. Qemu VNFs are connected o 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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:5a:21:a2:2b’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:27:aa:d0:ef’, ‘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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:ec:ff:3f:d1’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:81:20:8f:42’, ‘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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:5b:78:7d: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:ec:f5:62:97’, ‘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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:28:97:db:17’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:ad:21:c7:f0’, ‘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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:60:ed:ae’, ‘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:6b:0d:33’, ‘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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:ab:09:2e:ff’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:7c:48:36:77’, ‘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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:8f:a1:3c:d3’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:f0:8a:27:ca’, ‘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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:73:39:4b:a7’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:64:cd:18:1d’, ‘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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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:e7:9b:df:ee’, ‘ip_address’: ‘1.1.2.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 4, ‘flags’: 0, ‘mac_address’: ‘02:fe:a8:70:a0:71’, ‘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.

outing and two static IPv4 /24 route entries. Qemu VNFs are connected o 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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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’: ‘40:a6:b7:02:89:dc’, ‘ip_address’: ‘100.0.0.2’})
ip_neighbor_add_del(is_add=True,neighbor={‘sw_if_index’: 2, ‘flags’: 0, ‘mac_address’: ‘40:a6:b7:02:89:dd’, ‘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)