[dpdk-dev] [PATCH 0/2] examples/vhost: support new VMDQ api and new nic i40e in vhost example

Fu, JingguoX jingguox.fu at intel.com
Fri Dec 5 11:51:03 CET 2014


As we validate dpdk 1.8.0 rc2 from org, we report defect: Work_Request  IXA00388707
The defect is about vhost virtio based 4 x 10 G NIC, and vhost-switch cannot startup, all cases for one copy on Fortville cannot validate. This defect can be fixed by this patches. Below are details for validation.

Basic Information
        Patch name      examples/vhost: support new VMDQ api and new nic i40e in vhost example
        Brief description about test purpose    Verify the four scenarios for virtio one copy
        Test Flag       Tested-by
        Tester name     jingguox.fu at intel.com
        Test environment
-       OS Environment
-       Compilation (GCC)
-       Hardware Info (CPU & NIC)
-       Virtualization environment /Configure   
OS: Fedora20 3.11.10-301.fc20.x86_64
GCC: gcc version 4.8.3 20140911
CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
NIC: Intel Corporation Ethernet Controller X710 for 10GbE SFP+ [8086:1572]

        Test Tool Chain information     N/A
	  Commit ID	6e0248660819b8a0b42725c6c881729daf80739f (after apply patches)
Detailed Testing information    DPDK SW Configuration   open CONFIG_RTE_LIBRTE_VHOST x86_64-native-linuxapp-gcc configuration
        Test Result Summary     Total 4 cases, 4 passed, 0 failed
	  Test Case - name        one vm by dpdk forward
        Test Case - Description Check vhost switch can forward packets received the first virtio to the second virtio that all on the same vm
        Test Case -test sample/application      Start vhost-switch on host and start testpmd on guest
On host:
	  taskset -c 8-10 vhost-switch -c 0xf00 -n 4 --huge-dir /mnt/huge --socket-mem 1024,1024 -- -p 1 --mergeable 0 --zero-copy 0 --vm2vm 0
On guest:
	  testpmd -c 0xf -n 4 -- -i --txqflags 0x0f00
Set fwd type tx_first
testpmd>set fwd mac
testpmd>start tx_first

Send packets with vlan id: ether|ip|udp packets
	  Test Case -command / instruction
        Test Case - expected test result packet generator can get the packets from the second virtio
	  
	  Test Case - name        one vm by linux forward
        Test Case - Description Check vhost switch can forward packets received the first virtio to the second virtio that all on the same vm
        Test Case -test sample/application      Start vhost-switch on host, use virtios as Ethernet devices
On host:
	  taskset -c 8-10 vhost-switch -c 0xf00 -n 4 --huge-dir /mnt/huge --socket-mem 1024,1024 -- -p 1 --mergeable 0 --zero-copy 0 --vm2vm 0
On guest:
	  Routing table config

ip addr add 192.168.10.2/24 dev eth1
ip addr add 192.168.20.2/24 dev eth2
ip neigh add 192.168.10.1 lladdr 00:00:00:00:00:01 dev eth1
ip neigh add 192.168.20.1 lladdr 00:00:00:00:00:01 dev eth2
ip link set dev eth1 up
ip link set dev eth2 up

Send packets with vlan id: ether|ip|udp packets
	  Test Case -command / instruction
        Test Case - expected test result packet generator can get the packets from the second virtio


	  Test Case - name        vm to vm by dpdk forward soft switch
        Test Case - Description Check vhost switch can forward packets received from the first virtio on VM1 to the second virtio on VM2
        Test Case -test sample/application      Start vhost-switch on host and start testpmd on guests
On host:
	  taskset -c 8-10 vhost-switch -c 0xf00 -n 4 --huge-dir /mnt/huge --socket-mem 1024,1024 -- -p 1 --mergeable 0 --zero-copy 0 --vm2vm 1
On guests:
VM1:
	  ./testpmd -c 0xf -n 4 -- -i --txqflags 0x0f00 --eth-peer=0,00:00:00:00:00:0A

Set fwd type tx_first
testpmd>set fwd mac
testpmd>start tx_first

VM2:
	  testpmd -c 0xf -n 4 -- -i --txqflags 0x0f00
Set fwd type tx_first
testpmd>set fwd mac
testpmd>start tx_first

Send packets without vlan id: ether|ip|udp packets
	  Test Case -command / instruction
        Test Case - expected test result packet generator can get the packets from the vf on VM2


	  Test Case - name        vm to vm by linux forward soft switch
        Test Case - Description Check vhost switch can forward packets received from the first virtio on VM1 to the second virtio on VM2
        Test Case -test sample/application      Start vhost-switch on host, use virtios as Ethernet devices
On host:
	  taskset -c 8-10 vhost-switch -c 0xf00 -n 4 --huge-dir /mnt/huge --socket-mem 1024,1024 -- -p 1 --mergeable 0 --zero-copy 0 --vm2vm 1
On guests:
VM1:
	  ip addr add 192.168.2.2/24 dev eth1
	  ip neigh add 192.168.2.1 lladdr 00:00:02:00:00:a1 dev eth1
	  ip link set dev eth1 up 
	  ip addr add 192.168.3.2/24 dev eth0
	  ip neigh add 192.168.3.1 lladdr 52:00:00:54:00:02 dev eth0
	  ip link set dev eth0 up
VM2:
	  ip addr add 192.168.3.2/24 dev eth1
	  ip neigh add 192.168.3.1 lladdr 00:00:02:00:00:a1 dev eth1
	  ip link set dev eth1 up
	  ip addr add 192.168.2.2/24 dev eth0
	  ip neigh add 192.168.2.1 lladdr 00:00:02:00:00:a1 dev eth0
	  ip link set dev eth0 up
	  
	  arp -s 192.168.3.1 00:00:02:0a:0a

Send packets without vlan id: ether|ip|udp packets
	  Test Case -command / instruction
        Test Case - expected test result packet generator can get the packets from the vf on VM2


-----Original Message-----
From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Huawei Xie
Sent: Thursday, November 13, 2014 06:34
To: dev at dpdk.org
Subject: [dpdk-dev] [PATCH 0/2] examples/vhost: support new VMDQ api and new nic i40e in vhost example

I40E has several different types of VSI and queues are allocated among them. VMDQ queue base and pool base doesn't start from zero due to this change and VMDQ doesn't own all queues.
rte_eth_dev_info structure is extended to provide VMDQ queue base, pool base, queue number information for us to properly set up VMDQ, i.e, add mac/vlan filter.
This patchset enables the vhost example to use this information to set up VMDQ.

Huawei Xie (2):
  support new VMDQ API and new nic i40e
  use factorized default Rx/Tx configuration

 examples/vhost/main.c | 103 ++++++++++++++++++++------------------------------
 1 file changed, 41 insertions(+), 62 deletions(-)

-- 
1.8.1.4



More information about the dev mailing list