1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2015-2020
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(0x11, ETHER, NONE, NONE, NONE, NONE, NONE, NONE),
54 TPTE(0x12, ETHER_TIMESYNC, NONE, NONE, NONE, NONE, NONE, NONE),
55 TPTE(0x13, ETHER_FIP, NONE, NONE, NONE, NONE, NONE, NONE),
56 TPTE(0x14, ETHER_LLDP, NONE, NONE, NONE, NONE, NONE, NONE),
57 TPTE(0x15, ETHER_CNM, NONE, NONE, NONE, NONE, NONE, NONE),
58 TPTE(0x16, ETHER_EAPOL, NONE, NONE, NONE, NONE, NONE, NONE),
59 TPTE(0x17, ETHER_ARP, NONE, NONE, NONE, NONE, NONE, NONE),
60 /* L2: Ethertype Filter */
61 TPTE(0x18, ETHER_FILTER, NONE, NONE, NONE, NONE, NONE, NONE),
62 TPTE(0x19, ETHER_FILTER, NONE, NONE, NONE, NONE, NONE, NONE),
63 TPTE(0x1A, ETHER_FILTER, NONE, NONE, NONE, NONE, NONE, NONE),
64 TPTE(0x1B, ETHER_FILTER, NONE, NONE, NONE, NONE, NONE, NONE),
65 TPTE(0x1C, ETHER_FILTER, NONE, NONE, NONE, NONE, NONE, NONE),
66 TPTE(0x1D, ETHER_FILTER, NONE, NONE, NONE, NONE, NONE, NONE),
67 TPTE(0x1E, ETHER_FILTER, NONE, NONE, NONE, NONE, NONE, NONE),
68 TPTE(0x1F, ETHER_FILTER, NONE, NONE, NONE, NONE, NONE, NONE),
70 TPTE(0x21, ETHER, IPV4, FRAG, NONE, NONE, NONE, NONE),
71 TPTE(0x22, ETHER, IPV4, NONFRAG, NONE, NONE, NONE, NONE),
72 TPTE(0x23, ETHER, IPV4, UDP, NONE, NONE, NONE, NONE),
73 TPTE(0x24, ETHER, IPV4, TCP, NONE, NONE, NONE, NONE),
74 TPTE(0x25, ETHER, IPV4, SCTP, NONE, NONE, NONE, NONE),
75 TPTE(0x29, ETHER, IPV6, FRAG, NONE, NONE, NONE, NONE),
76 TPTE(0x2A, ETHER, IPV6, NONFRAG, NONE, NONE, NONE, NONE),
77 TPTE(0x2B, ETHER, IPV6, UDP, NONE, NONE, NONE, NONE),
78 TPTE(0x2C, ETHER, IPV6, TCP, NONE, NONE, NONE, NONE),
79 TPTE(0x2D, ETHER, IPV6, SCTP, NONE, NONE, NONE, NONE),
81 TPTE(0x30, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
82 TPTE(0x31, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
83 TPTE(0x32, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
84 TPTE(0x33, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
85 TPTE(0x34, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
86 TPTE(0x35, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
87 TPTE(0x36, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
88 TPTE(0x37, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
89 TPTE(0x38, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
90 TPTE(0x39, ETHER_FCOE, NONE, NONE, NONE, NONE, NONE, NONE),
91 /* IPv4 -> IPv4/IPv6 */
92 TPTE(0x81, ETHER, IPV4, NONE, IP, NONE, IPV4, FRAG),
93 TPTE(0x82, ETHER, IPV4, NONE, IP, NONE, IPV4, NONFRAG),
94 TPTE(0x83, ETHER, IPV4, NONE, IP, NONE, IPV4, UDP),
95 TPTE(0x84, ETHER, IPV4, NONE, IP, NONE, IPV4, TCP),
96 TPTE(0x85, ETHER, IPV4, NONE, IP, NONE, IPV4, SCTP),
97 TPTE(0x89, ETHER, IPV4, NONE, IP, NONE, IPV6, FRAG),
98 TPTE(0x8A, ETHER, IPV4, NONE, IP, NONE, IPV6, NONFRAG),
99 TPTE(0x8B, ETHER, IPV4, NONE, IP, NONE, IPV6, UDP),
100 TPTE(0x8C, ETHER, IPV4, NONE, IP, NONE, IPV6, TCP),
101 TPTE(0x8D, ETHER, IPV4, NONE, IP, NONE, IPV6, SCTP),
102 /* IPv4 -> GRE/Teredo/VXLAN -> NONE/IPv4/IPv6 */
103 TPTE(0x90, ETHER, IPV4, NONE, GRENAT, NONE, NONE, NONE),
104 TPTE(0x91, ETHER, IPV4, NONE, GRENAT, NONE, IPV4, FRAG),
105 TPTE(0x92, ETHER, IPV4, NONE, GRENAT, NONE, IPV4, NONFRAG),
106 TPTE(0x93, ETHER, IPV4, NONE, GRENAT, NONE, IPV4, UDP),
107 TPTE(0x94, ETHER, IPV4, NONE, GRENAT, NONE, IPV4, TCP),
108 TPTE(0x95, ETHER, IPV4, NONE, GRENAT, NONE, IPV4, SCTP),
109 TPTE(0x99, ETHER, IPV4, NONE, GRENAT, NONE, IPV6, FRAG),
110 TPTE(0x9A, ETHER, IPV4, NONE, GRENAT, NONE, IPV6, NONFRAG),
111 TPTE(0x9B, ETHER, IPV4, NONE, GRENAT, NONE, IPV6, UDP),
112 TPTE(0x9C, ETHER, IPV4, NONE, GRENAT, NONE, IPV6, TCP),
113 TPTE(0x9D, ETHER, IPV4, NONE, GRENAT, NONE, IPV6, SCTP),
114 /* IPv4 -> GRE/Teredo/VXLAN -> MAC -> NONE/IPv4/IPv6 */
115 TPTE(0xA0, ETHER, IPV4, NONE, GRENAT, ETHER, NONE, NONE),
116 TPTE(0xA1, ETHER, IPV4, NONE, GRENAT, ETHER, IPV4, FRAG),
117 TPTE(0xA2, ETHER, IPV4, NONE, GRENAT, ETHER, IPV4, NONFRAG),
118 TPTE(0xA3, ETHER, IPV4, NONE, GRENAT, ETHER, IPV4, UDP),
119 TPTE(0xA4, ETHER, IPV4, NONE, GRENAT, ETHER, IPV4, TCP),
120 TPTE(0xA5, ETHER, IPV4, NONE, GRENAT, ETHER, IPV4, SCTP),
121 TPTE(0xA9, ETHER, IPV4, NONE, GRENAT, ETHER, IPV6, FRAG),
122 TPTE(0xAA, ETHER, IPV4, NONE, GRENAT, ETHER, IPV6, NONFRAG),
123 TPTE(0xAB, ETHER, IPV4, NONE, GRENAT, ETHER, IPV6, UDP),
124 TPTE(0xAC, ETHER, IPV4, NONE, GRENAT, ETHER, IPV6, TCP),
125 TPTE(0xAD, ETHER, IPV4, NONE, GRENAT, ETHER, IPV6, SCTP),
126 /* IPv4 -> GRE/Teredo/VXLAN -> MAC+VLAN -> NONE/IPv4/IPv6 */
127 TPTE(0xB0, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, NONE, NONE),
128 TPTE(0xB1, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV4, FRAG),
129 TPTE(0xB2, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV4, NONFRAG),
130 TPTE(0xB3, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV4, UDP),
131 TPTE(0xB4, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV4, TCP),
132 TPTE(0xB5, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV4, SCTP),
133 TPTE(0xB9, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV6, FRAG),
134 TPTE(0xBA, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV6, NONFRAG),
135 TPTE(0xBB, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV6, UDP),
136 TPTE(0xBC, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV6, TCP),
137 TPTE(0xBD, ETHER, IPV4, NONE, GRENAT, ETHER_VLAN, IPV6, SCTP),
138 /* IPv6 -> IPv4/IPv6 */
139 TPTE(0xC1, ETHER, IPV6, NONE, IP, NONE, IPV4, FRAG),
140 TPTE(0xC2, ETHER, IPV6, NONE, IP, NONE, IPV4, NONFRAG),
141 TPTE(0xC3, ETHER, IPV6, NONE, IP, NONE, IPV4, UDP),
142 TPTE(0xC4, ETHER, IPV6, NONE, IP, NONE, IPV4, TCP),
143 TPTE(0xC5, ETHER, IPV6, NONE, IP, NONE, IPV4, SCTP),
144 TPTE(0xC9, ETHER, IPV6, NONE, IP, NONE, IPV6, FRAG),
145 TPTE(0xCA, ETHER, IPV6, NONE, IP, NONE, IPV6, NONFRAG),
146 TPTE(0xCB, ETHER, IPV6, NONE, IP, NONE, IPV6, UDP),
147 TPTE(0xCC, ETHER, IPV6, NONE, IP, NONE, IPV6, TCP),
148 TPTE(0xCD, ETHER, IPV6, NONE, IP, NONE, IPV6, SCTP),
149 /* IPv6 -> GRE/Teredo/VXLAN -> NONE/IPv4/IPv6 */
150 TPTE(0xD0, ETHER, IPV6, NONE, GRENAT, NONE, NONE, NONE),
151 TPTE(0xD1, ETHER, IPV6, NONE, GRENAT, NONE, IPV4, FRAG),
152 TPTE(0xD2, ETHER, IPV6, NONE, GRENAT, NONE, IPV4, NONFRAG),
153 TPTE(0xD3, ETHER, IPV6, NONE, GRENAT, NONE, IPV4, UDP),
154 TPTE(0xD4, ETHER, IPV6, NONE, GRENAT, NONE, IPV4, TCP),
155 TPTE(0xD5, ETHER, IPV6, NONE, GRENAT, NONE, IPV4, SCTP),
156 TPTE(0xD9, ETHER, IPV6, NONE, GRENAT, NONE, IPV6, FRAG),
157 TPTE(0xDA, ETHER, IPV6, NONE, GRENAT, NONE, IPV6, NONFRAG),
158 TPTE(0xDB, ETHER, IPV6, NONE, GRENAT, NONE, IPV6, UDP),
159 TPTE(0xDC, ETHER, IPV6, NONE, GRENAT, NONE, IPV6, TCP),
160 TPTE(0xDD, ETHER, IPV6, NONE, GRENAT, NONE, IPV6, SCTP),
161 /* IPv6 -> GRE/Teredo/VXLAN -> MAC -> NONE/IPv4/IPv6 */
162 TPTE(0xE0, ETHER, IPV6, NONE, GRENAT, ETHER, NONE, NONE),
163 TPTE(0xE1, ETHER, IPV6, NONE, GRENAT, ETHER, IPV4, FRAG),
164 TPTE(0xE2, ETHER, IPV6, NONE, GRENAT, ETHER, IPV4, NONFRAG),
165 TPTE(0xE3, ETHER, IPV6, NONE, GRENAT, ETHER, IPV4, UDP),
166 TPTE(0xE4, ETHER, IPV6, NONE, GRENAT, ETHER, IPV4, TCP),
167 TPTE(0xE5, ETHER, IPV6, NONE, GRENAT, ETHER, IPV4, SCTP),
168 TPTE(0xE9, ETHER, IPV6, NONE, GRENAT, ETHER, IPV6, FRAG),
169 TPTE(0xEA, ETHER, IPV6, NONE, GRENAT, ETHER, IPV6, NONFRAG),
170 TPTE(0xEB, ETHER, IPV6, NONE, GRENAT, ETHER, IPV6, UDP),
171 TPTE(0xEC, ETHER, IPV6, NONE, GRENAT, ETHER, IPV6, TCP),
172 TPTE(0xED, ETHER, IPV6, NONE, GRENAT, ETHER, IPV6, SCTP),
173 /* IPv6 -> GRE/Teredo/VXLAN -> MAC+VLAN -> NONE/IPv4/IPv6 */
174 TPTE(0xF0, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, NONE, NONE),
175 TPTE(0xF1, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV4, FRAG),
176 TPTE(0xF2, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV4, NONFRAG),
177 TPTE(0xF3, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV4, UDP),
178 TPTE(0xF4, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV4, TCP),
179 TPTE(0xF5, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV4, SCTP),
180 TPTE(0xF9, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV6, FRAG),
181 TPTE(0xFA, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV6, NONFRAG),
182 TPTE(0xFB, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV6, UDP),
183 TPTE(0xFC, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV6, TCP),
184 TPTE(0xFD, ETHER, IPV6, NONE, GRENAT, ETHER_VLAN, IPV6, SCTP),
187 u32 *txgbe_get_supported_ptypes(void)
189 static u32 ptypes[] = {
190 /* For non-vec functions,
191 * refers to txgbe_rxd_pkt_info_to_pkt_type();
195 RTE_PTYPE_L3_IPV4_EXT,
197 RTE_PTYPE_L3_IPV6_EXT,
202 RTE_PTYPE_INNER_L3_IPV6,
203 RTE_PTYPE_INNER_L3_IPV6_EXT,
204 RTE_PTYPE_INNER_L4_TCP,
205 RTE_PTYPE_INNER_L4_UDP,
213 txgbe_encode_ptype_fcoe(u32 ptype)
217 UNREFERENCED_PARAMETER(ptype);
218 ptid = TXGBE_PTID_PKT_FCOE;
224 txgbe_encode_ptype_mac(u32 ptype)
228 ptid = TXGBE_PTID_PKT_MAC;
230 switch (ptype & RTE_PTYPE_L2_MASK) {
231 case RTE_PTYPE_L2_ETHER_FCOE:
232 ptid = txgbe_encode_ptype_fcoe(ptype);
234 case RTE_PTYPE_UNKNOWN:
236 case RTE_PTYPE_L2_ETHER_TIMESYNC:
237 ptid |= TXGBE_PTID_TYP_TS;
239 case RTE_PTYPE_L2_ETHER_ARP:
240 ptid |= TXGBE_PTID_TYP_ARP;
242 case RTE_PTYPE_L2_ETHER_LLDP:
243 ptid |= TXGBE_PTID_TYP_LLDP;
246 ptid |= TXGBE_PTID_TYP_MAC;
254 txgbe_encode_ptype_ip(u32 ptype)
258 ptid = TXGBE_PTID_PKT_IP;
260 switch (ptype & RTE_PTYPE_L3_MASK) {
261 case RTE_PTYPE_L3_IPV4:
262 case RTE_PTYPE_L3_IPV4_EXT:
263 case RTE_PTYPE_L3_IPV4_EXT_UNKNOWN:
265 case RTE_PTYPE_L3_IPV6:
266 case RTE_PTYPE_L3_IPV6_EXT:
267 case RTE_PTYPE_L3_IPV6_EXT_UNKNOWN:
268 ptid |= TXGBE_PTID_PKT_IPV6;
271 return txgbe_encode_ptype_mac(ptype);
274 switch (ptype & RTE_PTYPE_L4_MASK) {
275 case RTE_PTYPE_L4_TCP:
276 ptid |= TXGBE_PTID_TYP_TCP;
278 case RTE_PTYPE_L4_UDP:
279 ptid |= TXGBE_PTID_TYP_UDP;
281 case RTE_PTYPE_L4_SCTP:
282 ptid |= TXGBE_PTID_TYP_SCTP;
284 case RTE_PTYPE_L4_FRAG:
285 ptid |= TXGBE_PTID_TYP_IPFRAG;
288 ptid |= TXGBE_PTID_TYP_IPDATA;
296 txgbe_encode_ptype_tunnel(u32 ptype)
300 ptid = TXGBE_PTID_PKT_TUN;
302 switch (ptype & RTE_PTYPE_L3_MASK) {
303 case RTE_PTYPE_L3_IPV4:
304 case RTE_PTYPE_L3_IPV4_EXT:
305 case RTE_PTYPE_L3_IPV4_EXT_UNKNOWN:
307 case RTE_PTYPE_L3_IPV6:
308 case RTE_PTYPE_L3_IPV6_EXT:
309 case RTE_PTYPE_L3_IPV6_EXT_UNKNOWN:
310 ptid |= TXGBE_PTID_TUN_IPV6;
313 return txgbe_encode_ptype_ip(ptype);
316 switch (ptype & RTE_PTYPE_TUNNEL_MASK) {
317 case RTE_PTYPE_TUNNEL_IP:
318 ptid |= TXGBE_PTID_TUN_EI;
320 case RTE_PTYPE_TUNNEL_GRE:
321 ptid |= TXGBE_PTID_TUN_EIG;
323 case RTE_PTYPE_TUNNEL_VXLAN:
324 case RTE_PTYPE_TUNNEL_VXLAN_GPE:
325 case RTE_PTYPE_TUNNEL_NVGRE:
326 case RTE_PTYPE_TUNNEL_GENEVE:
327 case RTE_PTYPE_TUNNEL_GRENAT:
333 switch (ptype & RTE_PTYPE_INNER_L2_MASK) {
334 case RTE_PTYPE_INNER_L2_ETHER:
335 ptid |= TXGBE_PTID_TUN_EIGM;
337 case RTE_PTYPE_INNER_L2_ETHER_VLAN:
338 ptid |= TXGBE_PTID_TUN_EIGMV;
340 case RTE_PTYPE_INNER_L2_ETHER_QINQ:
341 ptid |= TXGBE_PTID_TUN_EIGMV;
347 switch (ptype & RTE_PTYPE_INNER_L3_MASK) {
348 case RTE_PTYPE_INNER_L3_IPV4:
349 case RTE_PTYPE_INNER_L3_IPV4_EXT:
350 case RTE_PTYPE_INNER_L3_IPV4_EXT_UNKNOWN:
352 case RTE_PTYPE_INNER_L3_IPV6:
353 case RTE_PTYPE_INNER_L3_IPV6_EXT:
354 case RTE_PTYPE_INNER_L3_IPV6_EXT_UNKNOWN:
355 ptid |= TXGBE_PTID_PKT_IPV6;
361 switch (ptype & RTE_PTYPE_INNER_L4_MASK) {
362 case RTE_PTYPE_INNER_L4_TCP:
363 ptid |= TXGBE_PTID_TYP_TCP;
365 case RTE_PTYPE_INNER_L4_UDP:
366 ptid |= TXGBE_PTID_TYP_UDP;
368 case RTE_PTYPE_INNER_L4_SCTP:
369 ptid |= TXGBE_PTID_TYP_SCTP;
371 case RTE_PTYPE_INNER_L4_FRAG:
372 ptid |= TXGBE_PTID_TYP_IPFRAG;
375 ptid |= TXGBE_PTID_TYP_IPDATA;
382 u32 txgbe_decode_ptype(u8 ptid)
384 if (-1 != txgbe_etflt_id(ptid))
385 return RTE_PTYPE_UNKNOWN;
387 return txgbe_ptype_lookup[ptid];
390 u8 txgbe_encode_ptype(u32 ptype)
394 if (ptype & RTE_PTYPE_TUNNEL_MASK)
395 ptid = txgbe_encode_ptype_tunnel(ptype);
396 else if (ptype & RTE_PTYPE_L3_MASK)
397 ptid = txgbe_encode_ptype_ip(ptype);
398 else if (ptype & RTE_PTYPE_L2_MASK)
399 ptid = txgbe_encode_ptype_mac(ptype);
401 ptid = TXGBE_PTID_NULL;
407 * Use 2 different table for normal packet and tunnel packet
411 txgbe_ptype_table[TXGBE_PTID_MAX] __rte_cache_aligned = {
412 [TXGBE_PT_ETHER] = RTE_PTYPE_L2_ETHER,
413 [TXGBE_PT_IPV4] = RTE_PTYPE_L2_ETHER |
415 [TXGBE_PT_IPV4_TCP] = RTE_PTYPE_L2_ETHER |
416 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_TCP,
417 [TXGBE_PT_IPV4_UDP] = RTE_PTYPE_L2_ETHER |
418 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_UDP,
419 [TXGBE_PT_IPV4_SCTP] = RTE_PTYPE_L2_ETHER |
420 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_L4_SCTP,
421 [TXGBE_PT_IPV4_EXT] = RTE_PTYPE_L2_ETHER |
422 RTE_PTYPE_L3_IPV4_EXT,
423 [TXGBE_PT_IPV4_EXT_TCP] = RTE_PTYPE_L2_ETHER |
424 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_TCP,
425 [TXGBE_PT_IPV4_EXT_UDP] = RTE_PTYPE_L2_ETHER |
426 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_UDP,
427 [TXGBE_PT_IPV4_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
428 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_L4_SCTP,
429 [TXGBE_PT_IPV6] = RTE_PTYPE_L2_ETHER |
431 [TXGBE_PT_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
432 RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_TCP,
433 [TXGBE_PT_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
434 RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_UDP,
435 [TXGBE_PT_IPV6_SCTP] = RTE_PTYPE_L2_ETHER |
436 RTE_PTYPE_L3_IPV6 | RTE_PTYPE_L4_SCTP,
437 [TXGBE_PT_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
438 RTE_PTYPE_L3_IPV6_EXT,
439 [TXGBE_PT_IPV6_EXT_TCP] = RTE_PTYPE_L2_ETHER |
440 RTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_TCP,
441 [TXGBE_PT_IPV6_EXT_UDP] = RTE_PTYPE_L2_ETHER |
442 RTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_UDP,
443 [TXGBE_PT_IPV6_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
444 RTE_PTYPE_L3_IPV6_EXT | RTE_PTYPE_L4_SCTP,
445 [TXGBE_PT_IPV4_IPV6] = RTE_PTYPE_L2_ETHER |
446 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
447 RTE_PTYPE_INNER_L3_IPV6,
448 [TXGBE_PT_IPV4_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
449 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
450 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_TCP,
451 [TXGBE_PT_IPV4_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
452 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
453 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_UDP,
454 [TXGBE_PT_IPV4_IPV6_SCTP] = RTE_PTYPE_L2_ETHER |
455 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
456 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_SCTP,
457 [TXGBE_PT_IPV4_EXT_IPV6] = RTE_PTYPE_L2_ETHER |
458 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
459 RTE_PTYPE_INNER_L3_IPV6,
460 [TXGBE_PT_IPV4_EXT_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
461 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
462 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_TCP,
463 [TXGBE_PT_IPV4_EXT_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
464 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
465 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_UDP,
466 [TXGBE_PT_IPV4_EXT_IPV6_SCTP] = RTE_PTYPE_L2_ETHER |
467 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
468 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_SCTP,
469 [TXGBE_PT_IPV4_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
470 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
471 RTE_PTYPE_INNER_L3_IPV6_EXT,
472 [TXGBE_PT_IPV4_IPV6_EXT_TCP] = RTE_PTYPE_L2_ETHER |
473 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
474 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_TCP,
475 [TXGBE_PT_IPV4_IPV6_EXT_UDP] = RTE_PTYPE_L2_ETHER |
476 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
477 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_UDP,
478 [TXGBE_PT_IPV4_IPV6_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
479 RTE_PTYPE_L3_IPV4 | RTE_PTYPE_TUNNEL_IP |
480 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_SCTP,
481 [TXGBE_PT_IPV4_EXT_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
482 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
483 RTE_PTYPE_INNER_L3_IPV6_EXT,
484 [TXGBE_PT_IPV4_EXT_IPV6_EXT_TCP] = RTE_PTYPE_L2_ETHER |
485 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
486 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_TCP,
487 [TXGBE_PT_IPV4_EXT_IPV6_EXT_UDP] = RTE_PTYPE_L2_ETHER |
488 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
489 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_UDP,
490 [TXGBE_PT_IPV4_EXT_IPV6_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
491 RTE_PTYPE_L3_IPV4_EXT | RTE_PTYPE_TUNNEL_IP |
492 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_SCTP,
496 txgbe_ptype_table_tn[TXGBE_PTID_MAX] __rte_cache_aligned = {
497 [TXGBE_PT_NVGRE] = RTE_PTYPE_L2_ETHER |
498 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
499 RTE_PTYPE_INNER_L2_ETHER,
500 [TXGBE_PT_NVGRE_IPV4] = RTE_PTYPE_L2_ETHER |
501 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
502 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4,
503 [TXGBE_PT_NVGRE_IPV4_EXT] = RTE_PTYPE_L2_ETHER |
504 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
505 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4_EXT,
506 [TXGBE_PT_NVGRE_IPV6] = RTE_PTYPE_L2_ETHER |
507 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
508 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6,
509 [TXGBE_PT_NVGRE_IPV4_IPV6] = RTE_PTYPE_L2_ETHER |
510 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
511 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4,
512 [TXGBE_PT_NVGRE_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
513 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
514 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6_EXT,
515 [TXGBE_PT_NVGRE_IPV4_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
516 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
517 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4,
518 [TXGBE_PT_NVGRE_IPV4_TCP] = RTE_PTYPE_L2_ETHER |
519 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
520 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4 |
521 RTE_PTYPE_INNER_L4_TCP,
522 [TXGBE_PT_NVGRE_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
523 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
524 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6 |
525 RTE_PTYPE_INNER_L4_TCP,
526 [TXGBE_PT_NVGRE_IPV4_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
527 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
528 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4,
529 [TXGBE_PT_NVGRE_IPV6_EXT_TCP] = RTE_PTYPE_L2_ETHER |
530 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
531 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6_EXT |
532 RTE_PTYPE_INNER_L4_TCP,
533 [TXGBE_PT_NVGRE_IPV4_IPV6_EXT_TCP] =
534 RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
535 RTE_PTYPE_TUNNEL_GRE | RTE_PTYPE_INNER_L2_ETHER |
536 RTE_PTYPE_INNER_L3_IPV4,
537 [TXGBE_PT_NVGRE_IPV4_UDP] = RTE_PTYPE_L2_ETHER |
538 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
539 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4 |
540 RTE_PTYPE_INNER_L4_UDP,
541 [TXGBE_PT_NVGRE_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
542 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
543 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6 |
544 RTE_PTYPE_INNER_L4_UDP,
545 [TXGBE_PT_NVGRE_IPV6_SCTP] = RTE_PTYPE_L2_ETHER |
546 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
547 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6 |
548 RTE_PTYPE_INNER_L4_SCTP,
549 [TXGBE_PT_NVGRE_IPV4_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
550 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
551 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4,
552 [TXGBE_PT_NVGRE_IPV6_EXT_UDP] = RTE_PTYPE_L2_ETHER |
553 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
554 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6_EXT |
555 RTE_PTYPE_INNER_L4_UDP,
556 [TXGBE_PT_NVGRE_IPV6_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
557 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
558 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV6_EXT |
559 RTE_PTYPE_INNER_L4_SCTP,
560 [TXGBE_PT_NVGRE_IPV4_IPV6_EXT_UDP] =
561 RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
562 RTE_PTYPE_TUNNEL_GRE | RTE_PTYPE_INNER_L2_ETHER |
563 RTE_PTYPE_INNER_L3_IPV4,
564 [TXGBE_PT_NVGRE_IPV4_SCTP] = RTE_PTYPE_L2_ETHER |
565 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
566 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4 |
567 RTE_PTYPE_INNER_L4_SCTP,
568 [TXGBE_PT_NVGRE_IPV4_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
569 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
570 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4_EXT |
571 RTE_PTYPE_INNER_L4_SCTP,
572 [TXGBE_PT_NVGRE_IPV4_EXT_TCP] = RTE_PTYPE_L2_ETHER |
573 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
574 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4_EXT |
575 RTE_PTYPE_INNER_L4_TCP,
576 [TXGBE_PT_NVGRE_IPV4_EXT_UDP] = RTE_PTYPE_L2_ETHER |
577 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_TUNNEL_GRE |
578 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4_EXT |
579 RTE_PTYPE_INNER_L4_UDP,
581 [TXGBE_PT_VXLAN] = RTE_PTYPE_L2_ETHER |
582 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
583 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER,
584 [TXGBE_PT_VXLAN_IPV4] = RTE_PTYPE_L2_ETHER |
585 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
586 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
587 RTE_PTYPE_INNER_L3_IPV4,
588 [TXGBE_PT_VXLAN_IPV4_EXT] = RTE_PTYPE_L2_ETHER |
589 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
590 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
591 RTE_PTYPE_INNER_L3_IPV4_EXT,
592 [TXGBE_PT_VXLAN_IPV6] = RTE_PTYPE_L2_ETHER |
593 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
594 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
595 RTE_PTYPE_INNER_L3_IPV6,
596 [TXGBE_PT_VXLAN_IPV4_IPV6] = RTE_PTYPE_L2_ETHER |
597 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
598 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
599 RTE_PTYPE_INNER_L3_IPV4,
600 [TXGBE_PT_VXLAN_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
601 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
602 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
603 RTE_PTYPE_INNER_L3_IPV6_EXT,
604 [TXGBE_PT_VXLAN_IPV4_IPV6_EXT] = RTE_PTYPE_L2_ETHER |
605 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
606 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
607 RTE_PTYPE_INNER_L3_IPV4,
608 [TXGBE_PT_VXLAN_IPV4_TCP] = RTE_PTYPE_L2_ETHER |
609 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
610 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
611 RTE_PTYPE_INNER_L3_IPV4 | RTE_PTYPE_INNER_L4_TCP,
612 [TXGBE_PT_VXLAN_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
613 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
614 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
615 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_TCP,
616 [TXGBE_PT_VXLAN_IPV4_IPV6_TCP] = RTE_PTYPE_L2_ETHER |
617 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
618 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
619 RTE_PTYPE_INNER_L3_IPV4,
620 [TXGBE_PT_VXLAN_IPV6_EXT_TCP] = RTE_PTYPE_L2_ETHER |
621 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
622 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
623 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_TCP,
624 [TXGBE_PT_VXLAN_IPV4_IPV6_EXT_TCP] =
625 RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
626 RTE_PTYPE_L4_UDP | RTE_PTYPE_TUNNEL_VXLAN |
627 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4,
628 [TXGBE_PT_VXLAN_IPV4_UDP] = RTE_PTYPE_L2_ETHER |
629 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
630 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
631 RTE_PTYPE_INNER_L3_IPV4 | RTE_PTYPE_INNER_L4_UDP,
632 [TXGBE_PT_VXLAN_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
633 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
634 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
635 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_UDP,
636 [TXGBE_PT_VXLAN_IPV6_SCTP] = RTE_PTYPE_L2_ETHER |
637 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
638 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
639 RTE_PTYPE_INNER_L3_IPV6 | RTE_PTYPE_INNER_L4_SCTP,
640 [TXGBE_PT_VXLAN_IPV4_IPV6_UDP] = RTE_PTYPE_L2_ETHER |
641 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
642 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
643 RTE_PTYPE_INNER_L3_IPV4,
644 [TXGBE_PT_VXLAN_IPV6_EXT_UDP] = RTE_PTYPE_L2_ETHER |
645 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
646 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
647 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_UDP,
648 [TXGBE_PT_VXLAN_IPV6_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
649 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
650 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
651 RTE_PTYPE_INNER_L3_IPV6_EXT | RTE_PTYPE_INNER_L4_SCTP,
652 [TXGBE_PT_VXLAN_IPV4_IPV6_EXT_UDP] =
653 RTE_PTYPE_L2_ETHER | RTE_PTYPE_L3_IPV4_EXT_UNKNOWN |
654 RTE_PTYPE_L4_UDP | RTE_PTYPE_TUNNEL_VXLAN |
655 RTE_PTYPE_INNER_L2_ETHER | RTE_PTYPE_INNER_L3_IPV4,
656 [TXGBE_PT_VXLAN_IPV4_SCTP] = RTE_PTYPE_L2_ETHER |
657 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
658 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
659 RTE_PTYPE_INNER_L3_IPV4 | RTE_PTYPE_INNER_L4_SCTP,
660 [TXGBE_PT_VXLAN_IPV4_EXT_SCTP] = RTE_PTYPE_L2_ETHER |
661 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
662 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
663 RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_SCTP,
664 [TXGBE_PT_VXLAN_IPV4_EXT_TCP] = RTE_PTYPE_L2_ETHER |
665 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
666 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
667 RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_TCP,
668 [TXGBE_PT_VXLAN_IPV4_EXT_UDP] = RTE_PTYPE_L2_ETHER |
669 RTE_PTYPE_L3_IPV4_EXT_UNKNOWN | RTE_PTYPE_L4_UDP |
670 RTE_PTYPE_TUNNEL_VXLAN | RTE_PTYPE_INNER_L2_ETHER |
671 RTE_PTYPE_INNER_L3_IPV4_EXT | RTE_PTYPE_INNER_L4_UDP,