net/ixgbe: fix missed packet types on Rx
authorKonstantin Ananyev <konstantin.ananyev@intel.com>
Wed, 15 Jun 2016 12:58:37 +0000 (13:58 +0100)
committerBruce Richardson <bruce.richardson@intel.com>
Thu, 23 Jun 2016 13:59:02 +0000 (15:59 +0200)
ixgbe PMD RX function(s) misses some packet types that are:
 - correctly recognised by the underlying HW.
 - marked as supported by ixgbe_dev_supported_ptypes_get().

Fixes: 9586ebd358d5 ("ixgbe: replace some offload flags with packet type")

Signed-off-by: Konstantin Ananyev <konstantin.ananyev@intel.com>
Acked-by: Wenzhuo Lu <wenzhuo.lu@intel.com>
Tested-by: Olivier Matz <olivier.matz@6wind.com>
drivers/net/ixgbe/ixgbe_rxtx.c

index 5a7064c..8a306b0 100644 (file)
@@ -909,24 +909,40 @@ end_of_tx:
  *  RX functions
  *
  **********************************************************************/
-#define IXGBE_PACKET_TYPE_IPV4              0X01
-#define IXGBE_PACKET_TYPE_IPV4_TCP          0X11
-#define IXGBE_PACKET_TYPE_IPV4_UDP          0X21
-#define IXGBE_PACKET_TYPE_IPV4_SCTP         0X41
-#define IXGBE_PACKET_TYPE_IPV4_EXT          0X03
-#define IXGBE_PACKET_TYPE_IPV4_EXT_SCTP     0X43
-#define IXGBE_PACKET_TYPE_IPV6              0X04
-#define IXGBE_PACKET_TYPE_IPV6_TCP          0X14
-#define IXGBE_PACKET_TYPE_IPV6_UDP          0X24
-#define IXGBE_PACKET_TYPE_IPV6_EXT          0X0C
-#define IXGBE_PACKET_TYPE_IPV6_EXT_TCP      0X1C
-#define IXGBE_PACKET_TYPE_IPV6_EXT_UDP      0X2C
-#define IXGBE_PACKET_TYPE_IPV4_IPV6         0X05
-#define IXGBE_PACKET_TYPE_IPV4_IPV6_TCP     0X15
-#define IXGBE_PACKET_TYPE_IPV4_IPV6_UDP     0X25
-#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT     0X0D
-#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_TCP 0X1D
-#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_UDP 0X2D
+
+#define IXGBE_PACKET_TYPE_ETHER                                0X00
+#define IXGBE_PACKET_TYPE_IPV4                         0X01
+#define IXGBE_PACKET_TYPE_IPV4_TCP                     0X11
+#define IXGBE_PACKET_TYPE_IPV4_UDP                     0X21
+#define IXGBE_PACKET_TYPE_IPV4_SCTP                    0X41
+#define IXGBE_PACKET_TYPE_IPV4_EXT                     0X03
+#define IXGBE_PACKET_TYPE_IPV4_EXT_TCP                 0X13
+#define IXGBE_PACKET_TYPE_IPV4_EXT_UDP                 0X23
+#define IXGBE_PACKET_TYPE_IPV4_EXT_SCTP                        0X43
+#define IXGBE_PACKET_TYPE_IPV6                         0X04
+#define IXGBE_PACKET_TYPE_IPV6_TCP                     0X14
+#define IXGBE_PACKET_TYPE_IPV6_UDP                     0X24
+#define IXGBE_PACKET_TYPE_IPV6_SCTP                    0X44
+#define IXGBE_PACKET_TYPE_IPV6_EXT                     0X0C
+#define IXGBE_PACKET_TYPE_IPV6_EXT_TCP                 0X1C
+#define IXGBE_PACKET_TYPE_IPV6_EXT_UDP                 0X2C
+#define IXGBE_PACKET_TYPE_IPV6_EXT_SCTP                        0X4C
+#define IXGBE_PACKET_TYPE_IPV4_IPV6                    0X05
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_TCP                        0X15
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_UDP                        0X25
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_SCTP               0X45
+#define IXGBE_PACKET_TYPE_IPV4_EXT_IPV6                        0X07
+#define IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_TCP            0X17
+#define IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_UDP            0X27
+#define IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_SCTP           0X47
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT                        0X0D
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_TCP            0X1D
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_UDP            0X2D
+#define IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_SCTP           0X4D
+#define IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_EXT            0X0F
+#define IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_EXT_TCP                0X1F
+#define IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_EXT_UDP                0X2F
+#define IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_EXT_SCTP       0X4F
 
 #define IXGBE_PACKET_TYPE_NVGRE                   0X00
 #define IXGBE_PACKET_TYPE_NVGRE_IPV4              0X01
