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