aboutsummaryrefslogtreecommitdiffstats
path: root/dpdk/dpdk-16.07_patches/0001-i40e-Add-packet_type-metadata-in-the-i40e-vPMD.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dpdk/dpdk-16.07_patches/0001-i40e-Add-packet_type-metadata-in-the-i40e-vPMD.patch')
-rw-r--r--dpdk/dpdk-16.07_patches/0001-i40e-Add-packet_type-metadata-in-the-i40e-vPMD.patch1210
1 files changed, 0 insertions, 1210 deletions
diff --git a/dpdk/dpdk-16.07_patches/0001-i40e-Add-packet_type-metadata-in-the-i40e-vPMD.patch b/dpdk/dpdk-16.07_patches/0001-i40e-Add-packet_type-metadata-in-the-i40e-vPMD.patch
deleted file mode 100644
index 74d9416e7b6..00000000000
--- a/dpdk/dpdk-16.07_patches/0001-i40e-Add-packet_type-metadata-in-the-i40e-vPMD.patch
+++ /dev/null
@@ -1,1210 +0,0 @@
-From 79a2ddaf4d7df7172faa54716ae7647ad7a549b9 Mon Sep 17 00:00:00 2001
-From: Damjan Marion <damarion@cisco.com>
-Date: Thu, 14 Jul 2016 09:59:01 -0700
-Subject: [PATCH 1/2] i40e: Add packet_type metadata in the i40e vPMD
-
-The ptype is decoded from the rx descriptor and stored
-in the packet type field in the mbuf using the same function
-as the non-vector driver.
-
-Signed-off-by: Damjan Marion <damarion@cisco.com>
-Signed-off-by: Jeff Shaw <jeffrey.b.shaw@intel.com>
----
- drivers/net/i40e/i40e_rxtx.c | 566 +--------------------------------------
- drivers/net/i40e/i40e_rxtx.h | 563 ++++++++++++++++++++++++++++++++++++++
- drivers/net/i40e/i40e_rxtx_vec.c | 16 ++
- 3 files changed, 581 insertions(+), 564 deletions(-)
-
-diff --git a/drivers/net/i40e/i40e_rxtx.c b/drivers/net/i40e/i40e_rxtx.c
-index d3cfb98..2903347 100644
---- a/drivers/net/i40e/i40e_rxtx.c
-+++ b/drivers/net/i40e/i40e_rxtx.c
-@@ -174,569 +174,6 @@ i40e_get_iee15888_flags(struct rte_mbuf *mb, uint64_t qword)
- }
- #endif
-
--/* For each value it means, datasheet of hardware can tell more details
-- *
-- * @note: fix i40e_dev_supported_ptypes_get() if any change here.
-- */
--static inline uint32_t
--i40e_rxd_pkt_type_mapping(uint8_t ptype)
--{
-- static const uint32_t type_table[UINT8_MAX + 1] __rte_cache_aligned = {
-- /* L2 types */
-- /* [0] reserved */
-- [1] = RTE_PTYPE_L2_ETHER,
-- [2] = RTE_PTYPE_L2_ETHER_TIMESYNC,
-- /* [3] - [5] reserved */
-- [6] = RTE_PTYPE_L2_ETHER_LLDP,
-- /* [7] - [10] reserved */
-- [11] = RTE_PTYPE_L2_ETHER_ARP,
-- /* [12] - [21] reserved */
--
-- /* Non tunneled IPv4 */
-- [22] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_L4_FRAG,
-- [23] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_L4_NONFRAG,
-- [24] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_L4_UDP,
-- /* [25] reserved */
-- [26] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_L4_TCP,
-- [27] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_L4_SCTP,
-- [28] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_L4_ICMP,
--
-- /* IPv4 --> IPv4 */
-- [29] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_FRAG,
-- [30] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_NONFRAG,
-- [31] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_UDP,
-- /* [32] reserved */
-- [33] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_TCP,
-- [34] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_SCTP,
-- [35] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_ICMP,
--
-- /* IPv4 --> IPv6 */
-- [36] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_FRAG,
-- [37] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_NONFRAG,
-- [38] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_UDP,
-- /* [39] reserved */
-- [40] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_TCP,
-- [41] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_SCTP,
-- [42] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_ICMP,
--
-- /* IPv4 --> GRE/Teredo/VXLAN */
-- [43] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT,
--
-- /* IPv4 --> GRE/Teredo/VXLAN --> IPv4 */
-- [44] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_FRAG,
-- [45] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_NONFRAG,
-- [46] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_UDP,
-- /* [47] reserved */
-- [48] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_TCP,
-- [49] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_SCTP,
-- [50] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_ICMP,
--
-- /* IPv4 --> GRE/Teredo/VXLAN --> IPv6 */
-- [51] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_FRAG,
-- [52] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_NONFRAG,
-- [53] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_UDP,
-- /* [54] reserved */
-- [55] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_TCP,
-- [56] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_SCTP,
-- [57] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_ICMP,
--
-- /* IPv4 --> GRE/Teredo/VXLAN --> MAC */
-- [58] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER,
--
-- /* IPv4 --> GRE/Teredo/VXLAN --> MAC --> IPv4 */
-- [59] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_FRAG,
-- [60] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_NONFRAG,
-- [61] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_UDP,
-- /* [62] reserved */
-- [63] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_TCP,
-- [64] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_SCTP,
-- [65] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_ICMP,
--
-- /* IPv4 --> GRE/Teredo/VXLAN --> MAC --> IPv6 */
-- [66] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_FRAG,
-- [67] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_NONFRAG,
-- [68] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_UDP,
-- /* [69] reserved */
-- [70] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_TCP,
-- [71] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_SCTP,
-- [72] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_ICMP,
--
-- /* IPv4 --> GRE/Teredo/VXLAN --> MAC/VLAN */
-- [73] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN,
--
-- /* IPv4 --> GRE/Teredo/VXLAN --> MAC/VLAN --> IPv4 */
-- [74] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_FRAG,
-- [75] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_NONFRAG,
-- [76] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_UDP,
-- /* [77] reserved */
-- [78] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_TCP,
-- [79] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_SCTP,
-- [80] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_ICMP,
--
-- /* IPv4 --> GRE/Teredo/VXLAN --> MAC/VLAN --> IPv6 */
-- [81] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_FRAG,
-- [82] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_NONFRAG,
-- [83] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_UDP,
-- /* [84] reserved */
-- [85] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_TCP,
-- [86] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_SCTP,
-- [87] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_ICMP,
--
-- /* Non tunneled IPv6 */
-- [88] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_L4_FRAG,
-- [89] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_L4_NONFRAG,
-- [90] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_L4_UDP,
-- /* [91] reserved */
-- [92] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_L4_TCP,
-- [93] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_L4_SCTP,
-- [94] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_L4_ICMP,
--
-- /* IPv6 --> IPv4 */
-- [95] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_FRAG,
-- [96] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_NONFRAG,
-- [97] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_UDP,
-- /* [98] reserved */
-- [99] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_TCP,
-- [100] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_SCTP,
-- [101] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_ICMP,
--
-- /* IPv6 --> IPv6 */
-- [102] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_FRAG,
-- [103] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_NONFRAG,
-- [104] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_UDP,
-- /* [105] reserved */
-- [106] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_TCP,
-- [107] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_SCTP,
-- [108] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_IP |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_ICMP,
--
-- /* IPv6 --> GRE/Teredo/VXLAN */
-- [109] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT,
--
-- /* IPv6 --> GRE/Teredo/VXLAN --> IPv4 */
-- [110] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_FRAG,
-- [111] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_NONFRAG,
-- [112] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_UDP,
-- /* [113] reserved */
-- [114] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_TCP,
-- [115] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_SCTP,
-- [116] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_ICMP,
--
-- /* IPv6 --> GRE/Teredo/VXLAN --> IPv6 */
-- [117] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_FRAG,
-- [118] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_NONFRAG,
-- [119] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_UDP,
-- /* [120] reserved */
-- [121] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_TCP,
-- [122] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_SCTP,
-- [123] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_ICMP,
--
-- /* IPv6 --> GRE/Teredo/VXLAN --> MAC */
-- [124] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER,
--
-- /* IPv6 --> GRE/Teredo/VXLAN --> MAC --> IPv4 */
-- [125] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_FRAG,
-- [126] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_NONFRAG,
-- [127] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_UDP,
-- /* [128] reserved */
-- [129] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_TCP,
-- [130] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_SCTP,
-- [131] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_ICMP,
--
-- /* IPv6 --> GRE/Teredo/VXLAN --> MAC --> IPv6 */
-- [132] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_FRAG,
-- [133] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_NONFRAG,
-- [134] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_UDP,
-- /* [135] reserved */
-- [136] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_TCP,
-- [137] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_SCTP,
-- [138] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_ICMP,
--
-- /* IPv6 --> GRE/Teredo/VXLAN --> MAC/VLAN */
-- [139] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN,
--
-- /* IPv6 --> GRE/Teredo/VXLAN --> MAC/VLAN --> IPv4 */
-- [140] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_FRAG,
-- [141] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_NONFRAG,
-- [142] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_UDP,
-- /* [143] reserved */
-- [144] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_TCP,
-- [145] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_SCTP,
-- [146] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_ICMP,
--
-- /* IPv6 --> GRE/Teredo/VXLAN --> MAC/VLAN --> IPv6 */
-- [147] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_FRAG,
-- [148] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_NONFRAG,
-- [149] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_UDP,
-- /* [150] reserved */
-- [151] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_TCP,
-- [152] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_SCTP,
-- [153] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_TUNNEL_GRENAT |
-- RTE_PTYPE_INNER_L2_ETHER_VLAN |
-- RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_INNER_L4_ICMP,
--
-- /* L2 NSH packet type */
-- [154] = RTE_PTYPE_L2_ETHER_NSH,
-- [155] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_L4_FRAG,
-- [156] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_L4_NONFRAG,
-- [157] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_L4_UDP,
-- [158] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_L4_TCP,
-- [159] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_L4_SCTP,
-- [160] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-- RTE_PTYPE_L4_ICMP,
-- [161] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_L4_FRAG,
-- [162] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_L4_NONFRAG,
-- [163] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_L4_UDP,
-- [164] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_L4_TCP,
-- [165] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_L4_SCTP,
-- [166] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-- RTE_PTYPE_L4_ICMP,
--
-- /* All others reserved */
-- };
--
-- return type_table[ptype];
--}
--
- #define I40E_RX_DESC_EXT_STATUS_FLEXBH_MASK 0x03
- #define I40E_RX_DESC_EXT_STATUS_FLEXBH_FD_ID 0x01
- #define I40E_RX_DESC_EXT_STATUS_FLEXBH_FLEX 0x02
-@@ -2136,7 +1573,8 @@ i40e_dev_supported_ptypes_get(struct rte_eth_dev *dev)
- #ifdef RTE_LIBRTE_I40E_RX_ALLOW_BULK_ALLOC
- dev->rx_pkt_burst == i40e_recv_pkts_bulk_alloc ||
- #endif
-- dev->rx_pkt_burst == i40e_recv_scattered_pkts)
-+ dev->rx_pkt_burst == i40e_recv_scattered_pkts ||
-+ dev->rx_pkt_burst == i40e_recv_pkts_vec)
- return ptypes;
- return NULL;
- }
-diff --git a/drivers/net/i40e/i40e_rxtx.h b/drivers/net/i40e/i40e_rxtx.h
-index 98179f0..ecdb13c 100644
---- a/drivers/net/i40e/i40e_rxtx.h
-+++ b/drivers/net/i40e/i40e_rxtx.h
-@@ -255,4 +255,567 @@ void i40e_set_tx_function_flag(struct rte_eth_dev *dev,
- struct i40e_tx_queue *txq);
- void i40e_set_tx_function(struct rte_eth_dev *dev);
-
-+/* For each value it means, datasheet of hardware can tell more details
-+ *
-+ * @note: fix i40e_dev_supported_ptypes_get() if any change here.
-+ */
-+static inline uint32_t
-+i40e_rxd_pkt_type_mapping(uint8_t ptype)
-+{
-+ static const uint32_t type_table[UINT8_MAX + 1] __rte_cache_aligned = {
-+ /* L2 types */
-+ /* [0] reserved */
-+ [1] = RTE_PTYPE_L2_ETHER,
-+ [2] = RTE_PTYPE_L2_ETHER_TIMESYNC,
-+ /* [3] - [5] reserved */
-+ [6] = RTE_PTYPE_L2_ETHER_LLDP,
-+ /* [7] - [10] reserved */
-+ [11] = RTE_PTYPE_L2_ETHER_ARP,
-+ /* [12] - [21] reserved */
-+
-+ /* Non tunneled IPv4 */
-+ [22] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_FRAG,
-+ [23] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_NONFRAG,
-+ [24] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_UDP,
-+ /* [25] reserved */
-+ [26] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_TCP,
-+ [27] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_SCTP,
-+ [28] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_ICMP,
-+
-+ /* IPv4 --> IPv4 */
-+ [29] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_FRAG,
-+ [30] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_NONFRAG,
-+ [31] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_UDP,
-+ /* [32] reserved */
-+ [33] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_TCP,
-+ [34] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_SCTP,
-+ [35] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_ICMP,
-+
-+ /* IPv4 --> IPv6 */
-+ [36] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_FRAG,
-+ [37] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_NONFRAG,
-+ [38] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_UDP,
-+ /* [39] reserved */
-+ [40] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_TCP,
-+ [41] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_SCTP,
-+ [42] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_ICMP,
-+
-+ /* IPv4 --> GRE/Teredo/VXLAN */
-+ [43] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT,
-+
-+ /* IPv4 --> GRE/Teredo/VXLAN --> IPv4 */
-+ [44] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_FRAG,
-+ [45] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_NONFRAG,
-+ [46] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_UDP,
-+ /* [47] reserved */
-+ [48] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_TCP,
-+ [49] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_SCTP,
-+ [50] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_ICMP,
-+
-+ /* IPv4 --> GRE/Teredo/VXLAN --> IPv6 */
-+ [51] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_FRAG,
-+ [52] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_NONFRAG,
-+ [53] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_UDP,
-+ /* [54] reserved */
-+ [55] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_TCP,
-+ [56] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_SCTP,
-+ [57] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_ICMP,
-+
-+ /* IPv4 --> GRE/Teredo/VXLAN --> MAC */
-+ [58] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER,
-+
-+ /* IPv4 --> GRE/Teredo/VXLAN --> MAC --> IPv4 */
-+ [59] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_FRAG,
-+ [60] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_NONFRAG,
-+ [61] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_UDP,
-+ /* [62] reserved */
-+ [63] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_TCP,
-+ [64] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_SCTP,
-+ [65] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_ICMP,
-+
-+ /* IPv4 --> GRE/Teredo/VXLAN --> MAC --> IPv6 */
-+ [66] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_FRAG,
-+ [67] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_NONFRAG,
-+ [68] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_UDP,
-+ /* [69] reserved */
-+ [70] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_TCP,
-+ [71] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_SCTP,
-+ [72] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_ICMP,
-+
-+ /* IPv4 --> GRE/Teredo/VXLAN --> MAC/VLAN */
-+ [73] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN,
-+
-+ /* IPv4 --> GRE/Teredo/VXLAN --> MAC/VLAN --> IPv4 */
-+ [74] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_FRAG,
-+ [75] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_NONFRAG,
-+ [76] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_UDP,
-+ /* [77] reserved */
-+ [78] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_TCP,
-+ [79] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_SCTP,
-+ [80] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_ICMP,
-+
-+ /* IPv4 --> GRE/Teredo/VXLAN --> MAC/VLAN --> IPv6 */
-+ [81] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_FRAG,
-+ [82] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_NONFRAG,
-+ [83] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_UDP,
-+ /* [84] reserved */
-+ [85] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_TCP,
-+ [86] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_SCTP,
-+ [87] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_ICMP,
-+
-+ /* Non tunneled IPv6 */
-+ [88] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_FRAG,
-+ [89] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_NONFRAG,
-+ [90] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_UDP,
-+ /* [91] reserved */
-+ [92] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_TCP,
-+ [93] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_SCTP,
-+ [94] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_ICMP,
-+
-+ /* IPv6 --> IPv4 */
-+ [95] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_FRAG,
-+ [96] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_NONFRAG,
-+ [97] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_UDP,
-+ /* [98] reserved */
-+ [99] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_TCP,
-+ [100] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_SCTP,
-+ [101] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_ICMP,
-+
-+ /* IPv6 --> IPv6 */
-+ [102] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_FRAG,
-+ [103] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_NONFRAG,
-+ [104] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_UDP,
-+ /* [105] reserved */
-+ [106] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_TCP,
-+ [107] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_SCTP,
-+ [108] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_IP |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_ICMP,
-+
-+ /* IPv6 --> GRE/Teredo/VXLAN */
-+ [109] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT,
-+
-+ /* IPv6 --> GRE/Teredo/VXLAN --> IPv4 */
-+ [110] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_FRAG,
-+ [111] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_NONFRAG,
-+ [112] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_UDP,
-+ /* [113] reserved */
-+ [114] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_TCP,
-+ [115] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_SCTP,
-+ [116] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_ICMP,
-+
-+ /* IPv6 --> GRE/Teredo/VXLAN --> IPv6 */
-+ [117] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_FRAG,
-+ [118] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_NONFRAG,
-+ [119] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_UDP,
-+ /* [120] reserved */
-+ [121] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_TCP,
-+ [122] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_SCTP,
-+ [123] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_ICMP,
-+
-+ /* IPv6 --> GRE/Teredo/VXLAN --> MAC */
-+ [124] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER,
-+
-+ /* IPv6 --> GRE/Teredo/VXLAN --> MAC --> IPv4 */
-+ [125] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_FRAG,
-+ [126] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_NONFRAG,
-+ [127] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_UDP,
-+ /* [128] reserved */
-+ [129] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_TCP,
-+ [130] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_SCTP,
-+ [131] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_ICMP,
-+
-+ /* IPv6 --> GRE/Teredo/VXLAN --> MAC --> IPv6 */
-+ [132] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_FRAG,
-+ [133] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_NONFRAG,
-+ [134] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_UDP,
-+ /* [135] reserved */
-+ [136] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_TCP,
-+ [137] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_SCTP,
-+ [138] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT | RTE_PTYPE_INNER_L2_ETHER |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_ICMP,
-+
-+ /* IPv6 --> GRE/Teredo/VXLAN --> MAC/VLAN */
-+ [139] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN,
-+
-+ /* IPv6 --> GRE/Teredo/VXLAN --> MAC/VLAN --> IPv4 */
-+ [140] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_FRAG,
-+ [141] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_NONFRAG,
-+ [142] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_UDP,
-+ /* [143] reserved */
-+ [144] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_TCP,
-+ [145] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_SCTP,
-+ [146] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_ICMP,
-+
-+ /* IPv6 --> GRE/Teredo/VXLAN --> MAC/VLAN --> IPv6 */
-+ [147] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_FRAG,
-+ [148] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_NONFRAG,
-+ [149] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_UDP,
-+ /* [150] reserved */
-+ [151] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_TCP,
-+ [152] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_SCTP,
-+ [153] = RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_TUNNEL_GRENAT |
-+ RTE_PTYPE_INNER_L2_ETHER_VLAN |
-+ RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_INNER_L4_ICMP,
-+
-+ /* L2 NSH packet type */
-+ [154] = RTE_PTYPE_L2_ETHER_NSH,
-+ [155] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_FRAG,
-+ [156] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_NONFRAG,
-+ [157] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_UDP,
-+ [158] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_TCP,
-+ [159] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_SCTP,
-+ [160] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_ICMP,
-+ [161] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_FRAG,
-+ [162] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_NONFRAG,
-+ [163] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_UDP,
-+ [164] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_TCP,
-+ [165] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_SCTP,
-+ [166] = RTE_PTYPE_L2_ETHER_NSH | RTE_PTYPE_L3_IPV6_EXT_UNKNOWN |
-+ RTE_PTYPE_L4_ICMP,
-+
-+ /* All others reserved */
-+ };
-+
-+ return type_table[ptype];
-+}
-+
- #endif /* _I40E_RXTX_H_ */
-diff --git a/drivers/net/i40e/i40e_rxtx_vec.c b/drivers/net/i40e/i40e_rxtx_vec.c
-index 05cb415..e78ac63 100644
---- a/drivers/net/i40e/i40e_rxtx_vec.c
-+++ b/drivers/net/i40e/i40e_rxtx_vec.c
-@@ -187,6 +187,21 @@ desc_to_olflags_v(__m128i descs[4], struct rte_mbuf **rx_pkts)
-
- #define PKTLEN_SHIFT 10
-
-+static inline void
-+desc_to_ptype_v(__m128i descs[4], struct rte_mbuf **rx_pkts)
-+{
-+ __m128i ptype0 = _mm_unpackhi_epi64(descs[0], descs[1]);
-+ __m128i ptype1 = _mm_unpackhi_epi64(descs[2], descs[3]);
-+
-+ ptype0 = _mm_srli_epi64(ptype0, 30);
-+ ptype1 = _mm_srli_epi64(ptype1, 30);
-+
-+ rx_pkts[0]->packet_type = i40e_rxd_pkt_type_mapping(_mm_extract_epi8(ptype0, 0));
-+ rx_pkts[1]->packet_type = i40e_rxd_pkt_type_mapping(_mm_extract_epi8(ptype0, 8));
-+ rx_pkts[2]->packet_type = i40e_rxd_pkt_type_mapping(_mm_extract_epi8(ptype1, 0));
-+ rx_pkts[3]->packet_type = i40e_rxd_pkt_type_mapping(_mm_extract_epi8(ptype1, 8));
-+}
-+
- /*
- * Notice:
- * - nb_pkts < RTE_I40E_DESCS_PER_LOOP, just return no packet
-@@ -393,6 +408,7 @@ _recv_raw_pkts_vec(struct i40e_rx_queue *rxq, struct rte_mbuf **rx_pkts,
- pkt_mb2);
- _mm_storeu_si128((void *)&rx_pkts[pos]->rx_descriptor_fields1,
- pkt_mb1);
-+ desc_to_ptype_v(descs, &rx_pkts[pos]);
- /* C.4 calc avaialbe number of desc */
- var = __builtin_popcountll(_mm_cvtsi128_si64(staterr));
- nb_pkts_recd += var;
---
-2.7.4
-