1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2014-2021 Broadcom
6 #include "ulp_template_db_enum.h"
7 #include "ulp_template_struct.h"
8 #include "ulp_rte_parser.h"
11 * This structure has to be indexed based on the rte_flow_action_type that is
12 * part of DPDK. The below array is list of parsing functions for each of the
13 * flow actions that are supported.
15 struct bnxt_ulp_rte_act_info ulp_act_info[] = {
16 [RTE_FLOW_ACTION_TYPE_END] = {
17 .act_type = BNXT_ULP_ACT_TYPE_END,
18 .proto_act_func = NULL
20 [RTE_FLOW_ACTION_TYPE_VOID] = {
21 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
22 .proto_act_func = ulp_rte_void_act_handler
24 [RTE_FLOW_ACTION_TYPE_PASSTHRU] = {
25 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
26 .proto_act_func = NULL
28 [RTE_FLOW_ACTION_TYPE_JUMP] = {
29 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
30 .proto_act_func = ulp_rte_jump_act_handler
32 [RTE_FLOW_ACTION_TYPE_MARK] = {
33 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
34 .proto_act_func = ulp_rte_mark_act_handler
36 [RTE_FLOW_ACTION_TYPE_FLAG] = {
37 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
38 .proto_act_func = NULL
40 [RTE_FLOW_ACTION_TYPE_QUEUE] = {
41 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
42 .proto_act_func = NULL
44 [RTE_FLOW_ACTION_TYPE_DROP] = {
45 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
46 .proto_act_func = ulp_rte_drop_act_handler
48 [RTE_FLOW_ACTION_TYPE_COUNT] = {
49 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
50 .proto_act_func = ulp_rte_count_act_handler
52 [RTE_FLOW_ACTION_TYPE_RSS] = {
53 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
54 .proto_act_func = ulp_rte_rss_act_handler
56 [RTE_FLOW_ACTION_TYPE_PF] = {
57 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
58 .proto_act_func = ulp_rte_pf_act_handler
60 [RTE_FLOW_ACTION_TYPE_VF] = {
61 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
62 .proto_act_func = ulp_rte_vf_act_handler
64 [RTE_FLOW_ACTION_TYPE_PHY_PORT] = {
65 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
66 .proto_act_func = ulp_rte_phy_port_act_handler
68 [RTE_FLOW_ACTION_TYPE_PORT_ID] = {
69 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
70 .proto_act_func = ulp_rte_port_act_handler
72 [RTE_FLOW_ACTION_TYPE_METER] = {
73 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
74 .proto_act_func = NULL
76 [RTE_FLOW_ACTION_TYPE_SECURITY] = {
77 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
78 .proto_act_func = NULL
80 [RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL] = {
81 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
82 .proto_act_func = NULL
84 [RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL] = {
85 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
86 .proto_act_func = NULL
88 [RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL] = {
89 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
90 .proto_act_func = NULL
92 [RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL] = {
93 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
94 .proto_act_func = NULL
96 [RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT] = {
97 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
98 .proto_act_func = NULL
100 [RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN] = {
101 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
102 .proto_act_func = NULL
104 [RTE_FLOW_ACTION_TYPE_OF_POP_VLAN] = {
105 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
106 .proto_act_func = ulp_rte_of_pop_vlan_act_handler
108 [RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN] = {
109 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
110 .proto_act_func = ulp_rte_of_push_vlan_act_handler
112 [RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID] = {
113 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
114 .proto_act_func = ulp_rte_of_set_vlan_vid_act_handler
116 [RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP] = {
117 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
118 .proto_act_func = ulp_rte_of_set_vlan_pcp_act_handler
120 [RTE_FLOW_ACTION_TYPE_OF_POP_MPLS] = {
121 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
122 .proto_act_func = NULL
124 [RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS] = {
125 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
126 .proto_act_func = NULL
128 [RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP] = {
129 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
130 .proto_act_func = ulp_rte_vxlan_encap_act_handler
132 [RTE_FLOW_ACTION_TYPE_VXLAN_DECAP] = {
133 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
134 .proto_act_func = ulp_rte_vxlan_decap_act_handler
136 [RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP] = {
137 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
138 .proto_act_func = NULL
140 [RTE_FLOW_ACTION_TYPE_NVGRE_DECAP] = {
141 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
142 .proto_act_func = NULL
144 [RTE_FLOW_ACTION_TYPE_RAW_ENCAP] = {
145 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
146 .proto_act_func = NULL
148 [RTE_FLOW_ACTION_TYPE_RAW_DECAP] = {
149 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
150 .proto_act_func = NULL
152 [RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC] = {
153 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
154 .proto_act_func = ulp_rte_set_ipv4_src_act_handler
156 [RTE_FLOW_ACTION_TYPE_SET_IPV4_DST] = {
157 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
158 .proto_act_func = ulp_rte_set_ipv4_dst_act_handler
160 [RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC] = {
161 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
162 .proto_act_func = NULL
164 [RTE_FLOW_ACTION_TYPE_SET_IPV6_DST] = {
165 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
166 .proto_act_func = NULL
168 [RTE_FLOW_ACTION_TYPE_SET_TP_SRC] = {
169 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
170 .proto_act_func = ulp_rte_set_tp_src_act_handler
172 [RTE_FLOW_ACTION_TYPE_SET_TP_DST] = {
173 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
174 .proto_act_func = ulp_rte_set_tp_dst_act_handler
176 [RTE_FLOW_ACTION_TYPE_MAC_SWAP] = {
177 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
178 .proto_act_func = NULL
180 [RTE_FLOW_ACTION_TYPE_DEC_TTL] = {
181 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
182 .proto_act_func = ulp_rte_dec_ttl_act_handler
184 [RTE_FLOW_ACTION_TYPE_SET_TTL] = {
185 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
186 .proto_act_func = NULL
188 [RTE_FLOW_ACTION_TYPE_SET_MAC_SRC] = {
189 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
190 .proto_act_func = NULL
192 [RTE_FLOW_ACTION_TYPE_SET_MAC_DST] = {
193 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
194 .proto_act_func = NULL
196 [RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ] = {
197 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
198 .proto_act_func = NULL
200 [RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ] = {
201 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
202 .proto_act_func = NULL
204 [RTE_FLOW_ACTION_TYPE_INC_TCP_ACK] = {
205 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
206 .proto_act_func = NULL
208 [RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK] = {
209 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
210 .proto_act_func = NULL
212 [RTE_FLOW_ACTION_TYPE_SAMPLE] = {
213 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
214 .proto_act_func = ulp_rte_sample_act_handler
216 [RTE_FLOW_ACTION_TYPE_PORT_REPRESENTOR] = {
217 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
218 .proto_act_func = ulp_rte_port_act_handler
220 [RTE_FLOW_ACTION_TYPE_REPRESENTED_PORT] = {
221 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
222 .proto_act_func = ulp_rte_port_act_handler
226 struct bnxt_ulp_rte_act_info ulp_vendor_act_info[] = {
227 [BNXT_RTE_FLOW_ACTION_TYPE_END - BNXT_RTE_FLOW_ACTION_TYPE_END] = {
228 .act_type = BNXT_ULP_ACT_TYPE_END,
229 .proto_act_func = NULL
231 [BNXT_RTE_FLOW_ACTION_TYPE_VXLAN_DECAP - BNXT_RTE_FLOW_ACTION_TYPE_END] = {
232 .act_type = BNXT_ULP_ACT_TYPE_SUPPORTED,
233 .proto_act_func = ulp_vendor_vxlan_decap_act_handler
235 [BNXT_RTE_FLOW_ACTION_TYPE_LAST - BNXT_RTE_FLOW_ACTION_TYPE_END] = {
236 .act_type = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
237 .proto_act_func = NULL
242 * This table has to be indexed based on the rte_flow_item_type that is part of
243 * DPDK. The below array is list of parsing functions for each of the flow items
244 * that are supported.
246 struct bnxt_ulp_rte_hdr_info ulp_hdr_info[] = {
247 [RTE_FLOW_ITEM_TYPE_END] = {
248 .hdr_type = BNXT_ULP_HDR_TYPE_END,
249 .proto_hdr_func = NULL
251 [RTE_FLOW_ITEM_TYPE_VOID] = {
252 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
253 .proto_hdr_func = ulp_rte_void_hdr_handler
255 [RTE_FLOW_ITEM_TYPE_INVERT] = {
256 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
257 .proto_hdr_func = NULL
259 [RTE_FLOW_ITEM_TYPE_ANY] = {
260 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
261 .proto_hdr_func = ulp_rte_item_any_handler
263 [RTE_FLOW_ITEM_TYPE_PF] = {
264 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
265 .proto_hdr_func = ulp_rte_pf_hdr_handler
267 [RTE_FLOW_ITEM_TYPE_VF] = {
268 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
269 .proto_hdr_func = ulp_rte_vf_hdr_handler
271 [RTE_FLOW_ITEM_TYPE_PHY_PORT] = {
272 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
273 .proto_hdr_func = ulp_rte_phy_port_hdr_handler
275 [RTE_FLOW_ITEM_TYPE_PORT_ID] = {
276 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
277 .proto_hdr_func = ulp_rte_port_hdr_handler
279 [RTE_FLOW_ITEM_TYPE_RAW] = {
280 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
281 .proto_hdr_func = NULL
283 [RTE_FLOW_ITEM_TYPE_ETH] = {
284 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
285 .proto_hdr_func = ulp_rte_eth_hdr_handler
287 [RTE_FLOW_ITEM_TYPE_VLAN] = {
288 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
289 .proto_hdr_func = ulp_rte_vlan_hdr_handler
291 [RTE_FLOW_ITEM_TYPE_IPV4] = {
292 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
293 .proto_hdr_func = ulp_rte_ipv4_hdr_handler
295 [RTE_FLOW_ITEM_TYPE_IPV6] = {
296 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
297 .proto_hdr_func = ulp_rte_ipv6_hdr_handler
299 [RTE_FLOW_ITEM_TYPE_ICMP] = {
300 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
301 .proto_hdr_func = ulp_rte_icmp_hdr_handler
303 [RTE_FLOW_ITEM_TYPE_UDP] = {
304 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
305 .proto_hdr_func = ulp_rte_udp_hdr_handler
307 [RTE_FLOW_ITEM_TYPE_TCP] = {
308 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
309 .proto_hdr_func = ulp_rte_tcp_hdr_handler
311 [RTE_FLOW_ITEM_TYPE_SCTP] = {
312 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
313 .proto_hdr_func = NULL
315 [RTE_FLOW_ITEM_TYPE_VXLAN] = {
316 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
317 .proto_hdr_func = ulp_rte_vxlan_hdr_handler
319 [RTE_FLOW_ITEM_TYPE_E_TAG] = {
320 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
321 .proto_hdr_func = NULL
323 [RTE_FLOW_ITEM_TYPE_NVGRE] = {
324 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
325 .proto_hdr_func = NULL
327 [RTE_FLOW_ITEM_TYPE_MPLS] = {
328 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
329 .proto_hdr_func = NULL
331 [RTE_FLOW_ITEM_TYPE_GRE] = {
332 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
333 .proto_hdr_func = ulp_rte_gre_hdr_handler
335 [RTE_FLOW_ITEM_TYPE_FUZZY] = {
336 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
337 .proto_hdr_func = NULL
339 [RTE_FLOW_ITEM_TYPE_GTP] = {
340 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
341 .proto_hdr_func = NULL
343 [RTE_FLOW_ITEM_TYPE_GTPC] = {
344 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
345 .proto_hdr_func = NULL
347 [RTE_FLOW_ITEM_TYPE_GTPU] = {
348 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
349 .proto_hdr_func = NULL
351 [RTE_FLOW_ITEM_TYPE_ESP] = {
352 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
353 .proto_hdr_func = NULL
355 [RTE_FLOW_ITEM_TYPE_GENEVE] = {
356 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
357 .proto_hdr_func = NULL
359 [RTE_FLOW_ITEM_TYPE_VXLAN_GPE] = {
360 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
361 .proto_hdr_func = NULL
363 [RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4] = {
364 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
365 .proto_hdr_func = NULL
367 [RTE_FLOW_ITEM_TYPE_IPV6_EXT] = {
368 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
369 .proto_hdr_func = NULL
371 [RTE_FLOW_ITEM_TYPE_ICMP6] = {
372 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
373 .proto_hdr_func = ulp_rte_icmp6_hdr_handler
375 [RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS] = {
376 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
377 .proto_hdr_func = NULL
379 [RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA] = {
380 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
381 .proto_hdr_func = NULL
383 [RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT] = {
384 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
385 .proto_hdr_func = NULL
387 [RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH] = {
388 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
389 .proto_hdr_func = NULL
391 [RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH] = {
392 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
393 .proto_hdr_func = NULL
395 [RTE_FLOW_ITEM_TYPE_MARK] = {
396 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
397 .proto_hdr_func = NULL
399 [RTE_FLOW_ITEM_TYPE_META] = {
400 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
401 .proto_hdr_func = NULL
403 [RTE_FLOW_ITEM_TYPE_GRE_KEY] = {
404 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
405 .proto_hdr_func = NULL
407 [RTE_FLOW_ITEM_TYPE_GTP_PSC] = {
408 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
409 .proto_hdr_func = NULL
411 [RTE_FLOW_ITEM_TYPE_PPPOES] = {
412 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
413 .proto_hdr_func = NULL
415 [RTE_FLOW_ITEM_TYPE_PPPOED] = {
416 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
417 .proto_hdr_func = NULL
419 [RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID] = {
420 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
421 .proto_hdr_func = NULL
423 [RTE_FLOW_ITEM_TYPE_NSH] = {
424 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
425 .proto_hdr_func = NULL
427 [RTE_FLOW_ITEM_TYPE_IGMP] = {
428 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
429 .proto_hdr_func = NULL
431 [RTE_FLOW_ITEM_TYPE_AH] = {
432 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
433 .proto_hdr_func = NULL
435 [RTE_FLOW_ITEM_TYPE_HIGIG2] = {
436 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
437 .proto_hdr_func = NULL
439 [RTE_FLOW_ITEM_TYPE_PORT_REPRESENTOR] = {
440 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
441 .proto_hdr_func = ulp_rte_port_hdr_handler
443 [RTE_FLOW_ITEM_TYPE_REPRESENTED_PORT] = {
444 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
445 .proto_hdr_func = ulp_rte_port_hdr_handler
449 struct bnxt_ulp_rte_hdr_info ulp_vendor_hdr_info[] = {
450 [BNXT_RTE_FLOW_ITEM_TYPE_END - BNXT_RTE_FLOW_ITEM_TYPE_END] = {
451 .hdr_type = BNXT_ULP_HDR_TYPE_END,
452 .proto_hdr_func = NULL
454 [BNXT_RTE_FLOW_ITEM_TYPE_VXLAN_DECAP - BNXT_RTE_FLOW_ITEM_TYPE_END] = {
455 .hdr_type = BNXT_ULP_HDR_TYPE_SUPPORTED,
456 .proto_hdr_func = ulp_rte_vendor_vxlan_decap_hdr_handler
458 [BNXT_RTE_FLOW_ITEM_TYPE_LAST - BNXT_RTE_FLOW_ITEM_TYPE_END] = {
459 .hdr_type = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
460 .proto_hdr_func = NULL