net/bnxt: update ULP template database for new 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_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
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_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
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_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
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_NOT_USED,
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_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
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_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
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_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
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_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
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_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
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_NOT_USED,
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_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
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_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
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_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
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_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
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_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
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_NOT_USED,
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_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
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_db_opcode = BNXT_ULP_MARK_DB_OPCODE_SET_IF_MARK_ACTION,
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_ZERO
563         },
564         {
565         .field_bit_size = 4,
566         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
567         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
568                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
569         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
570         .spec_operand = {
571                 BNXT_ULP_SYM_L4_HDR_TYPE_UDP,
572                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
573                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
574         },
575         {
576         .field_bit_size = 1,
577         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
578         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
579                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
580         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
581         },
582         {
583         .field_bit_size = 1,
584         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
585         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
586                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
587         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
588         .spec_operand = {
589                 BNXT_ULP_SYM_L4_HDR_VALID_YES,
590                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
591                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
592         },
593         {
594         .field_bit_size = 1,
595         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
596         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
597         },
598         {
599         .field_bit_size = 1,
600         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
601         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
602         },
603         {
604         .field_bit_size = 1,
605         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
606         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
607         },
608         {
609         .field_bit_size = 4,
610         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
611         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
612                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
613         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
614         },
615         {
616         .field_bit_size = 1,
617         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
618         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
619                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
620         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
621         },
622         {
623         .field_bit_size = 1,
624         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
625         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
626                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
627         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
628         .spec_operand = {
629                 BNXT_ULP_SYM_L3_HDR_VALID_YES,
630                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
631                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
632         },
633         {
634         .field_bit_size = 1,
635         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
636         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
637         },
638         {
639         .field_bit_size = 1,
640         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
641         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
642         },
643         {
644         .field_bit_size = 2,
645         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
646         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
647                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
648         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
649         },
650         {
651         .field_bit_size = 2,
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_ZERO
656         },
657         {
658         .field_bit_size = 1,
659         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
660         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
661                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
662         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
663         },
664         {
665         .field_bit_size = 1,
666         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
667         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
668                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
669         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
670         .spec_operand = {
671                 BNXT_ULP_SYM_L2_HDR_VALID_YES,
672                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
673                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
674         },
675         {
676         .field_bit_size = 3,
677         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
678         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
679         },
680         {
681         .field_bit_size = 4,
682         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
683         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
684         },
685         {
686         .field_bit_size = 1,
687         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
688         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
689         },
690         {
691         .field_bit_size = 1,
692         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
693         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
694         },
695         {
696         .field_bit_size = 1,
697         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
698         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
699         },
700         {
701         .field_bit_size = 4,
702         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
703         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
704         },
705         {
706         .field_bit_size = 1,
707         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
708         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
709         },
710         {
711         .field_bit_size = 1,
712         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
713         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
714         },
715         {
716         .field_bit_size = 1,
717         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
718         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
719         },
720         {
721         .field_bit_size = 1,
722         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
723         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
724         },
725         {
726         .field_bit_size = 1,
727         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
728         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
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_ZERO
734         },
735         {
736         .field_bit_size = 1,
737         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
738         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
739         },
740         {
741         .field_bit_size = 1,
742         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
743         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
744         },
745         {
746         .field_bit_size = 1,
747         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
748         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
749         },
750         {
751         .field_bit_size = 1,
752         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
753         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
754         },
755         {
756         .field_bit_size = 2,
757         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
758         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
759         },
760         {
761         .field_bit_size = 2,
762         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
763         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
764         },
765         {
766         .field_bit_size = 1,
767         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
768         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
769         },
770         {
771         .field_bit_size = 1,
772         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
773         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
774         },
775         {
776         .field_bit_size = 9,
777         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
778         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
779         },
780         {
781         .field_bit_size = 7,
782         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
783         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
784                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
785         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
786         .spec_operand = {
787                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
788                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
789                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
790                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
791         },
792         {
793         .field_bit_size = 1,
794         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
795         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
796         },
797         {
798         .field_bit_size = 2,
799         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
800         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
801                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
802         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
803         },
804         {
805         .field_bit_size = 4,
806         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
807         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
808                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
809         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
810         },
811         {
812         .field_bit_size = 1,
813         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
814         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
815                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
816         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
817         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
818                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
819         },
820         {
821         .field_bit_size = 251,
822         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
823         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
824         },
825         {
826         .field_bit_size = 3,
827         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
828         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
829         },
830         {
831         .field_bit_size = 16,
832         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
833         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
834         .spec_operand = {
835                 (BNXT_ULP_HF0_IDX_O_UDP_DST_PORT >> 8) & 0xff,
836                 BNXT_ULP_HF0_IDX_O_UDP_DST_PORT & 0xff,
837                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
838                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
839         },
840         {
841         .field_bit_size = 16,
842         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
843         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
844         .spec_operand = {
845                 (BNXT_ULP_HF0_IDX_O_UDP_SRC_PORT >> 8) & 0xff,
846                 BNXT_ULP_HF0_IDX_O_UDP_SRC_PORT & 0xff,
847                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
848                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
849         },
850         {
851         .field_bit_size = 8,
852         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
853         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
854         .spec_operand = {
855                 BNXT_ULP_SYM_IP_PROTO_UDP,
856                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
857                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
858         },
859         {
860         .field_bit_size = 32,
861         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
862         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
863         .spec_operand = {
864                 (BNXT_ULP_HF0_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
865                 BNXT_ULP_HF0_IDX_O_IPV4_DST_ADDR & 0xff,
866                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
867                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
868         },
869         {
870         .field_bit_size = 32,
871         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
872         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
873         .spec_operand = {
874                 (BNXT_ULP_HF0_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,
875                 BNXT_ULP_HF0_IDX_O_IPV4_SRC_ADDR & 0xff,
876                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
877                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
878         },
879         {
880         .field_bit_size = 48,
881         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
882         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
883         },
884         {
885         .field_bit_size = 24,
886         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
887         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
888         },
889         {
890         .field_bit_size = 10,
891         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
892         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
893         .spec_operand = {
894                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
895                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
896                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
897                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
898         },
899         {
900         .field_bit_size = 8,
901         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
902         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
903         .spec_operand = {
904                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
905                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
906                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
907                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
908         },
909         {
910         .field_bit_size = 8,
911         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
912         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
913         .spec_operand = {
914                 (BNXT_ULP_HF1_IDX_SVIF_INDEX >> 8) & 0xff,
915                 BNXT_ULP_HF1_IDX_SVIF_INDEX & 0xff,
916                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
917                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
918         },
919         {
920         .field_bit_size = 4,
921         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
922         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
923         .spec_operand = {
924                 BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
925                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
926                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
927         },
928         {
929         .field_bit_size = 12,
930         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
931         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
932         },
933         {
934         .field_bit_size = 12,
935         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
936         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
937         },
938         {
939         .field_bit_size = 48,
940         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
941         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
942         },
943         {
944         .field_bit_size = 8,
945         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
946         .mask_operand = {
947                 (BNXT_ULP_HF1_IDX_SVIF_INDEX >> 8) & 0xff,
948                 BNXT_ULP_HF1_IDX_SVIF_INDEX & 0xff,
949                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
950                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
951         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
952         .spec_operand = {
953                 (BNXT_ULP_HF1_IDX_SVIF_INDEX >> 8) & 0xff,
954                 BNXT_ULP_HF1_IDX_SVIF_INDEX & 0xff,
955                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
956                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
957         },
958         {
959         .field_bit_size = 4,
960         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
961         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
962         },
963         {
964         .field_bit_size = 12,
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 = 12,
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 = 48,
975         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
976         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
977         },
978         {
979         .field_bit_size = 2,
980         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
981         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
982         },
983         {
984         .field_bit_size = 2,
985         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
986         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
987         },
988         {
989         .field_bit_size = 4,
990         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
991         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
992                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
993         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
994         .spec_operand = {
995                 BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
996                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
997                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
998         },
999         {
1000         .field_bit_size = 2,
1001         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1002         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1003         },
1004         {
1005         .field_bit_size = 1,
1006         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1007         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1008                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1009         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1010         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1011                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1012         },
1013         {
1014         .field_bit_size = 1,
1015         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1016         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1017         },
1018         {
1019         .field_bit_size = 7,
1020         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1021         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
1022         .spec_operand = {
1023                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
1024                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
1025                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1026                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1027         },
1028         {
1029         .field_bit_size = 8,
1030         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1031         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1032         .spec_operand = {
1033                 (BNXT_ULP_REGFILE_INDEX_CLASS_TID >> 8) & 0xff,
1034                 BNXT_ULP_REGFILE_INDEX_CLASS_TID & 0xff,
1035                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1036                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1037         },
1038         {
1039         .field_bit_size = 1,
1040         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1041         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1042         },
1043         {
1044         .field_bit_size = 4,
1045         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1046         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1047                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1048         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1049         .spec_operand = {
1050                 BNXT_ULP_SYM_L4_HDR_TYPE_UDP,
1051                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1052                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1053         },
1054         {
1055         .field_bit_size = 1,
1056         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1057         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1058                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1059         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1060         },
1061         {
1062         .field_bit_size = 1,
1063         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1064         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1065                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1066         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1067         .spec_operand = {
1068                 BNXT_ULP_SYM_L4_HDR_VALID_YES,
1069                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1070                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1071         },
1072         {
1073         .field_bit_size = 1,
1074         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1075         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1076         },
1077         {
1078         .field_bit_size = 1,
1079         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1080         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1081         },
1082         {
1083         .field_bit_size = 1,
1084         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1085         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1086         },
1087         {
1088         .field_bit_size = 4,
1089         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1090         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1091                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1092         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1093         },
1094         {
1095         .field_bit_size = 1,
1096         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1097         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1098                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1099         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1100         },
1101         {
1102         .field_bit_size = 1,
1103         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1104         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1105                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1106         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1107         .spec_operand = {
1108                 BNXT_ULP_SYM_L3_HDR_VALID_YES,
1109                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1110                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1111         },
1112         {
1113         .field_bit_size = 1,
1114         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1115         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1116         },
1117         {
1118         .field_bit_size = 1,
1119         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1120         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1121         },
1122         {
1123         .field_bit_size = 2,
1124         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1125         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1126         },
1127         {
1128         .field_bit_size = 2,
1129         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1130         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1131                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1132         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1133         },
1134         {
1135         .field_bit_size = 1,
1136         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1137         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1138                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1139         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1140         },
1141         {
1142         .field_bit_size = 1,
1143         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1144         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1145                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1146         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1147         .spec_operand = {
1148                 BNXT_ULP_SYM_L2_HDR_VALID_YES,
1149                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1150                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1151         },
1152         {
1153         .field_bit_size = 3,
1154         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1155         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1156         },
1157         {
1158         .field_bit_size = 4,
1159         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1160         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1161         },
1162         {
1163         .field_bit_size = 1,
1164         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1165         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1166         },
1167         {
1168         .field_bit_size = 1,
1169         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1170         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1171         },
1172         {
1173         .field_bit_size = 1,
1174         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1175         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1176         },
1177         {
1178         .field_bit_size = 4,
1179         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1180         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1181         },
1182         {
1183         .field_bit_size = 1,
1184         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1185         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1186         },
1187         {
1188         .field_bit_size = 1,
1189         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1190         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1191         },
1192         {
1193         .field_bit_size = 1,
1194         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1195         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1196         },
1197         {
1198         .field_bit_size = 1,
1199         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1200         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1201         },
1202         {
1203         .field_bit_size = 1,
1204         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1205         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1206         },
1207         {
1208         .field_bit_size = 4,
1209         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1210         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1211         },
1212         {
1213         .field_bit_size = 1,
1214         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1215         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1216         },
1217         {
1218         .field_bit_size = 1,
1219         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1220         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1221         },
1222         {
1223         .field_bit_size = 1,
1224         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1225         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1226         },
1227         {
1228         .field_bit_size = 1,
1229         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1230         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1231         },
1232         {
1233         .field_bit_size = 2,
1234         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1235         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1236         },
1237         {
1238         .field_bit_size = 2,
1239         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1240         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1241         },
1242         {
1243         .field_bit_size = 1,
1244         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1245         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1246         },
1247         {
1248         .field_bit_size = 1,
1249         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1250         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1251         },
1252         {
1253         .field_bit_size = 9,
1254         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1255         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1256         },
1257         {
1258         .field_bit_size = 7,
1259         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1260         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1261                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1262         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
1263         .spec_operand = {
1264                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
1265                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
1266                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1267                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1268         },
1269         {
1270         .field_bit_size = 1,
1271         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1272         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1273         },
1274         {
1275         .field_bit_size = 2,
1276         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1277         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1278                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1279         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1280         },
1281         {
1282         .field_bit_size = 4,
1283         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1284         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1285                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1286         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1287         },
1288         {
1289         .field_bit_size = 1,
1290         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1291         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1292                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1293         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1294         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1295                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1296         },
1297         {
1298         .field_bit_size = 251,
1299         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1300         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1301         },
1302         {
1303         .field_bit_size = 3,
1304         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1305         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1306         },
1307         {
1308         .field_bit_size = 16,
1309         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1310         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1311         .spec_operand = {
1312                 (BNXT_ULP_HF1_IDX_O_UDP_DST_PORT >> 8) & 0xff,
1313                 BNXT_ULP_HF1_IDX_O_UDP_DST_PORT & 0xff,
1314                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1315                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1316         },
1317         {
1318         .field_bit_size = 16,
1319         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1320         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1321         .spec_operand = {
1322                 (BNXT_ULP_HF1_IDX_O_UDP_SRC_PORT >> 8) & 0xff,
1323                 BNXT_ULP_HF1_IDX_O_UDP_SRC_PORT & 0xff,
1324                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1325                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1326         },
1327         {
1328         .field_bit_size = 8,
1329         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1330         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1331         .spec_operand = {
1332                 BNXT_ULP_SYM_IP_PROTO_UDP,
1333                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1334                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1335         },
1336         {
1337         .field_bit_size = 32,
1338         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1339         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1340         .spec_operand = {
1341                 (BNXT_ULP_HF1_IDX_O_IPV4_DST_ADDR >> 8) & 0xff,
1342                 BNXT_ULP_HF1_IDX_O_IPV4_DST_ADDR & 0xff,
1343                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1344                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1345         },
1346         {
1347         .field_bit_size = 32,
1348         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1349         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1350         .spec_operand = {
1351                 (BNXT_ULP_HF1_IDX_O_IPV4_SRC_ADDR >> 8) & 0xff,
1352                 BNXT_ULP_HF1_IDX_O_IPV4_SRC_ADDR & 0xff,
1353                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1354                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1355         },
1356         {
1357         .field_bit_size = 48,
1358         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1359         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1360         },
1361         {
1362         .field_bit_size = 24,
1363         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1364         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1365         },
1366         {
1367         .field_bit_size = 10,
1368         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1369         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1370         .spec_operand = {
1371                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
1372                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
1373                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1374                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1375         },
1376         {
1377         .field_bit_size = 8,
1378         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1379         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1380         .spec_operand = {
1381                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
1382                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
1383                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1384                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1385         },
1386         {
1387         .field_bit_size = 8,
1388         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1389         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1390         .spec_operand = {
1391                 (BNXT_ULP_HF2_IDX_SVIF_INDEX >> 8) & 0xff,
1392                 BNXT_ULP_HF2_IDX_SVIF_INDEX & 0xff,
1393                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1394                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1395         },
1396         {
1397         .field_bit_size = 4,
1398         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1399         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1400         .spec_operand = {
1401                 BNXT_ULP_SYM_TUN_HDR_TYPE_NONE,
1402                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1403                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1404         },
1405         {
1406         .field_bit_size = 12,
1407         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1408         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1409         },
1410         {
1411         .field_bit_size = 12,
1412         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1413         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1414         },
1415         {
1416         .field_bit_size = 48,
1417         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1418         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1419         },
1420         {
1421         .field_bit_size = 8,
1422         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1423         .mask_operand = {
1424                 (BNXT_ULP_HF2_IDX_SVIF_INDEX >> 8) & 0xff,
1425                 BNXT_ULP_HF2_IDX_SVIF_INDEX & 0xff,
1426                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1427                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1428         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1429         .spec_operand = {
1430                 (BNXT_ULP_HF2_IDX_SVIF_INDEX >> 8) & 0xff,
1431                 BNXT_ULP_HF2_IDX_SVIF_INDEX & 0xff,
1432                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1433                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1434         },
1435         {
1436         .field_bit_size = 4,
1437         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1438         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1439         },
1440         {
1441         .field_bit_size = 12,
1442         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1443         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1444         },
1445         {
1446         .field_bit_size = 12,
1447         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1448         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1449         },
1450         {
1451         .field_bit_size = 48,
1452         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1453         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1454         },
1455         {
1456         .field_bit_size = 2,
1457         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1458         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1459         },
1460         {
1461         .field_bit_size = 2,
1462         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1463         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1464         },
1465         {
1466         .field_bit_size = 4,
1467         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1468         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1469                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1470         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1471         },
1472         {
1473         .field_bit_size = 2,
1474         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1475         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1476         },
1477         {
1478         .field_bit_size = 1,
1479         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1480         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1481                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1482         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1483         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1484                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1485         },
1486         {
1487         .field_bit_size = 1,
1488         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1489         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1490         },
1491         {
1492         .field_bit_size = 7,
1493         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1494         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
1495         .spec_operand = {
1496                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
1497                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
1498                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1499                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1500         },
1501         {
1502         .field_bit_size = 8,
1503         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1504         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1505         .spec_operand = {
1506                 (BNXT_ULP_REGFILE_INDEX_CLASS_TID >> 8) & 0xff,
1507                 BNXT_ULP_REGFILE_INDEX_CLASS_TID & 0xff,
1508                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1509                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1510         },
1511         {
1512         .field_bit_size = 1,
1513         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1514         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1515         },
1516         {
1517         .field_bit_size = 4,
1518         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1519         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1520                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1521         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1522         .spec_operand = {
1523                 BNXT_ULP_SYM_L4_HDR_TYPE_UDP,
1524                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1525                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1526         },
1527         {
1528         .field_bit_size = 1,
1529         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1530         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1531                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1532         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1533         },
1534         {
1535         .field_bit_size = 1,
1536         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1537         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1538                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1539         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1540         .spec_operand = {
1541                 BNXT_ULP_SYM_L4_HDR_VALID_YES,
1542                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1543                 0x00, 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_ZERO
1549         },
1550         {
1551         .field_bit_size = 1,
1552         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1553         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1554         },
1555         {
1556         .field_bit_size = 1,
1557         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1558         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1559         },
1560         {
1561         .field_bit_size = 4,
1562         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1563         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1564                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1565         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1566         },
1567         {
1568         .field_bit_size = 1,
1569         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1570         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1571                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1572         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1573         },
1574         {
1575         .field_bit_size = 1,
1576         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1577         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1578                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1579         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1580         .spec_operand = {
1581                 BNXT_ULP_SYM_L3_HDR_VALID_YES,
1582                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1583                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1584         },
1585         {
1586         .field_bit_size = 1,
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 = 1,
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 = 2,
1597         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1598         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1599         },
1600         {
1601         .field_bit_size = 2,
1602         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1603         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1604                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1605         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1606         },
1607         {
1608         .field_bit_size = 1,
1609         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1610         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1611                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1612         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1613         },
1614         {
1615         .field_bit_size = 1,
1616         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1617         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1618                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1619         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1620         .spec_operand = {
1621                 BNXT_ULP_SYM_L2_HDR_VALID_YES,
1622                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1623                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1624         },
1625         {
1626         .field_bit_size = 3,
1627         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1628         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1629         },
1630         {
1631         .field_bit_size = 4,
1632         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1633         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1634                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1635         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1636         },
1637         {
1638         .field_bit_size = 1,
1639         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1640         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1641                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1642         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1643         },
1644         {
1645         .field_bit_size = 1,
1646         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1647         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1648                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1649         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1650         .spec_operand = {
1651                 BNXT_ULP_SYM_TUN_HDR_VALID_YES,
1652                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1653                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1654         },
1655         {
1656         .field_bit_size = 1,
1657         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1658         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1659         },
1660         {
1661         .field_bit_size = 4,
1662         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1663         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1664                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1665         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1666         .spec_operand = {
1667                 BNXT_ULP_SYM_TL4_HDR_TYPE_UDP,
1668                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1669                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1670         },
1671         {
1672         .field_bit_size = 1,
1673         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1674         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1675                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1676         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1677         },
1678         {
1679         .field_bit_size = 1,
1680         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1681         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1682                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1683         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1684         .spec_operand = {
1685                 BNXT_ULP_SYM_TL4_HDR_VALID_YES,
1686                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1687                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1688         },
1689         {
1690         .field_bit_size = 1,
1691         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1692         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1693         },
1694         {
1695         .field_bit_size = 1,
1696         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1697         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1698         },
1699         {
1700         .field_bit_size = 1,
1701         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1702         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1703         },
1704         {
1705         .field_bit_size = 4,
1706         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1707         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1708                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1709         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1710         },
1711         {
1712         .field_bit_size = 1,
1713         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1714         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1715                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1716         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1717         },
1718         {
1719         .field_bit_size = 1,
1720         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1721         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1722                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1723         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1724         .spec_operand = {
1725                 BNXT_ULP_SYM_TL3_HDR_VALID_YES,
1726                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1727                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1728         },
1729         {
1730         .field_bit_size = 1,
1731         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1732         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1733         },
1734         {
1735         .field_bit_size = 1,
1736         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1737         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1738         },
1739         {
1740         .field_bit_size = 2,
1741         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1742         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1743                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1744         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1745         },
1746         {
1747         .field_bit_size = 2,
1748         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1749         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1750                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1751         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1752         },
1753         {
1754         .field_bit_size = 1,
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_TL2_HDR_VALID_YES,
1761                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1762                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1763         },
1764         {
1765         .field_bit_size = 1,
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 = 9,
1771         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1772         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1773         },
1774         {
1775         .field_bit_size = 7,
1776         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1777         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1778                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1779         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
1780         .spec_operand = {
1781                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
1782                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
1783                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1784                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1785         },
1786         {
1787         .field_bit_size = 1,
1788         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1789         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1790         },
1791         {
1792         .field_bit_size = 2,
1793         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1794         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1795                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1796         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1797         },
1798         {
1799         .field_bit_size = 4,
1800         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1801         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1802                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1803         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1804         },
1805         {
1806         .field_bit_size = 1,
1807         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1808         .mask_operand = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
1809                 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff},
1810         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1811         .spec_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1812                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1813         },
1814         {
1815         .field_bit_size = 251,
1816         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1817         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1818         },
1819         {
1820         .field_bit_size = 3,
1821         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1822         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1823         },
1824         {
1825         .field_bit_size = 16,
1826         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1827         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1828         .spec_operand = {
1829                 (BNXT_ULP_HF2_IDX_I_UDP_DST_PORT >> 8) & 0xff,
1830                 BNXT_ULP_HF2_IDX_I_UDP_DST_PORT & 0xff,
1831                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1832                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1833         },
1834         {
1835         .field_bit_size = 16,
1836         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1837         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1838         .spec_operand = {
1839                 (BNXT_ULP_HF2_IDX_I_UDP_SRC_PORT >> 8) & 0xff,
1840                 BNXT_ULP_HF2_IDX_I_UDP_SRC_PORT & 0xff,
1841                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1842                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1843         },
1844         {
1845         .field_bit_size = 8,
1846         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1847         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1848         .spec_operand = {
1849                 BNXT_ULP_SYM_IP_PROTO_UDP,
1850                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1851                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1852         },
1853         {
1854         .field_bit_size = 32,
1855         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1856         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1857         .spec_operand = {
1858                 (BNXT_ULP_HF2_IDX_I_IPV4_DST_ADDR >> 8) & 0xff,
1859                 BNXT_ULP_HF2_IDX_I_IPV4_DST_ADDR & 0xff,
1860                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1861                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1862         },
1863         {
1864         .field_bit_size = 32,
1865         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1866         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_HDR_FIELD,
1867         .spec_operand = {
1868                 (BNXT_ULP_HF2_IDX_I_IPV4_SRC_ADDR >> 8) & 0xff,
1869                 BNXT_ULP_HF2_IDX_I_IPV4_SRC_ADDR & 0xff,
1870                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1871                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1872         },
1873         {
1874         .field_bit_size = 48,
1875         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1876         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1877         },
1878         {
1879         .field_bit_size = 24,
1880         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1881         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1882         },
1883         {
1884         .field_bit_size = 10,
1885         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1886         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1887         .spec_operand = {
1888                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
1889                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
1890                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1891                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1892         },
1893         {
1894         .field_bit_size = 8,
1895         .mask_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO,
1896         .spec_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1897         .spec_operand = {
1898                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
1899                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
1900                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1901                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1902         }
1903 };
1904
1905 struct bnxt_ulp_mapper_result_field_info ulp_class_result_field_list[] = {
1906         {
1907         .field_bit_size = 10,
1908         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1909         .result_operand = {
1910                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
1911                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
1912                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1913                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1914         },
1915         {
1916         .field_bit_size = 10,
1917         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1918         .result_operand = {
1919                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
1920                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
1921                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1922                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1923         },
1924         {
1925         .field_bit_size = 7,
1926         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
1927         .result_operand = {
1928                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
1929                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
1930                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1931                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1932         },
1933         {
1934         .field_bit_size = 1,
1935         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1936         },
1937         {
1938         .field_bit_size = 4,
1939         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1940         },
1941         {
1942         .field_bit_size = 8,
1943         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1944         },
1945         {
1946         .field_bit_size = 3,
1947         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1948         },
1949         {
1950         .field_bit_size = 6,
1951         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1952         },
1953         {
1954         .field_bit_size = 3,
1955         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1956         },
1957         {
1958         .field_bit_size = 1,
1959         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1960         },
1961         {
1962         .field_bit_size = 16,
1963         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1964         },
1965         {
1966         .field_bit_size = 1,
1967         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1968         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1969                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1970         },
1971         {
1972         .field_bit_size = 2,
1973         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1974         },
1975         {
1976         .field_bit_size = 2,
1977         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1978         },
1979         {
1980         .field_bit_size = 10,
1981         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1982         .result_operand = {
1983                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
1984                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
1985                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1986                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1987         },
1988         {
1989         .field_bit_size = 4,
1990         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1991         },
1992         {
1993         .field_bit_size = 8,
1994         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1995         },
1996         {
1997         .field_bit_size = 1,
1998         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1999         },
2000         {
2001         .field_bit_size = 10,
2002         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2003         .result_operand = {
2004                 (0x00f9 >> 8) & 0xff,
2005                 0x00f9 & 0xff,
2006                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2007                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2008         },
2009         {
2010         .field_bit_size = 5,
2011         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2012         .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
2013                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2014         },
2015         {
2016         .field_bit_size = 8,
2017         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2018         .result_operand = {
2019                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
2020                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
2021                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2022                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2023         },
2024         {
2025         .field_bit_size = 1,
2026         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2027         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2028                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2029         },
2030         {
2031         .field_bit_size = 1,
2032         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2033         },
2034         {
2035         .field_bit_size = 33,
2036         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2037         .result_operand = {
2038                 (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
2039                 BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
2040                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2041                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2042         },
2043         {
2044         .field_bit_size = 1,
2045         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2046         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2047                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2048         },
2049         {
2050         .field_bit_size = 1,
2051         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2052         },
2053         {
2054         .field_bit_size = 5,
2055         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2056         .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
2057                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2058         },
2059         {
2060         .field_bit_size = 9,
2061         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2062         .result_operand = {
2063                 (0x00c5 >> 8) & 0xff,
2064                 0x00c5 & 0xff,
2065                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2066                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2067         },
2068         {
2069         .field_bit_size = 11,
2070         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2071         },
2072         {
2073         .field_bit_size = 2,
2074         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2075         .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
2076                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2077         },
2078         {
2079         .field_bit_size = 1,
2080         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2081         },
2082         {
2083         .field_bit_size = 1,
2084         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2085         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2086                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2087         },
2088         {
2089         .field_bit_size = 10,
2090         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2091         .result_operand = {
2092                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
2093                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
2094                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2095                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2096         },
2097         {
2098         .field_bit_size = 10,
2099         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2100         .result_operand = {
2101                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
2102                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
2103                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2104                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2105         },
2106         {
2107         .field_bit_size = 7,
2108         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
2109         .result_operand = {
2110                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
2111                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
2112                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2113                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2114         },
2115         {
2116         .field_bit_size = 1,
2117         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2118         },
2119         {
2120         .field_bit_size = 4,
2121         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2122         },
2123         {
2124         .field_bit_size = 8,
2125         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2126         },
2127         {
2128         .field_bit_size = 3,
2129         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2130         },
2131         {
2132         .field_bit_size = 6,
2133         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2134         },
2135         {
2136         .field_bit_size = 3,
2137         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2138         },
2139         {
2140         .field_bit_size = 1,
2141         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2142         },
2143         {
2144         .field_bit_size = 16,
2145         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2146         },
2147         {
2148         .field_bit_size = 1,
2149         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2150         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2151                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2152         },
2153         {
2154         .field_bit_size = 2,
2155         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2156         },
2157         {
2158         .field_bit_size = 2,
2159         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2160         },
2161         {
2162         .field_bit_size = 10,
2163         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2164         .result_operand = {
2165                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
2166                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
2167                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2168                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2169         },
2170         {
2171         .field_bit_size = 4,
2172         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2173         },
2174         {
2175         .field_bit_size = 8,
2176         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2177         },
2178         {
2179         .field_bit_size = 1,
2180         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2181         },
2182         {
2183         .field_bit_size = 10,
2184         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2185         .result_operand = {
2186                 (0x00f9 >> 8) & 0xff,
2187                 0x00f9 & 0xff,
2188                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2189                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2190         },
2191         {
2192         .field_bit_size = 5,
2193         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2194         .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
2195                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2196         },
2197         {
2198         .field_bit_size = 8,
2199         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2200         .result_operand = {
2201                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
2202                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
2203                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2204                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2205         },
2206         {
2207         .field_bit_size = 1,
2208         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2209         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2210                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2211         },
2212         {
2213         .field_bit_size = 1,
2214         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2215         },
2216         {
2217         .field_bit_size = 33,
2218         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2219         .result_operand = {
2220                 (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
2221                 BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
2222                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2223                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2224         },
2225         {
2226         .field_bit_size = 1,
2227         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2228         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2229                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2230         },
2231         {
2232         .field_bit_size = 1,
2233         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2234         },
2235         {
2236         .field_bit_size = 5,
2237         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2238         .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
2239                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2240         },
2241         {
2242         .field_bit_size = 9,
2243         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2244         .result_operand = {
2245                 (0x00c5 >> 8) & 0xff,
2246                 0x00c5 & 0xff,
2247                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2248                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2249         },
2250         {
2251         .field_bit_size = 11,
2252         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2253         },
2254         {
2255         .field_bit_size = 2,
2256         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2257         .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
2258                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2259         },
2260         {
2261         .field_bit_size = 1,
2262         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2263         },
2264         {
2265         .field_bit_size = 1,
2266         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2267         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2268                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2269         },
2270         {
2271         .field_bit_size = 10,
2272         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2273         .result_operand = {
2274                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
2275                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
2276                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2277                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2278         },
2279         {
2280         .field_bit_size = 10,
2281         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2282         .result_operand = {
2283                 (BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 >> 8) & 0xff,
2284                 BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0 & 0xff,
2285                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2286                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2287         },
2288         {
2289         .field_bit_size = 7,
2290         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
2291         .result_operand = {
2292                 (BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID >> 8) & 0xff,
2293                 BNXT_ULP_GLB_REGFILE_INDEX_GLB_PROF_FUNC_ID & 0xff,
2294                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2295                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2296         },
2297         {
2298         .field_bit_size = 1,
2299         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2300         },
2301         {
2302         .field_bit_size = 4,
2303         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2304         },
2305         {
2306         .field_bit_size = 8,
2307         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2308         },
2309         {
2310         .field_bit_size = 3,
2311         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2312         },
2313         {
2314         .field_bit_size = 6,
2315         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2316         },
2317         {
2318         .field_bit_size = 3,
2319         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2320         },
2321         {
2322         .field_bit_size = 1,
2323         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2324         },
2325         {
2326         .field_bit_size = 16,
2327         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2328         },
2329         {
2330         .field_bit_size = 1,
2331         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2332         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2333                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2334         },
2335         {
2336         .field_bit_size = 2,
2337         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2338         },
2339         {
2340         .field_bit_size = 2,
2341         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2342         },
2343         {
2344         .field_bit_size = 10,
2345         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2346         .result_operand = {
2347                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
2348                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
2349                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2350                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
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 = 1,
2362         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2363         },
2364         {
2365         .field_bit_size = 10,
2366         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2367         .result_operand = {
2368                 (0x00f9 >> 8) & 0xff,
2369                 0x00f9 & 0xff,
2370                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2371                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2372         },
2373         {
2374         .field_bit_size = 5,
2375         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2376         .result_operand = {0x15, 0x00, 0x00, 0x00, 0x00, 0x00,
2377                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2378         },
2379         {
2380         .field_bit_size = 8,
2381         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2382         .result_operand = {
2383                 (BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 >> 8) & 0xff,
2384                 BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0 & 0xff,
2385                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2386                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2387         },
2388         {
2389         .field_bit_size = 1,
2390         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2391         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2392                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2393         },
2394         {
2395         .field_bit_size = 1,
2396         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2397         },
2398         {
2399         .field_bit_size = 33,
2400         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2401         .result_operand = {
2402                 (BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR >> 8) & 0xff,
2403                 BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR & 0xff,
2404                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2405                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2406         },
2407         {
2408         .field_bit_size = 1,
2409         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2410         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2411                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2412         },
2413         {
2414         .field_bit_size = 1,
2415         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2416         },
2417         {
2418         .field_bit_size = 5,
2419         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2420         .result_operand = {0x02, 0x00, 0x00, 0x00, 0x00, 0x00,
2421                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2422         },
2423         {
2424         .field_bit_size = 9,
2425         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2426         .result_operand = {
2427                 (0x00c5 >> 8) & 0xff,
2428                 0x00c5 & 0xff,
2429                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2430                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2431         },
2432         {
2433         .field_bit_size = 11,
2434         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2435         },
2436         {
2437         .field_bit_size = 2,
2438         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2439         .result_operand = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
2440                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2441         },
2442         {
2443         .field_bit_size = 1,
2444         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2445         },
2446         {
2447         .field_bit_size = 1,
2448         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2449         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2450                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2451         }
2452 };
2453
2454 struct bnxt_ulp_mapper_ident_info ulp_ident_list[] = {
2455         {
2456         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2457         .ident_type = TF_IDENT_TYPE_L2_CTXT,
2458         .regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
2459         .ident_bit_size = 10,
2460         .ident_bit_pos = 0
2461         },
2462         {
2463         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2464         .ident_type = TF_IDENT_TYPE_EM_PROF,
2465         .regfile_idx = BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0,
2466         .ident_bit_size = 10,
2467         .ident_bit_pos = 0
2468         },
2469         {
2470         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2471         .ident_type = TF_IDENT_TYPE_L2_CTXT,
2472         .regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
2473         .ident_bit_size = 10,
2474         .ident_bit_pos = 0
2475         },
2476         {
2477         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2478         .ident_type = TF_IDENT_TYPE_EM_PROF,
2479         .regfile_idx = BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0,
2480         .ident_bit_size = 10,
2481         .ident_bit_pos = 0
2482         },
2483         {
2484         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2485         .ident_type = TF_IDENT_TYPE_L2_CTXT,
2486         .regfile_idx = BNXT_ULP_REGFILE_INDEX_L2_CNTXT_ID_0,
2487         .ident_bit_size = 10,
2488         .ident_bit_pos = 0
2489         },
2490         {
2491         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
2492         .ident_type = TF_IDENT_TYPE_EM_PROF,
2493         .regfile_idx = BNXT_ULP_REGFILE_INDEX_EM_PROFILE_ID_0,
2494         .ident_bit_size = 10,
2495         .ident_bit_pos = 0
2496         }
2497 };