net/bnxt: support VXLAN encap/decap templates
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_template_db.c
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2014-2020 Broadcom
3  * All rights reserved.
4  */
5
6
7 #include "ulp_template_db.h"
8 #include "ulp_template_field_db.h"
9 #include "ulp_template_struct.h"
10 #include "ulp_rte_parser.h"
11
12 uint32_t ulp_act_prop_map_table[] = {
13         [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ] =
14                 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN_SZ,
15         [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ] =
16                 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SZ,
17         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ] =
18                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_SZ,
19         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE] =
20                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_TYPE,
21         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_NUM] =
22                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG_NUM,
23         [BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE] =
24                 BNXT_ULP_ACT_PROP_SZ_ENCAP_L3_TYPE,
25         [BNXT_ULP_ACT_PROP_IDX_MPLS_POP_NUM] =
26                 BNXT_ULP_ACT_PROP_SZ_MPLS_POP_NUM,
27         [BNXT_ULP_ACT_PROP_IDX_MPLS_PUSH_NUM] =
28                 BNXT_ULP_ACT_PROP_SZ_MPLS_PUSH_NUM,
29         [BNXT_ULP_ACT_PROP_IDX_PORT_ID] =
30                 BNXT_ULP_ACT_PROP_SZ_PORT_ID,
31         [BNXT_ULP_ACT_PROP_IDX_VNIC] =
32                 BNXT_ULP_ACT_PROP_SZ_VNIC,
33         [BNXT_ULP_ACT_PROP_IDX_VPORT] =
34                 BNXT_ULP_ACT_PROP_SZ_VPORT,
35         [BNXT_ULP_ACT_PROP_IDX_MARK] =
36                 BNXT_ULP_ACT_PROP_SZ_MARK,
37         [BNXT_ULP_ACT_PROP_IDX_COUNT] =
38                 BNXT_ULP_ACT_PROP_SZ_COUNT,
39         [BNXT_ULP_ACT_PROP_IDX_METER] =
40                 BNXT_ULP_ACT_PROP_SZ_METER,
41         [BNXT_ULP_ACT_PROP_IDX_SET_MAC_SRC] =
42                 BNXT_ULP_ACT_PROP_SZ_SET_MAC_SRC,
43         [BNXT_ULP_ACT_PROP_IDX_SET_MAC_DST] =
44                 BNXT_ULP_ACT_PROP_SZ_SET_MAC_DST,
45         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_VLAN] =
46                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_VLAN,
47         [BNXT_ULP_ACT_PROP_IDX_OF_SET_VLAN_PCP] =
48                 BNXT_ULP_ACT_PROP_SZ_OF_SET_VLAN_PCP,
49         [BNXT_ULP_ACT_PROP_IDX_OF_SET_VLAN_VID] =
50                 BNXT_ULP_ACT_PROP_SZ_OF_SET_VLAN_VID,
51         [BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC] =
52                 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_SRC,
53         [BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST] =
54                 BNXT_ULP_ACT_PROP_SZ_SET_IPV4_DST,
55         [BNXT_ULP_ACT_PROP_IDX_SET_IPV6_SRC] =
56                 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_SRC,
57         [BNXT_ULP_ACT_PROP_IDX_SET_IPV6_DST] =
58                 BNXT_ULP_ACT_PROP_SZ_SET_IPV6_DST,
59         [BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC] =
60                 BNXT_ULP_ACT_PROP_SZ_SET_TP_SRC,
61         [BNXT_ULP_ACT_PROP_IDX_SET_TP_DST] =
62                 BNXT_ULP_ACT_PROP_SZ_SET_TP_DST,
63         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_0] =
64                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_0,
65         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_1] =
66                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_1,
67         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_2] =
68                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_2,
69         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_3] =
70                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_3,
71         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_4] =
72                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_4,
73         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_5] =
74                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_5,
75         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_6] =
76                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_6,
77         [BNXT_ULP_ACT_PROP_IDX_OF_PUSH_MPLS_7] =
78                 BNXT_ULP_ACT_PROP_SZ_OF_PUSH_MPLS_7,
79         [BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC] =
80                 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_DMAC,
81         [BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC] =
82                 BNXT_ULP_ACT_PROP_SZ_ENCAP_L2_SMAC,
83         [BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG] =
84                 BNXT_ULP_ACT_PROP_SZ_ENCAP_VTAG,
85         [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP] =
86                 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP,
87         [BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC] =
88                 BNXT_ULP_ACT_PROP_SZ_ENCAP_IP_SRC,
89         [BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP] =
90                 BNXT_ULP_ACT_PROP_SZ_ENCAP_UDP,
91         [BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN] =
92                 BNXT_ULP_ACT_PROP_SZ_ENCAP_TUN,
93         [BNXT_ULP_ACT_PROP_IDX_LAST] =
94                 BNXT_ULP_ACT_PROP_SZ_LAST
95 };
96
97 struct bnxt_ulp_rte_act_info ulp_act_info[] = {
98         [RTE_FLOW_ACTION_TYPE_END] = {
99                 .act_type                = BNXT_ULP_ACT_TYPE_END,
100                 .proto_act_func          = NULL
101         },
102         [RTE_FLOW_ACTION_TYPE_VOID] = {
103                 .act_type                = BNXT_ULP_ACT_TYPE_SUPPORTED,
104                 .proto_act_func          = ulp_rte_void_act_handler
105         },
106         [RTE_FLOW_ACTION_TYPE_PASSTHRU] = {
107                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
108                 .proto_act_func          = NULL
109         },
110         [RTE_FLOW_ACTION_TYPE_JUMP] = {
111                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
112                 .proto_act_func          = NULL
113         },
114         [RTE_FLOW_ACTION_TYPE_MARK] = {
115                 .act_type                = BNXT_ULP_ACT_TYPE_SUPPORTED,
116                 .proto_act_func          = ulp_rte_mark_act_handler
117         },
118         [RTE_FLOW_ACTION_TYPE_FLAG] = {
119                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
120                 .proto_act_func          = NULL
121         },
122         [RTE_FLOW_ACTION_TYPE_QUEUE] = {
123                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
124                 .proto_act_func          = NULL
125         },
126         [RTE_FLOW_ACTION_TYPE_DROP] = {
127                 .act_type                = BNXT_ULP_ACT_TYPE_SUPPORTED,
128                 .proto_act_func          = ulp_rte_drop_act_handler
129         },
130         [RTE_FLOW_ACTION_TYPE_COUNT] = {
131                 .act_type                = BNXT_ULP_ACT_TYPE_SUPPORTED,
132                 .proto_act_func          = ulp_rte_count_act_handler
133         },
134         [RTE_FLOW_ACTION_TYPE_RSS] = {
135                 .act_type                = BNXT_ULP_ACT_TYPE_SUPPORTED,
136                 .proto_act_func          = ulp_rte_rss_act_handler
137         },
138         [RTE_FLOW_ACTION_TYPE_PF] = {
139                 .act_type                = BNXT_ULP_ACT_TYPE_SUPPORTED,
140                 .proto_act_func          = ulp_rte_pf_act_handler
141         },
142         [RTE_FLOW_ACTION_TYPE_VF] = {
143                 .act_type                = BNXT_ULP_ACT_TYPE_SUPPORTED,
144                 .proto_act_func          = ulp_rte_vf_act_handler
145         },
146         [RTE_FLOW_ACTION_TYPE_PHY_PORT] = {
147                 .act_type                = BNXT_ULP_ACT_TYPE_SUPPORTED,
148                 .proto_act_func          = ulp_rte_phy_port_act_handler
149         },
150         [RTE_FLOW_ACTION_TYPE_PORT_ID] = {
151                 .act_type                = BNXT_ULP_ACT_TYPE_SUPPORTED,
152                 .proto_act_func          = ulp_rte_port_id_act_handler
153         },
154         [RTE_FLOW_ACTION_TYPE_METER] = {
155                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
156                 .proto_act_func          = NULL
157         },
158         [RTE_FLOW_ACTION_TYPE_SECURITY] = {
159                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
160                 .proto_act_func          = NULL
161         },
162         [RTE_FLOW_ACTION_TYPE_OF_SET_MPLS_TTL] = {
163                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
164                 .proto_act_func          = NULL
165         },
166         [RTE_FLOW_ACTION_TYPE_OF_DEC_MPLS_TTL] = {
167                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
168                 .proto_act_func          = NULL
169         },
170         [RTE_FLOW_ACTION_TYPE_OF_SET_NW_TTL] = {
171                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
172                 .proto_act_func          = NULL
173         },
174         [RTE_FLOW_ACTION_TYPE_OF_DEC_NW_TTL] = {
175                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
176                 .proto_act_func          = NULL
177         },
178         [RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_OUT] = {
179                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
180                 .proto_act_func          = NULL
181         },
182         [RTE_FLOW_ACTION_TYPE_OF_COPY_TTL_IN] = {
183                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
184                 .proto_act_func          = NULL
185         },
186         [RTE_FLOW_ACTION_TYPE_OF_POP_VLAN] = {
187                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
188                 .proto_act_func          = NULL
189         },
190         [RTE_FLOW_ACTION_TYPE_OF_PUSH_VLAN] = {
191                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
192                 .proto_act_func          = NULL
193         },
194         [RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_VID] = {
195                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
196                 .proto_act_func          = NULL
197         },
198         [RTE_FLOW_ACTION_TYPE_OF_SET_VLAN_PCP] = {
199                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
200                 .proto_act_func          = NULL
201         },
202         [RTE_FLOW_ACTION_TYPE_OF_POP_MPLS] = {
203                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
204                 .proto_act_func          = NULL
205         },
206         [RTE_FLOW_ACTION_TYPE_OF_PUSH_MPLS] = {
207                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
208                 .proto_act_func          = NULL
209         },
210         [RTE_FLOW_ACTION_TYPE_VXLAN_ENCAP] = {
211                 .act_type                = BNXT_ULP_ACT_TYPE_SUPPORTED,
212                 .proto_act_func          = ulp_rte_vxlan_encap_act_handler
213         },
214         [RTE_FLOW_ACTION_TYPE_VXLAN_DECAP] = {
215                 .act_type                = BNXT_ULP_ACT_TYPE_SUPPORTED,
216                 .proto_act_func          = ulp_rte_vxlan_decap_act_handler
217         },
218         [RTE_FLOW_ACTION_TYPE_NVGRE_ENCAP] = {
219                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
220                 .proto_act_func          = NULL
221         },
222         [RTE_FLOW_ACTION_TYPE_NVGRE_DECAP] = {
223                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
224                 .proto_act_func          = NULL
225         },
226         [RTE_FLOW_ACTION_TYPE_RAW_ENCAP] = {
227                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
228                 .proto_act_func          = NULL
229         },
230         [RTE_FLOW_ACTION_TYPE_RAW_DECAP] = {
231                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
232                 .proto_act_func          = NULL
233         },
234         [RTE_FLOW_ACTION_TYPE_SET_IPV4_SRC] = {
235                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
236                 .proto_act_func          = NULL
237         },
238         [RTE_FLOW_ACTION_TYPE_SET_IPV4_DST] = {
239                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
240                 .proto_act_func          = NULL
241         },
242         [RTE_FLOW_ACTION_TYPE_SET_IPV6_SRC] = {
243                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
244                 .proto_act_func          = NULL
245         },
246         [RTE_FLOW_ACTION_TYPE_SET_IPV6_DST] = {
247                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
248                 .proto_act_func          = NULL
249         },
250         [RTE_FLOW_ACTION_TYPE_SET_TP_SRC] = {
251                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
252                 .proto_act_func          = NULL
253         },
254         [RTE_FLOW_ACTION_TYPE_SET_TP_DST] = {
255                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
256                 .proto_act_func          = NULL
257         },
258         [RTE_FLOW_ACTION_TYPE_MAC_SWAP] = {
259                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
260                 .proto_act_func          = NULL
261         },
262         [RTE_FLOW_ACTION_TYPE_DEC_TTL] = {
263                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
264                 .proto_act_func          = NULL
265         },
266         [RTE_FLOW_ACTION_TYPE_SET_TTL] = {
267                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
268                 .proto_act_func          = NULL
269         },
270         [RTE_FLOW_ACTION_TYPE_SET_MAC_SRC] = {
271                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
272                 .proto_act_func          = NULL
273         },
274         [RTE_FLOW_ACTION_TYPE_SET_MAC_DST] = {
275                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
276                 .proto_act_func          = NULL
277         },
278         [RTE_FLOW_ACTION_TYPE_INC_TCP_SEQ] = {
279                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
280                 .proto_act_func          = NULL
281         },
282         [RTE_FLOW_ACTION_TYPE_DEC_TCP_SEQ] = {
283                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
284                 .proto_act_func          = NULL
285         },
286         [RTE_FLOW_ACTION_TYPE_INC_TCP_ACK] = {
287                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
288                 .proto_act_func          = NULL
289         },
290         [RTE_FLOW_ACTION_TYPE_DEC_TCP_ACK] = {
291                 .act_type                = BNXT_ULP_ACT_TYPE_NOT_SUPPORTED,
292                 .proto_act_func          = NULL
293         }
294 };
295
296 struct bnxt_ulp_cache_tbl_params ulp_cache_tbl_params[] = {
297 };
298
299 struct bnxt_ulp_device_params ulp_device_params[BNXT_ULP_DEVICE_ID_LAST] = {
300         [BNXT_ULP_DEVICE_ID_WH_PLUS] = {
301                 .global_fid_enable       = BNXT_ULP_SYM_YES,
302                 .byte_order              = BNXT_ULP_BYTE_ORDER_LE,
303                 .encap_byte_swap         = 1,
304                 .lfid_entries            = 16384,
305                 .lfid_entry_size         = 4,
306                 .gfid_entries            = 65536,
307                 .gfid_entry_size         = 4,
308                 .num_flows               = 32768,
309                 .num_resources_per_flow  = 8
310         }
311 };
312
313 struct bnxt_ulp_glb_resource_info ulp_glb_resource_tbl[] = {
314         [0] = {
315         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
316         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
317         .glb_regfile_index       = BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID,
318         .direction               = TF_DIR_RX
319         },
320         [1] = {
321         .resource_func           = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
322         .resource_type           = TF_IDENT_TYPE_PROF_FUNC,
323         .glb_regfile_index       = BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID,
324         .direction               = TF_DIR_TX
325         }
326 };
327
328 struct bnxt_ulp_rte_hdr_info ulp_hdr_info[] = {
329         [RTE_FLOW_ITEM_TYPE_END] = {
330                 .hdr_type                = BNXT_ULP_HDR_TYPE_END,
331                 .proto_hdr_func          = NULL
332         },
333         [RTE_FLOW_ITEM_TYPE_VOID] = {
334                 .hdr_type                = BNXT_ULP_HDR_TYPE_SUPPORTED,
335                 .proto_hdr_func          = ulp_rte_void_hdr_handler
336         },
337         [RTE_FLOW_ITEM_TYPE_INVERT] = {
338                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
339                 .proto_hdr_func          = NULL
340         },
341         [RTE_FLOW_ITEM_TYPE_ANY] = {
342                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
343                 .proto_hdr_func          = NULL
344         },
345         [RTE_FLOW_ITEM_TYPE_PF] = {
346                 .hdr_type                = BNXT_ULP_HDR_TYPE_SUPPORTED,
347                 .proto_hdr_func          = ulp_rte_pf_hdr_handler
348         },
349         [RTE_FLOW_ITEM_TYPE_VF] = {
350                 .hdr_type                = BNXT_ULP_HDR_TYPE_SUPPORTED,
351                 .proto_hdr_func          = ulp_rte_vf_hdr_handler
352         },
353         [RTE_FLOW_ITEM_TYPE_PHY_PORT] = {
354                 .hdr_type                = BNXT_ULP_HDR_TYPE_SUPPORTED,
355                 .proto_hdr_func          = ulp_rte_phy_port_hdr_handler
356         },
357         [RTE_FLOW_ITEM_TYPE_PORT_ID] = {
358                 .hdr_type                = BNXT_ULP_HDR_TYPE_SUPPORTED,
359                 .proto_hdr_func          = ulp_rte_port_id_hdr_handler
360         },
361         [RTE_FLOW_ITEM_TYPE_RAW] = {
362                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
363                 .proto_hdr_func          = NULL
364         },
365         [RTE_FLOW_ITEM_TYPE_ETH] = {
366                 .hdr_type                = BNXT_ULP_HDR_TYPE_SUPPORTED,
367                 .proto_hdr_func          = ulp_rte_eth_hdr_handler
368         },
369         [RTE_FLOW_ITEM_TYPE_VLAN] = {
370                 .hdr_type                = BNXT_ULP_HDR_TYPE_SUPPORTED,
371                 .proto_hdr_func          = ulp_rte_vlan_hdr_handler
372         },
373         [RTE_FLOW_ITEM_TYPE_IPV4] = {
374                 .hdr_type                = BNXT_ULP_HDR_TYPE_SUPPORTED,
375                 .proto_hdr_func          = ulp_rte_ipv4_hdr_handler
376         },
377         [RTE_FLOW_ITEM_TYPE_IPV6] = {
378                 .hdr_type                = BNXT_ULP_HDR_TYPE_SUPPORTED,
379                 .proto_hdr_func          = ulp_rte_ipv6_hdr_handler
380         },
381         [RTE_FLOW_ITEM_TYPE_ICMP] = {
382                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
383                 .proto_hdr_func          = NULL
384         },
385         [RTE_FLOW_ITEM_TYPE_UDP] = {
386                 .hdr_type                = BNXT_ULP_HDR_TYPE_SUPPORTED,
387                 .proto_hdr_func          = ulp_rte_udp_hdr_handler
388         },
389         [RTE_FLOW_ITEM_TYPE_TCP] = {
390                 .hdr_type                = BNXT_ULP_HDR_TYPE_SUPPORTED,
391                 .proto_hdr_func          = ulp_rte_tcp_hdr_handler
392         },
393         [RTE_FLOW_ITEM_TYPE_SCTP] = {
394                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
395                 .proto_hdr_func          = NULL
396         },
397         [RTE_FLOW_ITEM_TYPE_VXLAN] = {
398                 .hdr_type                = BNXT_ULP_HDR_TYPE_SUPPORTED,
399                 .proto_hdr_func          = ulp_rte_vxlan_hdr_handler
400         },
401         [RTE_FLOW_ITEM_TYPE_E_TAG] = {
402                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
403                 .proto_hdr_func          = NULL
404         },
405         [RTE_FLOW_ITEM_TYPE_NVGRE] = {
406                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
407                 .proto_hdr_func          = NULL
408         },
409         [RTE_FLOW_ITEM_TYPE_MPLS] = {
410                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
411                 .proto_hdr_func          = NULL
412         },
413         [RTE_FLOW_ITEM_TYPE_GRE] = {
414                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
415                 .proto_hdr_func          = NULL
416         },
417         [RTE_FLOW_ITEM_TYPE_FUZZY] = {
418                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
419                 .proto_hdr_func          = NULL
420         },
421         [RTE_FLOW_ITEM_TYPE_GTP] = {
422                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
423                 .proto_hdr_func          = NULL
424         },
425         [RTE_FLOW_ITEM_TYPE_GTPC] = {
426                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
427                 .proto_hdr_func          = NULL
428         },
429         [RTE_FLOW_ITEM_TYPE_GTPU] = {
430                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
431                 .proto_hdr_func          = NULL
432         },
433         [RTE_FLOW_ITEM_TYPE_ESP] = {
434                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
435                 .proto_hdr_func          = NULL
436         },
437         [RTE_FLOW_ITEM_TYPE_GENEVE] = {
438                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
439                 .proto_hdr_func          = NULL
440         },
441         [RTE_FLOW_ITEM_TYPE_VXLAN_GPE] = {
442                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
443                 .proto_hdr_func          = NULL
444         },
445         [RTE_FLOW_ITEM_TYPE_ARP_ETH_IPV4] = {
446                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
447                 .proto_hdr_func          = NULL
448         },
449         [RTE_FLOW_ITEM_TYPE_IPV6_EXT] = {
450                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
451                 .proto_hdr_func          = NULL
452         },
453         [RTE_FLOW_ITEM_TYPE_ICMP6] = {
454                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
455                 .proto_hdr_func          = NULL
456         },
457         [RTE_FLOW_ITEM_TYPE_ICMP6_ND_NS] = {
458                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
459                 .proto_hdr_func          = NULL
460         },
461         [RTE_FLOW_ITEM_TYPE_ICMP6_ND_NA] = {
462                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
463                 .proto_hdr_func          = NULL
464         },
465         [RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT] = {
466                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
467                 .proto_hdr_func          = NULL
468         },
469         [RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_SLA_ETH] = {
470                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
471                 .proto_hdr_func          = NULL
472         },
473         [RTE_FLOW_ITEM_TYPE_ICMP6_ND_OPT_TLA_ETH] = {
474                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
475                 .proto_hdr_func          = NULL
476         },
477         [RTE_FLOW_ITEM_TYPE_MARK] = {
478                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
479                 .proto_hdr_func          = NULL
480         },
481         [RTE_FLOW_ITEM_TYPE_META] = {
482                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
483                 .proto_hdr_func          = NULL
484         },
485         [RTE_FLOW_ITEM_TYPE_GRE_KEY] = {
486                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
487                 .proto_hdr_func          = NULL
488         },
489         [RTE_FLOW_ITEM_TYPE_GTP_PSC] = {
490                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
491                 .proto_hdr_func          = NULL
492         },
493         [RTE_FLOW_ITEM_TYPE_PPPOES] = {
494                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
495                 .proto_hdr_func          = NULL
496         },
497         [RTE_FLOW_ITEM_TYPE_PPPOED] = {
498                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
499                 .proto_hdr_func          = NULL
500         },
501         [RTE_FLOW_ITEM_TYPE_PPPOE_PROTO_ID] = {
502                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
503                 .proto_hdr_func          = NULL
504         },
505         [RTE_FLOW_ITEM_TYPE_NSH] = {
506                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
507                 .proto_hdr_func          = NULL
508         },
509         [RTE_FLOW_ITEM_TYPE_IGMP] = {
510                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
511                 .proto_hdr_func          = NULL
512         },
513         [RTE_FLOW_ITEM_TYPE_AH] = {
514                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
515                 .proto_hdr_func          = NULL
516         },
517         [RTE_FLOW_ITEM_TYPE_HIGIG2] = {
518                 .hdr_type                = BNXT_ULP_HDR_TYPE_NOT_SUPPORTED,
519                 .proto_hdr_func          = NULL
520         }
521 };
522
523 uint32_t bnxt_ulp_encap_vtag_map[] = {
524         [0] = BNXT_ULP_SYM_ECV_VTAG_TYPE_NOP,
525         [1] = BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,
526         [2] = BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_2_ENCAP_PRI
527 };
528
529 uint16_t ulp_class_sig_tbl[BNXT_ULP_CLASS_SIG_TBL_MAX_SZ] = {
530         [BNXT_ULP_CLASS_HID_0080] = 1,
531         [BNXT_ULP_CLASS_HID_0000] = 2,
532         [BNXT_ULP_CLASS_HID_0087] = 3
533 };
534
535 struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
536         [1] = {
537         .class_hid = BNXT_ULP_CLASS_HID_0080,
538         .hdr_sig = { .bits =
539                 BNXT_ULP_HDR_BIT_O_ETH |
540                 BNXT_ULP_HDR_BIT_O_IPV4 |
541                 BNXT_ULP_HDR_BIT_O_UDP |
542                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
543         .field_sig = { .bits =
544                 BNXT_ULP_HF0_BITMASK_O_IPV4_SRC_ADDR |
545                 BNXT_ULP_HF0_BITMASK_O_IPV4_DST_ADDR |
546                 BNXT_ULP_HF0_BITMASK_O_UDP_SRC_PORT |
547                 BNXT_ULP_HF0_BITMASK_O_UDP_DST_PORT |
548                 BNXT_ULP_MATCH_TYPE_BITMASK_EM },
549         .class_tid = 0,
550         .act_vnic = 0,
551         .wc_pri = 0
552         },
553         [2] = {
554         .class_hid = BNXT_ULP_CLASS_HID_0000,
555         .hdr_sig = { .bits =
556                 BNXT_ULP_HDR_BIT_O_ETH |
557                 BNXT_ULP_HDR_BIT_O_IPV4 |
558                 BNXT_ULP_HDR_BIT_O_UDP |
559                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
560         .field_sig = { .bits =
561                 BNXT_ULP_HF1_BITMASK_O_IPV4_SRC_ADDR |
562                 BNXT_ULP_HF1_BITMASK_O_IPV4_DST_ADDR |
563                 BNXT_ULP_HF1_BITMASK_O_UDP_SRC_PORT |
564                 BNXT_ULP_HF1_BITMASK_O_UDP_DST_PORT |
565                 BNXT_ULP_MATCH_TYPE_BITMASK_EM },
566         .class_tid = 1,
567         .act_vnic = 0,
568         .wc_pri = 0
569         },
570         [3] = {
571         .class_hid = BNXT_ULP_CLASS_HID_0087,
572         .hdr_sig = { .bits =
573                 BNXT_ULP_HDR_BIT_O_ETH |
574                 BNXT_ULP_HDR_BIT_O_IPV4 |
575                 BNXT_ULP_HDR_BIT_O_UDP |
576                 BNXT_ULP_HDR_BIT_T_VXLAN |
577                 BNXT_ULP_HDR_BIT_I_ETH |
578                 BNXT_ULP_HDR_BIT_I_IPV4 |
579                 BNXT_ULP_HDR_BIT_I_UDP |
580                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
581         .field_sig = { .bits =
582                 BNXT_ULP_HF2_BITMASK_I_IPV4_SRC_ADDR |
583                 BNXT_ULP_HF2_BITMASK_I_IPV4_DST_ADDR |
584                 BNXT_ULP_HF2_BITMASK_I_UDP_SRC_PORT |
585                 BNXT_ULP_HF2_BITMASK_I_UDP_DST_PORT |
586                 BNXT_ULP_MATCH_TYPE_BITMASK_EM },
587         .class_tid = 2,
588         .act_vnic = 0,
589         .wc_pri = 0
590         }
591 };
592
593 uint16_t ulp_act_sig_tbl[BNXT_ULP_ACT_SIG_TBL_MAX_SZ] = {
594         [BNXT_ULP_ACT_HID_00a1] = 1,
595         [BNXT_ULP_ACT_HID_0040] = 2,
596         [BNXT_ULP_ACT_HID_0029] = 3
597 };
598
599 struct bnxt_ulp_act_match_info ulp_act_match_list[] = {
600         [1] = {
601         .act_hid = BNXT_ULP_ACT_HID_00a1,
602         .act_sig = { .bits =
603                 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
604                 BNXT_ULP_ACTION_BIT_MARK |
605                 BNXT_ULP_ACTION_BIT_VNIC |
606                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
607         .act_tid = 0
608         },
609         [2] = {
610         .act_hid = BNXT_ULP_ACT_HID_0040,
611         .act_sig = { .bits =
612                 BNXT_ULP_ACTION_BIT_VPORT |
613                 BNXT_ULP_ACTION_BIT_VXLAN_ENCAP |
614                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
615         .act_tid = 1
616         },
617         [3] = {
618         .act_hid = BNXT_ULP_ACT_HID_0029,
619         .act_sig = { .bits =
620                 BNXT_ULP_ACTION_BIT_MARK |
621                 BNXT_ULP_ACTION_BIT_RSS |
622                 BNXT_ULP_ACTION_BIT_VNIC |
623                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
624         .act_tid = 2
625         }
626 };
627
628 struct bnxt_ulp_mapper_tbl_list_info ulp_class_tmpl_list[] = {
629         [((0 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
630                 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
631         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
632         .num_tbls = 5,
633         .start_tbl_idx = 0
634         },
635         [((1 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
636                 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
637         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
638         .num_tbls = 5,
639         .start_tbl_idx = 5
640         },
641         [((2 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
642                 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
643         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
644         .num_tbls = 5,
645         .start_tbl_idx = 10
646         }
647 };
648
649 struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
650         {
651         .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
652         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
653         .resource_sub_type =
654                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
655         .direction = TF_DIR_RX,
656         .priority = BNXT_ULP_PRIORITY_NOT_USED,
657         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
658         .key_start_idx = 0,
659         .blob_key_bit_size = 12,
660         .key_bit_size = 12,
661         .key_num_fields = 2,
662         .result_start_idx = 0,
663         .result_bit_size = 10,
664         .result_num_fields = 1,
665         .encap_num_fields = 0,
666         .ident_start_idx = 0,
667         .ident_nums = 1,
668         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
669         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
670         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
671         },
672         {
673         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
674         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
675         .resource_sub_type =
676                 BNXT_ULP_RESOURCE_SUB_TYPE_NOT_USED,
677         .direction = TF_DIR_RX,
678         .priority = BNXT_ULP_PRIORITY_LEVEL_0,
679         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
680         .key_start_idx = 2,
681         .blob_key_bit_size = 167,
682         .key_bit_size = 167,
683         .key_num_fields = 13,
684         .result_start_idx = 1,
685         .result_bit_size = 64,
686         .result_num_fields = 13,
687         .encap_num_fields = 0,
688         .ident_start_idx = 1,
689         .ident_nums = 0,
690         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
691         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
692         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
693         },
694         {
695         .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
696         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
697         .resource_sub_type =
698                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
699         .direction = TF_DIR_RX,
700         .priority = BNXT_ULP_PRIORITY_NOT_USED,
701         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
702         .key_start_idx = 15,
703         .blob_key_bit_size = 16,
704         .key_bit_size = 16,
705         .key_num_fields = 3,
706         .result_start_idx = 14,
707         .result_bit_size = 10,
708         .result_num_fields = 1,
709         .encap_num_fields = 0,
710         .ident_start_idx = 1,
711         .ident_nums = 1,
712         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
713         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
714         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
715         },
716         {
717         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
718         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
719         .resource_sub_type =
720                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
721         .direction = TF_DIR_RX,
722         .priority = BNXT_ULP_PRIORITY_LEVEL_0,
723         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
724         .key_start_idx = 18,
725         .blob_key_bit_size = 81,
726         .key_bit_size = 81,
727         .key_num_fields = 42,
728         .result_start_idx = 15,
729         .result_bit_size = 38,
730         .result_num_fields = 8,
731         .encap_num_fields = 0,
732         .ident_start_idx = 2,
733         .ident_nums = 0,
734         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
735         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
736         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
737         },
738         {
739         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
740         .resource_type = TF_MEM_EXTERNAL,
741         .resource_sub_type =
742                 BNXT_ULP_RESOURCE_SUB_TYPE_NOT_USED,
743         .direction = TF_DIR_RX,
744         .priority = BNXT_ULP_PRIORITY_NOT_USED,
745         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
746         .key_start_idx = 60,
747         .blob_key_bit_size = 448,
748         .key_bit_size = 448,
749         .key_num_fields = 11,
750         .result_start_idx = 23,
751         .result_bit_size = 64,
752         .result_num_fields = 9,
753         .encap_num_fields = 0,
754         .ident_start_idx = 2,
755         .ident_nums = 0,
756         .mark_enable = BNXT_ULP_MARK_ENABLE_YES,
757         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
758         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
759         },
760         {
761         .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
762         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
763         .resource_sub_type =
764                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
765         .direction = TF_DIR_TX,
766         .priority = BNXT_ULP_PRIORITY_NOT_USED,
767         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
768         .key_start_idx = 71,
769         .blob_key_bit_size = 12,
770         .key_bit_size = 12,
771         .key_num_fields = 2,
772         .result_start_idx = 32,
773         .result_bit_size = 10,
774         .result_num_fields = 1,
775         .encap_num_fields = 0,
776         .ident_start_idx = 2,
777         .ident_nums = 1,
778         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
779         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
780         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
781         },
782         {
783         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
784         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
785         .resource_sub_type =
786                 BNXT_ULP_RESOURCE_SUB_TYPE_NOT_USED,
787         .direction = TF_DIR_TX,
788         .priority = BNXT_ULP_PRIORITY_LEVEL_0,
789         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
790         .key_start_idx = 73,
791         .blob_key_bit_size = 167,
792         .key_bit_size = 167,
793         .key_num_fields = 13,
794         .result_start_idx = 33,
795         .result_bit_size = 64,
796         .result_num_fields = 13,
797         .encap_num_fields = 0,
798         .ident_start_idx = 3,
799         .ident_nums = 0,
800         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
801         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
802         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
803         },
804         {
805         .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
806         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
807         .resource_sub_type =
808                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
809         .direction = TF_DIR_TX,
810         .priority = BNXT_ULP_PRIORITY_NOT_USED,
811         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
812         .key_start_idx = 86,
813         .blob_key_bit_size = 16,
814         .key_bit_size = 16,
815         .key_num_fields = 3,
816         .result_start_idx = 46,
817         .result_bit_size = 10,
818         .result_num_fields = 1,
819         .encap_num_fields = 0,
820         .ident_start_idx = 3,
821         .ident_nums = 1,
822         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
823         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
824         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
825         },
826         {
827         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
828         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
829         .resource_sub_type =
830                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
831         .direction = TF_DIR_TX,
832         .priority = BNXT_ULP_PRIORITY_LEVEL_0,
833         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
834         .key_start_idx = 89,
835         .blob_key_bit_size = 81,
836         .key_bit_size = 81,
837         .key_num_fields = 42,
838         .result_start_idx = 47,
839         .result_bit_size = 38,
840         .result_num_fields = 8,
841         .encap_num_fields = 0,
842         .ident_start_idx = 4,
843         .ident_nums = 0,
844         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
845         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
846         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
847         },
848         {
849         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
850         .resource_type = TF_MEM_EXTERNAL,
851         .resource_sub_type =
852                 BNXT_ULP_RESOURCE_SUB_TYPE_NOT_USED,
853         .direction = TF_DIR_TX,
854         .priority = BNXT_ULP_PRIORITY_NOT_USED,
855         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
856         .key_start_idx = 131,
857         .blob_key_bit_size = 448,
858         .key_bit_size = 448,
859         .key_num_fields = 11,
860         .result_start_idx = 55,
861         .result_bit_size = 64,
862         .result_num_fields = 9,
863         .encap_num_fields = 0,
864         .ident_start_idx = 4,
865         .ident_nums = 0,
866         .mark_enable = BNXT_ULP_MARK_ENABLE_YES,
867         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
868         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
869         },
870         {
871         .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
872         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
873         .resource_sub_type =
874                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
875         .direction = TF_DIR_RX,
876         .priority = BNXT_ULP_PRIORITY_NOT_USED,
877         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
878         .key_start_idx = 142,
879         .blob_key_bit_size = 12,
880         .key_bit_size = 12,
881         .key_num_fields = 2,
882         .result_start_idx = 64,
883         .result_bit_size = 10,
884         .result_num_fields = 1,
885         .encap_num_fields = 0,
886         .ident_start_idx = 4,
887         .ident_nums = 1,
888         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
889         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
890         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
891         },
892         {
893         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
894         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
895         .resource_sub_type =
896                 BNXT_ULP_RESOURCE_SUB_TYPE_NOT_USED,
897         .direction = TF_DIR_RX,
898         .priority = BNXT_ULP_PRIORITY_LEVEL_0,
899         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
900         .key_start_idx = 144,
901         .blob_key_bit_size = 167,
902         .key_bit_size = 167,
903         .key_num_fields = 13,
904         .result_start_idx = 65,
905         .result_bit_size = 64,
906         .result_num_fields = 13,
907         .encap_num_fields = 0,
908         .ident_start_idx = 5,
909         .ident_nums = 0,
910         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
911         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
912         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
913         },
914         {
915         .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
916         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
917         .resource_sub_type =
918                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
919         .direction = TF_DIR_RX,
920         .priority = BNXT_ULP_PRIORITY_NOT_USED,
921         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
922         .key_start_idx = 157,
923         .blob_key_bit_size = 16,
924         .key_bit_size = 16,
925         .key_num_fields = 3,
926         .result_start_idx = 78,
927         .result_bit_size = 10,
928         .result_num_fields = 1,
929         .encap_num_fields = 0,
930         .ident_start_idx = 5,
931         .ident_nums = 1,
932         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
933         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
934         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
935         },
936         {
937         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
938         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
939         .resource_sub_type =
940                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
941         .direction = TF_DIR_RX,
942         .priority = BNXT_ULP_PRIORITY_LEVEL_0,
943         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
944         .key_start_idx = 160,
945         .blob_key_bit_size = 81,
946         .key_bit_size = 81,
947         .key_num_fields = 42,
948         .result_start_idx = 79,
949         .result_bit_size = 38,
950         .result_num_fields = 8,
951         .encap_num_fields = 0,
952         .ident_start_idx = 6,
953         .ident_nums = 0,
954         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
955         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
956         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
957         },
958         {
959         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
960         .resource_type = TF_MEM_EXTERNAL,
961         .resource_sub_type =
962                 BNXT_ULP_RESOURCE_SUB_TYPE_NOT_USED,
963         .direction = TF_DIR_RX,
964         .priority = BNXT_ULP_PRIORITY_NOT_USED,
965         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
966         .key_start_idx = 202,
967         .blob_key_bit_size = 448,
968         .key_bit_size = 448,
969         .key_num_fields = 11,
970         .result_start_idx = 87,
971         .result_bit_size = 64,
972         .result_num_fields = 9,
973         .encap_num_fields = 0,
974         .ident_start_idx = 6,
975         .ident_nums = 0,
976         .mark_enable = BNXT_ULP_MARK_ENABLE_YES,
977         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
978         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
979         }
980 };
981
982 struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
983         {
984         .field_bit_size = 8,
985         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
986         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
987                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
988         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
989         .spec_operand = {
990                 (BNXT_ULP_HF0_IDX_SVIF_INDEX >> 8) & 0xff,
991                 BNXT_ULP_HF0_IDX_SVIF_INDEX & 0xff,
992                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
993                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
994         },
995         {
996         .field_bit_size = 4,
997         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
998         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
999                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1000         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1001         .spec_operand = {
1002                 BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
1003                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1004                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1005         },
1006         {
1007         .field_bit_size = 12,
1008         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1009         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1010                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1011         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1012         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1013                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1014         },
1015         {
1016         .field_bit_size = 12,
1017         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1018         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1019                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1020         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1021         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1022                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1023         },
1024         {
1025         .field_bit_size = 48,
1026         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1027         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1028                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1029         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1030         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1031                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1032         },
1033         {
1034         .field_bit_size = 8,
1035         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_HDR_FIELD,
1036         .mask_operand = {
1037                 (BNXT_ULP_HF0_IDX_SVIF_INDEX >> 8) & 0xff,
1038                 BNXT_ULP_HF0_IDX_SVIF_INDEX & 0xff,
1039                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1040                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1041         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
1042         .spec_operand = {
1043                 (BNXT_ULP_HF0_IDX_SVIF_INDEX >> 8) & 0xff,
1044                 BNXT_ULP_HF0_IDX_SVIF_INDEX & 0xff,
1045                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1046                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1047         },
1048         {
1049         .field_bit_size = 4,
1050         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1051         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1052                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1053         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1054         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1055                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1056         },
1057         {
1058         .field_bit_size = 12,
1059         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1060         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1061                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1062         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1063         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1064                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1065         },
1066         {
1067         .field_bit_size = 12,
1068         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1069         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1070                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1071         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1072         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1073                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1074         },
1075         {
1076         .field_bit_size = 48,
1077         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1078         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1079                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1080         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1081         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1082                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1083         },
1084         {
1085         .field_bit_size = 2,
1086         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1087         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1088                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1089         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1090         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1091                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1092         },
1093         {
1094         .field_bit_size = 2,
1095         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1096         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1097                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1098         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1099         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1100                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1101         },
1102         {
1103         .field_bit_size = 4,
1104         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1105         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1106                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1107         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1108         .spec_operand = {
1109                 BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
1110                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1111                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1112         },
1113         {
1114         .field_bit_size = 2,
1115         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1116         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1117                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1118         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1119         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1120                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1121         },
1122         {
1123         .field_bit_size = 1,
1124         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1125         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1126                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1127         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1128         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1129                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1130         },
1131         {
1132         .field_bit_size = 1,
1133         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1134         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1135                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1136         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1137         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1138                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1139         },
1140         {
1141         .field_bit_size = 7,
1142         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1143         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1144                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1145         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_GLB_REGFILE,
1146         .spec_operand = {
1147                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
1148                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
1149                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1150                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1151         },
1152         {
1153         .field_bit_size = 8,
1154         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1155         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1156                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1157         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_REGFILE,
1158         .spec_operand = {
1159                 (BNXT_ULP_REGFILE_INDEX_CLASS_TID >> 8) & 0xff,
1160                 BNXT_ULP_REGFILE_INDEX_CLASS_TID & 0xff,
1161                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1162                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1163         },
1164         {
1165         .field_bit_size = 1,
1166         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1167         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1168                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1169         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1170         .spec_operand = {
1171                 BNXT_ULP_SYM_L4_HDR_IS_UDP_TCP_IGNORE,
1172                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1173                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1174         },
1175         {
1176         .field_bit_size = 4,
1177         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1178         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1179                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1180         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1181         .spec_operand = {
1182                 BNXT_ULP_SYM_L4_HDR_TYPE_UDP,
1183                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1184                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1185         },
1186         {
1187         .field_bit_size = 1,
1188         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1189         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1190                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1191         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1192         .spec_operand = {
1193                 BNXT_ULP_SYM_L4_HDR_ERROR_NO,
1194                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1195                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1196         },
1197         {
1198         .field_bit_size = 1,
1199         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1200         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1201                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1202         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1203         .spec_operand = {
1204                 BNXT_ULP_SYM_L4_HDR_VALID_YES,
1205                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1206                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1207         },
1208         {
1209         .field_bit_size = 1,
1210         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1211         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1212                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1213         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1214         .spec_operand = {
1215                 BNXT_ULP_SYM_L3_IPV6_CMP_SRC_IGNORE,
1216                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1217                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1218         },
1219         {
1220         .field_bit_size = 1,
1221         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1222         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1223                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1224         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1225         .spec_operand = {
1226                 BNXT_ULP_SYM_L3_IPV6_CMP_DST_IGNORE,
1227                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1228                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1229         },
1230         {
1231         .field_bit_size = 1,
1232         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1233         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1234                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1235         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1236         .spec_operand = {
1237                 BNXT_ULP_SYM_L3_HDR_ISIP_IGNORE,
1238                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1239                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1240         },
1241         {
1242         .field_bit_size = 4,
1243         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1244         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1245                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1246         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1247         .spec_operand = {
1248                 BNXT_ULP_SYM_L3_HDR_TYPE_IPV4,
1249                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1250                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1251         },
1252         {
1253         .field_bit_size = 1,
1254         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1255         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1256                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1257         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1258         .spec_operand = {
1259                 BNXT_ULP_SYM_L3_HDR_ERROR_NO,
1260                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1261                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1262         },
1263         {
1264         .field_bit_size = 1,
1265         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1266         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1267                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1268         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1269         .spec_operand = {
1270                 BNXT_ULP_SYM_L3_HDR_VALID_YES,
1271                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1272                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1273         },
1274         {
1275         .field_bit_size = 1,
1276         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1277         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1278                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1279         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1280         .spec_operand = {
1281                 BNXT_ULP_SYM_L2_TWO_VTAGS_IGNORE,
1282                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1283                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1284         },
1285         {
1286         .field_bit_size = 1,
1287         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1288         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1289                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1290         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1291         .spec_operand = {
1292                 BNXT_ULP_SYM_L2_UC_MC_BC_IGNORE,
1293                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1294                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1295         },
1296         {
1297         .field_bit_size = 2,
1298         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1299         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1300                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1301         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1302         .spec_operand = {
1303                 BNXT_ULP_SYM_L2_VTAG_PRESENT_IGNORE,
1304                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1305                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1306         },
1307         {
1308         .field_bit_size = 2,
1309         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1310         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1311                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1312         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1313         .spec_operand = {
1314                 BNXT_ULP_SYM_L2_HDR_TYPE_DIX,
1315                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1316                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1317         },
1318         {
1319         .field_bit_size = 1,
1320         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1321         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1322                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1323         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1324         .spec_operand = {
1325                 BNXT_ULP_SYM_L2_HDR_ERROR_NO,
1326                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1327                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1328         },
1329         {
1330         .field_bit_size = 1,
1331         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1332         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1333                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1334         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1335         .spec_operand = {
1336                 BNXT_ULP_SYM_L2_HDR_VALID_YES,
1337                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1338                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1339         },
1340         {
1341         .field_bit_size = 3,
1342         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1343         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1344                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1345         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1346         .spec_operand = {
1347                 BNXT_ULP_SYM_TUN_HDR_FLAGS_IGNORE,
1348                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1349                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1350         },
1351         {
1352         .field_bit_size = 4,
1353         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1354         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1355                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1356         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1357         .spec_operand = {
1358                 BNXT_ULP_SYM_TUN_HDR_TYPE_IGNORE,
1359                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1360                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1361         },
1362         {
1363         .field_bit_size = 1,
1364         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1365         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1366                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1367         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1368         .spec_operand = {
1369                 BNXT_ULP_SYM_TUN_HDR_ERROR_IGNORE,
1370                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1371                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1372         },
1373         {
1374         .field_bit_size = 1,
1375         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1376         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1377                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1378         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1379         .spec_operand = {
1380                 BNXT_ULP_SYM_TUN_HDR_VALID_IGNORE,
1381                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1382                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1383         },
1384         {
1385         .field_bit_size = 1,
1386         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1387         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1388                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1389         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1390         .spec_operand = {
1391                 BNXT_ULP_SYM_TL4_HDR_IS_UDP_TCP_IGNORE,
1392                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1393                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1394         },
1395         {
1396         .field_bit_size = 4,
1397         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1398         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1399                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1400         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1401         .spec_operand = {
1402                 BNXT_ULP_SYM_TL4_HDR_TYPE_IGNORE,
1403                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1404                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1405         },
1406         {
1407         .field_bit_size = 1,
1408         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1409         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1410                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1411         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1412         .spec_operand = {
1413                 BNXT_ULP_SYM_TL2_TWO_VTAGS_IGNORE,
1414                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1415                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1416         },
1417         {
1418         .field_bit_size = 1,
1419         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1420         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1421                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1422         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1423         .spec_operand = {
1424                 BNXT_ULP_SYM_TL4_HDR_ERROR_IGNORE,
1425                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1426                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1427         },
1428         {
1429         .field_bit_size = 1,
1430         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1431         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1432                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1433         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1434         .spec_operand = {
1435                 BNXT_ULP_SYM_TL4_HDR_VALID_IGNORE,
1436                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1437                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1438         },
1439         {
1440         .field_bit_size = 1,
1441         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1442         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1443                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1444         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1445         .spec_operand = {
1446                 BNXT_ULP_SYM_TL3_IPV6_CMP_DST_IGNORE,
1447                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1448                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1449         },
1450         {
1451         .field_bit_size = 1,
1452         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1453         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1454                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1455         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1456         .spec_operand = {
1457                 BNXT_ULP_SYM_TL3_HDR_ISIP_IGNORE,
1458                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1459                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1460         },
1461         {
1462         .field_bit_size = 4,
1463         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1464         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1465                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1466         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1467         .spec_operand = {
1468                 BNXT_ULP_SYM_TL3_HDR_TYPE_IGNORE,
1469                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1470                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1471         },
1472         {
1473         .field_bit_size = 1,
1474         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1475         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1476                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1477         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1478         .spec_operand = {
1479                 BNXT_ULP_SYM_TL3_HDR_ERROR_IGNORE,
1480                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1481                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1482         },
1483         {
1484         .field_bit_size = 1,
1485         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1486         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1487                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1488         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1489         .spec_operand = {
1490                 BNXT_ULP_SYM_TL3_HDR_VALID_IGNORE,
1491                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1492                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1493         },
1494         {
1495         .field_bit_size = 1,
1496         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1497         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1498                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1499         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1500         .spec_operand = {
1501                 BNXT_ULP_SYM_TL3_IPV6_CMP_SRC_IGNORE,
1502                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1503                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1504         },
1505         {
1506         .field_bit_size = 1,
1507         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1508         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1509                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1510         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1511         .spec_operand = {
1512                 BNXT_ULP_SYM_TL2_UC_MC_BC_IGNORE,
1513                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1514                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1515         },
1516         {
1517         .field_bit_size = 2,
1518         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1519         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1520                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1521         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1522         .spec_operand = {
1523                 BNXT_ULP_SYM_TL2_VTAG_PRESENT_IGNORE,
1524                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1525                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1526         },
1527         {
1528         .field_bit_size = 2,
1529         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1530         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1531                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1532         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1533         .spec_operand = {
1534                 BNXT_ULP_SYM_TL2_HDR_TYPE_IGNORE,
1535                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1536                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1537         },
1538         {
1539         .field_bit_size = 1,
1540         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1541         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1542                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1543         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1544         .spec_operand = {
1545                 BNXT_ULP_SYM_TL2_HDR_VALID_IGNORE,
1546                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1547                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1548         },
1549         {
1550         .field_bit_size = 1,
1551         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1552         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1553                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1554         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1555         .spec_operand = {
1556                 BNXT_ULP_SYM_HREC_NEXT_IGNORE,
1557                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1558                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1559         },
1560         {
1561         .field_bit_size = 9,
1562         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1563         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1564                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1565         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1566         .spec_operand = {
1567                 (BNXT_ULP_SYM_RESERVED_IGNORE >> 8) & 0xff,
1568                 BNXT_ULP_SYM_RESERVED_IGNORE & 0xff,
1569                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1570                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1571         },
1572         {
1573         .field_bit_size = 7,
1574         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1575         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1576                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1577         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_GLB_REGFILE,
1578         .spec_operand = {
1579                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
1580                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
1581                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1582                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1583         },
1584         {
1585         .field_bit_size = 1,
1586         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1587         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1588                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1589         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1590         .spec_operand = {
1591                 BNXT_ULP_SYM_AGG_ERROR_IGNORE,
1592                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1593                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1594         },
1595         {
1596         .field_bit_size = 2,
1597         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1598         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1599                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1600         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1601         .spec_operand = {
1602                 BNXT_ULP_SYM_RECYCLE_CNT_ZERO,
1603                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1604                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1605         },
1606         {
1607         .field_bit_size = 4,
1608         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1609         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1610                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1611         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1612         .spec_operand = {
1613                 BNXT_ULP_SYM_PKT_TYPE_L2,
1614                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1615                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1616         },
1617         {
1618         .field_bit_size = 1,
1619         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1620         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1621                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1622         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1623         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1624                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1625         },
1626         {
1627         .field_bit_size = 251,
1628         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1629         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1630                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1631         .spec_opcode = BNXT_ULP_SPEC_OPC_ADD_PAD,
1632         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1633                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1634         },
1635         {
1636         .field_bit_size = 3,
1637         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1638         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1639                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1640         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1641         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1642                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1643         },
1644         {
1645         .field_bit_size = 16,
1646         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1647         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1648                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1649         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
1650         .spec_operand = {
1651                 (BNXT_ULP_HF0_IDX_O_UDP_DST_PORT >> 8) & 0xff,
1652                 BNXT_ULP_HF0_IDX_O_UDP_DST_PORT & 0xff,
1653                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1654                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1655         },
1656         {
1657         .field_bit_size = 16,
1658         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1659         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1660                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1661         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
1662         .spec_operand = {
1663                 (BNXT_ULP_HF0_IDX_O_UDP_SRC_PORT >> 8) & 0xff,
1664                 BNXT_ULP_HF0_IDX_O_UDP_SRC_PORT & 0xff,
1665                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1666                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1667         },
1668         {
1669         .field_bit_size = 8,
1670         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1671         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1672                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1673         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1674         .spec_operand = {
1675                 BNXT_ULP_SYM_IP_PROTO_UDP,
1676                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1677                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1678         },
1679         {
1680         .field_bit_size = 32,
1681         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1682         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1683                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1684         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
1685         .spec_operand = {
1686                 (BNXT_ULP_HF0_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
1687                 BNXT_ULP_HF0_IDX_O_IPV4_DST_ADDR & 0xff,
1688                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1689                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1690         },
1691         {
1692         .field_bit_size = 32,
1693         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1694         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1695                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1696         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
1697         .spec_operand = {
1698                 (BNXT_ULP_HF0_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,
1699                 BNXT_ULP_HF0_IDX_O_IPV4_SRC_ADDR & 0xff,
1700                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1701                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1702         },
1703         {
1704         .field_bit_size = 48,
1705         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1706         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1707                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1708         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1709         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1710                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1711         },
1712         {
1713         .field_bit_size = 24,
1714         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1715         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1716                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1717         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1718         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1719                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1720         },
1721         {
1722         .field_bit_size = 10,
1723         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1724         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1725                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1726         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_REGFILE,
1727         .spec_operand = {
1728                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
1729                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
1730                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1731                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1732         },
1733         {
1734         .field_bit_size = 8,
1735         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1736         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1737                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1738         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_REGFILE,
1739         .spec_operand = {
1740                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
1741                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
1742                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1743                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1744         },
1745         {
1746         .field_bit_size = 8,
1747         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1748         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1749                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1750         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
1751         .spec_operand = {
1752                 (BNXT_ULP_HF1_IDX_SVIF_INDEX >> 8) & 0xff,
1753                 BNXT_ULP_HF1_IDX_SVIF_INDEX & 0xff,
1754                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1755                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1756         },
1757         {
1758         .field_bit_size = 4,
1759         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1760         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1761                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1762         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1763         .spec_operand = {
1764                 BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
1765                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1766                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1767         },
1768         {
1769         .field_bit_size = 12,
1770         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1771         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1772                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1773         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1774         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1775                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1776         },
1777         {
1778         .field_bit_size = 12,
1779         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1780         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1781                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1782         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1783         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1784                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1785         },
1786         {
1787         .field_bit_size = 48,
1788         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1789         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1790                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1791         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1792         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1793                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1794         },
1795         {
1796         .field_bit_size = 8,
1797         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_HDR_FIELD,
1798         .mask_operand = {
1799                 (BNXT_ULP_HF1_IDX_SVIF_INDEX >> 8) & 0xff,
1800                 BNXT_ULP_HF1_IDX_SVIF_INDEX & 0xff,
1801                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1802                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1803         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
1804         .spec_operand = {
1805                 (BNXT_ULP_HF1_IDX_SVIF_INDEX >> 8) & 0xff,
1806                 BNXT_ULP_HF1_IDX_SVIF_INDEX & 0xff,
1807                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1808                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1809         },
1810         {
1811         .field_bit_size = 4,
1812         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1813         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1814                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1815         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1816         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1817                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1818         },
1819         {
1820         .field_bit_size = 12,
1821         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1822         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1823                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1824         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1825         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1826                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1827         },
1828         {
1829         .field_bit_size = 12,
1830         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1831         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1832                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1833         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1834         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1835                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1836         },
1837         {
1838         .field_bit_size = 48,
1839         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1840         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1841                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1842         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1843         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1844                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1845         },
1846         {
1847         .field_bit_size = 2,
1848         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1849         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1850                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1851         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1852         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1853                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1854         },
1855         {
1856         .field_bit_size = 2,
1857         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1858         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1859                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1860         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1861         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1862                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1863         },
1864         {
1865         .field_bit_size = 4,
1866         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1867         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1868                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1869         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1870         .spec_operand = {
1871                 BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
1872                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1873                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1874         },
1875         {
1876         .field_bit_size = 2,
1877         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1878         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1879                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1880         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1881         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1882                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1883         },
1884         {
1885         .field_bit_size = 1,
1886         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1887         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1888                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1889         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1890         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1891                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1892         },
1893         {
1894         .field_bit_size = 1,
1895         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1896         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1897                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1898         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1899         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1900                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1901         },
1902         {
1903         .field_bit_size = 7,
1904         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1905         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1906                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1907         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_GLB_REGFILE,
1908         .spec_operand = {
1909                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
1910                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
1911                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1912                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1913         },
1914         {
1915         .field_bit_size = 8,
1916         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1917         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1918                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1919         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_REGFILE,
1920         .spec_operand = {
1921                 (BNXT_ULP_REGFILE_INDEX_CLASS_TID >> 8) & 0xff,
1922                 BNXT_ULP_REGFILE_INDEX_CLASS_TID & 0xff,
1923                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1924                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1925         },
1926         {
1927         .field_bit_size = 1,
1928         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1929         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1930                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1931         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1932         .spec_operand = {
1933                 BNXT_ULP_SYM_L4_HDR_IS_UDP_TCP_IGNORE,
1934                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1935                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1936         },
1937         {
1938         .field_bit_size = 4,
1939         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1940         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1941                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1942         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1943         .spec_operand = {
1944                 BNXT_ULP_SYM_L4_HDR_TYPE_UDP,
1945                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1946                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1947         },
1948         {
1949         .field_bit_size = 1,
1950         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1951         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1952                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1953         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1954         .spec_operand = {
1955                 BNXT_ULP_SYM_L4_HDR_ERROR_NO,
1956                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1957                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1958         },
1959         {
1960         .field_bit_size = 1,
1961         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1962         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1963                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1964         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1965         .spec_operand = {
1966                 BNXT_ULP_SYM_L4_HDR_VALID_YES,
1967                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1968                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1969         },
1970         {
1971         .field_bit_size = 1,
1972         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1973         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1974                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1975         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1976         .spec_operand = {
1977                 BNXT_ULP_SYM_L3_IPV6_CMP_DST_IGNORE,
1978                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1979                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1980         },
1981         {
1982         .field_bit_size = 1,
1983         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1984         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1985                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1986         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1987         .spec_operand = {
1988                 BNXT_ULP_SYM_L3_IPV6_CMP_SRC_IGNORE,
1989                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1990                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1991         },
1992         {
1993         .field_bit_size = 1,
1994         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
1995         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1996                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1997         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
1998         .spec_operand = {
1999                 BNXT_ULP_SYM_L3_HDR_ISIP_IGNORE,
2000                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2001                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2002         },
2003         {
2004         .field_bit_size = 4,
2005         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2006         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2007                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2008         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2009         .spec_operand = {
2010                 BNXT_ULP_SYM_L3_HDR_TYPE_IPV4,
2011                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2012                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2013         },
2014         {
2015         .field_bit_size = 1,
2016         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2017         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2018                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2019         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2020         .spec_operand = {
2021                 BNXT_ULP_SYM_L3_HDR_ERROR_NO,
2022                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2023                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2024         },
2025         {
2026         .field_bit_size = 1,
2027         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2028         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2029                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2030         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2031         .spec_operand = {
2032                 BNXT_ULP_SYM_L3_HDR_VALID_YES,
2033                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2034                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2035         },
2036         {
2037         .field_bit_size = 1,
2038         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2039         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2040                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2041         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2042         .spec_operand = {
2043                 BNXT_ULP_SYM_L2_TWO_VTAGS_IGNORE,
2044                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2045                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2046         },
2047         {
2048         .field_bit_size = 1,
2049         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2050         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2051                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2052         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2053         .spec_operand = {
2054                 BNXT_ULP_SYM_L2_VTAG_PRESENT_IGNORE,
2055                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2056                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2057         },
2058         {
2059         .field_bit_size = 2,
2060         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2061         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2062                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2063         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2064         .spec_operand = {
2065                 BNXT_ULP_SYM_L2_UC_MC_BC_IGNORE,
2066                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2067                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2068         },
2069         {
2070         .field_bit_size = 2,
2071         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2072         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2073                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2074         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2075         .spec_operand = {
2076                 BNXT_ULP_SYM_L2_HDR_TYPE_DIX,
2077                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2078                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2079         },
2080         {
2081         .field_bit_size = 1,
2082         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2083         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2084                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2085         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2086         .spec_operand = {
2087                 BNXT_ULP_SYM_L2_HDR_ERROR_NO,
2088                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2089                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2090         },
2091         {
2092         .field_bit_size = 1,
2093         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2094         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2095                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2096         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2097         .spec_operand = {
2098                 BNXT_ULP_SYM_L2_HDR_VALID_YES,
2099                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2100                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2101         },
2102         {
2103         .field_bit_size = 3,
2104         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2105         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2106                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2107         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2108         .spec_operand = {
2109                 BNXT_ULP_SYM_TUN_HDR_FLAGS_IGNORE,
2110                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2111                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2112         },
2113         {
2114         .field_bit_size = 4,
2115         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2116         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2117                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2118         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2119         .spec_operand = {
2120                 BNXT_ULP_SYM_TUN_HDR_TYPE_IGNORE,
2121                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2122                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2123         },
2124         {
2125         .field_bit_size = 1,
2126         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2127         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2128                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2129         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2130         .spec_operand = {
2131                 BNXT_ULP_SYM_TUN_HDR_ERROR_IGNORE,
2132                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2133                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2134         },
2135         {
2136         .field_bit_size = 1,
2137         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2138         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2139                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2140         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2141         .spec_operand = {
2142                 BNXT_ULP_SYM_TUN_HDR_VALID_IGNORE,
2143                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2144                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2145         },
2146         {
2147         .field_bit_size = 1,
2148         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2149         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2150                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2151         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2152         .spec_operand = {
2153                 BNXT_ULP_SYM_TL4_HDR_IS_UDP_TCP_IGNORE,
2154                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2155                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2156         },
2157         {
2158         .field_bit_size = 4,
2159         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2160         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2161                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2162         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2163         .spec_operand = {
2164                 BNXT_ULP_SYM_TL4_HDR_TYPE_IGNORE,
2165                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2166                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2167         },
2168         {
2169         .field_bit_size = 1,
2170         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2171         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2172                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2173         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2174         .spec_operand = {
2175                 BNXT_ULP_SYM_TL4_HDR_ERROR_IGNORE,
2176                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2177                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2178         },
2179         {
2180         .field_bit_size = 1,
2181         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2182         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2183                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2184         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2185         .spec_operand = {
2186                 BNXT_ULP_SYM_TL4_HDR_VALID_IGNORE,
2187                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2188                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2189         },
2190         {
2191         .field_bit_size = 1,
2192         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2193         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2194                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2195         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2196         .spec_operand = {
2197                 BNXT_ULP_SYM_TL3_IPV6_CMP_DST_IGNORE,
2198                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2199                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2200         },
2201         {
2202         .field_bit_size = 1,
2203         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2204         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2205                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2206         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2207         .spec_operand = {
2208                 BNXT_ULP_SYM_TL3_IPV6_CMP_SRC_IGNORE,
2209                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2210                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2211         },
2212         {
2213         .field_bit_size = 1,
2214         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2215         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2216                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2217         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2218         .spec_operand = {
2219                 BNXT_ULP_SYM_TL3_HDR_ISIP_IGNORE,
2220                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2221                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2222         },
2223         {
2224         .field_bit_size = 4,
2225         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2226         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2227                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2228         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2229         .spec_operand = {
2230                 BNXT_ULP_SYM_TL3_HDR_TYPE_IGNORE,
2231                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2232                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2233         },
2234         {
2235         .field_bit_size = 1,
2236         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2237         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2238                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2239         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2240         .spec_operand = {
2241                 BNXT_ULP_SYM_TL3_HDR_ERROR_IGNORE,
2242                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2243                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2244         },
2245         {
2246         .field_bit_size = 1,
2247         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2248         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2249                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2250         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2251         .spec_operand = {
2252                 BNXT_ULP_SYM_TL3_HDR_VALID_IGNORE,
2253                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2254                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2255         },
2256         {
2257         .field_bit_size = 1,
2258         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2259         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2260                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2261         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2262         .spec_operand = {
2263                 BNXT_ULP_SYM_TL2_TWO_VTAGS_IGNORE,
2264                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2265                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2266         },
2267         {
2268         .field_bit_size = 1,
2269         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2270         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2271                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2272         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2273         .spec_operand = {
2274                 BNXT_ULP_SYM_TL2_VTAG_PRESENT_IGNORE,
2275                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2276                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2277         },
2278         {
2279         .field_bit_size = 2,
2280         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2281         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2282                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2283         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2284         .spec_operand = {
2285                 BNXT_ULP_SYM_TL2_UC_MC_BC_IGNORE,
2286                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2287                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2288         },
2289         {
2290         .field_bit_size = 2,
2291         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2292         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2293                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2294         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2295         .spec_operand = {
2296                 BNXT_ULP_SYM_TL2_HDR_TYPE_IGNORE,
2297                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2298                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2299         },
2300         {
2301         .field_bit_size = 1,
2302         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2303         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2304                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2305         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2306         .spec_operand = {
2307                 BNXT_ULP_SYM_TL2_HDR_VALID_IGNORE,
2308                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2309                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2310         },
2311         {
2312         .field_bit_size = 1,
2313         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2314         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2315                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2316         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2317         .spec_operand = {
2318                 BNXT_ULP_SYM_HREC_NEXT_IGNORE,
2319                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2320                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2321         },
2322         {
2323         .field_bit_size = 9,
2324         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2325         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2326                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2327         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2328         .spec_operand = {
2329                 (BNXT_ULP_SYM_RESERVED_IGNORE >> 8) & 0xff,
2330                 BNXT_ULP_SYM_RESERVED_IGNORE & 0xff,
2331                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2332                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2333         },
2334         {
2335         .field_bit_size = 7,
2336         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2337         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2338                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2339         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_GLB_REGFILE,
2340         .spec_operand = {
2341                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
2342                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
2343                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2344                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2345         },
2346         {
2347         .field_bit_size = 1,
2348         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2349         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2350                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2351         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2352         .spec_operand = {
2353                 BNXT_ULP_SYM_AGG_ERROR_IGNORE,
2354                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2355                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2356         },
2357         {
2358         .field_bit_size = 2,
2359         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2360         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2361                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2362         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2363         .spec_operand = {
2364                 BNXT_ULP_SYM_RECYCLE_CNT_ZERO,
2365                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2366                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2367         },
2368         {
2369         .field_bit_size = 4,
2370         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2371         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2372                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2373         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2374         .spec_operand = {
2375                 BNXT_ULP_SYM_PKT_TYPE_L2,
2376                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2377                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2378         },
2379         {
2380         .field_bit_size = 1,
2381         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2382         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2383                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2384         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2385         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2386                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2387         },
2388         {
2389         .field_bit_size = 251,
2390         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2391         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2392                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2393         .spec_opcode = BNXT_ULP_SPEC_OPC_ADD_PAD,
2394         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2395                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2396         },
2397         {
2398         .field_bit_size = 3,
2399         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2400         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2401                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2402         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2403         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2404                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2405         },
2406         {
2407         .field_bit_size = 16,
2408         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2409         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2410                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2411         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
2412         .spec_operand = {
2413                 (BNXT_ULP_HF1_IDX_O_UDP_DST_PORT >> 8) & 0xff,
2414                 BNXT_ULP_HF1_IDX_O_UDP_DST_PORT & 0xff,
2415                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2416                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2417         },
2418         {
2419         .field_bit_size = 16,
2420         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2421         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2422                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2423         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
2424         .spec_operand = {
2425                 (BNXT_ULP_HF1_IDX_O_UDP_SRC_PORT >> 8) & 0xff,
2426                 BNXT_ULP_HF1_IDX_O_UDP_SRC_PORT & 0xff,
2427                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2428                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2429         },
2430         {
2431         .field_bit_size = 8,
2432         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2433         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2434                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2435         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2436         .spec_operand = {
2437                 BNXT_ULP_SYM_IP_PROTO_UDP,
2438                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2439                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2440         },
2441         {
2442         .field_bit_size = 32,
2443         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2444         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2445                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2446         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
2447         .spec_operand = {
2448                 (BNXT_ULP_HF1_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
2449                 BNXT_ULP_HF1_IDX_O_IPV4_DST_ADDR & 0xff,
2450                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2451                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2452         },
2453         {
2454         .field_bit_size = 32,
2455         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2456         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2457                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2458         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
2459         .spec_operand = {
2460                 (BNXT_ULP_HF1_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,
2461                 BNXT_ULP_HF1_IDX_O_IPV4_SRC_ADDR & 0xff,
2462                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2463                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2464         },
2465         {
2466         .field_bit_size = 48,
2467         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2468         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2469                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2470         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2471         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2472                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2473         },
2474         {
2475         .field_bit_size = 24,
2476         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2477         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2478                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2479         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2480         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2481                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2482         },
2483         {
2484         .field_bit_size = 10,
2485         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2486         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2487                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2488         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_REGFILE,
2489         .spec_operand = {
2490                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
2491                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
2492                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2493                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2494         },
2495         {
2496         .field_bit_size = 8,
2497         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2498         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2499                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2500         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_REGFILE,
2501         .spec_operand = {
2502                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
2503                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
2504                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2505                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2506         },
2507         {
2508         .field_bit_size = 8,
2509         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2510         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2511                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2512         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
2513         .spec_operand = {
2514                 (BNXT_ULP_HF2_IDX_SVIF_INDEX >> 8) & 0xff,
2515                 BNXT_ULP_HF2_IDX_SVIF_INDEX & 0xff,
2516                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2517                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2518         },
2519         {
2520         .field_bit_size = 4,
2521         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2522         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2523                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2524         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2525         .spec_operand = {
2526                 BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
2527                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2528                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2529         },
2530         {
2531         .field_bit_size = 12,
2532         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2533         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2534                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2535         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2536         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2537                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2538         },
2539         {
2540         .field_bit_size = 12,
2541         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2542         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2543                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2544         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2545         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2546                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2547         },
2548         {
2549         .field_bit_size = 48,
2550         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2551         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2552                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2553         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2554         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2555                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2556         },
2557         {
2558         .field_bit_size = 8,
2559         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_HDR_FIELD,
2560         .mask_operand = {
2561                 (BNXT_ULP_HF2_IDX_SVIF_INDEX >> 8) & 0xff,
2562                 BNXT_ULP_HF2_IDX_SVIF_INDEX & 0xff,
2563                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2564                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2565         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
2566         .spec_operand = {
2567                 (BNXT_ULP_HF2_IDX_SVIF_INDEX >> 8) & 0xff,
2568                 BNXT_ULP_HF2_IDX_SVIF_INDEX & 0xff,
2569                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2570                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2571         },
2572         {
2573         .field_bit_size = 4,
2574         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2575         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2576                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2577         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2578         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2579                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2580         },
2581         {
2582         .field_bit_size = 12,
2583         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2584         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2585                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2586         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2587         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2588                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2589         },
2590         {
2591         .field_bit_size = 12,
2592         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2593         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2594                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2595         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2596         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2597                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2598         },
2599         {
2600         .field_bit_size = 48,
2601         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2602         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2603                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2604         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2605         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2606                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2607         },
2608         {
2609         .field_bit_size = 2,
2610         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2611         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2612                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2613         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2614         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2615                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2616         },
2617         {
2618         .field_bit_size = 2,
2619         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2620         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2621                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2622         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2623         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2624                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2625         },
2626         {
2627         .field_bit_size = 4,
2628         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2629         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2630                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2631         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2632         .spec_operand = {
2633                 BNXT_ULP_SYM_TUN_HDR_TYPE_VXLAN,
2634                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2635                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2636         },
2637         {
2638         .field_bit_size = 2,
2639         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2640         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2641                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2642         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2643         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2644                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2645         },
2646         {
2647         .field_bit_size = 1,
2648         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2649         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2650                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2651         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2652         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2653                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2654         },
2655         {
2656         .field_bit_size = 1,
2657         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2658         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2659                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2660         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2661         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2662                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2663         },
2664         {
2665         .field_bit_size = 7,
2666         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2667         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2668                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2669         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_GLB_REGFILE,
2670         .spec_operand = {
2671                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
2672                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
2673                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2674                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2675         },
2676         {
2677         .field_bit_size = 8,
2678         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2679         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2680                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2681         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_REGFILE,
2682         .spec_operand = {
2683                 (BNXT_ULP_REGFILE_INDEX_CLASS_TID >> 8) & 0xff,
2684                 BNXT_ULP_REGFILE_INDEX_CLASS_TID & 0xff,
2685                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2686                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2687         },
2688         {
2689         .field_bit_size = 1,
2690         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2691         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2692                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2693         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2694         .spec_operand = {
2695                 BNXT_ULP_SYM_L4_HDR_IS_UDP_TCP_IGNORE,
2696                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2697                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2698         },
2699         {
2700         .field_bit_size = 4,
2701         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2702         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2703                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2704         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2705         .spec_operand = {
2706                 BNXT_ULP_SYM_L4_HDR_TYPE_UDP,
2707                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2708                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2709         },
2710         {
2711         .field_bit_size = 1,
2712         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2713         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2714                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2715         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2716         .spec_operand = {
2717                 BNXT_ULP_SYM_L4_HDR_ERROR_NO,
2718                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2719                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2720         },
2721         {
2722         .field_bit_size = 1,
2723         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2724         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2725                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2726         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2727         .spec_operand = {
2728                 BNXT_ULP_SYM_L4_HDR_VALID_YES,
2729                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2730                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2731         },
2732         {
2733         .field_bit_size = 1,
2734         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2735         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2736                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2737         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2738         .spec_operand = {
2739                 BNXT_ULP_SYM_L3_IPV6_CMP_DST_IGNORE,
2740                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2741                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2742         },
2743         {
2744         .field_bit_size = 1,
2745         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2746         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2747                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2748         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2749         .spec_operand = {
2750                 BNXT_ULP_SYM_L3_IPV6_CMP_SRC_IGNORE,
2751                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2752                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2753         },
2754         {
2755         .field_bit_size = 1,
2756         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2757         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2758                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2759         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2760         .spec_operand = {
2761                 BNXT_ULP_SYM_L3_HDR_ISIP_IGNORE,
2762                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2763                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2764         },
2765         {
2766         .field_bit_size = 4,
2767         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2768         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2769                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2770         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2771         .spec_operand = {
2772                 BNXT_ULP_SYM_L3_HDR_TYPE_IPV4,
2773                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2774                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2775         },
2776         {
2777         .field_bit_size = 1,
2778         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2779         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2780                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2781         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2782         .spec_operand = {
2783                 BNXT_ULP_SYM_L3_HDR_ERROR_NO,
2784                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2785                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2786         },
2787         {
2788         .field_bit_size = 1,
2789         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2790         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2791                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2792         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2793         .spec_operand = {
2794                 BNXT_ULP_SYM_L3_HDR_VALID_YES,
2795                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2796                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2797         },
2798         {
2799         .field_bit_size = 1,
2800         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2801         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2802                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2803         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2804         .spec_operand = {
2805                 BNXT_ULP_SYM_L2_TWO_VTAGS_IGNORE,
2806                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2807                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2808         },
2809         {
2810         .field_bit_size = 1,
2811         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2812         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2813                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2814         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2815         .spec_operand = {
2816                 BNXT_ULP_SYM_L2_VTAG_PRESENT_IGNORE,
2817                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2818                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2819         },
2820         {
2821         .field_bit_size = 2,
2822         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2823         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2824                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2825         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2826         .spec_operand = {
2827                 BNXT_ULP_SYM_L2_UC_MC_BC_IGNORE,
2828                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2829                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2830         },
2831         {
2832         .field_bit_size = 2,
2833         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2834         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2835                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2836         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2837         .spec_operand = {
2838                 BNXT_ULP_SYM_L2_HDR_TYPE_DIX,
2839                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2840                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2841         },
2842         {
2843         .field_bit_size = 1,
2844         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2845         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2846                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2847         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2848         .spec_operand = {
2849                 BNXT_ULP_SYM_L2_HDR_ERROR_NO,
2850                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2851                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2852         },
2853         {
2854         .field_bit_size = 1,
2855         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2856         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2857                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2858         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2859         .spec_operand = {
2860                 BNXT_ULP_SYM_L2_HDR_VALID_YES,
2861                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2862                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2863         },
2864         {
2865         .field_bit_size = 3,
2866         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2867         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2868                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2869         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2870         .spec_operand = {
2871                 BNXT_ULP_SYM_TUN_HDR_FLAGS_IGNORE,
2872                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2873                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2874         },
2875         {
2876         .field_bit_size = 4,
2877         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2878         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2879                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2880         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2881         .spec_operand = {
2882                 BNXT_ULP_SYM_TUN_HDR_TYPE_VXLAN,
2883                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2884                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2885         },
2886         {
2887         .field_bit_size = 1,
2888         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2889         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2890                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2891         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2892         .spec_operand = {
2893                 BNXT_ULP_SYM_TUN_HDR_ERROR_NO,
2894                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2895                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2896         },
2897         {
2898         .field_bit_size = 1,
2899         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2900         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2901                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2902         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2903         .spec_operand = {
2904                 BNXT_ULP_SYM_TUN_HDR_VALID_YES,
2905                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2906                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2907         },
2908         {
2909         .field_bit_size = 1,
2910         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2911         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2912                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2913         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2914         .spec_operand = {
2915                 BNXT_ULP_SYM_TL4_HDR_IS_UDP_TCP_IGNORE,
2916                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2917                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2918         },
2919         {
2920         .field_bit_size = 4,
2921         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2922         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2923                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2924         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2925         .spec_operand = {
2926                 BNXT_ULP_SYM_TL4_HDR_TYPE_UDP,
2927                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2928                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2929         },
2930         {
2931         .field_bit_size = 1,
2932         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2933         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2934                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2935         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2936         .spec_operand = {
2937                 BNXT_ULP_SYM_TL4_HDR_ERROR_NO,
2938                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2939                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2940         },
2941         {
2942         .field_bit_size = 1,
2943         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2944         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2945                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2946         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2947         .spec_operand = {
2948                 BNXT_ULP_SYM_TL4_HDR_VALID_YES,
2949                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2950                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2951         },
2952         {
2953         .field_bit_size = 1,
2954         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2955         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2956                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2957         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2958         .spec_operand = {
2959                 BNXT_ULP_SYM_TL3_IPV6_CMP_DST_IGNORE,
2960                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2961                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2962         },
2963         {
2964         .field_bit_size = 1,
2965         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2966         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2967                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2968         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2969         .spec_operand = {
2970                 BNXT_ULP_SYM_TL3_IPV6_CMP_SRC_IGNORE,
2971                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2972                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2973         },
2974         {
2975         .field_bit_size = 1,
2976         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2977         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2978                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2979         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2980         .spec_operand = {
2981                 BNXT_ULP_SYM_TL3_HDR_ISIP_IGNORE,
2982                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2983                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2984         },
2985         {
2986         .field_bit_size = 4,
2987         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2988         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2989                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2990         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
2991         .spec_operand = {
2992                 BNXT_ULP_SYM_TL3_HDR_TYPE_IPV4,
2993                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2994                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2995         },
2996         {
2997         .field_bit_size = 1,
2998         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
2999         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3000                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
3001         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3002         .spec_operand = {
3003                 BNXT_ULP_SYM_TL3_HDR_ERROR_NO,
3004                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3005                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3006         },
3007         {
3008         .field_bit_size = 1,
3009         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3010         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3011                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
3012         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3013         .spec_operand = {
3014                 BNXT_ULP_SYM_TL3_HDR_VALID_YES,
3015                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3016                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3017         },
3018         {
3019         .field_bit_size = 1,
3020         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3021         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3022                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3023         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3024         .spec_operand = {
3025                 BNXT_ULP_SYM_TL2_TWO_VTAGS_IGNORE,
3026                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3027                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3028         },
3029         {
3030         .field_bit_size = 1,
3031         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3032         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3033                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3034         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3035         .spec_operand = {
3036                 BNXT_ULP_SYM_TL2_VTAG_PRESENT_IGNORE,
3037                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3038                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3039         },
3040         {
3041         .field_bit_size = 2,
3042         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3043         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3044                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3045         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3046         .spec_operand = {
3047                 BNXT_ULP_SYM_TL2_UC_MC_BC_IGNORE,
3048                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3049                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3050         },
3051         {
3052         .field_bit_size = 2,
3053         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3054         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3055                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
3056         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3057         .spec_operand = {
3058                 BNXT_ULP_SYM_TL2_HDR_TYPE_DIX,
3059                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3060                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3061         },
3062         {
3063         .field_bit_size = 1,
3064         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3065         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3066                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
3067         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3068         .spec_operand = {
3069                 BNXT_ULP_SYM_TL2_HDR_VALID_YES,
3070                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3071                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3072         },
3073         {
3074         .field_bit_size = 1,
3075         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3076         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3077                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3078         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3079         .spec_operand = {
3080                 BNXT_ULP_SYM_HREC_NEXT_IGNORE,
3081                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3082                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3083         },
3084         {
3085         .field_bit_size = 9,
3086         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3087         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3088                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3089         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3090         .spec_operand = {
3091                 (BNXT_ULP_SYM_RESERVED_IGNORE >> 8) & 0xff,
3092                 BNXT_ULP_SYM_RESERVED_IGNORE & 0xff,
3093                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3094                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3095         },
3096         {
3097         .field_bit_size = 7,
3098         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3099         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3100                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
3101         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_GLB_REGFILE,
3102         .spec_operand = {
3103                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
3104                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
3105                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3106                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3107         },
3108         {
3109         .field_bit_size = 1,
3110         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3111         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3112                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3113         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3114         .spec_operand = {
3115                 BNXT_ULP_SYM_AGG_ERROR_IGNORE,
3116                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3117                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3118         },
3119         {
3120         .field_bit_size = 2,
3121         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3122         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3123                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
3124         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3125         .spec_operand = {
3126                 BNXT_ULP_SYM_RECYCLE_CNT_ZERO,
3127                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3128                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3129         },
3130         {
3131         .field_bit_size = 4,
3132         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3133         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3134                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
3135         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3136         .spec_operand = {
3137                 BNXT_ULP_SYM_PKT_TYPE_L2,
3138                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3139                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3140         },
3141         {
3142         .field_bit_size = 1,
3143         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3144         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
3145                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
3146         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3147         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3148                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3149         },
3150         {
3151         .field_bit_size = 251,
3152         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3153         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3154                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3155         .spec_opcode = BNXT_ULP_SPEC_OPC_ADD_PAD,
3156         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3157                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3158         },
3159         {
3160         .field_bit_size = 3,
3161         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3162         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3163                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3164         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3165         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3166                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3167         },
3168         {
3169         .field_bit_size = 16,
3170         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3171         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3172                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3173         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
3174         .spec_operand = {
3175                 (BNXT_ULP_HF2_IDX_I_UDP_DST_PORT >> 8) & 0xff,
3176                 BNXT_ULP_HF2_IDX_I_UDP_DST_PORT & 0xff,
3177                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3178                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3179         },
3180         {
3181         .field_bit_size = 16,
3182         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3183         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3184                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3185         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
3186         .spec_operand = {
3187                 (BNXT_ULP_HF2_IDX_I_UDP_SRC_PORT >> 8) & 0xff,
3188                 BNXT_ULP_HF2_IDX_I_UDP_SRC_PORT & 0xff,
3189                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3190                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3191         },
3192         {
3193         .field_bit_size = 8,
3194         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3195         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3196                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3197         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3198         .spec_operand = {
3199                 BNXT_ULP_SYM_IP_PROTO_UDP,
3200                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3201                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3202         },
3203         {
3204         .field_bit_size = 32,
3205         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3206         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3207                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3208         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
3209         .spec_operand = {
3210                 (BNXT_ULP_HF2_IDX_I_IPV4_DST_ADDR >> 8) & 0xff,
3211                 BNXT_ULP_HF2_IDX_I_IPV4_DST_ADDR & 0xff,
3212                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3213                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3214         },
3215         {
3216         .field_bit_size = 32,
3217         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3218         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3219                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3220         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_HDR_FIELD,
3221         .spec_operand = {
3222                 (BNXT_ULP_HF2_IDX_I_IPV4_SRC_ADDR >> 8) & 0xff,
3223                 BNXT_ULP_HF2_IDX_I_IPV4_SRC_ADDR & 0xff,
3224                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3225                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3226         },
3227         {
3228         .field_bit_size = 48,
3229         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3230         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3231                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3232         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3233         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3234                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3235         },
3236         {
3237         .field_bit_size = 24,
3238         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3239         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3240                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3241         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_CONSTANT,
3242         .spec_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3243                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3244         },
3245         {
3246         .field_bit_size = 10,
3247         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3248         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3249                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3250         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_REGFILE,
3251         .spec_operand = {
3252                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
3253                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
3254                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3255                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3256         },
3257         {
3258         .field_bit_size = 8,
3259         .mask_opcode = BNXT_ULP_MASK_OPC_SET_TO_CONSTANT,
3260         .mask_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3261                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
3262         .spec_opcode = BNXT_ULP_SPEC_OPC_SET_TO_REGFILE,
3263         .spec_operand = {
3264                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
3265                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
3266                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3267                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3268         }
3269 };
3270
3271 struct bnxt_ulp_mapper_result_field_info ulp_class_result_field_list[] = {
3272         {
3273         .field_bit_size = 10,
3274         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_REGFILE,
3275         .result_operand = {
3276                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
3277                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
3278                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3279                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3280         },
3281         {
3282         .field_bit_size = 10,
3283         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_REGFILE,
3284         .result_operand = {
3285                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
3286                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
3287                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3288                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3289         },
3290         {
3291         .field_bit_size = 7,
3292         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_GLB_REGFILE,
3293         .result_operand = {
3294                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
3295                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
3296                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3297                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3298         },
3299         {
3300         .field_bit_size = 1,
3301         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3302         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3303                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3304         },
3305         {
3306         .field_bit_size = 4,
3307         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3308         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3309                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3310         },
3311         {
3312         .field_bit_size = 8,
3313         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3314         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3315                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3316         },
3317         {
3318         .field_bit_size = 3,
3319         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3320         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3321                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3322         },
3323         {
3324         .field_bit_size = 6,
3325         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3326         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3327                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3328         },
3329         {
3330         .field_bit_size = 3,
3331         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3332         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3333                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3334         },
3335         {
3336         .field_bit_size = 1,
3337         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3338         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3339                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3340         },
3341         {
3342         .field_bit_size = 16,
3343         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3344         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3345                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3346         },
3347         {
3348         .field_bit_size = 1,
3349         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3350         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3351                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3352         },
3353         {
3354         .field_bit_size = 2,
3355         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3356         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3357                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3358         },
3359         {
3360         .field_bit_size = 2,
3361         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3362         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3363                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3364         },
3365         {
3366         .field_bit_size = 10,
3367         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_REGFILE,
3368         .result_operand = {
3369                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
3370                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
3371                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3372                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3373         },
3374         {
3375         .field_bit_size = 4,
3376         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3377         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3378                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3379         },
3380         {
3381         .field_bit_size = 8,
3382         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3383         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3384                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3385         },
3386         {
3387         .field_bit_size = 1,
3388         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3389         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3390                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3391         },
3392         {
3393         .field_bit_size = 10,
3394         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3395         .result_operand = {
3396                 (0x00f9 >> 8) & 0xff,
3397                 0x00f9 & 0xff,
3398                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3399                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3400         },
3401         {
3402         .field_bit_size = 5,
3403         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3404         .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
3405                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3406         },
3407         {
3408         .field_bit_size = 8,
3409         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_REGFILE,
3410         .result_operand = {
3411                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
3412                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
3413                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3414                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3415         },
3416         {
3417         .field_bit_size = 1,
3418         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3419         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3420                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3421         },
3422         {
3423         .field_bit_size = 1,
3424         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3425         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3426                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3427         },
3428         {
3429         .field_bit_size = 33,
3430         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_REGFILE,
3431         .result_operand = {
3432                 (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
3433                 BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
3434                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3435                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3436         },
3437         {
3438         .field_bit_size = 1,
3439         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3440         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3441                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3442         },
3443         {
3444         .field_bit_size = 1,
3445         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3446         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3447                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3448         },
3449         {
3450         .field_bit_size = 5,
3451         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3452         .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
3453                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3454         },
3455         {
3456         .field_bit_size = 9,
3457         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3458         .result_operand = {
3459                 (0x00c5 >> 8) & 0xff,
3460                 0x00c5 & 0xff,
3461                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3462                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3463         },
3464         {
3465         .field_bit_size = 11,
3466         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3467         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3468                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3469         },
3470         {
3471         .field_bit_size = 2,
3472         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3473         .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
3474                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3475         },
3476         {
3477         .field_bit_size = 1,
3478         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3479         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3480                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3481         },
3482         {
3483         .field_bit_size = 1,
3484         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3485         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3486                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3487         },
3488         {
3489         .field_bit_size = 10,
3490         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_REGFILE,
3491         .result_operand = {
3492                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
3493                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
3494                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3495                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3496         },
3497         {
3498         .field_bit_size = 10,
3499         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_REGFILE,
3500         .result_operand = {
3501                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
3502                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
3503                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3504                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3505         },
3506         {
3507         .field_bit_size = 7,
3508         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_GLB_REGFILE,
3509         .result_operand = {
3510                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
3511                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
3512                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3513                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3514         },
3515         {
3516         .field_bit_size = 1,
3517         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3518         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3519                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3520         },
3521         {
3522         .field_bit_size = 4,
3523         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3524         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3525                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3526         },
3527         {
3528         .field_bit_size = 8,
3529         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3530         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3531                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3532         },
3533         {
3534         .field_bit_size = 3,
3535         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3536         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3537                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3538         },
3539         {
3540         .field_bit_size = 6,
3541         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3542         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3543                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3544         },
3545         {
3546         .field_bit_size = 3,
3547         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3548         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3549                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3550         },
3551         {
3552         .field_bit_size = 1,
3553         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3554         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3555                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3556         },
3557         {
3558         .field_bit_size = 16,
3559         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3560         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3561                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3562         },
3563         {
3564         .field_bit_size = 1,
3565         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3566         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3567                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3568         },
3569         {
3570         .field_bit_size = 2,
3571         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3572         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3573                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3574         },
3575         {
3576         .field_bit_size = 2,
3577         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3578         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3579                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3580         },
3581         {
3582         .field_bit_size = 10,
3583         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_REGFILE,
3584         .result_operand = {
3585                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
3586                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
3587                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3588                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3589         },
3590         {
3591         .field_bit_size = 4,
3592         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3593         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3594                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3595         },
3596         {
3597         .field_bit_size = 8,
3598         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3599         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3600                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3601         },
3602         {
3603         .field_bit_size = 1,
3604         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3605         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3606                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3607         },
3608         {
3609         .field_bit_size = 10,
3610         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3611         .result_operand = {
3612                 (0x00f9 >> 8) & 0xff,
3613                 0x00f9 & 0xff,
3614                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3615                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3616         },
3617         {
3618         .field_bit_size = 5,
3619         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3620         .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
3621                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3622         },
3623         {
3624         .field_bit_size = 8,
3625         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_REGFILE,
3626         .result_operand = {
3627                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
3628                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
3629                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3630                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3631         },
3632         {
3633         .field_bit_size = 1,
3634         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3635         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3636                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3637         },
3638         {
3639         .field_bit_size = 1,
3640         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3641         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3642                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3643         },
3644         {
3645         .field_bit_size = 33,
3646         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_REGFILE,
3647         .result_operand = {
3648                 (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
3649                 BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
3650                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3651                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3652         },
3653         {
3654         .field_bit_size = 1,
3655         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3656         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3657                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3658         },
3659         {
3660         .field_bit_size = 1,
3661         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3662         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3663                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3664         },
3665         {
3666         .field_bit_size = 5,
3667         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3668         .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
3669                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3670         },
3671         {
3672         .field_bit_size = 9,
3673         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3674         .result_operand = {
3675                 (0x00c5 >> 8) & 0xff,
3676                 0x00c5 & 0xff,
3677                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3678                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3679         },
3680         {
3681         .field_bit_size = 11,
3682         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3683         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3684                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3685         },
3686         {
3687         .field_bit_size = 2,
3688         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3689         .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
3690                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3691         },
3692         {
3693         .field_bit_size = 1,
3694         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3695         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3696                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3697         },
3698         {
3699         .field_bit_size = 1,
3700         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3701         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3702                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3703         },
3704         {
3705         .field_bit_size = 10,
3706         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_REGFILE,
3707         .result_operand = {
3708                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
3709                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
3710                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3711                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3712         },
3713         {
3714         .field_bit_size = 10,
3715         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_REGFILE,
3716         .result_operand = {
3717                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
3718                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
3719                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3720                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3721         },
3722         {
3723         .field_bit_size = 7,
3724         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_GLB_REGFILE,
3725         .result_operand = {
3726                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
3727                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
3728                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3729                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3730         },
3731         {
3732         .field_bit_size = 1,
3733         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3734         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3735                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3736         },
3737         {
3738         .field_bit_size = 4,
3739         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3740         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3741                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3742         },
3743         {
3744         .field_bit_size = 8,
3745         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3746         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3747                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3748         },
3749         {
3750         .field_bit_size = 3,
3751         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3752         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3753                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3754         },
3755         {
3756         .field_bit_size = 6,
3757         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3758         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3759                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3760         },
3761         {
3762         .field_bit_size = 3,
3763         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3764         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3765                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3766         },
3767         {
3768         .field_bit_size = 1,
3769         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3770         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3771                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3772         },
3773         {
3774         .field_bit_size = 16,
3775         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3776         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3777                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3778         },
3779         {
3780         .field_bit_size = 1,
3781         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3782         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3783                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3784         },
3785         {
3786         .field_bit_size = 2,
3787         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3788         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3789                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3790         },
3791         {
3792         .field_bit_size = 2,
3793         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3794         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3795                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3796         },
3797         {
3798         .field_bit_size = 10,
3799         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_REGFILE,
3800         .result_operand = {
3801                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
3802                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
3803                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3804                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3805         },
3806         {
3807         .field_bit_size = 4,
3808         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3809         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3810                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3811         },
3812         {
3813         .field_bit_size = 8,
3814         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3815         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3816                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3817         },
3818         {
3819         .field_bit_size = 1,
3820         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3821         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3822                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3823         },
3824         {
3825         .field_bit_size = 10,
3826         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3827         .result_operand = {
3828                 (0x00f9 >> 8) & 0xff,
3829                 0x00f9 & 0xff,
3830                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3831                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3832         },
3833         {
3834         .field_bit_size = 5,
3835         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3836         .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
3837                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3838         },
3839         {
3840         .field_bit_size = 8,
3841         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_REGFILE,
3842         .result_operand = {
3843                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
3844                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
3845                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3846                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3847         },
3848         {
3849         .field_bit_size = 1,
3850         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3851         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3852                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3853         },
3854         {
3855         .field_bit_size = 1,
3856         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3857         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3858                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3859         },
3860         {
3861         .field_bit_size = 33,
3862         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_REGFILE,
3863         .result_operand = {
3864                 (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
3865                 BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
3866                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3867                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3868         },
3869         {
3870         .field_bit_size = 1,
3871         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3872         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3873                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3874         },
3875         {
3876         .field_bit_size = 1,
3877         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3878         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3879                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3880         },
3881         {
3882         .field_bit_size = 5,
3883         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3884         .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
3885                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3886         },
3887         {
3888         .field_bit_size = 9,
3889         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3890         .result_operand = {
3891                 (0x00c5 >> 8) & 0xff,
3892                 0x00c5 & 0xff,
3893                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3894                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3895         },
3896         {
3897         .field_bit_size = 11,
3898         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3899         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3900                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3901         },
3902         {
3903         .field_bit_size = 2,
3904         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3905         .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
3906                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3907         },
3908         {
3909         .field_bit_size = 1,
3910         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3911         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3912                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3913         },
3914         {
3915         .field_bit_size = 1,
3916         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
3917         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3918                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3919         }
3920 };
3921
3922 struct bnxt_ulp_mapper_ident_info ulp_ident_list[] = {
3923         {
3924         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3925         .ident_type = TF_IDENT_TYPE_L2_CTXT,
3926         .regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
3927         .ident_bit_size = 10,
3928         .ident_bit_pos = 0
3929         },
3930         {
3931         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3932         .ident_type = TF_IDENT_TYPE_EM_PROF,
3933         .regfile_idx = BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0,
3934         .ident_bit_size = 10,
3935         .ident_bit_pos = 0
3936         },
3937         {
3938         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3939         .ident_type = TF_IDENT_TYPE_L2_CTXT,
3940         .regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
3941         .ident_bit_size = 10,
3942         .ident_bit_pos = 0
3943         },
3944         {
3945         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3946         .ident_type = TF_IDENT_TYPE_EM_PROF,
3947         .regfile_idx = BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0,
3948         .ident_bit_size = 10,
3949         .ident_bit_pos = 0
3950         },
3951         {
3952         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3953         .ident_type = TF_IDENT_TYPE_L2_CTXT,
3954         .regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
3955         .ident_bit_size = 10,
3956         .ident_bit_pos = 0
3957         },
3958         {
3959         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
3960         .ident_type = TF_IDENT_TYPE_EM_PROF,
3961         .regfile_idx = BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0,
3962         .ident_bit_size = 10,
3963         .ident_bit_pos = 0
3964         }
3965 };
3966
3967 struct bnxt_ulp_mapper_tbl_list_info ulp_act_tmpl_list[] = {
3968         [((0 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
3969                 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
3970         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
3971         .num_tbls = 1,
3972         .start_tbl_idx = 0
3973         },
3974         [((1 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
3975                 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
3976         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
3977         .num_tbls = 1,
3978         .start_tbl_idx = 1
3979         },
3980         [((2 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
3981                 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
3982         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
3983         .num_tbls = 1,
3984         .start_tbl_idx = 2
3985         }
3986 };
3987
3988 struct bnxt_ulp_mapper_tbl_info ulp_act_tbl_list[] = {
3989         {
3990         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
3991         .resource_type = TF_TBL_TYPE_EXT,
3992         .resource_sub_type =
3993                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
3994         .direction = TF_DIR_RX,
3995         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
3996         .result_start_idx = 0,
3997         .result_bit_size = 128,
3998         .result_num_fields = 26,
3999         .encap_num_fields = 0,
4000         .regfile_idx = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
4001         },
4002         {
4003         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
4004         .resource_type = TF_TBL_TYPE_EXT,
4005         .resource_sub_type =
4006                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
4007         .direction = TF_DIR_TX,
4008         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
4009         .result_start_idx = 26,
4010         .result_bit_size = 128,
4011         .result_num_fields = 26,
4012         .encap_num_fields = 12,
4013         .regfile_idx = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
4014         },
4015         {
4016         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
4017         .resource_type = TF_TBL_TYPE_EXT,
4018         .resource_sub_type =
4019                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
4020         .direction = TF_DIR_RX,
4021         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
4022         .result_start_idx = 64,
4023         .result_bit_size = 128,
4024         .result_num_fields = 26,
4025         .encap_num_fields = 0,
4026         .regfile_idx = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
4027         }
4028 };
4029
4030 struct bnxt_ulp_mapper_result_field_info ulp_act_result_field_list[] = {
4031         {
4032         .field_bit_size = 14,
4033         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4034         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4035                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4036         },
4037         {
4038         .field_bit_size = 1,
4039         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4040         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4041                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4042         },
4043         {
4044         .field_bit_size = 1,
4045         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4046         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4047                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4048         },
4049         {
4050         .field_bit_size = 1,
4051         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4052         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4053                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4054         },
4055         {
4056         .field_bit_size = 1,
4057         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4058         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4059                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4060         },
4061         {
4062         .field_bit_size = 1,
4063         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4064         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4065                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4066         },
4067         {
4068         .field_bit_size = 8,
4069         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4070         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4071                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4072         },
4073         {
4074         .field_bit_size = 1,
4075         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4076         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4077                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4078         },
4079         {
4080         .field_bit_size = 1,
4081         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4082         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4083                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4084         },
4085         {
4086         .field_bit_size = 11,
4087         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4088         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4089                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4090         },
4091         {
4092         .field_bit_size = 1,
4093         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4094         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4095                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4096         },
4097         {
4098         .field_bit_size = 10,
4099         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4100         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4101                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4102         },
4103         {
4104         .field_bit_size = 16,
4105         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4106         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4107                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4108         },
4109         {
4110         .field_bit_size = 10,
4111         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4112         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4113                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4114         },
4115         {
4116         .field_bit_size = 16,
4117         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4118         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4119                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4120         },
4121         {
4122         .field_bit_size = 10,
4123         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4124         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4125                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4126         },
4127         {
4128         .field_bit_size = 1,
4129         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4130         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4131                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4132         },
4133         {
4134         .field_bit_size = 1,
4135         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4136         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4137                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4138         },
4139         {
4140         .field_bit_size = 1,
4141         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4142         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4143                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4144         },
4145         {
4146         .field_bit_size = 1,
4147         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4148         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4149                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4150         },
4151         {
4152         .field_bit_size = 4,
4153         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4154         .result_operand = {
4155                 BNXT_ULP_SYM_DECAP_FUNC_THRU_TUN,
4156                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4157                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4158         },
4159         {
4160         .field_bit_size = 12,
4161         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_ACT_PROP,
4162         .result_operand = {
4163                 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
4164                 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
4165                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4166                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4167         },
4168         {
4169         .field_bit_size = 1,
4170         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4171         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4172                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4173         },
4174         {
4175         .field_bit_size = 1,
4176         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4177         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4178                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4179         },
4180         {
4181         .field_bit_size = 2,
4182         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4183         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4184                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4185         },
4186         {
4187         .field_bit_size = 1,
4188         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4189         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4190                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4191         },
4192         {
4193         .field_bit_size = 14,
4194         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4195         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4196                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4197         },
4198         {
4199         .field_bit_size = 1,
4200         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4201         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4202                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4203         },
4204         {
4205         .field_bit_size = 1,
4206         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4207         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4208                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4209         },
4210         {
4211         .field_bit_size = 1,
4212         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4213         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4214                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4215         },
4216         {
4217         .field_bit_size = 1,
4218         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4219         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4220                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4221         },
4222         {
4223         .field_bit_size = 1,
4224         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4225         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4226                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4227         },
4228         {
4229         .field_bit_size = 8,
4230         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4231         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4232                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4233         },
4234         {
4235         .field_bit_size = 1,
4236         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4237         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4238                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4239         },
4240         {
4241         .field_bit_size = 1,
4242         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4243         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4244                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4245         },
4246         {
4247         .field_bit_size = 11,
4248         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4249         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4250                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4251         },
4252         {
4253         .field_bit_size = 1,
4254         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4255         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4256                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4257         },
4258         {
4259         .field_bit_size = 10,
4260         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4261         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4262                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4263         },
4264         {
4265         .field_bit_size = 16,
4266         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4267         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4268                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4269         },
4270         {
4271         .field_bit_size = 10,
4272         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4273         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4274                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4275         },
4276         {
4277         .field_bit_size = 16,
4278         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4279         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4280                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4281         },
4282         {
4283         .field_bit_size = 10,
4284         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4285         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4286                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4287         },
4288         {
4289         .field_bit_size = 1,
4290         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4291         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4292                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4293         },
4294         {
4295         .field_bit_size = 1,
4296         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4297         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4298                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4299         },
4300         {
4301         .field_bit_size = 1,
4302         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4303         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4304                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4305         },
4306         {
4307         .field_bit_size = 1,
4308         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4309         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4310                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4311         },
4312         {
4313         .field_bit_size = 4,
4314         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4315         .result_operand = {
4316                 BNXT_ULP_SYM_DECAP_FUNC_NONE,
4317                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4318                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4319         },
4320         {
4321         .field_bit_size = 12,
4322         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_ACT_PROP,
4323         .result_operand = {
4324                 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
4325                 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
4326                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4327                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4328         },
4329         {
4330         .field_bit_size = 1,
4331         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4332         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4333                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4334         },
4335         {
4336         .field_bit_size = 1,
4337         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4338         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4339                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4340         },
4341         {
4342         .field_bit_size = 2,
4343         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4344         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4345                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4346         },
4347         {
4348         .field_bit_size = 1,
4349         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4350         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4351                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4352         },
4353         {
4354         .field_bit_size = 3,
4355         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4356         .result_operand = {
4357                 BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,
4358                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4359                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4360         },
4361         {
4362         .field_bit_size = 3,
4363         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4364         .result_operand = {
4365                 BNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,
4366                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4367                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4368         },
4369         {
4370         .field_bit_size = 3,
4371         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_ACT_PROP,
4372         .result_operand = {
4373                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
4374                 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,
4375                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4376                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4377         },
4378         {
4379         .field_bit_size = 1,
4380         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4381         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
4382                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4383         },
4384         {
4385         .field_bit_size = 4,
4386         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_ACT_PROP,
4387         .result_operand = {
4388                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
4389                 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,
4390                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4391                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4392         },
4393         {
4394         .field_bit_size = 1,
4395         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4396         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4397                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4398         },
4399         {
4400         .field_bit_size = 1,
4401         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4402         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
4403                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4404         },
4405         {
4406         .field_bit_size = 48,
4407         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_ACT_PROP,
4408         .result_operand = {
4409                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
4410                 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,
4411                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4412                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4413         },
4414         {
4415         .field_bit_size = 0,
4416         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
4417         .result_operand = {
4418                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
4419                 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
4420                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
4421                 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,
4422                 0x00, 0x00, 0x00, 0x00, 0x00,
4423                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4424         },
4425         {
4426         .field_bit_size = 0,
4427         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
4428         .result_operand = {
4429                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
4430                 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
4431                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
4432                 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,
4433                 0x00, 0x00, 0x00, 0x00, 0x00,
4434                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4435         },
4436         {
4437         .field_bit_size = 32,
4438         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_ACT_PROP,
4439         .result_operand = {
4440                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
4441                 BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,
4442                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4443                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4444         },
4445         {
4446         .field_bit_size = 0,
4447         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
4448         .result_operand = {
4449                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
4450                 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,
4451                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,
4452                 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,
4453                 0x00, 0x00, 0x00, 0x00, 0x00,
4454                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4455         },
4456         {
4457         .field_bit_size = 14,
4458         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4459         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4460                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4461         },
4462         {
4463         .field_bit_size = 1,
4464         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4465         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4466                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4467         },
4468         {
4469         .field_bit_size = 1,
4470         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4471         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4472                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4473         },
4474         {
4475         .field_bit_size = 1,
4476         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4477         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4478                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4479         },
4480         {
4481         .field_bit_size = 1,
4482         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4483         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4484                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4485         },
4486         {
4487         .field_bit_size = 1,
4488         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4489         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4490                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4491         },
4492         {
4493         .field_bit_size = 8,
4494         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4495         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4496                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4497         },
4498         {
4499         .field_bit_size = 1,
4500         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4501         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4502                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4503         },
4504         {
4505         .field_bit_size = 1,
4506         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4507         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4508                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4509         },
4510         {
4511         .field_bit_size = 11,
4512         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4513         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4514                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4515         },
4516         {
4517         .field_bit_size = 1,
4518         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4519         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4520                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4521         },
4522         {
4523         .field_bit_size = 10,
4524         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4525         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4526                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4527         },
4528         {
4529         .field_bit_size = 16,
4530         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4531         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4532                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4533         },
4534         {
4535         .field_bit_size = 10,
4536         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4537         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4538                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4539         },
4540         {
4541         .field_bit_size = 16,
4542         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4543         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4544                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4545         },
4546         {
4547         .field_bit_size = 10,
4548         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4549         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4550                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4551         },
4552         {
4553         .field_bit_size = 1,
4554         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4555         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4556                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4557         },
4558         {
4559         .field_bit_size = 1,
4560         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4561         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4562                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4563         },
4564         {
4565         .field_bit_size = 1,
4566         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4567         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4568                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4569         },
4570         {
4571         .field_bit_size = 1,
4572         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4573         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4574                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4575         },
4576         {
4577         .field_bit_size = 4,
4578         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4579         .result_operand = {
4580                 BNXT_ULP_SYM_DECAP_FUNC_NONE,
4581                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4582                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4583         },
4584         {
4585         .field_bit_size = 12,
4586         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_ACT_PROP,
4587         .result_operand = {
4588                 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
4589                 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
4590                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4591                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4592         },
4593         {
4594         .field_bit_size = 1,
4595         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4596         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4597                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4598         },
4599         {
4600         .field_bit_size = 1,
4601         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4602         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4603                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4604         },
4605         {
4606         .field_bit_size = 2,
4607         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4608         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4609                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4610         },
4611         {
4612         .field_bit_size = 1,
4613         .result_opcode = BNXT_ULP_RESULT_OPC_SET_TO_CONSTANT,
4614         .result_operand = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
4615                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
4616         }
4617 };