Important note: please note that this patchset relies on Adrien's patchset of flow API overhaul: http://www.dpdk.org/ml/archives/dev/2018-April/098047.html
v5: - Removed %lx prints - Per review request, clear mbuf tunnel type in case of multiple tunnel types. - Rebase on Adriens flow API overhaul patchset - Split feature requirement document into patches of L3 VXLAN and VXLAN-GPE - Per review request, add device parameter to enable L3 VXLAN and VXLAN-GPE v4: - Fix RSS level according to value defination - Add "Inner RSS" column to NIC feature doc - Fixed flow creation error in case of ipv4 rss on ipv6 pattern - new patch: enforce IP protocol of GRE to be 47. - Removed MPLS-in-UDP and MPLS-in-GRE replated patchset - Removed invalid RSS type check v3: - Refactor 16 Verbs priority detection. - Other updates according to ML discussion. v2: - Split into 2 series: public api and mlx5, this one is the second. - Rebased on Adrien's rte flow overhaul: http://www.dpdk.org/ml/archives/dev/2018-April/095774.html v1: - Support new tunnel type MPLS-in-GRE and MPLS-in-UDP - Remove deprecation notes of rss level This patchset supports MLX5 Rx tunnel checksum, inner rss, inner ptype offloading of following tunnel types: - Standard VXLAN - L3 VXLAN (no inner ethernet header) - VXLAN-GPE Xueming Li (11): net/mlx5: support 16 hardware priorities net/mlx5: support GRE tunnel flow net/mlx5: support L3 VXLAN flow net/mlx5: support Rx tunnel type identification net/mlx5: cleanup tunnel checksum offloads net/mlx5: split flow RSS handling logic net/mlx5: support tunnel RSS level net/mlx5: add hardware flow debug dump net/mlx5: introduce VXLAN-GPE tunnel type net/mlx5: allow flow tunnel ID 0 with outer pattern doc: update mlx5 guide on tunnel offloading doc/guides/nics/features/default.ini | 1 + doc/guides/nics/features/mlx5.ini | 3 + doc/guides/nics/mlx5.rst | 30 +- drivers/net/mlx5/Makefile | 2 +- drivers/net/mlx5/mlx5.c | 24 + drivers/net/mlx5/mlx5.h | 6 + drivers/net/mlx5/mlx5_flow.c | 844 +++++++++++++++++++++++++++------- drivers/net/mlx5/mlx5_glue.c | 16 + drivers/net/mlx5/mlx5_glue.h | 8 + drivers/net/mlx5/mlx5_rxq.c | 89 +++- drivers/net/mlx5/mlx5_rxtx.c | 33 +- drivers/net/mlx5/mlx5_rxtx.h | 11 +- drivers/net/mlx5/mlx5_rxtx_vec_neon.h | 21 +- drivers/net/mlx5/mlx5_rxtx_vec_sse.h | 17 +- drivers/net/mlx5/mlx5_trigger.c | 8 - drivers/net/mlx5/mlx5_utils.h | 6 + 16 files changed, 896 insertions(+), 223 deletions(-) -- 2.13.3