net/bnxt: refactor mapper opcodes
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_template_db_class.c
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2014-2020 Broadcom
3  * All rights reserved.
4  */
5
6 #include "ulp_template_db_enum.h"
7 #include "ulp_template_db_field.h"
8 #include "ulp_template_struct.h"
9 #include "ulp_rte_parser.h"
10
11 uint16_t ulp_class_sig_tbl[BNXT_ULP_CLASS_SIG_TBL_MAX_SZ] = {
12         [BNXT_ULP_CLASS_HID_0080] = 1,
13         [BNXT_ULP_CLASS_HID_0000] = 2,
14         [BNXT_ULP_CLASS_HID_0087] = 3
15 };
16
17 struct bnxt_ulp_class_match_info ulp_class_match_list[] = {
18         [1] = {
19         .class_hid = BNXT_ULP_CLASS_HID_0080,
20         .hdr_sig = { .bits =
21                 BNXT_ULP_HDR_BIT_O_ETH |
22                 BNXT_ULP_HDR_BIT_O_IPV4 |
23                 BNXT_ULP_HDR_BIT_O_UDP |
24                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
25         .field_sig = { .bits =
26                 BNXT_ULP_HF0_BITMASK_O_IPV4_SRC_ADDR |
27                 BNXT_ULP_HF0_BITMASK_O_IPV4_DST_ADDR |
28                 BNXT_ULP_HF0_BITMASK_O_UDP_SRC_PORT |
29                 BNXT_ULP_HF0_BITMASK_O_UDP_DST_PORT |
30                 BNXT_ULP_MATCH_TYPE_BITMASK_EM },
31         .class_tid = 0,
32         .act_vnic = 0,
33         .wc_pri = 0
34         },
35         [2] = {
36         .class_hid = BNXT_ULP_CLASS_HID_0000,
37         .hdr_sig = { .bits =
38                 BNXT_ULP_HDR_BIT_O_ETH |
39                 BNXT_ULP_HDR_BIT_O_IPV4 |
40                 BNXT_ULP_HDR_BIT_O_UDP |
41                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
42         .field_sig = { .bits =
43                 BNXT_ULP_HF1_BITMASK_O_IPV4_SRC_ADDR |
44                 BNXT_ULP_HF1_BITMASK_O_IPV4_DST_ADDR |
45                 BNXT_ULP_HF1_BITMASK_O_UDP_SRC_PORT |
46                 BNXT_ULP_HF1_BITMASK_O_UDP_DST_PORT |
47                 BNXT_ULP_MATCH_TYPE_BITMASK_EM },
48         .class_tid = 1,
49         .act_vnic = 0,
50         .wc_pri = 0
51         },
52         [3] = {
53         .class_hid = BNXT_ULP_CLASS_HID_0087,
54         .hdr_sig = { .bits =
55                 BNXT_ULP_HDR_BIT_O_ETH |
56                 BNXT_ULP_HDR_BIT_O_IPV4 |
57                 BNXT_ULP_HDR_BIT_O_UDP |
58                 BNXT_ULP_HDR_BIT_T_VXLAN |
59                 BNXT_ULP_HDR_BIT_I_ETH |
60                 BNXT_ULP_HDR_BIT_I_IPV4 |
61                 BNXT_ULP_HDR_BIT_I_UDP |
62                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
63         .field_sig = { .bits =
64                 BNXT_ULP_HF2_BITMASK_I_IPV4_SRC_ADDR |
65                 BNXT_ULP_HF2_BITMASK_I_IPV4_DST_ADDR |
66                 BNXT_ULP_HF2_BITMASK_I_UDP_SRC_PORT |
67                 BNXT_ULP_HF2_BITMASK_I_UDP_DST_PORT |
68                 BNXT_ULP_MATCH_TYPE_BITMASK_EM },
69         .class_tid = 2,
70         .act_vnic = 0,
71         .wc_pri = 0
72         }
73 };
74
75 struct bnxt_ulp_mapper_tbl_list_info ulp_class_tmpl_list[] = {
76         [((0 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
77                 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
78         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
79         .num_tbls = 5,
80         .start_tbl_idx = 0
81         },
82         [((1 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
83                 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
84         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
85         .num_tbls = 5,
86         .start_tbl_idx = 5
87         },
88         [((2 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
89                 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
90         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
91         .num_tbls = 5,
92         .start_tbl_idx = 10
93         }
94 };
95
96 struct bnxt_ulp_mapper_tbl_info ulp_class_tbl_list[] = {
97         {
98         .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
99         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
100         .resource_sub_type =
101                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
102         .direction = TF_DIR_RX,
103         .priority = BNXT_ULP_PRIORITY_NOT_USED,
104         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
105         .key_start_idx = 0,
106         .blob_key_bit_size = 12,
107         .key_bit_size = 12,
108         .key_num_fields = 2,
109         .result_start_idx = 0,
110         .result_bit_size = 10,
111         .result_num_fields = 1,
112         .encap_num_fields = 0,
113         .ident_start_idx = 0,
114         .ident_nums = 1,
115         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
116         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
117         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
118         },
119         {
120         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
121         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
122         .resource_sub_type =
123                 BNXT_ULP_RESOURCE_SUB_TYPE_NOT_USED,
124         .direction = TF_DIR_RX,
125         .priority = BNXT_ULP_PRIORITY_LEVEL_0,
126         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
127         .key_start_idx = 2,
128         .blob_key_bit_size = 167,
129         .key_bit_size = 167,
130         .key_num_fields = 13,
131         .result_start_idx = 1,
132         .result_bit_size = 64,
133         .result_num_fields = 13,
134         .encap_num_fields = 0,
135         .ident_start_idx = 1,
136         .ident_nums = 0,
137         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
138         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
139         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
140         },
141         {
142         .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
143         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
144         .resource_sub_type =
145                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
146         .direction = TF_DIR_RX,
147         .priority = BNXT_ULP_PRIORITY_NOT_USED,
148         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
149         .key_start_idx = 15,
150         .blob_key_bit_size = 16,
151         .key_bit_size = 16,
152         .key_num_fields = 3,
153         .result_start_idx = 14,
154         .result_bit_size = 10,
155         .result_num_fields = 1,
156         .encap_num_fields = 0,
157         .ident_start_idx = 1,
158         .ident_nums = 1,
159         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
160         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
161         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
162         },
163         {
164         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
165         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
166         .resource_sub_type =
167                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
168         .direction = TF_DIR_RX,
169         .priority = BNXT_ULP_PRIORITY_LEVEL_0,
170         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
171         .key_start_idx = 18,
172         .blob_key_bit_size = 81,
173         .key_bit_size = 81,
174         .key_num_fields = 42,
175         .result_start_idx = 15,
176         .result_bit_size = 38,
177         .result_num_fields = 8,
178         .encap_num_fields = 0,
179         .ident_start_idx = 2,
180         .ident_nums = 0,
181         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
182         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
183         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
184         },
185         {
186         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
187         .resource_type = TF_MEM_EXTERNAL,
188         .resource_sub_type =
189                 BNXT_ULP_RESOURCE_SUB_TYPE_NOT_USED,
190         .direction = TF_DIR_RX,
191         .priority = BNXT_ULP_PRIORITY_NOT_USED,
192         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
193         .key_start_idx = 60,
194         .blob_key_bit_size = 448,
195         .key_bit_size = 448,
196         .key_num_fields = 11,
197         .result_start_idx = 23,
198         .result_bit_size = 64,
199         .result_num_fields = 9,
200         .encap_num_fields = 0,
201         .ident_start_idx = 2,
202         .ident_nums = 0,
203         .mark_enable = BNXT_ULP_MARK_ENABLE_YES,
204         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
205         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
206         },
207         {
208         .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
209         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
210         .resource_sub_type =
211                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
212         .direction = TF_DIR_TX,
213         .priority = BNXT_ULP_PRIORITY_NOT_USED,
214         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
215         .key_start_idx = 71,
216         .blob_key_bit_size = 12,
217         .key_bit_size = 12,
218         .key_num_fields = 2,
219         .result_start_idx = 32,
220         .result_bit_size = 10,
221         .result_num_fields = 1,
222         .encap_num_fields = 0,
223         .ident_start_idx = 2,
224         .ident_nums = 1,
225         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
226         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
227         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
228         },
229         {
230         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
231         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
232         .resource_sub_type =
233                 BNXT_ULP_RESOURCE_SUB_TYPE_NOT_USED,
234         .direction = TF_DIR_TX,
235         .priority = BNXT_ULP_PRIORITY_LEVEL_0,
236         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
237         .key_start_idx = 73,
238         .blob_key_bit_size = 167,
239         .key_bit_size = 167,
240         .key_num_fields = 13,
241         .result_start_idx = 33,
242         .result_bit_size = 64,
243         .result_num_fields = 13,
244         .encap_num_fields = 0,
245         .ident_start_idx = 3,
246         .ident_nums = 0,
247         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
248         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
249         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
250         },
251         {
252         .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
253         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
254         .resource_sub_type =
255                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
256         .direction = TF_DIR_TX,
257         .priority = BNXT_ULP_PRIORITY_NOT_USED,
258         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
259         .key_start_idx = 86,
260         .blob_key_bit_size = 16,
261         .key_bit_size = 16,
262         .key_num_fields = 3,
263         .result_start_idx = 46,
264         .result_bit_size = 10,
265         .result_num_fields = 1,
266         .encap_num_fields = 0,
267         .ident_start_idx = 3,
268         .ident_nums = 1,
269         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
270         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
271         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
272         },
273         {
274         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
275         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
276         .resource_sub_type =
277                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
278         .direction = TF_DIR_TX,
279         .priority = BNXT_ULP_PRIORITY_LEVEL_0,
280         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
281         .key_start_idx = 89,
282         .blob_key_bit_size = 81,
283         .key_bit_size = 81,
284         .key_num_fields = 42,
285         .result_start_idx = 47,
286         .result_bit_size = 38,
287         .result_num_fields = 8,
288         .encap_num_fields = 0,
289         .ident_start_idx = 4,
290         .ident_nums = 0,
291         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
292         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
293         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
294         },
295         {
296         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
297         .resource_type = TF_MEM_EXTERNAL,
298         .resource_sub_type =
299                 BNXT_ULP_RESOURCE_SUB_TYPE_NOT_USED,
300         .direction = TF_DIR_TX,
301         .priority = BNXT_ULP_PRIORITY_NOT_USED,
302         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
303         .key_start_idx = 131,
304         .blob_key_bit_size = 448,
305         .key_bit_size = 448,
306         .key_num_fields = 11,
307         .result_start_idx = 55,
308         .result_bit_size = 64,
309         .result_num_fields = 9,
310         .encap_num_fields = 0,
311         .ident_start_idx = 4,
312         .ident_nums = 0,
313         .mark_enable = BNXT_ULP_MARK_ENABLE_YES,
314         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
315         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
316         },
317         {
318         .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
319         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
320         .resource_sub_type =
321                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_L2_CNTXT_TCAM,
322         .direction = TF_DIR_RX,
323         .priority = BNXT_ULP_PRIORITY_NOT_USED,
324         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
325         .key_start_idx = 142,
326         .blob_key_bit_size = 12,
327         .key_bit_size = 12,
328         .key_num_fields = 2,
329         .result_start_idx = 64,
330         .result_bit_size = 10,
331         .result_num_fields = 1,
332         .encap_num_fields = 0,
333         .ident_start_idx = 4,
334         .ident_nums = 1,
335         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
336         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
337         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
338         },
339         {
340         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
341         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM,
342         .resource_sub_type =
343                 BNXT_ULP_RESOURCE_SUB_TYPE_NOT_USED,
344         .direction = TF_DIR_RX,
345         .priority = BNXT_ULP_PRIORITY_LEVEL_0,
346         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
347         .key_start_idx = 144,
348         .blob_key_bit_size = 167,
349         .key_bit_size = 167,
350         .key_num_fields = 13,
351         .result_start_idx = 65,
352         .result_bit_size = 64,
353         .result_num_fields = 13,
354         .encap_num_fields = 0,
355         .ident_start_idx = 5,
356         .ident_nums = 0,
357         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
358         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
359         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
360         },
361         {
362         .resource_func = BNXT_ULP_RESOURCE_FUNC_CACHE_TABLE,
363         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
364         .resource_sub_type =
365                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
366         .direction = TF_DIR_RX,
367         .priority = BNXT_ULP_PRIORITY_NOT_USED,
368         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
369         .key_start_idx = 157,
370         .blob_key_bit_size = 16,
371         .key_bit_size = 16,
372         .key_num_fields = 3,
373         .result_start_idx = 78,
374         .result_bit_size = 10,
375         .result_num_fields = 1,
376         .encap_num_fields = 0,
377         .ident_start_idx = 5,
378         .ident_nums = 1,
379         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
380         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
381         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
382         },
383         {
384         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
385         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
386         .resource_sub_type =
387                 BNXT_ULP_RESOURCE_SUB_TYPE_CACHE_TYPE_PROFILE_TCAM,
388         .direction = TF_DIR_RX,
389         .priority = BNXT_ULP_PRIORITY_LEVEL_0,
390         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
391         .key_start_idx = 160,
392         .blob_key_bit_size = 81,
393         .key_bit_size = 81,
394         .key_num_fields = 42,
395         .result_start_idx = 79,
396         .result_bit_size = 38,
397         .result_num_fields = 8,
398         .encap_num_fields = 0,
399         .ident_start_idx = 6,
400         .ident_nums = 0,
401         .mark_enable = BNXT_ULP_MARK_ENABLE_NO,
402         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
403         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
404         },
405         {
406         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
407         .resource_type = TF_MEM_EXTERNAL,
408         .resource_sub_type =
409                 BNXT_ULP_RESOURCE_SUB_TYPE_NOT_USED,
410         .direction = TF_DIR_RX,
411         .priority = BNXT_ULP_PRIORITY_NOT_USED,
412         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
413         .key_start_idx = 202,
414         .blob_key_bit_size = 448,
415         .key_bit_size = 448,
416         .key_num_fields = 11,
417         .result_start_idx = 87,
418         .result_bit_size = 64,
419         .result_num_fields = 9,
420         .encap_num_fields = 0,
421         .ident_start_idx = 6,
422         .ident_nums = 0,
423         .mark_enable = BNXT_ULP_MARK_ENABLE_YES,
424         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
425         .regfile_idx = BNXT_ULP_REGFILE_INDEX_NOT_USED
426         }
427 };
428
429 struct bnxt_ulp_mapper_class_key_field_info ulp_class_key_field_list[] = {
430         {
431         .field_bit_size = 8,
432         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
433         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
434         .spec_operand = {
435                 (BNXT_ULP_HF0_IDX_SVIF_INDEX >> 8) & 0xff,
436                 BNXT_ULP_HF0_IDX_SVIF_INDEX & 0xff,
437                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
438                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
439         },
440         {
441         .field_bit_size = 4,
442         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
443         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
444         .spec_operand = {
445                 BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
446                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
447                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
448         },
449         {
450         .field_bit_size = 12,
451         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
452         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
453         },
454         {
455         .field_bit_size = 12,
456         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
457         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
458         },
459         {
460         .field_bit_size = 48,
461         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
462         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
463         },
464         {
465         .field_bit_size = 8,
466         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
467         .mask_operand = {
468                 (BNXT_ULP_HF0_IDX_SVIF_INDEX >> 8) & 0xff,
469                 BNXT_ULP_HF0_IDX_SVIF_INDEX & 0xff,
470                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
471                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
472         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
473         .spec_operand = {
474                 (BNXT_ULP_HF0_IDX_SVIF_INDEX >> 8) & 0xff,
475                 BNXT_ULP_HF0_IDX_SVIF_INDEX & 0xff,
476                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
477                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
478         },
479         {
480         .field_bit_size = 4,
481         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
482         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
483         },
484         {
485         .field_bit_size = 12,
486         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
487         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
488         },
489         {
490         .field_bit_size = 12,
491         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
492         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
493         },
494         {
495         .field_bit_size = 48,
496         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
497         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
498         },
499         {
500         .field_bit_size = 2,
501         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
502         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
503         },
504         {
505         .field_bit_size = 2,
506         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
507         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
508         },
509         {
510         .field_bit_size = 4,
511         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
512         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
513                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
514         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
515         .spec_operand = {
516                 BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
517                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
518                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
519         },
520         {
521         .field_bit_size = 2,
522         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
523         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
524         },
525         {
526         .field_bit_size = 1,
527         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
528         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
529                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
530         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
531         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
532                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
533         },
534         {
535         .field_bit_size = 1,
536         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
537         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
538         },
539         {
540         .field_bit_size = 7,
541         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
542         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
543         .spec_operand = {
544                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
545                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
546                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
547                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
548         },
549         {
550         .field_bit_size = 8,
551         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
552         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
553         .spec_operand = {
554                 (BNXT_ULP_REGFILE_INDEX_CLASS_TID >> 8) & 0xff,
555                 BNXT_ULP_REGFILE_INDEX_CLASS_TID & 0xff,
556                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
557                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
558         },
559         {
560         .field_bit_size = 1,
561         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
562         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
563         .spec_operand = {
564                 BNXT_ULP_SYM_L4_HDR_IS_UDP_TCP_IGNORE,
565                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
566                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
567         },
568         {
569         .field_bit_size = 4,
570         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
571         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
572                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
573         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
574         .spec_operand = {
575                 BNXT_ULP_SYM_L4_HDR_TYPE_UDP,
576                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
577                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
578         },
579         {
580         .field_bit_size = 1,
581         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
582         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
583                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
584         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
585         .spec_operand = {
586                 BNXT_ULP_SYM_L4_HDR_ERROR_NO,
587                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
588                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
589         },
590         {
591         .field_bit_size = 1,
592         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
593         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
594                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
595         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
596         .spec_operand = {
597                 BNXT_ULP_SYM_L4_HDR_VALID_YES,
598                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
599                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
600         },
601         {
602         .field_bit_size = 1,
603         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
604         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
605         .spec_operand = {
606                 BNXT_ULP_SYM_L3_IPV6_CMP_DST_IGNORE,
607                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
608                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
609         },
610         {
611         .field_bit_size = 1,
612         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
613         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
614         .spec_operand = {
615                 BNXT_ULP_SYM_L3_IPV6_CMP_SRC_IGNORE,
616                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
617                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
618         },
619         {
620         .field_bit_size = 1,
621         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
622         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
623         .spec_operand = {
624                 BNXT_ULP_SYM_L3_HDR_ISIP_IGNORE,
625                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
626                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
627         },
628         {
629         .field_bit_size = 4,
630         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
631         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
632                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
633         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
634         .spec_operand = {
635                 BNXT_ULP_SYM_L3_HDR_TYPE_IPV4,
636                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
637                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
638         },
639         {
640         .field_bit_size = 1,
641         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
642         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
643                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
644         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
645         .spec_operand = {
646                 BNXT_ULP_SYM_L3_HDR_ERROR_NO,
647                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
648                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
649         },
650         {
651         .field_bit_size = 1,
652         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
653         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
654                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
655         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
656         .spec_operand = {
657                 BNXT_ULP_SYM_L3_HDR_VALID_YES,
658                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
659                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
660         },
661         {
662         .field_bit_size = 1,
663         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
664         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
665         .spec_operand = {
666                 BNXT_ULP_SYM_L2_TWO_VTAGS_IGNORE,
667                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
668                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
669         },
670         {
671         .field_bit_size = 1,
672         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
673         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
674         .spec_operand = {
675                 BNXT_ULP_SYM_L2_VTAG_PRESENT_IGNORE,
676                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
677                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
678         },
679         {
680         .field_bit_size = 2,
681         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
682         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
683         .spec_operand = {
684                 BNXT_ULP_SYM_L2_UC_MC_BC_IGNORE,
685                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
686                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
687         },
688         {
689         .field_bit_size = 2,
690         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
691         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
692                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
693         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
694         .spec_operand = {
695                 BNXT_ULP_SYM_L2_HDR_TYPE_DIX,
696                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
697                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
698         },
699         {
700         .field_bit_size = 1,
701         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
702         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
703                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
704         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
705         .spec_operand = {
706                 BNXT_ULP_SYM_L2_HDR_ERROR_NO,
707                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
708                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
709         },
710         {
711         .field_bit_size = 1,
712         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
713         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
714                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
715         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
716         .spec_operand = {
717                 BNXT_ULP_SYM_L2_HDR_VALID_YES,
718                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
719                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
720         },
721         {
722         .field_bit_size = 3,
723         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
724         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
725         .spec_operand = {
726                 BNXT_ULP_SYM_TUN_HDR_FLAGS_IGNORE,
727                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
728                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
729         },
730         {
731         .field_bit_size = 4,
732         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
733         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
734         .spec_operand = {
735                 BNXT_ULP_SYM_TUN_HDR_TYPE_IGNORE,
736                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
737                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
738         },
739         {
740         .field_bit_size = 1,
741         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
742         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
743         .spec_operand = {
744                 BNXT_ULP_SYM_TUN_HDR_ERROR_IGNORE,
745                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
746                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
747         },
748         {
749         .field_bit_size = 1,
750         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
751         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
752         .spec_operand = {
753                 BNXT_ULP_SYM_TUN_HDR_VALID_IGNORE,
754                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
755                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
756         },
757         {
758         .field_bit_size = 1,
759         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
760         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
761         .spec_operand = {
762                 BNXT_ULP_SYM_TL4_HDR_IS_UDP_TCP_IGNORE,
763                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
764                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
765         },
766         {
767         .field_bit_size = 4,
768         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
769         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
770         .spec_operand = {
771                 BNXT_ULP_SYM_TL4_HDR_TYPE_IGNORE,
772                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
773                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
774         },
775         {
776         .field_bit_size = 1,
777         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
778         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
779         .spec_operand = {
780                 BNXT_ULP_SYM_TL4_HDR_ERROR_IGNORE,
781                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
782                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
783         },
784         {
785         .field_bit_size = 1,
786         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
787         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
788         .spec_operand = {
789                 BNXT_ULP_SYM_TL4_HDR_VALID_IGNORE,
790                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
791                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
792         },
793         {
794         .field_bit_size = 1,
795         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
796         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
797         .spec_operand = {
798                 BNXT_ULP_SYM_TL3_IPV6_CMP_DST_IGNORE,
799                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
800                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
801         },
802         {
803         .field_bit_size = 1,
804         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
805         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
806         .spec_operand = {
807                 BNXT_ULP_SYM_TL3_IPV6_CMP_SRC_IGNORE,
808                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
809                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
810         },
811         {
812         .field_bit_size = 1,
813         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
814         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
815         .spec_operand = {
816                 BNXT_ULP_SYM_TL3_HDR_ISIP_IGNORE,
817                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
818                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
819         },
820         {
821         .field_bit_size = 4,
822         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
823         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
824         .spec_operand = {
825                 BNXT_ULP_SYM_TL3_HDR_TYPE_IGNORE,
826                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
827                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
828         },
829         {
830         .field_bit_size = 1,
831         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
832         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
833         .spec_operand = {
834                 BNXT_ULP_SYM_TL3_HDR_ERROR_IGNORE,
835                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
836                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
837         },
838         {
839         .field_bit_size = 1,
840         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
841         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
842         .spec_operand = {
843                 BNXT_ULP_SYM_TL3_HDR_VALID_IGNORE,
844                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
845                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
846         },
847         {
848         .field_bit_size = 1,
849         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
850         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
851         .spec_operand = {
852                 BNXT_ULP_SYM_TL2_TWO_VTAGS_IGNORE,
853                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
854                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
855         },
856         {
857         .field_bit_size = 1,
858         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
859         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
860         .spec_operand = {
861                 BNXT_ULP_SYM_TL2_VTAG_PRESENT_IGNORE,
862                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
863                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
864         },
865         {
866         .field_bit_size = 2,
867         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
868         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
869         .spec_operand = {
870                 BNXT_ULP_SYM_TL2_UC_MC_BC_IGNORE,
871                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
872                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
873         },
874         {
875         .field_bit_size = 2,
876         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
877         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
878         .spec_operand = {
879                 BNXT_ULP_SYM_TL2_HDR_TYPE_IGNORE,
880                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
881                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
882         },
883         {
884         .field_bit_size = 1,
885         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
886         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
887         .spec_operand = {
888                 BNXT_ULP_SYM_TL2_HDR_VALID_IGNORE,
889                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
890                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
891         },
892         {
893         .field_bit_size = 1,
894         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
895         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
896         .spec_operand = {
897                 BNXT_ULP_SYM_HREC_NEXT_IGNORE,
898                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
899                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
900         },
901         {
902         .field_bit_size = 9,
903         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
904         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
905         .spec_operand = {
906                 (BNXT_ULP_SYM_RESERVED_IGNORE >> 8) & 0xff,
907                 BNXT_ULP_SYM_RESERVED_IGNORE & 0xff,
908                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
909                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
910         },
911         {
912         .field_bit_size = 7,
913         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
914         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
915                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
916         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
917         .spec_operand = {
918                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
919                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
920                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
921                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
922         },
923         {
924         .field_bit_size = 1,
925         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
926         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
927         .spec_operand = {
928                 BNXT_ULP_SYM_AGG_ERROR_IGNORE,
929                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
930                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
931         },
932         {
933         .field_bit_size = 2,
934         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
935         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
936                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
937         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
938         .spec_operand = {
939                 BNXT_ULP_SYM_RECYCLE_CNT_ZERO,
940                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
941                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
942         },
943         {
944         .field_bit_size = 4,
945         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
946         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
947                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
948         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
949         .spec_operand = {
950                 BNXT_ULP_SYM_PKT_TYPE_L2,
951                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
952                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
953         },
954         {
955         .field_bit_size = 1,
956         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
957         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
958                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
959         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
960         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
961                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
962         },
963         {
964         .field_bit_size = 251,
965         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
966         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
967         },
968         {
969         .field_bit_size = 3,
970         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
971         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
972         },
973         {
974         .field_bit_size = 16,
975         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
976         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
977         .spec_operand = {
978                 (BNXT_ULP_HF0_IDX_O_UDP_DST_PORT >> 8) & 0xff,
979                 BNXT_ULP_HF0_IDX_O_UDP_DST_PORT & 0xff,
980                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
981                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
982         },
983         {
984         .field_bit_size = 16,
985         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
986         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
987         .spec_operand = {
988                 (BNXT_ULP_HF0_IDX_O_UDP_SRC_PORT >> 8) & 0xff,
989                 BNXT_ULP_HF0_IDX_O_UDP_SRC_PORT & 0xff,
990                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
991                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
992         },
993         {
994         .field_bit_size = 8,
995         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
996         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
997         .spec_operand = {
998                 BNXT_ULP_SYM_IP_PROTO_UDP,
999                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1000                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1001         },
1002         {
1003         .field_bit_size = 32,
1004         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1005         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1006         .spec_operand = {
1007                 (BNXT_ULP_HF0_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
1008                 BNXT_ULP_HF0_IDX_O_IPV4_DST_ADDR & 0xff,
1009                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1010                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1011         },
1012         {
1013         .field_bit_size = 32,
1014         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1015         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1016         .spec_operand = {
1017                 (BNXT_ULP_HF0_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,
1018                 BNXT_ULP_HF0_IDX_O_IPV4_SRC_ADDR & 0xff,
1019                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1020                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1021         },
1022         {
1023         .field_bit_size = 48,
1024         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1025         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1026         },
1027         {
1028         .field_bit_size = 24,
1029         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1030         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1031         },
1032         {
1033         .field_bit_size = 10,
1034         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1035         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1036         .spec_operand = {
1037                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
1038                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
1039                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1040                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1041         },
1042         {
1043         .field_bit_size = 8,
1044         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1045         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1046         .spec_operand = {
1047                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
1048                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
1049                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1050                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1051         },
1052         {
1053         .field_bit_size = 8,
1054         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1055         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1056         .spec_operand = {
1057                 (BNXT_ULP_HF1_IDX_SVIF_INDEX >> 8) & 0xff,
1058                 BNXT_ULP_HF1_IDX_SVIF_INDEX & 0xff,
1059                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1060                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1061         },
1062         {
1063         .field_bit_size = 4,
1064         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1065         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1066         .spec_operand = {
1067                 BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
1068                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1069                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1070         },
1071         {
1072         .field_bit_size = 12,
1073         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1074         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1075         },
1076         {
1077         .field_bit_size = 12,
1078         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1079         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1080         },
1081         {
1082         .field_bit_size = 48,
1083         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1084         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1085         },
1086         {
1087         .field_bit_size = 8,
1088         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1089         .mask_operand = {
1090                 (BNXT_ULP_HF1_IDX_SVIF_INDEX >> 8) & 0xff,
1091                 BNXT_ULP_HF1_IDX_SVIF_INDEX & 0xff,
1092                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1093                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1094         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1095         .spec_operand = {
1096                 (BNXT_ULP_HF1_IDX_SVIF_INDEX >> 8) & 0xff,
1097                 BNXT_ULP_HF1_IDX_SVIF_INDEX & 0xff,
1098                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1099                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1100         },
1101         {
1102         .field_bit_size = 4,
1103         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1104         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1105         },
1106         {
1107         .field_bit_size = 12,
1108         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1109         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1110         },
1111         {
1112         .field_bit_size = 12,
1113         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1114         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1115         },
1116         {
1117         .field_bit_size = 48,
1118         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1119         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1120         },
1121         {
1122         .field_bit_size = 2,
1123         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1124         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1125         },
1126         {
1127         .field_bit_size = 2,
1128         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1129         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1130         },
1131         {
1132         .field_bit_size = 4,
1133         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1134         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1135                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1136         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1137         .spec_operand = {
1138                 BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
1139                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1140                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1141         },
1142         {
1143         .field_bit_size = 2,
1144         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1145         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1146         },
1147         {
1148         .field_bit_size = 1,
1149         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1150         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1151                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1152         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1153         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1154                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1155         },
1156         {
1157         .field_bit_size = 1,
1158         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1159         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1160         },
1161         {
1162         .field_bit_size = 7,
1163         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1164         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
1165         .spec_operand = {
1166                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
1167                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
1168                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1169                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1170         },
1171         {
1172         .field_bit_size = 8,
1173         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1174         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1175         .spec_operand = {
1176                 (BNXT_ULP_REGFILE_INDEX_CLASS_TID >> 8) & 0xff,
1177                 BNXT_ULP_REGFILE_INDEX_CLASS_TID & 0xff,
1178                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1179                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1180         },
1181         {
1182         .field_bit_size = 1,
1183         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1184         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1185         .spec_operand = {
1186                 BNXT_ULP_SYM_L4_HDR_IS_UDP_TCP_IGNORE,
1187                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1188                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1189         },
1190         {
1191         .field_bit_size = 4,
1192         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1193         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1194                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1195         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1196         .spec_operand = {
1197                 BNXT_ULP_SYM_L4_HDR_TYPE_UDP,
1198                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1199                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1200         },
1201         {
1202         .field_bit_size = 1,
1203         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1204         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1205                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1206         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1207         .spec_operand = {
1208                 BNXT_ULP_SYM_L4_HDR_ERROR_NO,
1209                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1210                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1211         },
1212         {
1213         .field_bit_size = 1,
1214         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1215         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1216                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1217         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1218         .spec_operand = {
1219                 BNXT_ULP_SYM_L4_HDR_VALID_YES,
1220                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1221                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1222         },
1223         {
1224         .field_bit_size = 1,
1225         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1226         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1227         .spec_operand = {
1228                 BNXT_ULP_SYM_L3_IPV6_CMP_DST_IGNORE,
1229                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1230                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1231         },
1232         {
1233         .field_bit_size = 1,
1234         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1235         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1236         .spec_operand = {
1237                 BNXT_ULP_SYM_L3_IPV6_CMP_SRC_IGNORE,
1238                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1239                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1240         },
1241         {
1242         .field_bit_size = 1,
1243         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1244         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1245         .spec_operand = {
1246                 BNXT_ULP_SYM_L3_HDR_ISIP_IGNORE,
1247                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1248                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1249         },
1250         {
1251         .field_bit_size = 4,
1252         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1253         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1254                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1255         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1256         .spec_operand = {
1257                 BNXT_ULP_SYM_L3_HDR_TYPE_IPV4,
1258                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1259                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1260         },
1261         {
1262         .field_bit_size = 1,
1263         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1264         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1265                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1266         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1267         .spec_operand = {
1268                 BNXT_ULP_SYM_L3_HDR_ERROR_NO,
1269                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1270                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1271         },
1272         {
1273         .field_bit_size = 1,
1274         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1275         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1276                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1277         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1278         .spec_operand = {
1279                 BNXT_ULP_SYM_L3_HDR_VALID_YES,
1280                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1281                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1282         },
1283         {
1284         .field_bit_size = 1,
1285         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1286         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1287         .spec_operand = {
1288                 BNXT_ULP_SYM_L2_TWO_VTAGS_IGNORE,
1289                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1290                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1291         },
1292         {
1293         .field_bit_size = 1,
1294         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1295         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1296         .spec_operand = {
1297                 BNXT_ULP_SYM_L2_VTAG_PRESENT_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_MAPPER_OPC_SET_TO_ZERO,
1304         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1305         .spec_operand = {
1306                 BNXT_ULP_SYM_L2_UC_MC_BC_IGNORE,
1307                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1308                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1309         },
1310         {
1311         .field_bit_size = 2,
1312         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1313         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1314                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1315         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1316         .spec_operand = {
1317                 BNXT_ULP_SYM_L2_HDR_TYPE_DIX,
1318                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1319                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1320         },
1321         {
1322         .field_bit_size = 1,
1323         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1324         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1325                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1326         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1327         .spec_operand = {
1328                 BNXT_ULP_SYM_L2_HDR_ERROR_NO,
1329                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1330                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1331         },
1332         {
1333         .field_bit_size = 1,
1334         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1335         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1336                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1337         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1338         .spec_operand = {
1339                 BNXT_ULP_SYM_L2_HDR_VALID_YES,
1340                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1341                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1342         },
1343         {
1344         .field_bit_size = 3,
1345         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1346         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1347         .spec_operand = {
1348                 BNXT_ULP_SYM_TUN_HDR_FLAGS_IGNORE,
1349                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1350                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1351         },
1352         {
1353         .field_bit_size = 4,
1354         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1355         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1356         .spec_operand = {
1357                 BNXT_ULP_SYM_TUN_HDR_TYPE_IGNORE,
1358                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1359                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1360         },
1361         {
1362         .field_bit_size = 1,
1363         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1364         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1365         .spec_operand = {
1366                 BNXT_ULP_SYM_TUN_HDR_ERROR_IGNORE,
1367                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1368                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1369         },
1370         {
1371         .field_bit_size = 1,
1372         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1373         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1374         .spec_operand = {
1375                 BNXT_ULP_SYM_TUN_HDR_VALID_IGNORE,
1376                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1377                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1378         },
1379         {
1380         .field_bit_size = 1,
1381         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1382         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1383         .spec_operand = {
1384                 BNXT_ULP_SYM_TL4_HDR_IS_UDP_TCP_IGNORE,
1385                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1386                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1387         },
1388         {
1389         .field_bit_size = 4,
1390         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1391         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1392         .spec_operand = {
1393                 BNXT_ULP_SYM_TL4_HDR_TYPE_IGNORE,
1394                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1395                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1396         },
1397         {
1398         .field_bit_size = 1,
1399         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1400         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1401         .spec_operand = {
1402                 BNXT_ULP_SYM_TL4_HDR_ERROR_IGNORE,
1403                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1404                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1405         },
1406         {
1407         .field_bit_size = 1,
1408         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1409         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1410         .spec_operand = {
1411                 BNXT_ULP_SYM_TL4_HDR_VALID_IGNORE,
1412                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1413                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1414         },
1415         {
1416         .field_bit_size = 1,
1417         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1418         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1419         .spec_operand = {
1420                 BNXT_ULP_SYM_TL3_IPV6_CMP_DST_IGNORE,
1421                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1422                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1423         },
1424         {
1425         .field_bit_size = 1,
1426         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1427         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1428         .spec_operand = {
1429                 BNXT_ULP_SYM_TL3_IPV6_CMP_SRC_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_MAPPER_OPC_SET_TO_ZERO,
1436         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1437         .spec_operand = {
1438                 BNXT_ULP_SYM_TL3_HDR_ISIP_IGNORE,
1439                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1440                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1441         },
1442         {
1443         .field_bit_size = 4,
1444         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1445         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1446         .spec_operand = {
1447                 BNXT_ULP_SYM_TL3_HDR_TYPE_IGNORE,
1448                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1449                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1450         },
1451         {
1452         .field_bit_size = 1,
1453         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1454         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1455         .spec_operand = {
1456                 BNXT_ULP_SYM_TL3_HDR_ERROR_IGNORE,
1457                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1458                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1459         },
1460         {
1461         .field_bit_size = 1,
1462         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1463         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1464         .spec_operand = {
1465                 BNXT_ULP_SYM_TL3_HDR_VALID_IGNORE,
1466                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1467                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1468         },
1469         {
1470         .field_bit_size = 1,
1471         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1472         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1473         .spec_operand = {
1474                 BNXT_ULP_SYM_TL2_TWO_VTAGS_IGNORE,
1475                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1476                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1477         },
1478         {
1479         .field_bit_size = 1,
1480         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1481         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1482         .spec_operand = {
1483                 BNXT_ULP_SYM_TL2_VTAG_PRESENT_IGNORE,
1484                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1485                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1486         },
1487         {
1488         .field_bit_size = 2,
1489         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1490         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1491         .spec_operand = {
1492                 BNXT_ULP_SYM_TL2_UC_MC_BC_IGNORE,
1493                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1494                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1495         },
1496         {
1497         .field_bit_size = 2,
1498         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1499         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1500         .spec_operand = {
1501                 BNXT_ULP_SYM_TL2_HDR_TYPE_IGNORE,
1502                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1503                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1504         },
1505         {
1506         .field_bit_size = 1,
1507         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1508         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1509         .spec_operand = {
1510                 BNXT_ULP_SYM_TL2_HDR_VALID_IGNORE,
1511                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1512                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1513         },
1514         {
1515         .field_bit_size = 1,
1516         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1517         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1518         .spec_operand = {
1519                 BNXT_ULP_SYM_HREC_NEXT_IGNORE,
1520                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1521                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1522         },
1523         {
1524         .field_bit_size = 9,
1525         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1526         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1527         .spec_operand = {
1528                 (BNXT_ULP_SYM_RESERVED_IGNORE >> 8) & 0xff,
1529                 BNXT_ULP_SYM_RESERVED_IGNORE & 0xff,
1530                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1531                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1532         },
1533         {
1534         .field_bit_size = 7,
1535         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1536         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1537                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1538         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
1539         .spec_operand = {
1540                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
1541                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
1542                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1543                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1544         },
1545         {
1546         .field_bit_size = 1,
1547         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1548         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1549         .spec_operand = {
1550                 BNXT_ULP_SYM_AGG_ERROR_IGNORE,
1551                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1552                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1553         },
1554         {
1555         .field_bit_size = 2,
1556         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1557         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1558                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1559         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1560         .spec_operand = {
1561                 BNXT_ULP_SYM_RECYCLE_CNT_ZERO,
1562                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1563                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1564         },
1565         {
1566         .field_bit_size = 4,
1567         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1568         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1569                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1570         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1571         .spec_operand = {
1572                 BNXT_ULP_SYM_PKT_TYPE_L2,
1573                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1574                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1575         },
1576         {
1577         .field_bit_size = 1,
1578         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1579         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1580                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1581         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1582         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1583                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1584         },
1585         {
1586         .field_bit_size = 251,
1587         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1588         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1589         },
1590         {
1591         .field_bit_size = 3,
1592         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1593         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1594         },
1595         {
1596         .field_bit_size = 16,
1597         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1598         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1599         .spec_operand = {
1600                 (BNXT_ULP_HF1_IDX_O_UDP_DST_PORT >> 8) & 0xff,
1601                 BNXT_ULP_HF1_IDX_O_UDP_DST_PORT & 0xff,
1602                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1603                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1604         },
1605         {
1606         .field_bit_size = 16,
1607         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1608         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1609         .spec_operand = {
1610                 (BNXT_ULP_HF1_IDX_O_UDP_SRC_PORT >> 8) & 0xff,
1611                 BNXT_ULP_HF1_IDX_O_UDP_SRC_PORT & 0xff,
1612                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1613                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1614         },
1615         {
1616         .field_bit_size = 8,
1617         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1618         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1619         .spec_operand = {
1620                 BNXT_ULP_SYM_IP_PROTO_UDP,
1621                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1622                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1623         },
1624         {
1625         .field_bit_size = 32,
1626         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1627         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1628         .spec_operand = {
1629                 (BNXT_ULP_HF1_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
1630                 BNXT_ULP_HF1_IDX_O_IPV4_DST_ADDR & 0xff,
1631                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1632                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1633         },
1634         {
1635         .field_bit_size = 32,
1636         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1637         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1638         .spec_operand = {
1639                 (BNXT_ULP_HF1_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,
1640                 BNXT_ULP_HF1_IDX_O_IPV4_SRC_ADDR & 0xff,
1641                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1642                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1643         },
1644         {
1645         .field_bit_size = 48,
1646         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1647         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1648         },
1649         {
1650         .field_bit_size = 24,
1651         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1652         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1653         },
1654         {
1655         .field_bit_size = 10,
1656         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1657         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1658         .spec_operand = {
1659                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
1660                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
1661                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1662                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1663         },
1664         {
1665         .field_bit_size = 8,
1666         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1667         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1668         .spec_operand = {
1669                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
1670                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
1671                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1672                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1673         },
1674         {
1675         .field_bit_size = 8,
1676         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1677         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1678         .spec_operand = {
1679                 (BNXT_ULP_HF2_IDX_SVIF_INDEX >> 8) & 0xff,
1680                 BNXT_ULP_HF2_IDX_SVIF_INDEX & 0xff,
1681                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1682                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1683         },
1684         {
1685         .field_bit_size = 4,
1686         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1687         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1688         .spec_operand = {
1689                 BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
1690                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1691                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1692         },
1693         {
1694         .field_bit_size = 12,
1695         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1696         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1697         },
1698         {
1699         .field_bit_size = 12,
1700         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1701         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1702         },
1703         {
1704         .field_bit_size = 48,
1705         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1706         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1707         },
1708         {
1709         .field_bit_size = 8,
1710         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1711         .mask_operand = {
1712                 (BNXT_ULP_HF2_IDX_SVIF_INDEX >> 8) & 0xff,
1713                 BNXT_ULP_HF2_IDX_SVIF_INDEX & 0xff,
1714                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1715                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1716         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1717         .spec_operand = {
1718                 (BNXT_ULP_HF2_IDX_SVIF_INDEX >> 8) & 0xff,
1719                 BNXT_ULP_HF2_IDX_SVIF_INDEX & 0xff,
1720                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1721                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1722         },
1723         {
1724         .field_bit_size = 4,
1725         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1726         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1727         },
1728         {
1729         .field_bit_size = 12,
1730         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1731         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1732         },
1733         {
1734         .field_bit_size = 12,
1735         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1736         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1737         },
1738         {
1739         .field_bit_size = 48,
1740         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1741         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1742         },
1743         {
1744         .field_bit_size = 2,
1745         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1746         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1747         },
1748         {
1749         .field_bit_size = 2,
1750         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1751         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1752         },
1753         {
1754         .field_bit_size = 4,
1755         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1756         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1757                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1758         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1759         .spec_operand = {
1760                 BNXT_ULP_SYM_TUN_HDR_TYPE_VXLAN,
1761                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1762                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1763         },
1764         {
1765         .field_bit_size = 2,
1766         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1767         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1768         },
1769         {
1770         .field_bit_size = 1,
1771         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1772         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1773                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1774         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1775         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1776                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1777         },
1778         {
1779         .field_bit_size = 1,
1780         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1781         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1782         },
1783         {
1784         .field_bit_size = 7,
1785         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1786         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
1787         .spec_operand = {
1788                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
1789                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
1790                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1791                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1792         },
1793         {
1794         .field_bit_size = 8,
1795         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1796         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1797         .spec_operand = {
1798                 (BNXT_ULP_REGFILE_INDEX_CLASS_TID >> 8) & 0xff,
1799                 BNXT_ULP_REGFILE_INDEX_CLASS_TID & 0xff,
1800                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1801                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1802         },
1803         {
1804         .field_bit_size = 1,
1805         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1806         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1807         .spec_operand = {
1808                 BNXT_ULP_SYM_L4_HDR_IS_UDP_TCP_IGNORE,
1809                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1810                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1811         },
1812         {
1813         .field_bit_size = 4,
1814         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1815         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1816                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1817         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1818         .spec_operand = {
1819                 BNXT_ULP_SYM_L4_HDR_TYPE_UDP,
1820                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1821                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1822         },
1823         {
1824         .field_bit_size = 1,
1825         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1826         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1827                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1828         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1829         .spec_operand = {
1830                 BNXT_ULP_SYM_L4_HDR_ERROR_NO,
1831                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1832                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1833         },
1834         {
1835         .field_bit_size = 1,
1836         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1837         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1838                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1839         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1840         .spec_operand = {
1841                 BNXT_ULP_SYM_L4_HDR_VALID_YES,
1842                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1843                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1844         },
1845         {
1846         .field_bit_size = 1,
1847         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1848         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1849         .spec_operand = {
1850                 BNXT_ULP_SYM_L3_IPV6_CMP_DST_IGNORE,
1851                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1852                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1853         },
1854         {
1855         .field_bit_size = 1,
1856         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1857         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1858         .spec_operand = {
1859                 BNXT_ULP_SYM_L3_IPV6_CMP_SRC_IGNORE,
1860                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1861                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1862         },
1863         {
1864         .field_bit_size = 1,
1865         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1866         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1867         .spec_operand = {
1868                 BNXT_ULP_SYM_L3_HDR_ISIP_IGNORE,
1869                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1870                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1871         },
1872         {
1873         .field_bit_size = 4,
1874         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1875         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1876                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1877         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1878         .spec_operand = {
1879                 BNXT_ULP_SYM_L3_HDR_TYPE_IPV4,
1880                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1881                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1882         },
1883         {
1884         .field_bit_size = 1,
1885         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1886         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1887                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1888         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1889         .spec_operand = {
1890                 BNXT_ULP_SYM_L3_HDR_ERROR_NO,
1891                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1892                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1893         },
1894         {
1895         .field_bit_size = 1,
1896         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1897         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1898                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1899         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1900         .spec_operand = {
1901                 BNXT_ULP_SYM_L3_HDR_VALID_YES,
1902                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1903                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1904         },
1905         {
1906         .field_bit_size = 1,
1907         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1908         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1909         .spec_operand = {
1910                 BNXT_ULP_SYM_L2_TWO_VTAGS_IGNORE,
1911                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1912                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1913         },
1914         {
1915         .field_bit_size = 1,
1916         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1917         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1918         .spec_operand = {
1919                 BNXT_ULP_SYM_L2_VTAG_PRESENT_IGNORE,
1920                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1921                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1922         },
1923         {
1924         .field_bit_size = 2,
1925         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1926         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1927         .spec_operand = {
1928                 BNXT_ULP_SYM_L2_UC_MC_BC_IGNORE,
1929                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1930                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1931         },
1932         {
1933         .field_bit_size = 2,
1934         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1935         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1936                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1937         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1938         .spec_operand = {
1939                 BNXT_ULP_SYM_L2_HDR_TYPE_DIX,
1940                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1941                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1942         },
1943         {
1944         .field_bit_size = 1,
1945         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1946         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1947                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1948         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1949         .spec_operand = {
1950                 BNXT_ULP_SYM_L2_HDR_ERROR_NO,
1951                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1952                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1953         },
1954         {
1955         .field_bit_size = 1,
1956         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1957         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1958                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1959         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1960         .spec_operand = {
1961                 BNXT_ULP_SYM_L2_HDR_VALID_YES,
1962                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1963                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1964         },
1965         {
1966         .field_bit_size = 3,
1967         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1968         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1969         .spec_operand = {
1970                 BNXT_ULP_SYM_TUN_HDR_FLAGS_IGNORE,
1971                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1972                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1973         },
1974         {
1975         .field_bit_size = 4,
1976         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1977         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1978                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1979         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1980         .spec_operand = {
1981                 BNXT_ULP_SYM_TUN_HDR_TYPE_VXLAN,
1982                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1983                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1984         },
1985         {
1986         .field_bit_size = 1,
1987         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1988         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1989                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1990         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1991         .spec_operand = {
1992                 BNXT_ULP_SYM_TUN_HDR_ERROR_NO,
1993                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1994                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1995         },
1996         {
1997         .field_bit_size = 1,
1998         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1999         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2000                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2001         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2002         .spec_operand = {
2003                 BNXT_ULP_SYM_TUN_HDR_VALID_YES,
2004                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2005                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2006         },
2007         {
2008         .field_bit_size = 1,
2009         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2010         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2011         .spec_operand = {
2012                 BNXT_ULP_SYM_TL4_HDR_IS_UDP_TCP_IGNORE,
2013                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2014                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2015         },
2016         {
2017         .field_bit_size = 4,
2018         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2019         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2020                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2021         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2022         .spec_operand = {
2023                 BNXT_ULP_SYM_TL4_HDR_TYPE_UDP,
2024                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2025                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2026         },
2027         {
2028         .field_bit_size = 1,
2029         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2030         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2031                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2032         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2033         .spec_operand = {
2034                 BNXT_ULP_SYM_TL4_HDR_ERROR_NO,
2035                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2036                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2037         },
2038         {
2039         .field_bit_size = 1,
2040         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2041         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2042                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2043         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2044         .spec_operand = {
2045                 BNXT_ULP_SYM_TL4_HDR_VALID_YES,
2046                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2047                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2048         },
2049         {
2050         .field_bit_size = 1,
2051         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2052         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2053         .spec_operand = {
2054                 BNXT_ULP_SYM_TL3_IPV6_CMP_DST_IGNORE,
2055                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2056                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2057         },
2058         {
2059         .field_bit_size = 1,
2060         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2061         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2062         .spec_operand = {
2063                 BNXT_ULP_SYM_TL3_IPV6_CMP_SRC_IGNORE,
2064                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2065                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2066         },
2067         {
2068         .field_bit_size = 1,
2069         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2070         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2071         .spec_operand = {
2072                 BNXT_ULP_SYM_TL3_HDR_ISIP_IGNORE,
2073                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2074                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2075         },
2076         {
2077         .field_bit_size = 4,
2078         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2079         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2080                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2081         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2082         .spec_operand = {
2083                 BNXT_ULP_SYM_TL3_HDR_TYPE_IPV4,
2084                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2085                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2086         },
2087         {
2088         .field_bit_size = 1,
2089         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2090         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2091                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2092         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2093         .spec_operand = {
2094                 BNXT_ULP_SYM_TL3_HDR_ERROR_NO,
2095                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2096                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2097         },
2098         {
2099         .field_bit_size = 1,
2100         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2101         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2102                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2103         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2104         .spec_operand = {
2105                 BNXT_ULP_SYM_TL3_HDR_VALID_YES,
2106                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2107                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2108         },
2109         {
2110         .field_bit_size = 1,
2111         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2112         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2113         .spec_operand = {
2114                 BNXT_ULP_SYM_TL2_TWO_VTAGS_IGNORE,
2115                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2116                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2117         },
2118         {
2119         .field_bit_size = 1,
2120         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2121         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2122         .spec_operand = {
2123                 BNXT_ULP_SYM_TL2_VTAG_PRESENT_IGNORE,
2124                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2125                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2126         },
2127         {
2128         .field_bit_size = 2,
2129         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2130         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2131         .spec_operand = {
2132                 BNXT_ULP_SYM_TL2_UC_MC_BC_IGNORE,
2133                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2134                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2135         },
2136         {
2137         .field_bit_size = 2,
2138         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2139         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2140                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2141         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2142         .spec_operand = {
2143                 BNXT_ULP_SYM_TL2_HDR_TYPE_DIX,
2144                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2145                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2146         },
2147         {
2148         .field_bit_size = 1,
2149         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2150         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2151                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2152         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2153         .spec_operand = {
2154                 BNXT_ULP_SYM_TL2_HDR_VALID_YES,
2155                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2156                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2157         },
2158         {
2159         .field_bit_size = 1,
2160         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2161         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2162         .spec_operand = {
2163                 BNXT_ULP_SYM_HREC_NEXT_IGNORE,
2164                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2165                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2166         },
2167         {
2168         .field_bit_size = 9,
2169         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2170         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2171         .spec_operand = {
2172                 (BNXT_ULP_SYM_RESERVED_IGNORE >> 8) & 0xff,
2173                 BNXT_ULP_SYM_RESERVED_IGNORE & 0xff,
2174                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2175                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2176         },
2177         {
2178         .field_bit_size = 7,
2179         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2180         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2181                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2182         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
2183         .spec_operand = {
2184                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
2185                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
2186                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2187                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2188         },
2189         {
2190         .field_bit_size = 1,
2191         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2192         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2193         .spec_operand = {
2194                 BNXT_ULP_SYM_AGG_ERROR_IGNORE,
2195                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2196                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2197         },
2198         {
2199         .field_bit_size = 2,
2200         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2201         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2202                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2203         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2204         .spec_operand = {
2205                 BNXT_ULP_SYM_RECYCLE_CNT_ZERO,
2206                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2207                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2208         },
2209         {
2210         .field_bit_size = 4,
2211         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2212         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2213                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2214         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2215         .spec_operand = {
2216                 BNXT_ULP_SYM_PKT_TYPE_L2,
2217                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2218                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2219         },
2220         {
2221         .field_bit_size = 1,
2222         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2223         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
2224                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
2225         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2226         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2227                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2228         },
2229         {
2230         .field_bit_size = 251,
2231         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2232         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2233         },
2234         {
2235         .field_bit_size = 3,
2236         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2237         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2238         },
2239         {
2240         .field_bit_size = 16,
2241         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2242         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
2243         .spec_operand = {
2244                 (BNXT_ULP_HF2_IDX_I_UDP_DST_PORT >> 8) & 0xff,
2245                 BNXT_ULP_HF2_IDX_I_UDP_DST_PORT & 0xff,
2246                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2247                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2248         },
2249         {
2250         .field_bit_size = 16,
2251         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2252         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
2253         .spec_operand = {
2254                 (BNXT_ULP_HF2_IDX_I_UDP_SRC_PORT >> 8) & 0xff,
2255                 BNXT_ULP_HF2_IDX_I_UDP_SRC_PORT & 0xff,
2256                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2257                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2258         },
2259         {
2260         .field_bit_size = 8,
2261         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2262         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2263         .spec_operand = {
2264                 BNXT_ULP_SYM_IP_PROTO_UDP,
2265                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2266                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2267         },
2268         {
2269         .field_bit_size = 32,
2270         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2271         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
2272         .spec_operand = {
2273                 (BNXT_ULP_HF2_IDX_I_IPV4_DST_ADDR >> 8) & 0xff,
2274                 BNXT_ULP_HF2_IDX_I_IPV4_DST_ADDR & 0xff,
2275                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2276                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2277         },
2278         {
2279         .field_bit_size = 32,
2280         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2281         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
2282         .spec_operand = {
2283                 (BNXT_ULP_HF2_IDX_I_IPV4_SRC_ADDR >> 8) & 0xff,
2284                 BNXT_ULP_HF2_IDX_I_IPV4_SRC_ADDR & 0xff,
2285                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2286                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2287         },
2288         {
2289         .field_bit_size = 48,
2290         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2291         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2292         },
2293         {
2294         .field_bit_size = 24,
2295         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2296         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2297         },
2298         {
2299         .field_bit_size = 10,
2300         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2301         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2302         .spec_operand = {
2303                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
2304                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
2305                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2306                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2307         },
2308         {
2309         .field_bit_size = 8,
2310         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
2311         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2312         .spec_operand = {
2313                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
2314                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
2315                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2316                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2317         }
2318 };
2319
2320 struct bnxt_ulp_mapper_result_field_info ulp_class_result_field_list[] = {
2321         {
2322         .field_bit_size = 10,
2323         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2324         .result_operand = {
2325                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
2326                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
2327                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2328                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2329         },
2330         {
2331         .field_bit_size = 10,
2332         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2333         .result_operand = {
2334                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
2335                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 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         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
2342         .result_operand = {
2343                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
2344                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
2345                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2346                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2347         },
2348         {
2349         .field_bit_size = 1,
2350         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2351         },
2352         {
2353         .field_bit_size = 4,
2354         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2355         },
2356         {
2357         .field_bit_size = 8,
2358         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2359         },
2360         {
2361         .field_bit_size = 3,
2362         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2363         },
2364         {
2365         .field_bit_size = 6,
2366         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2367         },
2368         {
2369         .field_bit_size = 3,
2370         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2371         },
2372         {
2373         .field_bit_size = 1,
2374         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2375         },
2376         {
2377         .field_bit_size = 16,
2378         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2379         },
2380         {
2381         .field_bit_size = 1,
2382         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2383         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2384                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2385         },
2386         {
2387         .field_bit_size = 2,
2388         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2389         },
2390         {
2391         .field_bit_size = 2,
2392         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2393         },
2394         {
2395         .field_bit_size = 10,
2396         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2397         .result_operand = {
2398                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
2399                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
2400                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2401                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2402         },
2403         {
2404         .field_bit_size = 4,
2405         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2406         },
2407         {
2408         .field_bit_size = 8,
2409         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2410         },
2411         {
2412         .field_bit_size = 1,
2413         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2414         },
2415         {
2416         .field_bit_size = 10,
2417         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2418         .result_operand = {
2419                 (0x00f9 >> 8) & 0xff,
2420                 0x00f9 & 0xff,
2421                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2422                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2423         },
2424         {
2425         .field_bit_size = 5,
2426         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2427         .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
2428                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2429         },
2430         {
2431         .field_bit_size = 8,
2432         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2433         .result_operand = {
2434                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
2435                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
2436                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2437                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2438         },
2439         {
2440         .field_bit_size = 1,
2441         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2442         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2443                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2444         },
2445         {
2446         .field_bit_size = 1,
2447         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2448         },
2449         {
2450         .field_bit_size = 33,
2451         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2452         .result_operand = {
2453                 (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
2454                 BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
2455                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2456                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2457         },
2458         {
2459         .field_bit_size = 1,
2460         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2461         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2462                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2463         },
2464         {
2465         .field_bit_size = 1,
2466         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2467         },
2468         {
2469         .field_bit_size = 5,
2470         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2471         .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
2472                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2473         },
2474         {
2475         .field_bit_size = 9,
2476         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2477         .result_operand = {
2478                 (0x00c5 >> 8) & 0xff,
2479                 0x00c5 & 0xff,
2480                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2481                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2482         },
2483         {
2484         .field_bit_size = 11,
2485         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2486         },
2487         {
2488         .field_bit_size = 2,
2489         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2490         .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
2491                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2492         },
2493         {
2494         .field_bit_size = 1,
2495         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2496         },
2497         {
2498         .field_bit_size = 1,
2499         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2500         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2501                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2502         },
2503         {
2504         .field_bit_size = 10,
2505         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2506         .result_operand = {
2507                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
2508                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_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 = 10,
2514         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2515         .result_operand = {
2516                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
2517                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
2518                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2519                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2520         },
2521         {
2522         .field_bit_size = 7,
2523         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
2524         .result_operand = {
2525                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
2526                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
2527                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2528                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2529         },
2530         {
2531         .field_bit_size = 1,
2532         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2533         },
2534         {
2535         .field_bit_size = 4,
2536         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2537         },
2538         {
2539         .field_bit_size = 8,
2540         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2541         },
2542         {
2543         .field_bit_size = 3,
2544         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2545         },
2546         {
2547         .field_bit_size = 6,
2548         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2549         },
2550         {
2551         .field_bit_size = 3,
2552         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2553         },
2554         {
2555         .field_bit_size = 1,
2556         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2557         },
2558         {
2559         .field_bit_size = 16,
2560         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2561         },
2562         {
2563         .field_bit_size = 1,
2564         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2565         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2566                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2567         },
2568         {
2569         .field_bit_size = 2,
2570         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2571         },
2572         {
2573         .field_bit_size = 2,
2574         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2575         },
2576         {
2577         .field_bit_size = 10,
2578         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2579         .result_operand = {
2580                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
2581                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
2582                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2583                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2584         },
2585         {
2586         .field_bit_size = 4,
2587         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2588         },
2589         {
2590         .field_bit_size = 8,
2591         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2592         },
2593         {
2594         .field_bit_size = 1,
2595         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2596         },
2597         {
2598         .field_bit_size = 10,
2599         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2600         .result_operand = {
2601                 (0x00f9 >> 8) & 0xff,
2602                 0x00f9 & 0xff,
2603                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2604                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2605         },
2606         {
2607         .field_bit_size = 5,
2608         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2609         .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
2610                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2611         },
2612         {
2613         .field_bit_size = 8,
2614         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2615         .result_operand = {
2616                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
2617                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
2618                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2619                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2620         },
2621         {
2622         .field_bit_size = 1,
2623         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2624         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2625                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2626         },
2627         {
2628         .field_bit_size = 1,
2629         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2630         },
2631         {
2632         .field_bit_size = 33,
2633         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2634         .result_operand = {
2635                 (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
2636                 BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
2637                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2638                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2639         },
2640         {
2641         .field_bit_size = 1,
2642         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2643         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2644                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2645         },
2646         {
2647         .field_bit_size = 1,
2648         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2649         },
2650         {
2651         .field_bit_size = 5,
2652         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2653         .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
2654                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2655         },
2656         {
2657         .field_bit_size = 9,
2658         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2659         .result_operand = {
2660                 (0x00c5 >> 8) & 0xff,
2661                 0x00c5 & 0xff,
2662                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2663                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2664         },
2665         {
2666         .field_bit_size = 11,
2667         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2668         },
2669         {
2670         .field_bit_size = 2,
2671         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2672         .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
2673                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2674         },
2675         {
2676         .field_bit_size = 1,
2677         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2678         },
2679         {
2680         .field_bit_size = 1,
2681         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2682         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2683                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2684         },
2685         {
2686         .field_bit_size = 10,
2687         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2688         .result_operand = {
2689                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
2690                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
2691                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2692                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2693         },
2694         {
2695         .field_bit_size = 10,
2696         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2697         .result_operand = {
2698                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
2699                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
2700                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2701                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2702         },
2703         {
2704         .field_bit_size = 7,
2705         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
2706         .result_operand = {
2707                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
2708                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
2709                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2710                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2711         },
2712         {
2713         .field_bit_size = 1,
2714         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2715         },
2716         {
2717         .field_bit_size = 4,
2718         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2719         },
2720         {
2721         .field_bit_size = 8,
2722         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2723         },
2724         {
2725         .field_bit_size = 3,
2726         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2727         },
2728         {
2729         .field_bit_size = 6,
2730         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2731         },
2732         {
2733         .field_bit_size = 3,
2734         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2735         },
2736         {
2737         .field_bit_size = 1,
2738         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2739         },
2740         {
2741         .field_bit_size = 16,
2742         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2743         },
2744         {
2745         .field_bit_size = 1,
2746         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2747         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2748                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2749         },
2750         {
2751         .field_bit_size = 2,
2752         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2753         },
2754         {
2755         .field_bit_size = 2,
2756         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2757         },
2758         {
2759         .field_bit_size = 10,
2760         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2761         .result_operand = {
2762                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
2763                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
2764                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2765                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2766         },
2767         {
2768         .field_bit_size = 4,
2769         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2770         },
2771         {
2772         .field_bit_size = 8,
2773         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2774         },
2775         {
2776         .field_bit_size = 1,
2777         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2778         },
2779         {
2780         .field_bit_size = 10,
2781         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2782         .result_operand = {
2783                 (0x00f9 >> 8) & 0xff,
2784                 0x00f9 & 0xff,
2785                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2786                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2787         },
2788         {
2789         .field_bit_size = 5,
2790         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2791         .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
2792                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2793         },
2794         {
2795         .field_bit_size = 8,
2796         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2797         .result_operand = {
2798                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
2799                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
2800                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2801                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2802         },
2803         {
2804         .field_bit_size = 1,
2805         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2806         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2807                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2808         },
2809         {
2810         .field_bit_size = 1,
2811         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2812         },
2813         {
2814         .field_bit_size = 33,
2815         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2816         .result_operand = {
2817                 (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
2818                 BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
2819                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2820                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2821         },
2822         {
2823         .field_bit_size = 1,
2824         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2825         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2826                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2827         },
2828         {
2829         .field_bit_size = 1,
2830         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2831         },
2832         {
2833         .field_bit_size = 5,
2834         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2835         .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
2836                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2837         },
2838         {
2839         .field_bit_size = 9,
2840         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2841         .result_operand = {
2842                 (0x00c5 >> 8) & 0xff,
2843                 0x00c5 & 0xff,
2844                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2845                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2846         },
2847         {
2848         .field_bit_size = 11,
2849         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2850         },
2851         {
2852         .field_bit_size = 2,
2853         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2854         .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
2855                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2856         },
2857         {
2858         .field_bit_size = 1,
2859         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2860         },
2861         {
2862         .field_bit_size = 1,
2863         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2864         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2865                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2866         }
2867 };
2868
2869 struct bnxt_ulp_mapper_ident_info ulp_ident_list[] = {
2870         {
2871         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2872         .ident_type = TF_IDENT_TYPE_L2_CTXT,
2873         .regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
2874         .ident_bit_size = 10,
2875         .ident_bit_pos = 0
2876         },
2877         {
2878         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2879         .ident_type = TF_IDENT_TYPE_EM_PROF,
2880         .regfile_idx = BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0,
2881         .ident_bit_size = 10,
2882         .ident_bit_pos = 0
2883         },
2884         {
2885         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2886         .ident_type = TF_IDENT_TYPE_L2_CTXT,
2887         .regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
2888         .ident_bit_size = 10,
2889         .ident_bit_pos = 0
2890         },
2891         {
2892         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2893         .ident_type = TF_IDENT_TYPE_EM_PROF,
2894         .regfile_idx = BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0,
2895         .ident_bit_size = 10,
2896         .ident_bit_pos = 0
2897         },
2898         {
2899         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2900         .ident_type = TF_IDENT_TYPE_L2_CTXT,
2901         .regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
2902         .ident_bit_size = 10,
2903         .ident_bit_pos = 0
2904         },
2905         {
2906         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2907         .ident_type = TF_IDENT_TYPE_EM_PROF,
2908         .regfile_idx = BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0,
2909         .ident_bit_size = 10,
2910         .ident_bit_pos = 0
2911         }
2912 };