1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2015-2020 Beijing WangXun Technology Co., Ltd.
6 #include <rte_memory.h>
8 #include "base/txgbe_type.h"
9 #include "txgbe_ptypes.h"
11 /* The txgbe_ptype_lookup is used to convert from the 8-bit ptid in the
12 * hardware to a bit-field that can be used by SW to more easily determine the
15 * Macros are used to shorten the table lines and make this table human
18 * We store the PTYPE in the top byte of the bit field - this is just so that
19 * we can check that the table doesn't have a row missing, as the index into
20 * the table should be the PTYPE.
24 * IF NOT txgbe_ptype_lookup[ptid].known
27 * ELSE IF txgbe_ptype_lookup[ptid].mac == TXGBE_DEC_PTYPE_MAC_IP
28 * Use the rest of the fields to look at the tunnels, inner protocols, etc
30 * Use the enum txgbe_l2_ptypes to decode the packet type
33 #define TPTE(ptid, l2, l3, l4, tun, el2, el3, el4) \
34 [ptid] = (RTE_PTYPE_L2_##l2 | \
37 RTE_PTYPE_TUNNEL_##tun | \
38 RTE_PTYPE_INNER_L2_##el2 | \
39 RTE_PTYPE_INNER_L3_##el3 | \
40 RTE_PTYPE_INNER_L4_##el4)
42 #define RTE_PTYPE_L2_NONE 0
43 #define RTE_PTYPE_L3_NONE 0
44 #define RTE_PTYPE_L4_NONE 0
45 #define RTE_PTYPE_TUNNEL_NONE 0
46 #define RTE_PTYPE_INNER_L2_NONE 0
47 #define RTE_PTYPE_INNER_L3_NONE 0
48 #define RTE_PTYPE_INNER_L4_NONE 0
50 static u32 txgbe_ptype_lookup[TXGBE_PTID_MAX] __rte_cache_aligned = {
51 /* L2:0-3 L3:4-7 L4:8-11 TUN:12-15 EL2:16-19 EL3:20-23 EL2:24-27 */
53 TPTE(0x10, ETHER, NONE, NONE, NONE, NONE, NONE, NONE),
54 TPTE(0x11, ETHER, NONE, NONE, NONE, NONE, NONE, NONE),
55 TPTE(0x12, ETHER_TIMESYNC, NONE, NONE, NONE, NONE, NONE, NONE),
56 TPTE(0x13, ETHER_FIP, NONE, NONE, NONE, NONE, NONE, NONE),
57 TPTE(0x14, ETHER_LLDP, NONE, NONE, NONE, NONE, NONE, NONE),
58 TPTE(0x15, ETHER_CNM, NONE, NONE, NONE, NONE, NONE, NONE),
59 TPTE(0x16, ETHER_EAPOL, NONE, NONE, NONE, NONE, NONE, NONE),
60 TPTE(0x17, ETHER_ARP, NONE, NONE, NONE, NONE, NONE, NONE),
61 /* L2: Ethertype Filter */
62 TPTE(0x18, ETHER_FILTER, NONE, NONE, NONE, NONE, NONE, NONE),
63 TPTE(0x19, ETHER_FILTER, NONE, NONE, NONE, NONE, NONE, NONE),
64 TPTE(0x1A, ETHER_FILTER, NONE, NONE, NONE, NONE, NONE, NONE),
65 TPTE(0x1B, ETHER_FILTER, NONE, NONE, NONE, NONE, NONE, NONE),
66 TPTE(0x1C, ETHER_FILTER, NONE, NONE, NONE, NONE, NONE, NONE),
67 TPTE(0x1D, ETHER_FILTER, NONE, NONE, NONE, NONE, NONE, NONE),
68 TPTE(0x1E, ETHER_FILTER, NONE, NONE, NONE, NONE, NONE, NONE),
69 TPTE(0x1F, ETHER_FILTER, NONE, NONE, NONE, NONE, NONE, NONE),
71 TPTE(0x20, ETHER, IPV4, NONFRAG, NONE, NONE, NONE, NONE),
72 TPTE(0x21, ETHER, IPV4, FRAG, NONE, NONE, NONE, NONE),
73 TPTE(0x22, ETHER, IPV4, NONFRAG, NONE, NONE, NONE, NONE),
74 TPTE(0x23, ETHER, IPV4, UDP, NONE, NONE, NONE, NONE),
75 TPTE(0x24, ETHER, IPV4, TCP, NONE, NONE, NONE, NONE),
76 TPTE(0x25, ETHER, IPV4, SCTP, NONE, NONE, NONE, NONE),
77 TPTE(0x29, ETHER, IPV6, FRAG, NONE, NONE, NONE, NONE),
78 TPTE(0x2A, ETHER, IPV6, NONFRAG, NONE, NONE, NONE, NONE),
79 TPTE(0x2B, ETHER, IPV6, UDP, NONE, NONE, NONE, NONE),
80 TPTE(0x2C, ETHER, IPV6, TCP, NONE, NONE, NONE, NONE),
81 TPTE(0x2D, ETHER, IPV6, SCTP, NONE, NONE, NONE, NONE),
83 TPTE(0x30, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
84 TPTE(0x31, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
85 TPTE(0x32, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
86 TPTE(0x33, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
87 TPTE(0x34, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
88 TPTE(0x35, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
89 TPTE(0x36, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
90 TPTE(0x37, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
91 TPTE(0x38, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
92 TPTE(0x39, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
93 /* IPv4 -> IPv4/IPv6 */
94 TPTE(0x81, ETHER, IPV4, NONE, IP, NONE, IPV4, FRAG),
95 TPTE(0x82, ETHER, IPV4, NONE, IP, NONE, IPV4, NONFRAG),
96 TPTE(0x83, ETHER, IPV4, NONE, IP, NONE, IPV4, UDP),
97 TPTE(0x84, ETHER, IPV4, NONE, IP, NONE, IPV4, TCP),
98 TPTE(0x85, ETHER, IPV4, NONE, IP, NONE, IPV4, SCTP),
99 TPTE(0x89, ETHER, IPV4, NONE, IP, NONE, IPV6, FRAG),
100 TPTE(0x8A, ETHER, IPV4, NONE, IP, NONE, IPV6, NONFRAG),
101 TPTE(0x8B, ETHER, IPV4, NONE, IP, NONE, IPV6, UDP),
102 TPTE(0x8C, ETHER, IPV4, NONE, IP, NONE, IPV6, TCP),
103 TPTE(0x8D, ETHER, IPV4, NONE, IP, NONE, IPV6, SCTP),
104 /* IPv4 -> GRE/Teredo/VXLAN -> NONE/IPv4/IPv6 */
105 TPTE(0x90, ETHER, IPV4, NONE, GRENAT, NONE, NONE, NONE),
106 TPTE(0x91, ETHER, IPV4, NONE, GRENAT, NONE, IPV4, FRAG),
107 TPTE(0x92, ETHER, IPV4, NONE, GRENAT, NONE, IPV4, NONFRAG),
108 TPTE(0x93, ETHER, IPV4, NONE, GRENAT, NONE, IPV4, UDP),
109 TPTE(0x94, ETHER, IPV4, NONE, GRENAT, NONE, IPV4, TCP),
110 TPTE(0x95, ETHER, IPV4, NONE, GRENAT, NONE, IPV4, SCTP),
111 TPTE(0x99, ETHER, IPV4, NONE, GRENAT, NONE, IPV6, FRAG),
112 TPTE(0x9A, ETHER, IPV4, NONE, GRENAT, NONE, IPV6, NONFRAG),
113 TPTE(0x9B, ETHER, IPV4, NONE, GRENAT, NONE, IPV6, UDP),
114 TPTE(0x9C, ETHER, IPV4, NONE, GRENAT, NONE, IPV6, TCP),
115 TPTE(0x9D, ETHER, IPV4, NONE, GRENAT, NONE, IPV6, SCTP),
116 /* IPv4 -> GRE/Teredo/VXLAN -> MAC -> NONE/IPv4/IPv6 */
117 TPTE(0xA0, ETHER, IPV4, NONE, GRENAT, ETHER, NONE, NONE),
118 TPTE(0xA1, ETHER, IPV4, NONE, GRENAT, ETHER, IPV4, FRAG),
119 TPTE(0xA2, ETHER, IPV4, NONE, GRENAT, ETHER, IPV4, NONFRAG),
120 TPTE(0xA3, ETHER, IPV4, NONE, GRENAT, ETHER, IPV4, UDP),
121 TPTE(0xA4, ETHER, IPV4, NONE, GRENAT, ETHER, IPV4, TCP),
122 TPTE(0xA5, ETHER, IPV4, NONE, GRENAT, ETHER, IPV4, SCTP),
123 TPTE(0xA9, ETHER, IPV4, NONE, GRENAT, ETHER, IPV6, FRAG),
124 TPTE(0xAA, ETHER, IPV4, NONE, GRENAT, ETHER, IPV6, NONFRAG),
125 TPTE(0xAB, ETHER, IPV4, NONE, GRENAT, ETHER, IPV6, UDP),
126 TPTE(0xAC, ETHER, IPV4, NONE, GRENAT, ETHER, IPV6, TCP),
127 TPTE(0xAD, ETHER, IPV4, NONE, GRENAT, ETHER, IPV6, SCTP),
128 /* IPv4 -> GRE/Teredo/VXLAN -> MAC+VLAN -> NONE/IPv4/IPv6 */
129 TPTE(0xB0, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, NONE, NONE),
130 TPTE(0xB1, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV4, FRAG),
131 TPTE(0xB2, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV4, NONFRAG),
132 TPTE(0xB3, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV4, UDP),
133 TPTE(0xB4, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV4, TCP),
134 TPTE(0xB5, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV4, SCTP),
135 TPTE(0xB9, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV6, FRAG),
136 TPTE(0xBA, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV6, NONFRAG),
137 TPTE(0xBB, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV6, UDP),
138 TPTE(0xBC, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV6, TCP),
139 TPTE(0xBD, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV6, SCTP),
140 /* IPv6 -> IPv4/IPv6 */
141 TPTE(0xC1, ETHER, IPV6, NONE, IP, NONE, IPV4, FRAG),
142 TPTE(0xC2, ETHER, IPV6, NONE, IP, NONE, IPV4, NONFRAG),
143 TPTE(0xC3, ETHER, IPV6, NONE, IP, NONE, IPV4, UDP),
144 TPTE(0xC4, ETHER, IPV6, NONE, IP, NONE, IPV4, TCP),
145 TPTE(0xC5, ETHER, IPV6, NONE, IP, NONE, IPV4, SCTP),
146 TPTE(0xC9, ETHER, IPV6, NONE, IP, NONE, IPV6, FRAG),
147 TPTE(0xCA, ETHER, IPV6, NONE, IP, NONE, IPV6, NONFRAG),
148 TPTE(0xCB, ETHER, IPV6, NONE, IP, NONE, IPV6, UDP),
149 TPTE(0xCC, ETHER, IPV6, NONE, IP, NONE, IPV6, TCP),
150 TPTE(0xCD, ETHER, IPV6, NONE, IP, NONE, IPV6, SCTP),
151 /* IPv6 -> GRE/Teredo/VXLAN -> NONE/IPv4/IPv6 */
152 TPTE(0xD0, ETHER, IPV6, NONE, GRENAT, NONE, NONE, NONE),
153 TPTE(0xD1, ETHER, IPV6, NONE, GRENAT, NONE, IPV4, FRAG),
154 TPTE(0xD2, ETHER, IPV6, NONE, GRENAT, NONE, IPV4, NONFRAG),
155 TPTE(0xD3, ETHER, IPV6, NONE, GRENAT, NONE, IPV4, UDP),
156 TPTE(0xD4, ETHER, IPV6, NONE, GRENAT, NONE, IPV4, TCP),
157 TPTE(0xD5, ETHER, IPV6, NONE, GRENAT, NONE, IPV4, SCTP),
158 TPTE(0xD9, ETHER, IPV6, NONE, GRENAT, NONE, IPV6, FRAG),
159 TPTE(0xDA, ETHER, IPV6, NONE, GRENAT, NONE, IPV6, NONFRAG),
160 TPTE(0xDB, ETHER, IPV6, NONE, GRENAT, NONE, IPV6, UDP),
161 TPTE(0xDC, ETHER, IPV6, NONE, GRENAT, NONE, IPV6, TCP),
162 TPTE(0xDD, ETHER, IPV6, NONE, GRENAT, NONE, IPV6, SCTP),
163 /* IPv6 -> GRE/Teredo/VXLAN -> MAC -> NONE/IPv4/IPv6 */
164 TPTE(0xE0, ETHER, IPV6, NONE, GRENAT, ETHER, NONE, NONE),
165 TPTE(0xE1, ETHER, IPV6, NONE, GRENAT, ETHER, IPV4, FRAG),
166 TPTE(0xE2, ETHER, IPV6, NONE, GRENAT, ETHER, IPV4, NONFRAG),
167 TPTE(0xE3, ETHER, IPV6, NONE, GRENAT, ETHER, IPV4, UDP),
168 TPTE(0xE4, ETHER, IPV6, NONE, GRENAT, ETHER, IPV4, TCP),
169 TPTE(0xE5, ETHER, IPV6, NONE, GRENAT, ETHER, IPV4, SCTP),
170 TPTE(0xE9, ETHER, IPV6, NONE, GRENAT, ETHER, IPV6, FRAG),
171 TPTE(0xEA, ETHER, IPV6, NONE, GRENAT, ETHER, IPV6, NONFRAG),
172 TPTE(0xEB, ETHER, IPV6, NONE, GRENAT, ETHER, IPV6, UDP),
173 TPTE(0xEC, ETHER, IPV6, NONE, GRENAT, ETHER, IPV6, TCP),
174 TPTE(0xED, ETHER, IPV6, NONE, GRENAT, ETHER, IPV6, SCTP),
175 /* IPv6 -> GRE/Teredo/VXLAN -> MAC+VLAN -> NONE/IPv4/IPv6 */
176 TPTE(0xF0, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, NONE, NONE),
177 TPTE(0xF1, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV4, FRAG),
178 TPTE(0xF2, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV4, NONFRAG),
179 TPTE(0xF3, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV4, UDP),
180 TPTE(0xF4, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV4, TCP),
181 TPTE(0xF5, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV4, SCTP),
182 TPTE(0xF9, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV6, FRAG),
183 TPTE(0xFA, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV6, NONFRAG),
184 TPTE(0xFB, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV6, UDP),
185 TPTE(0xFC, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV6, TCP),
186 TPTE(0xFD, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV6, SCTP),
189 u32 *txgbe_get_supported_ptypes(void)
191 static u32 ptypes[] = {
192 /* For non-vec functions,
193 * refers to txgbe_rxd_pkt_info_to_pkt_type();
197 RTE_PTYPE_L3_IPV4_EXT,
199 RTE_PTYPE_L3_IPV6_EXT,
204 RTE_PTYPE_INNER_L3_IPV6,
205 RTE_PTYPE_INNER_L3_IPV6_EXT,
206 RTE_PTYPE_INNER_L4_TCP,
207 RTE_PTYPE_INNER_L4_UDP,
215 txgbe_encode_ptype_fcoe(u32 ptype)
219 UNREFERENCED_PARAMETER(ptype);
220 ptid = TXGBE_PTID_PKT_FCOE;
226 txgbe_encode_ptype_mac(u32 ptype)
230 ptid = TXGBE_PTID_PKT_MAC;
232 switch (ptype & RTE_PTYPE_L2_MASK) {
233 case RTE_PTYPE_L2_ETHER_FCOE:
234 ptid = txgbe_encode_ptype_fcoe(ptype);
236 case RTE_PTYPE_UNKNOWN:
238 case RTE_PTYPE_L2_ETHER_TIMESYNC:
239 ptid |= TXGBE_PTID_TYP_TS;
241 case RTE_PTYPE_L2_ETHER_ARP:
242 ptid |= TXGBE_PTID_TYP_ARP;
244 case RTE_PTYPE_L2_ETHER_LLDP:
245 ptid |= TXGBE_PTID_TYP_LLDP;
248 ptid |= TXGBE_PTID_TYP_MAC;
256 txgbe_encode_ptype_ip(u32 ptype)
260 ptid = TXGBE_PTID_PKT_IP;
262 switch (ptype & RTE_PTYPE_L3_MASK) {
263 case RTE_PTYPE_L3_IPV4:
264 case RTE_PTYPE_L3_IPV4_EXT:
265 case RTE_PTYPE_L3_IPV4_EXT_UNKNOWN:
267 case RTE_PTYPE_L3_IPV6:
268 case RTE_PTYPE_L3_IPV6_EXT:
269 case RTE_PTYPE_L3_IPV6_EXT_UNKNOWN:
270 ptid |= TXGBE_PTID_PKT_IPV6;
273 return txgbe_encode_ptype_mac(ptype);
276 switch (ptype & RTE_PTYPE_L4_MASK) {
277 case RTE_PTYPE_L4_TCP:
278 ptid |= TXGBE_PTID_TYP_TCP;
280 case RTE_PTYPE_L4_UDP:
281 ptid |= TXGBE_PTID_TYP_UDP;
283 case RTE_PTYPE_L4_SCTP:
284 ptid |= TXGBE_PTID_TYP_SCTP;
286 case RTE_PTYPE_L4_FRAG:
287 ptid |= TXGBE_PTID_TYP_IPFRAG;
290 ptid |= TXGBE_PTID_TYP_IPDATA;
298 txgbe_encode_ptype_tunnel(u32 ptype)
302 ptid = TXGBE_PTID_PKT_TUN;
304 switch (ptype & RTE_PTYPE_L3_MASK) {
305 case RTE_PTYPE_L3_IPV4:
306 case RTE_PTYPE_L3_IPV4_EXT:
307 case RTE_PTYPE_L3_IPV4_EXT_UNKNOWN:
309 case RTE_PTYPE_L3_IPV6:
310 case RTE_PTYPE_L3_IPV6_EXT:
311 case RTE_PTYPE_L3_IPV6_EXT_UNKNOWN:
312 ptid |= TXGBE_PTID_TUN_IPV6;
315 return txgbe_encode_ptype_ip(ptype);
318 switch (ptype & RTE_PTYPE_TUNNEL_MASK) {
319 case RTE_PTYPE_TUNNEL_IP:
320 ptid |= TXGBE_PTID_TUN_EI;
322 case RTE_PTYPE_TUNNEL_GRE:
323 ptid |= TXGBE_PTID_TUN_EIG;
325 case RTE_PTYPE_TUNNEL_VXLAN:
326 case RTE_PTYPE_TUNNEL_VXLAN_GPE:
327 case RTE_PTYPE_TUNNEL_NVGRE:
328 case RTE_PTYPE_TUNNEL_GENEVE:
329 case RTE_PTYPE_TUNNEL_GRENAT:
335 switch (ptype & RTE_PTYPE_INNER_L2_MASK) {
336 case RTE_PTYPE_INNER_L2_ETHER:
337 ptid |= TXGBE_PTID_TUN_EIGM;
339 case RTE_PTYPE_INNER_L2_ETHER_VLAN:
340 ptid |= TXGBE_PTID_TUN_EIGMV;
342 case RTE_PTYPE_INNER_L2_ETHER_QINQ:
343 ptid |= TXGBE_PTID_TUN_EIGMV;
349 switch (ptype & RTE_PTYPE_INNER_L3_MASK) {
350 case RTE_PTYPE_INNER_L3_IPV4:
351 case RTE_PTYPE_INNER_L3_IPV4_EXT:
352 case RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN:
354 case RTE_PTYPE_INNER_L3_IPV6:
355 case RTE_PTYPE_INNER_L3_IPV6_EXT:
356 case RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN:
357 ptid |= TXGBE_PTID_PKT_IPV6;
363 switch (ptype & RTE_PTYPE_INNER_L4_MASK) {
364 case RTE_PTYPE_INNER_L4_TCP:
365 ptid |= TXGBE_PTID_TYP_TCP;
367 case RTE_PTYPE_INNER_L4_UDP:
368 ptid |= TXGBE_PTID_TYP_UDP;
370 case RTE_PTYPE_INNER_L4_SCTP:
371 ptid |= TXGBE_PTID_TYP_SCTP;
373 case RTE_PTYPE_INNER_L4_FRAG:
374 ptid |= TXGBE_PTID_TYP_IPFRAG;
377 ptid |= TXGBE_PTID_TYP_IPDATA;
384 u32 txgbe_decode_ptype(u8 ptid)
386 if (-1 != txgbe_etflt_id(ptid))
387 return RTE_PTYPE_UNKNOWN;
389 return txgbe_ptype_lookup[ptid];
392 u8 txgbe_encode_ptype(u32 ptype)
396 if (ptype & RTE_PTYPE_TUNNEL_MASK)
397 ptid = txgbe_encode_ptype_tunnel(ptype);
398 else if (ptype & RTE_PTYPE_L3_MASK)
399 ptid = txgbe_encode_ptype_ip(ptype);
400 else if (ptype & RTE_PTYPE_L2_MASK)
401 ptid = txgbe_encode_ptype_mac(ptype);
403 ptid = TXGBE_PTID_NULL;
409 * Use 2 different table for normal packet and tunnel packet
413 txgbe_ptype_table[TXGBE_PTID_MAX] __rte_cache_aligned = {
414 [TXGBE_PT_ETHER] = RTE_PTYPE_L2_ETHER,
415 [TXGBE_PT_IPV4] = RTE_PTYPE_L2_ETHER |
417 [TXGBE_PT_IPV4_TCP] = RTE_PTYPE_L2_ETHER |
418 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_TCP,
419 [TXGBE_PT_IPV4_UDP] = RTE_PTYPE_L2_ETHER |
420 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_UDP,
421 [TXGBE_PT_IPV4_SCTP] = RTE_PTYPE_L2_ETHER |
422 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_SCTP,
423 [TXGBE_PT_IPV4_EXT] = RTE_PTYPE_L2_ETHER |
424 RTE_PTYPE_L3_IPV4_EXT,
425 [TXGBE_PT_IPV4_EXT_TCP] = RTE_PTYPE_L2_ETHER |
426 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_TCP,
427 [TXGBE_PT_IPV4_EXT_UDP] = RTE_PTYPE_L2_ETHER |
428 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_UDP,
429 [TXGBE_PT_IPV4_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
430 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_SCTP,
431 [TXGBE_PT_IPV6] = RTE_PTYPE_L2_ETHER |
433 [TXGBE_PT_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
434 RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_TCP,
435 [TXGBE_PT_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
436 RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_UDP,
437 [TXGBE_PT_IPV6_SCTP] = RTE_PTYPE_L2_ETHER |
438 RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_SCTP,
439 [TXGBE_PT_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
440 RTE_PTYPE_L3_IPV6_EXT,
441 [TXGBE_PT_IPV6_EXT_TCP] = RTE_PTYPE_L2_ETHER |
442 RTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_TCP,
443 [TXGBE_PT_IPV6_EXT_UDP] = RTE_PTYPE_L2_ETHER |
444 RTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_UDP,
445 [TXGBE_PT_IPV6_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
446 RTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_SCTP,
447 [TXGBE_PT_IPV4_IPV6] = RTE_PTYPE_L2_ETHER |
448 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
449 RTE_PTYPE_INNER_L3_IPV6,
450 [TXGBE_PT_IPV4_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
451 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
452 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_TCP,
453 [TXGBE_PT_IPV4_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
454 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
455 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_UDP,
456 [TXGBE_PT_IPV4_IPV6_SCTP] = RTE_PTYPE_L2_ETHER |
457 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
458 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_SCTP,
459 [TXGBE_PT_IPV4_EXT_IPV6] = RTE_PTYPE_L2_ETHER |
460 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
461 RTE_PTYPE_INNER_L3_IPV6,
462 [TXGBE_PT_IPV4_EXT_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
463 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
464 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_TCP,
465 [TXGBE_PT_IPV4_EXT_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
466 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
467 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_UDP,
468 [TXGBE_PT_IPV4_EXT_IPV6_SCTP] = RTE_PTYPE_L2_ETHER |
469 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
470 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_SCTP,
471 [TXGBE_PT_IPV4_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
472 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
473 RTE_PTYPE_INNER_L3_IPV6_EXT,
474 [TXGBE_PT_IPV4_IPV6_EXT_TCP] = RTE_PTYPE_L2_ETHER |
475 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
476 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_TCP,
477 [TXGBE_PT_IPV4_IPV6_EXT_UDP] = RTE_PTYPE_L2_ETHER |
478 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
479 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_UDP,
480 [TXGBE_PT_IPV4_IPV6_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
481 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
482 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_SCTP,
483 [TXGBE_PT_IPV4_EXT_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
484 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
485 RTE_PTYPE_INNER_L3_IPV6_EXT,
486 [TXGBE_PT_IPV4_EXT_IPV6_EXT_TCP] = RTE_PTYPE_L2_ETHER |
487 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
488 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_TCP,
489 [TXGBE_PT_IPV4_EXT_IPV6_EXT_UDP] = RTE_PTYPE_L2_ETHER |
490 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
491 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_UDP,
492 [TXGBE_PT_IPV4_EXT_IPV6_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
493 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
494 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_SCTP,
498 txgbe_ptype_table_tn[TXGBE_PTID_MAX] __rte_cache_aligned = {
499 [TXGBE_PT_NVGRE] = RTE_PTYPE_L2_ETHER |
500 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
501 RTE_PTYPE_INNER_L2_ETHER,
502 [TXGBE_PT_NVGRE_IPV4] = RTE_PTYPE_L2_ETHER |
503 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
504 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4,
505 [TXGBE_PT_NVGRE_IPV4_EXT] = RTE_PTYPE_L2_ETHER |
506 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
507 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4_EXT,
508 [TXGBE_PT_NVGRE_IPV6] = RTE_PTYPE_L2_ETHER |
509 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
510 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6,
511 [TXGBE_PT_NVGRE_IPV4_IPV6] = RTE_PTYPE_L2_ETHER |
512 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
513 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4,
514 [TXGBE_PT_NVGRE_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
515 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
516 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6_EXT,
517 [TXGBE_PT_NVGRE_IPV4_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
518 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
519 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4,
520 [TXGBE_PT_NVGRE_IPV4_TCP] = RTE_PTYPE_L2_ETHER |
521 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
522 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4 |
523 RTE_PTYPE_INNER_L4_TCP,
524 [TXGBE_PT_NVGRE_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
525 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
526 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6 |
527 RTE_PTYPE_INNER_L4_TCP,
528 [TXGBE_PT_NVGRE_IPV4_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
529 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
530 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4,
531 [TXGBE_PT_NVGRE_IPV6_EXT_TCP] = RTE_PTYPE_L2_ETHER |
532 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
533 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6_EXT |
534 RTE_PTYPE_INNER_L4_TCP,
535 [TXGBE_PT_NVGRE_IPV4_IPV6_EXT_TCP] =
536 RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
537 RTE_PTYPE_TUNNEL_GRE | RTE_PTYPE_INNER_L2_ETHER |
538 RTE_PTYPE_INNER_L3_IPV4,
539 [TXGBE_PT_NVGRE_IPV4_UDP] = RTE_PTYPE_L2_ETHER |
540 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
541 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4 |
542 RTE_PTYPE_INNER_L4_UDP,
543 [TXGBE_PT_NVGRE_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
544 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
545 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6 |
546 RTE_PTYPE_INNER_L4_UDP,
547 [TXGBE_PT_NVGRE_IPV6_SCTP] = RTE_PTYPE_L2_ETHER |
548 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
549 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6 |
550 RTE_PTYPE_INNER_L4_SCTP,
551 [TXGBE_PT_NVGRE_IPV4_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
552 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
553 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4,
554 [TXGBE_PT_NVGRE_IPV6_EXT_UDP] = RTE_PTYPE_L2_ETHER |
555 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
556 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6_EXT |
557 RTE_PTYPE_INNER_L4_UDP,
558 [TXGBE_PT_NVGRE_IPV6_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
559 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
560 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6_EXT |
561 RTE_PTYPE_INNER_L4_SCTP,
562 [TXGBE_PT_NVGRE_IPV4_IPV6_EXT_UDP] =
563 RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
564 RTE_PTYPE_TUNNEL_GRE | RTE_PTYPE_INNER_L2_ETHER |
565 RTE_PTYPE_INNER_L3_IPV4,
566 [TXGBE_PT_NVGRE_IPV4_SCTP] = RTE_PTYPE_L2_ETHER |
567 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
568 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4 |
569 RTE_PTYPE_INNER_L4_SCTP,
570 [TXGBE_PT_NVGRE_IPV4_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
571 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
572 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4_EXT |
573 RTE_PTYPE_INNER_L4_SCTP,
574 [TXGBE_PT_NVGRE_IPV4_EXT_TCP] = RTE_PTYPE_L2_ETHER |
575 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
576 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4_EXT |
577 RTE_PTYPE_INNER_L4_TCP,
578 [TXGBE_PT_NVGRE_IPV4_EXT_UDP] = RTE_PTYPE_L2_ETHER |
579 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
580 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4_EXT |
581 RTE_PTYPE_INNER_L4_UDP,
583 [TXGBE_PT_VXLAN] = RTE_PTYPE_L2_ETHER |
584 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
585 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER,
586 [TXGBE_PT_VXLAN_IPV4] = RTE_PTYPE_L2_ETHER |
587 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
588 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
589 RTE_PTYPE_INNER_L3_IPV4,
590 [TXGBE_PT_VXLAN_IPV4_EXT] = RTE_PTYPE_L2_ETHER |
591 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
592 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
593 RTE_PTYPE_INNER_L3_IPV4_EXT,
594 [TXGBE_PT_VXLAN_IPV6] = RTE_PTYPE_L2_ETHER |
595 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
596 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
597 RTE_PTYPE_INNER_L3_IPV6,
598 [TXGBE_PT_VXLAN_IPV4_IPV6] = RTE_PTYPE_L2_ETHER |
599 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
600 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
601 RTE_PTYPE_INNER_L3_IPV4,
602 [TXGBE_PT_VXLAN_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
603 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
604 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
605 RTE_PTYPE_INNER_L3_IPV6_EXT,
606 [TXGBE_PT_VXLAN_IPV4_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
607 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
608 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
609 RTE_PTYPE_INNER_L3_IPV4,
610 [TXGBE_PT_VXLAN_IPV4_TCP] = RTE_PTYPE_L2_ETHER |
611 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
612 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
613 RTE_PTYPE_INNER_L3_IPV4 | RTE_PTYPE_INNER_L4_TCP,
614 [TXGBE_PT_VXLAN_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
615 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
616 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
617 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_TCP,
618 [TXGBE_PT_VXLAN_IPV4_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
619 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
620 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
621 RTE_PTYPE_INNER_L3_IPV4,
622 [TXGBE_PT_VXLAN_IPV6_EXT_TCP] = RTE_PTYPE_L2_ETHER |
623 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
624 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
625 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_TCP,
626 [TXGBE_PT_VXLAN_IPV4_IPV6_EXT_TCP] =
627 RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
628 RTE_PTYPE_L4_UDP | RTE_PTYPE_TUNNEL_VXLAN |
629 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4,
630 [TXGBE_PT_VXLAN_IPV4_UDP] = RTE_PTYPE_L2_ETHER |
631 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
632 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
633 RTE_PTYPE_INNER_L3_IPV4 | RTE_PTYPE_INNER_L4_UDP,
634 [TXGBE_PT_VXLAN_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
635 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
636 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
637 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_UDP,
638 [TXGBE_PT_VXLAN_IPV6_SCTP] = RTE_PTYPE_L2_ETHER |
639 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
640 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
641 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_SCTP,
642 [TXGBE_PT_VXLAN_IPV4_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
643 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
644 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
645 RTE_PTYPE_INNER_L3_IPV4,
646 [TXGBE_PT_VXLAN_IPV6_EXT_UDP] = RTE_PTYPE_L2_ETHER |
647 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
648 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
649 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_UDP,
650 [TXGBE_PT_VXLAN_IPV6_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
651 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
652 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
653 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_SCTP,
654 [TXGBE_PT_VXLAN_IPV4_IPV6_EXT_UDP] =
655 RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
656 RTE_PTYPE_L4_UDP | RTE_PTYPE_TUNNEL_VXLAN |
657 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4,
658 [TXGBE_PT_VXLAN_IPV4_SCTP] = RTE_PTYPE_L2_ETHER |
659 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
660 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
661 RTE_PTYPE_INNER_L3_IPV4 | RTE_PTYPE_INNER_L4_SCTP,
662 [TXGBE_PT_VXLAN_IPV4_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
663 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
664 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
665 RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_SCTP,
666 [TXGBE_PT_VXLAN_IPV4_EXT_TCP] = RTE_PTYPE_L2_ETHER |
667 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
668 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
669 RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_TCP,
670 [TXGBE_PT_VXLAN_IPV4_EXT_UDP] = RTE_PTYPE_L2_ETHER |
671 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
672 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
673 RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_UDP,