@@ -934,13 +950,17 @@ end_of_tx:
 #define IXGBE_PACKET_TYPE_NVGRE_IPV4_UDP          0X21
 #define IXGBE_PACKET_TYPE_NVGRE_IPV4_SCTP         0X41
 #define IXGBE_PACKET_TYPE_NVGRE_IPV4_EXT          0X03
+#define IXGBE_PACKET_TYPE_NVGRE_IPV4_EXT_TCP      0X13
+#define IXGBE_PACKET_TYPE_NVGRE_IPV4_EXT_UDP      0X23
 #define IXGBE_PACKET_TYPE_NVGRE_IPV4_EXT_SCTP     0X43
 #define IXGBE_PACKET_TYPE_NVGRE_IPV6              0X04
 #define IXGBE_PACKET_TYPE_NVGRE_IPV6_TCP          0X14
 #define IXGBE_PACKET_TYPE_NVGRE_IPV6_UDP          0X24
+#define IXGBE_PACKET_TYPE_NVGRE_IPV6_SCTP         0X44
 #define IXGBE_PACKET_TYPE_NVGRE_IPV6_EXT          0X0C
 #define IXGBE_PACKET_TYPE_NVGRE_IPV6_EXT_TCP      0X1C
 #define IXGBE_PACKET_TYPE_NVGRE_IPV6_EXT_UDP      0X2C
+#define IXGBE_PACKET_TYPE_NVGRE_IPV6_EXT_SCTP     0X4C
 #define IXGBE_PACKET_TYPE_NVGRE_IPV4_IPV6         0X05
 #define IXGBE_PACKET_TYPE_NVGRE_IPV4_IPV6_TCP     0X15
 #define IXGBE_PACKET_TYPE_NVGRE_IPV4_IPV6_UDP     0X25
@@ -954,13 +974,17 @@ end_of_tx:
 #define IXGBE_PACKET_TYPE_VXLAN_IPV4_UDP          0xA1
 #define IXGBE_PACKET_TYPE_VXLAN_IPV4_SCTP         0xC1
 #define IXGBE_PACKET_TYPE_VXLAN_IPV4_EXT          0x83
+#define IXGBE_PACKET_TYPE_VXLAN_IPV4_EXT_TCP      0X93
+#define IXGBE_PACKET_TYPE_VXLAN_IPV4_EXT_UDP      0XA3
 #define IXGBE_PACKET_TYPE_VXLAN_IPV4_EXT_SCTP     0XC3
 #define IXGBE_PACKET_TYPE_VXLAN_IPV6              0X84
 #define IXGBE_PACKET_TYPE_VXLAN_IPV6_TCP          0X94
 #define IXGBE_PACKET_TYPE_VXLAN_IPV6_UDP          0XA4
+#define IXGBE_PACKET_TYPE_VXLAN_IPV6_SCTP         0XC4
 #define IXGBE_PACKET_TYPE_VXLAN_IPV6_EXT          0X8C
 #define IXGBE_PACKET_TYPE_VXLAN_IPV6_EXT_TCP      0X9C
 #define IXGBE_PACKET_TYPE_VXLAN_IPV6_EXT_UDP      0XAC
+#define IXGBE_PACKET_TYPE_VXLAN_IPV6_EXT_SCTP     0XCC
 #define IXGBE_PACKET_TYPE_VXLAN_IPV4_IPV6         0X85
 #define IXGBE_PACKET_TYPE_VXLAN_IPV4_IPV6_TCP     0X95
 #define IXGBE_PACKET_TYPE_VXLAN_IPV4_IPV6_UDP     0XA5
