[dpdk-dev] [PATCH 0/5] vmxnet3 pmd fixes/improvement

Zhang, XiaonanX xiaonanx.zhang at intel.com
Tue Nov 4 06:57:00 CET 2014


Tested-by: Xiaonan Zhang <xiaonanx.zhang at intel.com>

- Tested Commit: Yong Wang
- OS: Fedora20 3.15.8-200.fc20.x86_64
- GCC: gcc version 4.8.3 20140624
- CPU: Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
- NIC: Intel Corporation 82599ES 10-Gigabit SFI/SFP+ Network Connection [8086:10fb]
- Default x86_64-native-linuxapp-gcc configuration
- Total 6 cases, 6 passed, 0 failed
- Test Environment setup

- Topology #1: Create 2VMs (Fedora 20, 64bit);for each VM, pass through one physical port(Niantic 82599) to VM, and also create one virtual device: vmxnet3 in VM. Between two VMs, use one vswitch to connect 2 vmxnet3. In summary, PF1 
               and vmxnet3A are in VM1; PF2 and vmxnet3B are in VM2.The traffic flow for l2fwd/l3fwd is as below:                            
               Ixia -> PF1 -> vmxnet3A -> vswitch -> vmxnet3B -> PF2 -> Ixia. 
- Topology #2: Create 1VM (Fedora 20, 64bit), on this VM, created 2 vmxnet3, called vmxnet3A, vmxnet3B; create 2 vswitch, vswitchA connecting PF1 and vmxnet3A, while vswitchB connecting PF2 and vmxnet3B. The traffic flow is as below:
               Ixia -> PF1 -> vswitchA -> vmxnet3A -> vmxnet3B -> vswitchB -> PF2 -> Ixia.

- Test Case1: L2fwd with Topology#1 
  Description: Set up topology#1(in prerequisite session), and bind PF1, PF2, Vmxnet3A, vmxnet3B to DPDK poll-mode driver (igb_uio).
               Increase the flow at line rate (uni-directional traffic), send the flow at different packet size (64bytes, 128bytes, 256bytes, 512bytes, 1024bytes, 1280bytes and 1518bytes) and check the received packets/rate to see  
               if any unexpected behavior, such as no receives after N packets. 
  Command / instruction:
                To run the l2fwd example in 2VMs:
                                ./build/l2fwd -c f -n 4 -- -p 0x3
- Test IXIA Flow prerequisite: Ixia port1 sends 5 packets to PF1, and the flow should have PF1's MAC as destination MAC. Check if ixia port2 have received the 5 packets.
  Expected test result:
                Passed

- Test Case2: L3fwd-VF with Topology#1
  Description: Set up topology#1(in prerequisite session), and bind PF1, PF2, Vmxnet3A, vmxnet3B to DPDK poll-mode driver (igb_uio)
               Increase the flow at line rate (uni-directional traffic), send the flow at different packet size (64bytes, 128bytes, 256bytes, 512bytes, 1024bytes, 1280bytes and 1518bytes) and check the received packets/rate to see  
               if any unexpected behavior, such as no receives after N packets.
  Command / instruction:
                To run the l3fwd-vf example in 2VMs:
                                ./build/l3fwd-vf -c 0x6 -n 4 -- -p 0x3 --config "(0,0,1),(1,0,2)"
- Test IXIA Flow prerequisite: Ixia port1 sends 5 packets to PF1, and the flow should have PF1's MAC as destination MAC and have 2.1.1.x as destination IP. Check if ixia port2 have received the 5 packets.
  Expected test result:
                Passed

- Test Case3: L2fwd with Topology#2
  Description: Set up topology#2(in prerequisite session), and bind vmxnet3A and vmxnet3B to DPDK poll-mode driver (igb_uio).
               Increase the flow at line rate (uni-directional traffic), send the flow at different packet size (64bytes, 128bytes, 256bytes, 512bytes, 1024bytes, 1280bytes and 1518bytes) and check the received packets/rate to see  
               if any unexpected behavior, such as no receives after N packets.
  Command / instruction:
                To run the l2fwd example in VM1:
                                ./build/l2fwd -c f -n 4 -- -p 0x3
- Test IXIA Flow prerequisite: Ixia port1 sends 5 packets to port0 (vmxnet3A), and the flow should have port0's MAC as destination MAC. Check if ixia port2 have received the 5 packets. Similar things need to be done at ixia port2.
  Expected test result:
                Passed

- Test Case4: L3fwd-VF with Topology#2
  Description: Set up topology#2(in prerequisite session), and bind vmxnet3A and vmxnet3B to DPDK poll-mode driver (igb_uio).  
               Increase the flow at line rate (uni-directional traffic), send the flow at different packet size (64bytes, 128bytes, 256bytes, 512bytes, 1024bytes, 1280bytes and 1518bytes) and check the received packets/rate to see  
               if any unexpected behavior, such as no receives after N packets.
  Command / instruction:
                To run the l3fwd-vf example in VM1:
                                ./build/l3fwd-vf -c 0x6 -n 4 -- -p 0x3 --config "(0,0,1),(1,0,2)"
- Test IXIA Flow prerequisite: Ixia port1 sends 5 packets to port0(vmxnet3A), and the flow should have port0's MAC as destination MAC and have 2.1.1.x as destination IP. Check if ixia port2 have received the 5 packets.

  Expected test result:
                Passed

- Test Case5: Timer test with Topology#2
  Description: Set up topology#2(in prerequisite session), and bind vmxnet3A and vmxnet3B to DPDK poll-mode driver (igb_uio).
  Command / instruction:
                Build timer sample and run the sample:
                                ./build/timer -c f -n 4
- Test IXIA Flow prerequisite: N.A.
		
  Expected test result:
                Passed

- Test Case6: Testpmd basic with Topology#2
  Description: Set up topology#2(in prerequisite session), and bind vmxnet3A and vmxnet3B to DPDK poll-mode driver (igbuio).
               Increase the flow at line rate (uni-directional traffic), send the flow at different packet size (64bytes, 128bytes, 256bytes, 512bytes, 1024bytes, 1280bytes and 1518bytes) and check the received packets/rate to see  
               if any unexpected behavior, such as no receives after N packets.
  Command / instruction:
                Run testpmd(e.g:/x86_64-native-linuxapp-gcc/app/testpmd) with below command lines:
                                ./testpmd -c f -n 4 -- --txqflags=0xf01 -i
		    Clean environment and start the forwarding. Need check the port information and clear port statics by using below commands:
                Testpmd>show port info all
                Testpmd>clear port stats all
                Testpmd>show port stats all
                Testpmd>set fwd mac
                Testpmd>start
- Test IXIA Flow prerequisite: N.A.
  Expected test result:
                Passed

-----Original Message-----
From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Yong Wang
Sent: Monday, October 13, 2014 2:23 PM
To: dev at dpdk.org
Subject: [dpdk-dev] [PATCH 0/5] vmxnet3 pmd fixes/improvement

This patch series include various fixes and improvement to the
vmxnet3 pmd driver.

Yong Wang (5):
  vmxnet3: Fix VLAN Rx stripping
  vmxnet3: Add VLAN Tx offload
  vmxnet3: Fix dev stop/restart bug
  vmxnet3: Add rx pkt check offloads
  vmxnet3: Some perf improvement on the rx path

 lib/librte_pmd_vmxnet3/vmxnet3_rxtx.c | 310 +++++++++++++++++++++-------------
 1 file changed, 195 insertions(+), 115 deletions(-)

-- 
1.9.1



More information about the dev mailing list