Tested-by: Yong Liu <yong.liu at intel.com> - Tested Branch: dpdk-next-net - Tested Commit: 5fa83b5398e26af7537b09605432fcb3d0cc1d41 - OS: Fedora21 3.17.4-301.fc21.x86_64 - GCC: gcc version 4.9.2 20150212 - CPU: Intel(R) Xeon(R) CPU D-1540 @ 2.00GHz - NIC: Intel Corporation Device Sageville [8086:15ad] - Default x86_64-native-linuxapp-gcc configuration - Total 4 cases, 4 passed, 0 failed
- Prerequisites command / instruction: Bound PF device to igb_uio ./tools/dpdk_nic_bind.py --bind=igb_uio 03:00.0 Create 2VF devices from PF device. echo 2 > /sys/bus/pci/devices/0000\:03\:00.0/max_vfs Detach VFs from the host, bind them to pci-stub driver virsh # nodedev-dettach pci_0000_03_10_0 virsh # nodedev-dettach pci_0000_03_10_2 Passthrough VF 03:10.0 & 03:10.2 to vm0 and start vm0 /usr/bin/qemu-system-x86_64 -name vm0 -enable-kvm \ -cpu host -smp 4 -m 2048 -drive file=/home/image/fedora20.img -vnc :1 \ -device pci-assign,host=03:10.0 \ -device pci-assign,host=03:10.2 Login vm0 and them bind VF devices to igb_uio driver. ./tools/dpdk_nic_bind.py --bind=igb_uio 00:04.0 00:05.0 Bind PF to vfio-pci and start testpmd in host testpmd -c f -n 3 -- -i Config to rxonly mode and enable verbose output testpmd> set fwd rxonly testpmd> set verbose 1 testpmd> start Start testpmd in guest, configured to mac forward mode testpmd -c 0x3 -n 1 -- -i --txqflags=0x0 testpmd> set fwd mac testpmd> start - Case: E-tag tunnel filter Description: check that E-tag tunnel filter can work as expected Command / instruction: Enable E-tag l2 tunnel support means enabling ability of parsing E-tag packet. This ability should be enabled before we enable filtering, forwarding, offloading for this specific type of tunnel host testpmd> port config 0 l2-tunnel E-tag enable Send 802.1BR packet to PF and VFs, check packet normally received - Case: E-tag filter and forwarding Description: check that E-tag forwarding work as expected Command / instruction: Enable E-tag packet forwarding and enable E-tag 1000 packet forward to VF0 testpmd> E-tag set forwarding on port 0 testpmd> E-tag set filter add e-tag-id 1000 dst-pool 0 port 0 Send E-tag packet with broadcast mac and check packet only received on VF0 Set E-tag with ID 1000 forwarding to VF1 testpmd> E-tag set filter add e-tag-id 1000 dst-pool 1 port 0 Send 802.1BR packet with broadcast mac and check packet only received on VF1 Set E-tag with ID 1000 PF0 testpmd> E-tag set filter add e-tag-id 1000 dst-pool 2 port 0 Send 802.1BR packet with broadcast mac and check packet only received on PF Remove E-tag testpmd> E-tag set filter del e-tag-id 1000 port 0 Send 802.1BR packet with broadcast mac and check packet not received - Case: E-tag insertion Description: check that E-tag insertion feature can work as expected Command / instruction: Enable E-tag insertion in VF0 testpmd> E-tag set insertion on port-tag-id 1000 port 0 vf 0 Send normal packet to VF1 and check forwarded packet contain E-tag Remove E-tag insertion in VF0 testpmd> E-tag set insertion off port 0 vf 0 Send normal packet to VF1 and check forwarded packet not include E-tag - Case: E-tag strip Description: check that E-tag strip feature can work as expected Enable E-tag strip on PF testpmd> E-tag set filter add e-tag-id 1000 dst-pool 0 port 0 testpmd> E-tag set stripping on port 0 Send 802.1BR packet to VF and check forwarded packet without E-tag Disable E-tag strip on PF testpmd> E-tag set stripping off port 0 Send 802.1BR packet and check forwarded packet with E-tag. > -----Original Message----- > From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Wenzhuo Lu > Sent: Friday, March 04, 2016 10:35 AM > To: dev at dpdk.org > Subject: [dpdk-dev] [PATCH v7 0/5] Support VxLAN & NVGRE checksum off- > load on X550 > > This patch set add the VxLAN & NVGRE checksum off-load support. > Both RX and TX checksum off-load can be used for VxLAN & NVGRE. > And the VxLAN port can be set, it's implemented in this patch > set either. > > v2: > - Update release note. > > v3: > - Update RX/TX offload capability. > - Reuse PKT_RX_EIP_CKSUM_BAD but not add a new one. > - Correct the tunnel len for TX, and remove the useless out_l2_len. > - Don't set the tunnel type for TX, and remove the unused ol_flag_nvgre. > > v4: > - Fix the issue that not setting the MAC length correctly. > > v5: > - Change the behavior of VxLAN port add/del to make it align with i40e. > > v6: > - Fix x86_64-native-linuxapp-gcc-shared compile error. > > v7: > - Change the return value from hardcode to macro. > > Wenzhuo Lu (5): > lib/librte_ether: change function name of tunnel port config > i40e: rename the tunnel port config functions > ixgbe: support UDP tunnel port config > ixgbe: support VxLAN & NVGRE RX checksum off-load > ixgbe: support VxLAN & NVGRE TX checksum off-load > > app/test-pmd/cmdline.c | 6 +- > doc/guides/rel_notes/release_16_04.rst | 9 +++ > drivers/net/i40e/i40e_ethdev.c | 22 +++--- > drivers/net/ixgbe/ixgbe_ethdev.c | 131 > +++++++++++++++++++++++++++++++++ > drivers/net/ixgbe/ixgbe_rxtx.c | 67 ++++++++++++++--- > drivers/net/ixgbe/ixgbe_rxtx.h | 6 +- > examples/tep_termination/vxlan_setup.c | 2 +- > lib/librte_ether/rte_ethdev.c | 45 +++++++++++ > lib/librte_ether/rte_ethdev.h | 19 +++++ > lib/librte_ether/rte_ether_version.map | 2 + > lib/librte_mbuf/rte_mbuf.c | 2 +- > lib/librte_mbuf/rte_mbuf.h | 2 +- > 12 files changed, 285 insertions(+), 28 deletions(-) > > Acked-by: Konstantin Ananyev <konstantin.ananyev at intel.com> > > -- > 1.9.3