@@ -982,48 +1006,88 @@ ixgbe_rxd_pkt_info_to_pkt_type(uint32_t pkt_info, uint16_t ptype_mask)
         */
        static const uint32_t
                ptype_table[IXGBE_PACKET_TYPE_MAX] __rte_cache_aligned = {
+               [IXGBE_PACKET_TYPE_ETHER] = RTE_PTYPE_L2_ETHER,
                [IXGBE_PACKET_TYPE_IPV4] = RTE_PTYPE_L2_ETHER |
                        RTE_PTYPE_L3_IPV4,
+               [IXGBE_PACKET_TYPE_IPV4_TCP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_TCP,
+               [IXGBE_PACKET_TYPE_IPV4_UDP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_UDP,
+               [IXGBE_PACKET_TYPE_IPV4_SCTP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_SCTP,
                [IXGBE_PACKET_TYPE_IPV4_EXT] = RTE_PTYPE_L2_ETHER |
                        RTE_PTYPE_L3_IPV4_EXT,
+               [IXGBE_PACKET_TYPE_IPV4_EXT_TCP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_TCP,
+               [IXGBE_PACKET_TYPE_IPV4_EXT_UDP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_UDP,
+               [IXGBE_PACKET_TYPE_IPV4_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_SCTP,
                [IXGBE_PACKET_TYPE_IPV6] = RTE_PTYPE_L2_ETHER |
                        RTE_PTYPE_L3_IPV6,
-               [IXGBE_PACKET_TYPE_IPV4_IPV6] = RTE_PTYPE_L2_ETHER |
-                       RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
-                       RTE_PTYPE_INNER_L3_IPV6,
+               [IXGBE_PACKET_TYPE_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_TCP,
+               [IXGBE_PACKET_TYPE_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_UDP,
+               [IXGBE_PACKET_TYPE_IPV6_SCTP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_SCTP,
                [IXGBE_PACKET_TYPE_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
                        RTE_PTYPE_L3_IPV6_EXT,
-               [IXGBE_PACKET_TYPE_IPV4_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
+               [IXGBE_PACKET_TYPE_IPV6_EXT_TCP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_TCP,
+               [IXGBE_PACKET_TYPE_IPV6_EXT_UDP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_UDP,
+               [IXGBE_PACKET_TYPE_IPV6_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_SCTP,
+               [IXGBE_PACKET_TYPE_IPV4_IPV6] = RTE_PTYPE_L2_ETHER |
                        RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
-                       RTE_PTYPE_INNER_L3_IPV6_EXT,
-               [IXGBE_PACKET_TYPE_IPV4_TCP] = RTE_PTYPE_L2_ETHER |
-                       RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_TCP,
-               [IXGBE_PACKET_TYPE_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
-                       RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_TCP,
+                       RTE_PTYPE_INNER_L3_IPV6,
                [IXGBE_PACKET_TYPE_IPV4_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
                        RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
                        RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_TCP,
-               [IXGBE_PACKET_TYPE_IPV6_EXT_TCP] = RTE_PTYPE_L2_ETHER |
-                       RTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_TCP,
-               [IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_TCP] = RTE_PTYPE_L2_ETHER |
-                       RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
-                       RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_TCP,
-               [IXGBE_PACKET_TYPE_IPV4_UDP] = RTE_PTYPE_L2_ETHER |
-                       RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_UDP,
-               [IXGBE_PACKET_TYPE_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
-                       RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_UDP,
                [IXGBE_PACKET_TYPE_IPV4_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
                        RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
                        RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_UDP,
-               [IXGBE_PACKET_TYPE_IPV6_EXT_UDP] = RTE_PTYPE_L2_ETHER |
-                       RTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_UDP,
+               [IXGBE_PACKET_TYPE_IPV4_IPV6_SCTP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
+                       RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_SCTP,
+               [IXGBE_PACKET_TYPE_IPV4_EXT_IPV6] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
+                       RTE_PTYPE_INNER_L3_IPV6,
+               [IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
+                       RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_TCP,
+               [IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
+                       RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_UDP,
+               [IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_SCTP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
+                       RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_SCTP,
+               [IXGBE_PACKET_TYPE_IPV4_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
+                       RTE_PTYPE_INNER_L3_IPV6_EXT,
+               [IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_TCP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
+                       RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_TCP,
                [IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_UDP] = RTE_PTYPE_L2_ETHER |
                        RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
                        RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_UDP,
-               [IXGBE_PACKET_TYPE_IPV4_SCTP] = RTE_PTYPE_L2_ETHER |
-                       RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_SCTP,
-               [IXGBE_PACKET_TYPE_IPV4_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
-                       RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_SCTP,
+               [IXGBE_PACKET_TYPE_IPV4_IPV6_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
+                       RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_SCTP,
+               [IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
+                       RTE_PTYPE_INNER_L3_IPV6_EXT,
+               [IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_EXT_TCP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
+                       RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_TCP,
+               [IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_EXT_UDP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
+                       RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_UDP,
+               [IXGBE_PACKET_TYPE_IPV4_EXT_IPV6_EXT_SCTP] =
+                       RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
+                       RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_SCTP,
        };
 
        static const uint32_t
@@ -1076,6 +1140,10 @@ ixgbe_rxd_pkt_info_to_pkt_type(uint32_t pkt_info, uint16_t ptype_mask)
                        RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
                        RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6 |
                        RTE_PTYPE_INNER_L4_UDP,
+               [IXGBE_PACKET_TYPE_NVGRE_IPV6_SCTP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
+                       RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6 |
+                       RTE_PTYPE_INNER_L4_SCTP,
                [IXGBE_PACKET_TYPE_NVGRE_IPV4_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
                        RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
                        RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4,
@@ -1083,6 +1151,10 @@ ixgbe_rxd_pkt_info_to_pkt_type(uint32_t pkt_info, uint16_t ptype_mask)
                        RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
                        RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6_EXT |
                        RTE_PTYPE_INNER_L4_UDP,
+               [IXGBE_PACKET_TYPE_NVGRE_IPV6_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
+                       RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6_EXT |
+                       RTE_PTYPE_INNER_L4_SCTP,
                [IXGBE_PACKET_TYPE_NVGRE_IPV4_IPV6_EXT_UDP] =
                        RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
                        RTE_PTYPE_TUNNEL_GRE | RTE_PTYPE_INNER_L2_ETHER |
@@ -1095,6 +1167,14 @@ ixgbe_rxd_pkt_info_to_pkt_type(uint32_t pkt_info, uint16_t ptype_mask)
                        RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
                        RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4_EXT |
                        RTE_PTYPE_INNER_L4_SCTP,
+               [IXGBE_PACKET_TYPE_NVGRE_IPV4_EXT_TCP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
+                       RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4_EXT |
+                       RTE_PTYPE_INNER_L4_TCP,
+               [IXGBE_PACKET_TYPE_NVGRE_IPV4_EXT_UDP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
+                       RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4_EXT |
+                       RTE_PTYPE_INNER_L4_UDP,
 
                [IXGBE_PACKET_TYPE_VXLAN] = RTE_PTYPE_L2_ETHER |
                        RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
@@ -1151,6 +1231,10 @@ ixgbe_rxd_pkt_info_to_pkt_type(uint32_t pkt_info, uint16_t ptype_mask)
                        RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
                        RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
                        RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_UDP,
+               [IXGBE_PACKET_TYPE_VXLAN_IPV6_SCTP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
+                       RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
+                       RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_SCTP,
                [IXGBE_PACKET_TYPE_VXLAN_IPV4_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
                        RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
                        RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
@@ -1159,6 +1243,10 @@ ixgbe_rxd_pkt_info_to_pkt_type(uint32_t pkt_info, uint16_t ptype_mask)
                        RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
                        RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
                        RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_UDP,
+               [IXGBE_PACKET_TYPE_VXLAN_IPV6_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
+                       RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
+                       RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_SCTP,
                [IXGBE_PACKET_TYPE_VXLAN_IPV4_IPV6_EXT_UDP] =
                        RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
                        RTE_PTYPE_L4_UDP | RTE_PTYPE_TUNNEL_VXLAN |
@@ -1171,6 +1259,14 @@ ixgbe_rxd_pkt_info_to_pkt_type(uint32_t pkt_info, uint16_t ptype_mask)
                        RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
                        RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
                        RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_SCTP,
+               [IXGBE_PACKET_TYPE_VXLAN_IPV4_EXT_TCP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
+                       RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
+                       RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_TCP,
+               [IXGBE_PACKET_TYPE_VXLAN_IPV4_EXT_UDP] = RTE_PTYPE_L2_ETHER |
+                       RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
+                       RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
+                       RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_UDP,
        };
 
        if (unlikely(pkt_info & IXGBE_RXDADV_PKTTYPE_ETQF))