The patch set supports VxLAN on Fortville based on latest mbuf structure. It includes: - Support VxLAN packet identification by configuring tunneling UDP port. - Support VxLAN packet filters. It uses MAC and VLAN to point to a queue. The filter types supported include below: 1. Inner MAC and Inner VLAN ID 2. Inner MAC address, inner VLAN ID and tenant ID. 3. Inner MAC and tenant ID 4. Inner MAC address 5. Outer MAC address, tenant ID and inner MAC - Support VxLAN TX checksum offload, which include outer L3(IP), inner L3(IP) and inner L4(UDP,TCP and SCTP)
Change notes: v5) * Use the "packet_type" field to replace the "reserved2" field in the rte_mbuf structure. * Add the "inner_l2_l3_len" field in the rte_mbuf structure. * Add an offload flag PKT_TX_VXLAN_CKSUM in rte_mbuf.h * Change i40e_txd_enable_checksum() function for VxLAN Tx checksum offload setting. jijiangl (8): Support VxLAN packet identification in librte_ether Support VxLAN packet identification in librte_pmd_i40e Test vxlan packet identification Add new filter framework Implement API of VxLAN packet filter in librte_pmd_i40e Test VxLAN packet filter API Support VxLAN Tx checksum offload Test VxLAN Tx checksum offload app/test-pmd/cmdline.c | 230 ++++++++++++++++++++- app/test-pmd/config.c | 6 +- app/test-pmd/csumonly.c | 196 ++++++++++++++++-- app/test-pmd/parameters.c | 13 ++ app/test-pmd/rxonly.c | 49 +++++ app/test-pmd/testpmd.c | 8 + app/test-pmd/testpmd.h | 4 + config/common_linuxapp | 5 + lib/librte_ether/Makefile | 1 + lib/librte_ether/rte_eth_ctrl.h | 152 ++++++++++++++ lib/librte_ether/rte_ethdev.c | 95 +++++++++ lib/librte_ether/rte_ethdev.h | 108 ++++++++++ lib/librte_ether/rte_ether.h | 8 + lib/librte_mbuf/rte_mbuf.h | 22 ++- lib/librte_pmd_i40e/i40e_ethdev.c | 419 ++++++++++++++++++++++++++++++++++++- lib/librte_pmd_i40e/i40e_ethdev.h | 5 + lib/librte_pmd_i40e/i40e_rxtx.c | 53 +++++- 17 files changed, 1344 insertions(+), 30 deletions(-) create mode 100644 lib/librte_ether/rte_eth_ctrl.h -- 1.7.7.6