Tested-by: Xiaonan Zhang <xiaonanx.zhang at intel.com> - Tested Commit: Pablo - 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-boun...@dpdk.org] On Behalf Of De Lara Guarch, Pablo Sent: Friday, December 12, 2014 3:57 AM To: De Lara Guarch, Pablo; dev at dpdk.org Subject: Re: [dpdk-dev] [PATCH] vmxnet3: set txq_flags in default TX conf > -----Original Message----- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Pablo de Lara > Sent: Thursday, December 11, 2014 5:08 PM > To: dev at dpdk.org > Cc: root > Subject: [dpdk-dev] [PATCH] vmxnet3: set txq_flags in default TX conf > > Since commit fbde27f19ab8f "get default Rx/Tx configuration from dev info", > a default RX/TX configuration can be used for all PMDs. > In case of vmxnet3, the whole structure was zeroed and not filled out. > The PMD does not support multi segments or offload functions, > so txq_flags should have those flags set. > > Signed-off-by: root <root at sie-lab-214-174.ir.intel.com> Self-NACK. Wrong signed-off. > --- > lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c | 3 +++ > 1 files changed, 3 insertions(+), 0 deletions(-) > > diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c > b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c > index 963a8a5..ef0af16 100644 > --- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c > +++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c > @@ -642,6 +642,9 @@ > vmxnet3_dev_info_get(__attribute__((unused))struct rte_eth_dev *dev, > struct rte_ > dev_info->min_rx_bufsize = 1518 + RTE_PKTMBUF_HEADROOM; > dev_info->max_rx_pktlen = 16384; /* includes CRC, cf MAXFRS > register */ > dev_info->max_mac_addrs = VMXNET3_MAX_MAC_ADDRS; > + > + dev_info->default_txconf.txq_flags = > ETH_TXQ_FLAGS_NOMULTSEGS | > + > ETH_TXQ_FLAGS_NOOFFLOADS; > } > > /* return 0 means link status changed, -1 means not changed */ > -- > 1.7.4.1