2870a0615a78d81466c5abdfe109d98cf610ad0b
[dpdk.git] / drivers / net / bnxt / tf_ulp / generic_templates / ulp_template_db_wh_plus_class.c
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2014-2021 Broadcom
3  * All rights reserved.
4  */
5
6 /* date: Wed Jun 30 14:36:16 2021 */
7
8 #include "ulp_template_db_enum.h"
9 #include "ulp_template_db_field.h"
10 #include "ulp_template_struct.h"
11 #include "ulp_template_db_tbl.h"
12
13 /* Mapper templates for header class list */
14 struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_class_tmpl_list[] = {
15         /* class_tid: 1, ingress */
16         [1] = {
17         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
18         .num_tbls = 18,
19         .start_tbl_idx = 0,
20         .reject_info = {
21                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
22                 .cond_start_idx = 0,
23                 .cond_nums = 1 }
24         },
25         /* class_tid: 2, ingress */
26         [2] = {
27         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
28         .num_tbls = 15,
29         .start_tbl_idx = 18,
30         .reject_info = {
31                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
32                 .cond_start_idx = 24,
33                 .cond_nums = 1 }
34         },
35         /* class_tid: 3, egress */
36         [3] = {
37         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
38         .num_tbls = 15,
39         .start_tbl_idx = 33,
40         .reject_info = {
41                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
42                 .cond_start_idx = 30,
43                 .cond_nums = 1 }
44         },
45         /* class_tid: 4, ingress */
46         [4] = {
47         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
48         .num_tbls = 22,
49         .start_tbl_idx = 48,
50         .reject_info = {
51                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
52                 .cond_start_idx = 41,
53                 .cond_nums = 0 }
54         },
55         /* class_tid: 5, egress */
56         [5] = {
57         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
58         .num_tbls = 19,
59         .start_tbl_idx = 70,
60         .reject_info = {
61                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
62                 .cond_start_idx = 47,
63                 .cond_nums = 0 }
64         }
65 };
66
67 struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
68         { /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */
69         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
70         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
71         .resource_sub_type =
72                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
73         .direction = TF_DIR_RX,
74         .execute_info = {
75                 .cond_true_goto  = 5,
76                 .cond_false_goto = 1,
77                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
78                 .cond_start_idx = 1,
79                 .cond_nums = 1 },
80         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
81         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
82         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
83         .key_start_idx = 0,
84         .blob_key_bit_size = 8,
85         .key_bit_size = 8,
86         .key_num_fields = 1,
87         .ident_start_idx = 0,
88         .ident_nums = 1
89         },
90         { /* class_tid: 1, , table: mac_addr_cache.rd */
91         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
92         .resource_sub_type =
93                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
94         .direction = TF_DIR_RX,
95         .execute_info = {
96                 .cond_true_goto  = 1,
97                 .cond_false_goto = 1,
98                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
99                 .cond_start_idx = 2,
100                 .cond_nums = 0 },
101         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
102         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
103         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
104         .key_start_idx = 1,
105         .blob_key_bit_size = 73,
106         .key_bit_size = 73,
107         .key_num_fields = 5,
108         .ident_start_idx = 1,
109         .ident_nums = 1
110         },
111         { /* class_tid: 1, , table: control.0 */
112         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
113         .direction = TF_DIR_RX,
114         .execute_info = {
115                 .cond_true_goto  = 1,
116                 .cond_false_goto = 3,
117                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
118                 .cond_start_idx = 2,
119                 .cond_nums = 1 },
120         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
121         .fdb_operand = BNXT_ULP_RF_IDX_RID
122         },
123         { /* class_tid: 1, , table: l2_cntxt_tcam.0 */
124         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
125         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
126         .direction = TF_DIR_RX,
127         .execute_info = {
128                 .cond_true_goto  = 1,
129                 .cond_false_goto = 1,
130                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
131                 .cond_start_idx = 3,
132                 .cond_nums = 0 },
133         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
134         .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
135         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
136         .fdb_operand = BNXT_ULP_RF_IDX_RID,
137         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
138         .pri_operand = 0,
139         .key_start_idx = 6,
140         .blob_key_bit_size = 167,
141         .key_bit_size = 167,
142         .key_num_fields = 13,
143         .result_start_idx = 0,
144         .result_bit_size = 64,
145         .result_num_fields = 13,
146         .ident_start_idx = 2,
147         .ident_nums = 1
148         },
149         { /* class_tid: 1, , table: mac_addr_cache.wr */
150         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
151         .resource_sub_type =
152                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
153         .direction = TF_DIR_RX,
154         .execute_info = {
155                 .cond_true_goto  = 1,
156                 .cond_false_goto = 1,
157                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
158                 .cond_start_idx = 3,
159                 .cond_nums = 0 },
160         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
161         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
162         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
163         .key_start_idx = 19,
164         .blob_key_bit_size = 73,
165         .key_bit_size = 73,
166         .key_num_fields = 5,
167         .result_start_idx = 13,
168         .result_bit_size = 62,
169         .result_num_fields = 4
170         },
171         { /* class_tid: 1, , table: profile_tcam_cache.rd */
172         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
173         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
174         .resource_sub_type =
175                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
176         .direction = TF_DIR_RX,
177         .execute_info = {
178                 .cond_true_goto  = 1,
179                 .cond_false_goto = 1,
180                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
181                 .cond_start_idx = 3,
182                 .cond_nums = 0 },
183         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
184         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
185         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
186         .key_start_idx = 24,
187         .blob_key_bit_size = 14,
188         .key_bit_size = 14,
189         .key_num_fields = 3,
190         .ident_start_idx = 3,
191         .ident_nums = 3
192         },
193         { /* class_tid: 1, , table: control.1 */
194         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
195         .direction = TF_DIR_RX,
196         .execute_info = {
197                 .cond_true_goto  = 2,
198                 .cond_false_goto = 1,
199                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
200                 .cond_start_idx = 3,
201                 .cond_nums = 1 },
202         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
203         .fdb_operand = BNXT_ULP_RF_IDX_RID
204         },
205         { /* class_tid: 1, , table: control.2 */
206         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
207         .direction = TF_DIR_RX,
208         .execute_info = {
209                 .cond_true_goto  = 5,
210                 .cond_false_goto = 1023,
211                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
212                 .cond_start_idx = 4,
213                 .cond_nums = 1 },
214         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
215         .func_info = {
216                 .func_opc = BNXT_ULP_FUNC_OPC_EQ,
217                 .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
218                 .func_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
219                 .func_src2 = BNXT_ULP_FUNC_SRC_COMP_FIELD,
220                 .func_opr2 = BNXT_ULP_CF_IDX_FLOW_SIG_ID,
221                 .func_dst_opr = BNXT_ULP_RF_IDX_CC }
222         },
223         { /* class_tid: 1, , table: profile_tcam.ipv4 */
224         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
225         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
226         .direction = TF_DIR_RX,
227         .execute_info = {
228                 .cond_true_goto  = 3,
229                 .cond_false_goto = 1,
230                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
231                 .cond_start_idx = 5,
232                 .cond_nums = 2 },
233         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
234         .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
235         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
236         .fdb_operand = BNXT_ULP_RF_IDX_RID,
237         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
238         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
239         .key_start_idx = 27,
240         .blob_key_bit_size = 81,
241         .key_bit_size = 81,
242         .key_num_fields = 43,
243         .result_start_idx = 17,
244         .result_bit_size = 38,
245         .result_num_fields = 17,
246         .ident_start_idx = 6,
247         .ident_nums = 1
248         },
249         { /* class_tid: 1, , table: profile_tcam.ipv6 */
250         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
251         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
252         .direction = TF_DIR_RX,
253         .execute_info = {
254                 .cond_true_goto  = 1,
255                 .cond_false_goto = 1,
256                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
257                 .cond_start_idx = 7,
258                 .cond_nums = 2 },
259         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
260         .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
261         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
262         .fdb_operand = BNXT_ULP_RF_IDX_RID,
263         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
264         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
265         .key_start_idx = 70,
266         .blob_key_bit_size = 81,
267         .key_bit_size = 81,
268         .key_num_fields = 43,
269         .result_start_idx = 34,
270         .result_bit_size = 38,
271         .result_num_fields = 17,
272         .ident_start_idx = 7,
273         .ident_nums = 1
274         },
275         { /* class_tid: 1, , table: profile_tcam.ipv4_vxlan */
276         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
277         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
278         .direction = TF_DIR_RX,
279         .execute_info = {
280                 .cond_true_goto  = 1,
281                 .cond_false_goto = 1,
282                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
283                 .cond_start_idx = 9,
284                 .cond_nums = 2 },
285         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
286         .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
287         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
288         .fdb_operand = BNXT_ULP_RF_IDX_RID,
289         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
290         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
291         .key_start_idx = 113,
292         .blob_key_bit_size = 81,
293         .key_bit_size = 81,
294         .key_num_fields = 43,
295         .result_start_idx = 51,
296         .result_bit_size = 38,
297         .result_num_fields = 17,
298         .ident_start_idx = 8,
299         .ident_nums = 1
300         },
301         { /* class_tid: 1, , table: profile_tcam_cache.wr */
302         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
303         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
304         .resource_sub_type =
305                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
306         .direction = TF_DIR_RX,
307         .execute_info = {
308                 .cond_true_goto  = 1,
309                 .cond_false_goto = 1,
310                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
311                 .cond_start_idx = 11,
312                 .cond_nums = 0 },
313         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
314         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
315         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
316         .key_start_idx = 156,
317         .blob_key_bit_size = 14,
318         .key_bit_size = 14,
319         .key_num_fields = 3,
320         .result_start_idx = 68,
321         .result_bit_size = 122,
322         .result_num_fields = 5
323         },
324         { /* class_tid: 1, , table: em.ipv4 */
325         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
326         .resource_type = TF_MEM_INTERNAL,
327         .direction = TF_DIR_RX,
328         .execute_info = {
329                 .cond_true_goto  = 0,
330                 .cond_false_goto = 1,
331                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
332                 .cond_start_idx = 11,
333                 .cond_nums = 3 },
334         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
335         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
336         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
337         .key_start_idx = 159,
338         .blob_key_bit_size = 176,
339         .key_bit_size = 176,
340         .key_num_fields = 10,
341         .result_start_idx = 73,
342         .result_bit_size = 64,
343         .result_num_fields = 9
344         },
345         { /* class_tid: 1, , table: eem.ipv4 */
346         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
347         .resource_type = TF_MEM_EXTERNAL,
348         .direction = TF_DIR_RX,
349         .execute_info = {
350                 .cond_true_goto  = 0,
351                 .cond_false_goto = 1,
352                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
353                 .cond_start_idx = 14,
354                 .cond_nums = 3 },
355         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
356         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
357         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
358         .key_start_idx = 169,
359         .blob_key_bit_size = 448,
360         .key_bit_size = 448,
361         .key_num_fields = 10,
362         .result_start_idx = 82,
363         .result_bit_size = 64,
364         .result_num_fields = 9
365         },
366         { /* class_tid: 1, , table: em.ipv6 */
367         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
368         .resource_type = TF_MEM_INTERNAL,
369         .direction = TF_DIR_RX,
370         .execute_info = {
371                 .cond_true_goto  = 0,
372                 .cond_false_goto = 1,
373                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
374                 .cond_start_idx = 17,
375                 .cond_nums = 3 },
376         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
377         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
378         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
379         .key_start_idx = 179,
380         .blob_key_bit_size = 416,
381         .key_bit_size = 416,
382         .key_num_fields = 11,
383         .result_start_idx = 91,
384         .result_bit_size = 64,
385         .result_num_fields = 9
386         },
387         { /* class_tid: 1, , table: eem.ipv6 */
388         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
389         .resource_type = TF_MEM_EXTERNAL,
390         .direction = TF_DIR_RX,
391         .execute_info = {
392                 .cond_true_goto  = 0,
393                 .cond_false_goto = 1,
394                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
395                 .cond_start_idx = 20,
396                 .cond_nums = 3 },
397         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
398         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
399         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
400         .key_start_idx = 190,
401         .blob_key_bit_size = 448,
402         .key_bit_size = 448,
403         .key_num_fields = 11,
404         .result_start_idx = 100,
405         .result_bit_size = 64,
406         .result_num_fields = 9
407         },
408         { /* class_tid: 1, , table: em.vxlan */
409         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
410         .resource_type = TF_MEM_INTERNAL,
411         .direction = TF_DIR_RX,
412         .execute_info = {
413                 .cond_true_goto  = 0,
414                 .cond_false_goto = 1,
415                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
416                 .cond_start_idx = 23,
417                 .cond_nums = 1 },
418         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
419         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
420         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
421         .key_start_idx = 201,
422         .blob_key_bit_size = 200,
423         .key_bit_size = 200,
424         .key_num_fields = 11,
425         .result_start_idx = 109,
426         .result_bit_size = 64,
427         .result_num_fields = 9
428         },
429         { /* class_tid: 1, , table: eem.vxlan */
430         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
431         .resource_type = TF_MEM_EXTERNAL,
432         .direction = TF_DIR_RX,
433         .execute_info = {
434                 .cond_true_goto  = 0,
435                 .cond_false_goto = 0,
436                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
437                 .cond_start_idx = 24,
438                 .cond_nums = 0 },
439         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
440         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
441         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
442         .key_start_idx = 212,
443         .blob_key_bit_size = 448,
444         .key_bit_size = 448,
445         .key_num_fields = 11,
446         .result_start_idx = 118,
447         .result_bit_size = 64,
448         .result_num_fields = 9
449         },
450         { /* class_tid: 2, , table: tunnel_cache.rd */
451         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
452         .resource_sub_type =
453                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TUNNEL_CACHE,
454         .direction = TF_DIR_RX,
455         .execute_info = {
456                 .cond_true_goto  = 1,
457                 .cond_false_goto = 1,
458                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
459                 .cond_start_idx = 25,
460                 .cond_nums = 0 },
461         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
462         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
463         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
464         .key_start_idx = 223,
465         .blob_key_bit_size = 16,
466         .key_bit_size = 16,
467         .key_num_fields = 2,
468         .ident_start_idx = 9,
469         .ident_nums = 1
470         },
471         { /* class_tid: 2, , table: control.tunnel_cache_check */
472         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
473         .direction = TF_DIR_RX,
474         .execute_info = {
475                 .cond_true_goto  = 1,
476                 .cond_false_goto = 3,
477                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
478                 .cond_start_idx = 25,
479                 .cond_nums = 1 },
480         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
481         .fdb_operand = BNXT_ULP_RF_IDX_RID
482         },
483         { /* class_tid: 2, , table: l2_cntxt_tcam.1 */
484         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
485         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
486         .direction = TF_DIR_RX,
487         .execute_info = {
488                 .cond_true_goto  = 1,
489                 .cond_false_goto = 1,
490                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
491                 .cond_start_idx = 26,
492                 .cond_nums = 0 },
493         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_IDENT,
494         .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
495         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
496         .fdb_operand = BNXT_ULP_RF_IDX_RID,
497         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
498         .pri_operand = 0,
499         .key_start_idx = 225,
500         .blob_key_bit_size = 167,
501         .key_bit_size = 167,
502         .key_num_fields = 13,
503         .result_start_idx = 127,
504         .result_bit_size = 64,
505         .result_num_fields = 13,
506         .ident_start_idx = 10,
507         .ident_nums = 1
508         },
509         { /* class_tid: 2, , table: tunnel_cache.wr */
510         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
511         .resource_sub_type =
512                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_TUNNEL_CACHE,
513         .direction = TF_DIR_RX,
514         .execute_info = {
515                 .cond_true_goto  = 1,
516                 .cond_false_goto = 1,
517                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
518                 .cond_start_idx = 26,
519                 .cond_nums = 0 },
520         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
521         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
522         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
523         .key_start_idx = 238,
524         .blob_key_bit_size = 16,
525         .key_bit_size = 16,
526         .key_num_fields = 2,
527         .result_start_idx = 140,
528         .result_bit_size = 52,
529         .result_num_fields = 3
530         },
531         { /* class_tid: 2, , table: control.flow_type_check */
532         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
533         .direction = TF_DIR_RX,
534         .execute_info = {
535                 .cond_true_goto  = 1,
536                 .cond_false_goto = 5,
537                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
538                 .cond_start_idx = 26,
539                 .cond_nums = 1 },
540         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
541         },
542         { /* class_tid: 2, , table: mac_addr_cache.rd */
543         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
544         .resource_sub_type =
545                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
546         .direction = TF_DIR_RX,
547         .execute_info = {
548                 .cond_true_goto  = 1,
549                 .cond_false_goto = 1,
550                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
551                 .cond_start_idx = 27,
552                 .cond_nums = 0 },
553         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
554         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
555         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
556         .key_start_idx = 240,
557         .blob_key_bit_size = 73,
558         .key_bit_size = 73,
559         .key_num_fields = 5,
560         .ident_start_idx = 11,
561         .ident_nums = 1
562         },
563         { /* class_tid: 2, , table: control.mac_addr_cache_check */
564         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
565         .direction = TF_DIR_RX,
566         .execute_info = {
567                 .cond_true_goto  = 1,
568                 .cond_false_goto = 0,
569                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
570                 .cond_start_idx = 27,
571                 .cond_nums = 1 },
572         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
573         .fdb_operand = BNXT_ULP_RF_IDX_RID
574         },
575         { /* class_tid: 2, , table: l2_cntxt_tcam.0 */
576         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
577         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
578         .direction = TF_DIR_RX,
579         .execute_info = {
580                 .cond_true_goto  = 1,
581                 .cond_false_goto = 1,
582                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
583                 .cond_start_idx = 28,
584                 .cond_nums = 0 },
585         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
586         .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
587         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
588         .fdb_operand = BNXT_ULP_RF_IDX_RID,
589         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
590         .pri_operand = 0,
591         .key_start_idx = 245,
592         .blob_key_bit_size = 167,
593         .key_bit_size = 167,
594         .key_num_fields = 13,
595         .result_start_idx = 143,
596         .result_bit_size = 64,
597         .result_num_fields = 13,
598         .ident_start_idx = 12,
599         .ident_nums = 0
600         },
601         { /* class_tid: 2, , table: mac_addr_cache.wr */
602         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
603         .resource_sub_type =
604                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
605         .direction = TF_DIR_RX,
606         .execute_info = {
607                 .cond_true_goto  = 0,
608                 .cond_false_goto = 1,
609                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
610                 .cond_start_idx = 28,
611                 .cond_nums = 0 },
612         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
613         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
614         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
615         .key_start_idx = 258,
616         .blob_key_bit_size = 73,
617         .key_bit_size = 73,
618         .key_num_fields = 5,
619         .result_start_idx = 156,
620         .result_bit_size = 62,
621         .result_num_fields = 4
622         },
623         { /* class_tid: 2, , table: profile_tcam_cache.f2_rd */
624         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
625         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
626         .resource_sub_type =
627                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
628         .direction = TF_DIR_RX,
629         .execute_info = {
630                 .cond_true_goto  = 1,
631                 .cond_false_goto = 1,
632                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
633                 .cond_start_idx = 28,
634                 .cond_nums = 0 },
635         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
636         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
637         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
638         .key_start_idx = 263,
639         .blob_key_bit_size = 14,
640         .key_bit_size = 14,
641         .key_num_fields = 3,
642         .ident_start_idx = 12,
643         .ident_nums = 3
644         },
645         { /* class_tid: 2, , table: control.profile_tcam_cache.f2_check */
646         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
647         .direction = TF_DIR_RX,
648         .execute_info = {
649                 .cond_true_goto  = 1,
650                 .cond_false_goto = 3,
651                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
652                 .cond_start_idx = 28,
653                 .cond_nums = 1 },
654         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
655         .fdb_operand = BNXT_ULP_RF_IDX_RID
656         },
657         { /* class_tid: 2, , table: profile_tcam.f2 */
658         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
659         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
660         .direction = TF_DIR_RX,
661         .execute_info = {
662                 .cond_true_goto  = 1,
663                 .cond_false_goto = 1,
664                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
665                 .cond_start_idx = 29,
666                 .cond_nums = 0 },
667         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
668         .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
669         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
670         .fdb_operand = BNXT_ULP_RF_IDX_RID,
671         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
672         .pri_operand = 1,
673         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
674         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
675         .key_start_idx = 266,
676         .blob_key_bit_size = 81,
677         .key_bit_size = 81,
678         .key_num_fields = 43,
679         .result_start_idx = 160,
680         .result_bit_size = 38,
681         .result_num_fields = 17
682         },
683         { /* class_tid: 2, , table: profile_tcam_cache.f2_wr */
684         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
685         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
686         .resource_sub_type =
687                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
688         .direction = TF_DIR_RX,
689         .execute_info = {
690                 .cond_true_goto  = 1,
691                 .cond_false_goto = 1,
692                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
693                 .cond_start_idx = 29,
694                 .cond_nums = 0 },
695         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
696         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
697         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
698         .key_start_idx = 309,
699         .blob_key_bit_size = 14,
700         .key_bit_size = 14,
701         .key_num_fields = 3,
702         .result_start_idx = 177,
703         .result_bit_size = 122,
704         .result_num_fields = 5
705         },
706         { /* class_tid: 2, , table: em.tun */
707         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
708         .resource_type = TF_MEM_INTERNAL,
709         .direction = TF_DIR_RX,
710         .execute_info = {
711                 .cond_true_goto  = 0,
712                 .cond_false_goto = 1,
713                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
714                 .cond_start_idx = 29,
715                 .cond_nums = 1 },
716         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
717         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
718         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
719         .key_start_idx = 312,
720         .blob_key_bit_size = 112,
721         .key_bit_size = 112,
722         .key_num_fields = 8,
723         .result_start_idx = 182,
724         .result_bit_size = 64,
725         .result_num_fields = 9
726         },
727         { /* class_tid: 2, , table: eem.tun */
728         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
729         .resource_type = TF_MEM_EXTERNAL,
730         .direction = TF_DIR_RX,
731         .execute_info = {
732                 .cond_true_goto  = 0,
733                 .cond_false_goto = 0,
734                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
735                 .cond_start_idx = 30,
736                 .cond_nums = 0 },
737         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
738         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
739         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
740         .key_start_idx = 320,
741         .blob_key_bit_size = 448,
742         .key_bit_size = 448,
743         .key_num_fields = 8,
744         .result_start_idx = 191,
745         .result_bit_size = 64,
746         .result_num_fields = 9
747         },
748         { /* class_tid: 3, , table: l2_cntxt_tcam_cache.rd */
749         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
750         .resource_sub_type =
751                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
752         .direction = TF_DIR_TX,
753         .execute_info = {
754                 .cond_true_goto  = 5,
755                 .cond_false_goto = 1,
756                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
757                 .cond_start_idx = 31,
758                 .cond_nums = 1 },
759         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
760         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
761         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
762         .key_start_idx = 328,
763         .blob_key_bit_size = 8,
764         .key_bit_size = 8,
765         .key_num_fields = 1,
766         .ident_start_idx = 15,
767         .ident_nums = 1
768         },
769         { /* class_tid: 3, , table: mac_addr_cache.rd */
770         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
771         .resource_sub_type =
772                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
773         .direction = TF_DIR_TX,
774         .execute_info = {
775                 .cond_true_goto  = 1,
776                 .cond_false_goto = 1,
777                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
778                 .cond_start_idx = 32,
779                 .cond_nums = 0 },
780         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
781         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
782         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
783         .key_start_idx = 329,
784         .blob_key_bit_size = 73,
785         .key_bit_size = 73,
786         .key_num_fields = 5,
787         .ident_start_idx = 16,
788         .ident_nums = 1
789         },
790         { /* class_tid: 3, , table: control.0 */
791         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
792         .direction = TF_DIR_TX,
793         .execute_info = {
794                 .cond_true_goto  = 1,
795                 .cond_false_goto = 3,
796                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
797                 .cond_start_idx = 32,
798                 .cond_nums = 1 },
799         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
800         .fdb_operand = BNXT_ULP_RF_IDX_RID
801         },
802         { /* class_tid: 3, , table: l2_cntxt_tcam.0 */
803         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
804         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
805         .direction = TF_DIR_TX,
806         .execute_info = {
807                 .cond_true_goto  = 1,
808                 .cond_false_goto = 1,
809                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
810                 .cond_start_idx = 33,
811                 .cond_nums = 0 },
812         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
813         .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
814         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
815         .fdb_operand = BNXT_ULP_RF_IDX_RID,
816         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
817         .pri_operand = 0,
818         .key_start_idx = 334,
819         .blob_key_bit_size = 167,
820         .key_bit_size = 167,
821         .key_num_fields = 13,
822         .result_start_idx = 200,
823         .result_bit_size = 64,
824         .result_num_fields = 13,
825         .ident_start_idx = 17,
826         .ident_nums = 1
827         },
828         { /* class_tid: 3, , table: mac_addr_cache.wr */
829         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
830         .resource_sub_type =
831                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
832         .direction = TF_DIR_TX,
833         .execute_info = {
834                 .cond_true_goto  = 1,
835                 .cond_false_goto = 1,
836                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
837                 .cond_start_idx = 33,
838                 .cond_nums = 0 },
839         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
840         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
841         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
842         .key_start_idx = 347,
843         .blob_key_bit_size = 73,
844         .key_bit_size = 73,
845         .key_num_fields = 5,
846         .result_start_idx = 213,
847         .result_bit_size = 62,
848         .result_num_fields = 4
849         },
850         { /* class_tid: 3, , table: profile_tcam_cache.rd */
851         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
852         .resource_sub_type =
853                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
854         .direction = TF_DIR_TX,
855         .execute_info = {
856                 .cond_true_goto  = 1,
857                 .cond_false_goto = 1,
858                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
859                 .cond_start_idx = 33,
860                 .cond_nums = 0 },
861         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
862         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
863         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
864         .key_start_idx = 352,
865         .blob_key_bit_size = 14,
866         .key_bit_size = 14,
867         .key_num_fields = 3,
868         .ident_start_idx = 18,
869         .ident_nums = 3
870         },
871         { /* class_tid: 3, , table: control.gen_tbl_miss */
872         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
873         .direction = TF_DIR_TX,
874         .execute_info = {
875                 .cond_true_goto  = 2,
876                 .cond_false_goto = 1,
877                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
878                 .cond_start_idx = 33,
879                 .cond_nums = 1 },
880         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
881         .fdb_operand = BNXT_ULP_RF_IDX_RID
882         },
883         { /* class_tid: 3, , table: control.conflict_check */
884         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
885         .direction = TF_DIR_TX,
886         .execute_info = {
887                 .cond_true_goto  = 4,
888                 .cond_false_goto = 1023,
889                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
890                 .cond_start_idx = 34,
891                 .cond_nums = 1 },
892         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
893         .func_info = {
894                 .func_opc = BNXT_ULP_FUNC_OPC_EQ,
895                 .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
896                 .func_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
897                 .func_src2 = BNXT_ULP_FUNC_SRC_COMP_FIELD,
898                 .func_opr2 = BNXT_ULP_CF_IDX_FLOW_SIG_ID,
899                 .func_dst_opr = BNXT_ULP_RF_IDX_CC }
900         },
901         { /* class_tid: 3, , table: profile_tcam.ipv4 */
902         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
903         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
904         .direction = TF_DIR_TX,
905         .execute_info = {
906                 .cond_true_goto  = 2,
907                 .cond_false_goto = 1,
908                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
909                 .cond_start_idx = 35,
910                 .cond_nums = 1 },
911         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
912         .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
913         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
914         .fdb_operand = BNXT_ULP_RF_IDX_RID,
915         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
916         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
917         .key_start_idx = 355,
918         .blob_key_bit_size = 81,
919         .key_bit_size = 81,
920         .key_num_fields = 43,
921         .result_start_idx = 217,
922         .result_bit_size = 38,
923         .result_num_fields = 17,
924         .ident_start_idx = 21,
925         .ident_nums = 1
926         },
927         { /* class_tid: 3, , table: profile_tcam.ipv6 */
928         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
929         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
930         .direction = TF_DIR_TX,
931         .execute_info = {
932                 .cond_true_goto  = 1,
933                 .cond_false_goto = 1,
934                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
935                 .cond_start_idx = 36,
936                 .cond_nums = 0 },
937         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
938         .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
939         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
940         .fdb_operand = BNXT_ULP_RF_IDX_RID,
941         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
942         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
943         .key_start_idx = 398,
944         .blob_key_bit_size = 81,
945         .key_bit_size = 81,
946         .key_num_fields = 43,
947         .result_start_idx = 234,
948         .result_bit_size = 38,
949         .result_num_fields = 17,
950         .ident_start_idx = 22,
951         .ident_nums = 1
952         },
953         { /* class_tid: 3, , table: profile_tcam_cache.wr */
954         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
955         .resource_sub_type =
956                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
957         .direction = TF_DIR_TX,
958         .execute_info = {
959                 .cond_true_goto  = 1,
960                 .cond_false_goto = 1,
961                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
962                 .cond_start_idx = 36,
963                 .cond_nums = 0 },
964         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
965         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
966         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
967         .key_start_idx = 441,
968         .blob_key_bit_size = 14,
969         .key_bit_size = 14,
970         .key_num_fields = 3,
971         .result_start_idx = 251,
972         .result_bit_size = 122,
973         .result_num_fields = 5
974         },
975         { /* class_tid: 3, , table: em.ipv4 */
976         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
977         .resource_type = TF_MEM_INTERNAL,
978         .direction = TF_DIR_TX,
979         .execute_info = {
980                 .cond_true_goto  = 0,
981                 .cond_false_goto = 1,
982                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
983                 .cond_start_idx = 36,
984                 .cond_nums = 2 },
985         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
986         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
987         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
988         .key_start_idx = 444,
989         .blob_key_bit_size = 176,
990         .key_bit_size = 176,
991         .key_num_fields = 10,
992         .result_start_idx = 256,
993         .result_bit_size = 64,
994         .result_num_fields = 9
995         },
996         { /* class_tid: 3, , table: eem.ipv4 */
997         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
998         .resource_type = TF_MEM_EXTERNAL,
999         .direction = TF_DIR_TX,
1000         .execute_info = {
1001                 .cond_true_goto  = 0,
1002                 .cond_false_goto = 1,
1003                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1004                 .cond_start_idx = 38,
1005                 .cond_nums = 2 },
1006         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1007         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
1008         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
1009         .key_start_idx = 454,
1010         .blob_key_bit_size = 448,
1011         .key_bit_size = 448,
1012         .key_num_fields = 10,
1013         .result_start_idx = 265,
1014         .result_bit_size = 64,
1015         .result_num_fields = 9
1016         },
1017         { /* class_tid: 3, , table: em.ipv6 */
1018         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1019         .resource_type = TF_MEM_INTERNAL,
1020         .direction = TF_DIR_TX,
1021         .execute_info = {
1022                 .cond_true_goto  = 0,
1023                 .cond_false_goto = 1,
1024                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1025                 .cond_start_idx = 40,
1026                 .cond_nums = 1 },
1027         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1028         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
1029         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
1030         .key_start_idx = 464,
1031         .blob_key_bit_size = 416,
1032         .key_bit_size = 416,
1033         .key_num_fields = 11,
1034         .result_start_idx = 274,
1035         .result_bit_size = 64,
1036         .result_num_fields = 9
1037         },
1038         { /* class_tid: 3, , table: eem.ipv6 */
1039         .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
1040         .resource_type = TF_MEM_EXTERNAL,
1041         .direction = TF_DIR_TX,
1042         .execute_info = {
1043                 .cond_true_goto  = 0,
1044                 .cond_false_goto = 0,
1045                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1046                 .cond_start_idx = 41,
1047                 .cond_nums = 0 },
1048         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1049         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
1050         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
1051         .key_start_idx = 475,
1052         .blob_key_bit_size = 448,
1053         .key_bit_size = 448,
1054         .key_num_fields = 11,
1055         .result_start_idx = 283,
1056         .result_bit_size = 64,
1057         .result_num_fields = 9
1058         },
1059         { /* class_tid: 4, , table: int_full_act_record.ing_0 */
1060         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1061         .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1062         .resource_sub_type =
1063                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
1064         .direction = TF_DIR_RX,
1065         .execute_info = {
1066                 .cond_true_goto  = 1,
1067                 .cond_false_goto = 1,
1068                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1069                 .cond_start_idx = 41,
1070                 .cond_nums = 0 },
1071         .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
1072         .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
1073         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1074         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1075         .result_start_idx = 292,
1076         .result_bit_size = 128,
1077         .result_num_fields = 26
1078         },
1079         { /* class_tid: 4, , table: l2_cntxt_tcam_cache.ing_rd */
1080         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1081         .resource_sub_type =
1082                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1083         .direction = TF_DIR_RX,
1084         .execute_info = {
1085                 .cond_true_goto  = 1,
1086                 .cond_false_goto = 1,
1087                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1088                 .cond_start_idx = 41,
1089                 .cond_nums = 0 },
1090         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
1091         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1092         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1093         .key_start_idx = 486,
1094         .blob_key_bit_size = 8,
1095         .key_bit_size = 8,
1096         .key_num_fields = 1,
1097         .ident_start_idx = 23,
1098         .ident_nums = 0
1099         },
1100         { /* class_tid: 4, , table: control.ing_0 */
1101         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1102         .direction = TF_DIR_RX,
1103         .execute_info = {
1104                 .cond_true_goto  = 1,
1105                 .cond_false_goto = 3,
1106                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1107                 .cond_start_idx = 41,
1108                 .cond_nums = 1 },
1109         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
1110         .fdb_operand = BNXT_ULP_RF_IDX_RID
1111         },
1112         { /* class_tid: 4, , table: l2_cntxt_tcam.ing_0 */
1113         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1114         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1115         .direction = TF_DIR_RX,
1116         .execute_info = {
1117                 .cond_true_goto  = 1,
1118                 .cond_false_goto = 1,
1119                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1120                 .cond_start_idx = 42,
1121                 .cond_nums = 0 },
1122         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1123         .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
1124         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
1125         .fdb_operand = BNXT_ULP_RF_IDX_RID,
1126         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
1127         .pri_operand = 0,
1128         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1129         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
1130         .key_start_idx = 487,
1131         .blob_key_bit_size = 167,
1132         .key_bit_size = 167,
1133         .key_num_fields = 13,
1134         .result_start_idx = 318,
1135         .result_bit_size = 64,
1136         .result_num_fields = 13,
1137         .ident_start_idx = 23,
1138         .ident_nums = 1
1139         },
1140         { /* class_tid: 4, , table: l2_cntxt_tcam_cache.ing_wr */
1141         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1142         .resource_sub_type =
1143                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1144         .direction = TF_DIR_RX,
1145         .execute_info = {
1146                 .cond_true_goto  = 1,
1147                 .cond_false_goto = 1,
1148                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1149                 .cond_start_idx = 42,
1150                 .cond_nums = 0 },
1151         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
1152         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1153         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1154         .key_start_idx = 500,
1155         .blob_key_bit_size = 8,
1156         .key_bit_size = 8,
1157         .key_num_fields = 1,
1158         .result_start_idx = 331,
1159         .result_bit_size = 62,
1160         .result_num_fields = 4
1161         },
1162         { /* class_tid: 4, , table: parif_def_lkup_arec_ptr.ing_0 */
1163         .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1164         .resource_type = TF_IF_TBL_TYPE_LKUP_PARIF_DFLT_ACT_REC_PTR,
1165         .direction = TF_DIR_RX,
1166         .execute_info = {
1167                 .cond_true_goto  = 1,
1168                 .cond_false_goto = 1,
1169                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1170                 .cond_start_idx = 42,
1171                 .cond_nums = 0 },
1172         .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
1173         .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
1174         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1175         .result_start_idx = 335,
1176         .result_bit_size = 32,
1177         .result_num_fields = 1
1178         },
1179         { /* class_tid: 4, , table: parif_def_arec_ptr.ing_0 */
1180         .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1181         .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
1182         .direction = TF_DIR_RX,
1183         .execute_info = {
1184                 .cond_true_goto  = 1,
1185                 .cond_false_goto = 1,
1186                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1187                 .cond_start_idx = 42,
1188                 .cond_nums = 0 },
1189         .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
1190         .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
1191         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1192         .result_start_idx = 336,
1193         .result_bit_size = 32,
1194         .result_num_fields = 1
1195         },
1196         { /* class_tid: 4, , table: parif_def_err_arec_ptr.ing_0 */
1197         .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1198         .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
1199         .direction = TF_DIR_RX,
1200         .execute_info = {
1201                 .cond_true_goto  = 1,
1202                 .cond_false_goto = 1,
1203                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1204                 .cond_start_idx = 42,
1205                 .cond_nums = 0 },
1206         .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
1207         .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
1208         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1209         .result_start_idx = 337,
1210         .result_bit_size = 32,
1211         .result_num_fields = 1
1212         },
1213         { /* class_tid: 4, , table: control.egr_0 */
1214         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1215         .direction = TF_DIR_RX,
1216         .execute_info = {
1217                 .cond_true_goto  = 1,
1218                 .cond_false_goto = 6,
1219                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1220                 .cond_start_idx = 42,
1221                 .cond_nums = 1 },
1222         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
1223         },
1224         { /* class_tid: 4, , table: int_full_act_record.egr_vfr */
1225         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1226         .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1227         .resource_sub_type =
1228                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
1229         .direction = TF_DIR_TX,
1230         .execute_info = {
1231                 .cond_true_goto  = 1,
1232                 .cond_false_goto = 1,
1233                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1234                 .cond_start_idx = 43,
1235                 .cond_nums = 0 },
1236         .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
1237         .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
1238         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1239         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1240         .result_start_idx = 338,
1241         .result_bit_size = 128,
1242         .result_num_fields = 26,
1243         .encap_num_fields = 0
1244         },
1245         { /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_rd_vfr */
1246         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1247         .resource_sub_type =
1248                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1249         .direction = TF_DIR_TX,
1250         .execute_info = {
1251                 .cond_true_goto  = 1,
1252                 .cond_false_goto = 1,
1253                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1254                 .cond_start_idx = 43,
1255                 .cond_nums = 0 },
1256         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
1257         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1258         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1259         .key_start_idx = 501,
1260         .blob_key_bit_size = 8,
1261         .key_bit_size = 8,
1262         .key_num_fields = 1,
1263         .ident_start_idx = 24,
1264         .ident_nums = 0
1265         },
1266         { /* class_tid: 4, , table: control.egr_1 */
1267         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1268         .direction = TF_DIR_RX,
1269         .execute_info = {
1270                 .cond_true_goto  = 1,
1271                 .cond_false_goto = 0,
1272                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1273                 .cond_start_idx = 43,
1274                 .cond_nums = 1 },
1275         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
1276         .fdb_operand = BNXT_ULP_RF_IDX_RID
1277         },
1278         { /* class_tid: 4, , table: l2_cntxt_tcam_bypass.egr_vfr */
1279         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1280         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1281         .direction = TF_DIR_TX,
1282         .execute_info = {
1283                 .cond_true_goto  = 1,
1284                 .cond_false_goto = 1,
1285                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1286                 .cond_start_idx = 44,
1287                 .cond_nums = 0 },
1288         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1289         .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
1290         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
1291         .fdb_operand = BNXT_ULP_RF_IDX_RID,
1292         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
1293         .pri_operand = 0,
1294         .key_start_idx = 502,
1295         .blob_key_bit_size = 167,
1296         .key_bit_size = 167,
1297         .key_num_fields = 13,
1298         .result_start_idx = 364,
1299         .result_bit_size = 64,
1300         .result_num_fields = 13,
1301         .ident_start_idx = 24,
1302         .ident_nums = 0
1303         },
1304         { /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr_vfr */
1305         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1306         .resource_sub_type =
1307                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1308         .direction = TF_DIR_TX,
1309         .execute_info = {
1310                 .cond_true_goto  = 0,
1311                 .cond_false_goto = 1,
1312                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1313                 .cond_start_idx = 44,
1314                 .cond_nums = 0 },
1315         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
1316         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1317         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1318         .key_start_idx = 515,
1319         .blob_key_bit_size = 8,
1320         .key_bit_size = 8,
1321         .key_num_fields = 1,
1322         .result_start_idx = 377,
1323         .result_bit_size = 62,
1324         .result_num_fields = 4
1325         },
1326         { /* class_tid: 4, , table: l2_cntxt_tcam_cache.rd */
1327         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1328         .resource_sub_type =
1329                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1330         .direction = TF_DIR_TX,
1331         .execute_info = {
1332                 .cond_true_goto  = 1,
1333                 .cond_false_goto = 1,
1334                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1335                 .cond_start_idx = 44,
1336                 .cond_nums = 0 },
1337         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
1338         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1339         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1340         .key_start_idx = 516,
1341         .blob_key_bit_size = 8,
1342         .key_bit_size = 8,
1343         .key_num_fields = 1,
1344         .ident_start_idx = 24,
1345         .ident_nums = 0
1346         },
1347         { /* class_tid: 4, , table: control.egr_2 */
1348         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1349         .direction = TF_DIR_RX,
1350         .execute_info = {
1351                 .cond_true_goto  = 1,
1352                 .cond_false_goto = 3,
1353                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1354                 .cond_start_idx = 44,
1355                 .cond_nums = 1 },
1356         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
1357         .fdb_operand = BNXT_ULP_RF_IDX_RID
1358         },
1359         { /* class_tid: 4, , table: l2_cntxt_tcam.egr_0 */
1360         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1361         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1362         .direction = TF_DIR_TX,
1363         .execute_info = {
1364                 .cond_true_goto  = 1,
1365                 .cond_false_goto = 1,
1366                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1367                 .cond_start_idx = 45,
1368                 .cond_nums = 0 },
1369         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1370         .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
1371         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
1372         .fdb_operand = BNXT_ULP_RF_IDX_RID,
1373         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1374         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
1375         .key_start_idx = 517,
1376         .blob_key_bit_size = 167,
1377         .key_bit_size = 167,
1378         .key_num_fields = 13,
1379         .result_start_idx = 381,
1380         .result_bit_size = 64,
1381         .result_num_fields = 13,
1382         .ident_start_idx = 24,
1383         .ident_nums = 1
1384         },
1385         { /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr */
1386         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1387         .resource_sub_type =
1388                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1389         .direction = TF_DIR_TX,
1390         .execute_info = {
1391                 .cond_true_goto  = 1,
1392                 .cond_false_goto = 1,
1393                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1394                 .cond_start_idx = 45,
1395                 .cond_nums = 2 },
1396         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
1397         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1398         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1399         .key_start_idx = 530,
1400         .blob_key_bit_size = 8,
1401         .key_bit_size = 8,
1402         .key_num_fields = 1,
1403         .result_start_idx = 394,
1404         .result_bit_size = 62,
1405         .result_num_fields = 4
1406         },
1407         { /* class_tid: 4, , table: int_full_act_record.egr_0 */
1408         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1409         .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1410         .resource_sub_type =
1411                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
1412         .direction = TF_DIR_TX,
1413         .execute_info = {
1414                 .cond_true_goto  = 1,
1415                 .cond_false_goto = 1,
1416                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1417                 .cond_start_idx = 47,
1418                 .cond_nums = 0 },
1419         .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
1420         .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
1421         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1422         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1423         .result_start_idx = 398,
1424         .result_bit_size = 128,
1425         .result_num_fields = 26,
1426         .encap_num_fields = 0
1427         },
1428         { /* class_tid: 4, , table: parif_def_lkup_arec_ptr.egr_0 */
1429         .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1430         .resource_type = TF_IF_TBL_TYPE_LKUP_PARIF_DFLT_ACT_REC_PTR,
1431         .direction = TF_DIR_TX,
1432         .execute_info = {
1433                 .cond_true_goto  = 1,
1434                 .cond_false_goto = 1,
1435                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1436                 .cond_start_idx = 47,
1437                 .cond_nums = 0 },
1438         .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
1439         .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
1440         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1441         .result_start_idx = 424,
1442         .result_bit_size = 32,
1443         .result_num_fields = 1
1444         },
1445         { /* class_tid: 4, , table: parif_def_arec_ptr.egr_0 */
1446         .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1447         .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
1448         .direction = TF_DIR_TX,
1449         .execute_info = {
1450                 .cond_true_goto  = 1,
1451                 .cond_false_goto = 1,
1452                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1453                 .cond_start_idx = 47,
1454                 .cond_nums = 0 },
1455         .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
1456         .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
1457         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1458         .result_start_idx = 425,
1459         .result_bit_size = 32,
1460         .result_num_fields = 1
1461         },
1462         { /* class_tid: 4, , table: parif_def_err_arec_ptr.egr_0 */
1463         .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1464         .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
1465         .direction = TF_DIR_TX,
1466         .execute_info = {
1467                 .cond_true_goto  = 0,
1468                 .cond_false_goto = 0,
1469                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1470                 .cond_start_idx = 47,
1471                 .cond_nums = 0 },
1472         .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
1473         .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
1474         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1475         .result_start_idx = 426,
1476         .result_bit_size = 32,
1477         .result_num_fields = 1
1478         },
1479         { /* class_tid: 5, , table: int_full_act_record.loopback */
1480         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1481         .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1482         .resource_sub_type =
1483                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
1484         .direction = TF_DIR_TX,
1485         .execute_info = {
1486                 .cond_true_goto  = 1,
1487                 .cond_false_goto = 1,
1488                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1489                 .cond_start_idx = 47,
1490                 .cond_nums = 0 },
1491         .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
1492         .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
1493         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
1494         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1495         .result_start_idx = 427,
1496         .result_bit_size = 128,
1497         .result_num_fields = 26,
1498         .encap_num_fields = 0
1499         },
1500         { /* class_tid: 5, , table: l2_cntxt_tcam_cache.vf_rd_egr */
1501         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1502         .resource_sub_type =
1503                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1504         .direction = TF_DIR_TX,
1505         .execute_info = {
1506                 .cond_true_goto  = 1,
1507                 .cond_false_goto = 1,
1508                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1509                 .cond_start_idx = 47,
1510                 .cond_nums = 0 },
1511         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
1512         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1513         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1514         .key_start_idx = 531,
1515         .blob_key_bit_size = 8,
1516         .key_bit_size = 8,
1517         .key_num_fields = 1,
1518         .ident_start_idx = 25,
1519         .ident_nums = 0
1520         },
1521         { /* class_tid: 5, , table: control.vf_0 */
1522         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1523         .direction = TF_DIR_TX,
1524         .execute_info = {
1525                 .cond_true_goto  = 1,
1526                 .cond_false_goto = 3,
1527                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1528                 .cond_start_idx = 47,
1529                 .cond_nums = 1 },
1530         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
1531         .fdb_operand = BNXT_ULP_RF_IDX_RID
1532         },
1533         { /* class_tid: 5, , table: l2_cntxt_tcam.vf_egr */
1534         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1535         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1536         .direction = TF_DIR_TX,
1537         .execute_info = {
1538                 .cond_true_goto  = 1,
1539                 .cond_false_goto = 1,
1540                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1541                 .cond_start_idx = 48,
1542                 .cond_nums = 0 },
1543         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1544         .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
1545         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
1546         .fdb_operand = BNXT_ULP_RF_IDX_RID,
1547         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
1548         .pri_operand = 0,
1549         .key_start_idx = 532,
1550         .blob_key_bit_size = 167,
1551         .key_bit_size = 167,
1552         .key_num_fields = 13,
1553         .result_start_idx = 453,
1554         .result_bit_size = 64,
1555         .result_num_fields = 13,
1556         .ident_start_idx = 25,
1557         .ident_nums = 1
1558         },
1559         { /* class_tid: 5, , table: l2_cntxt_tcam_cache.vf_egr_wr */
1560         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1561         .resource_sub_type =
1562                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1563         .direction = TF_DIR_TX,
1564         .execute_info = {
1565                 .cond_true_goto  = 1,
1566                 .cond_false_goto = 1,
1567                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1568                 .cond_start_idx = 48,
1569                 .cond_nums = 0 },
1570         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
1571         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1572         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1573         .key_start_idx = 545,
1574         .blob_key_bit_size = 8,
1575         .key_bit_size = 8,
1576         .key_num_fields = 1,
1577         .result_start_idx = 466,
1578         .result_bit_size = 62,
1579         .result_num_fields = 4
1580         },
1581         { /* class_tid: 5, , table: parif_def_lkup_arec_ptr.vf_egr */
1582         .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1583         .resource_type = TF_IF_TBL_TYPE_LKUP_PARIF_DFLT_ACT_REC_PTR,
1584         .direction = TF_DIR_TX,
1585         .execute_info = {
1586                 .cond_true_goto  = 1,
1587                 .cond_false_goto = 1,
1588                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1589                 .cond_start_idx = 48,
1590                 .cond_nums = 0 },
1591         .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,
1592         .tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF,
1593         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1594         .result_start_idx = 470,
1595         .result_bit_size = 32,
1596         .result_num_fields = 1
1597         },
1598         { /* class_tid: 5, , table: parif_def_arec_ptr.vf_egr */
1599         .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1600         .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
1601         .direction = TF_DIR_TX,
1602         .execute_info = {
1603                 .cond_true_goto  = 1,
1604                 .cond_false_goto = 1,
1605                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1606                 .cond_start_idx = 48,
1607                 .cond_nums = 0 },
1608         .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,
1609         .tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF,
1610         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1611         .result_start_idx = 471,
1612         .result_bit_size = 32,
1613         .result_num_fields = 1
1614         },
1615         { /* class_tid: 5, , table: parif_def_err_arec_ptr.vf_egr */
1616         .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1617         .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
1618         .direction = TF_DIR_TX,
1619         .execute_info = {
1620                 .cond_true_goto  = 1,
1621                 .cond_false_goto = 1,
1622                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1623                 .cond_start_idx = 48,
1624                 .cond_nums = 0 },
1625         .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,
1626         .tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF,
1627         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1628         .result_start_idx = 472,
1629         .result_bit_size = 32,
1630         .result_num_fields = 1
1631         },
1632         { /* class_tid: 5, , table: int_full_act_record.vf_ing */
1633         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1634         .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1635         .resource_sub_type =
1636                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
1637         .direction = TF_DIR_RX,
1638         .execute_info = {
1639                 .cond_true_goto  = 1,
1640                 .cond_false_goto = 1,
1641                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1642                 .cond_start_idx = 48,
1643                 .cond_nums = 0 },
1644         .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
1645         .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
1646         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1647         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_AND_SET_VFR_FLAG,
1648         .result_start_idx = 473,
1649         .result_bit_size = 128,
1650         .result_num_fields = 26,
1651         .encap_num_fields = 0
1652         },
1653         { /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vf_ing */
1654         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1655         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1656         .direction = TF_DIR_RX,
1657         .execute_info = {
1658                 .cond_true_goto  = 1,
1659                 .cond_false_goto = 1,
1660                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1661                 .cond_start_idx = 48,
1662                 .cond_nums = 0 },
1663         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1664         .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
1665         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1666         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
1667         .pri_operand = 0,
1668         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1669         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
1670         .key_start_idx = 546,
1671         .blob_key_bit_size = 167,
1672         .key_bit_size = 167,
1673         .key_num_fields = 13,
1674         .result_start_idx = 499,
1675         .result_bit_size = 64,
1676         .result_num_fields = 13,
1677         .ident_start_idx = 26,
1678         .ident_nums = 0
1679         },
1680         { /* class_tid: 5, , table: l2_cntxt_tcam_cache.vfr_rd_egr0 */
1681         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1682         .resource_sub_type =
1683                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1684         .direction = TF_DIR_TX,
1685         .execute_info = {
1686                 .cond_true_goto  = 1,
1687                 .cond_false_goto = 1,
1688                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1689                 .cond_start_idx = 48,
1690                 .cond_nums = 0 },
1691         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
1692         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1693         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1694         .key_start_idx = 559,
1695         .blob_key_bit_size = 8,
1696         .key_bit_size = 8,
1697         .key_num_fields = 1,
1698         .ident_start_idx = 26,
1699         .ident_nums = 0
1700         },
1701         { /* class_tid: 5, , table: control.vfr_0 */
1702         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1703         .direction = TF_DIR_TX,
1704         .execute_info = {
1705                 .cond_true_goto  = 1,
1706                 .cond_false_goto = 3,
1707                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1708                 .cond_start_idx = 48,
1709                 .cond_nums = 1 },
1710         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
1711         .fdb_operand = BNXT_ULP_RF_IDX_RID
1712         },
1713         { /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_egr0 */
1714         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1715         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1716         .direction = TF_DIR_TX,
1717         .execute_info = {
1718                 .cond_true_goto  = 1,
1719                 .cond_false_goto = 1,
1720                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1721                 .cond_start_idx = 49,
1722                 .cond_nums = 0 },
1723         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1724         .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
1725         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
1726         .fdb_operand = BNXT_ULP_RF_IDX_RID,
1727         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
1728         .pri_operand = 0,
1729         .key_start_idx = 560,
1730         .blob_key_bit_size = 167,
1731         .key_bit_size = 167,
1732         .key_num_fields = 13,
1733         .result_start_idx = 512,
1734         .result_bit_size = 64,
1735         .result_num_fields = 13,
1736         .ident_start_idx = 26,
1737         .ident_nums = 0
1738         },
1739         { /* class_tid: 5, , table: l2_cntxt_tcam_cache.vfr_wr_egr0 */
1740         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1741         .resource_sub_type =
1742                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1743         .direction = TF_DIR_TX,
1744         .execute_info = {
1745                 .cond_true_goto  = 1,
1746                 .cond_false_goto = 1,
1747                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1748                 .cond_start_idx = 49,
1749                 .cond_nums = 0 },
1750         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
1751         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1752         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1753         .key_start_idx = 573,
1754         .blob_key_bit_size = 8,
1755         .key_bit_size = 8,
1756         .key_num_fields = 1,
1757         .result_start_idx = 525,
1758         .result_bit_size = 62,
1759         .result_num_fields = 4
1760         },
1761         { /* class_tid: 5, , table: int_vtag_encap_record.vfr_egr0 */
1762         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1763         .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
1764         .resource_sub_type =
1765                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
1766         .direction = TF_DIR_TX,
1767         .execute_info = {
1768                 .cond_true_goto  = 1,
1769                 .cond_false_goto = 1,
1770                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1771                 .cond_start_idx = 49,
1772                 .cond_nums = 0 },
1773         .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
1774         .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
1775         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1776         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1777         .record_size = 8,
1778         .result_start_idx = 529,
1779         .result_bit_size = 0,
1780         .result_num_fields = 0,
1781         .encap_num_fields = 11
1782         },
1783         { /* class_tid: 5, , table: int_full_act_record.vfr_egr0 */
1784         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1785         .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1786         .resource_sub_type =
1787                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
1788         .direction = TF_DIR_TX,
1789         .execute_info = {
1790                 .cond_true_goto  = 1,
1791                 .cond_false_goto = 1,
1792                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1793                 .cond_start_idx = 49,
1794                 .cond_nums = 0 },
1795         .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
1796         .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
1797         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1798         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1799         .result_start_idx = 540,
1800         .result_bit_size = 128,
1801         .result_num_fields = 26
1802         },
1803         { /* class_tid: 5, , table: int_full_act_record.vfr_ing0 */
1804         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1805         .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1806         .resource_sub_type =
1807                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
1808         .direction = TF_DIR_RX,
1809         .execute_info = {
1810                 .cond_true_goto  = 1,
1811                 .cond_false_goto = 1,
1812                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1813                 .cond_start_idx = 49,
1814                 .cond_nums = 0 },
1815         .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
1816         .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
1817         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1818         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1819         .result_start_idx = 566,
1820         .result_bit_size = 128,
1821         .result_num_fields = 26
1822         },
1823         { /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_dtagged_ing0 */
1824         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1825         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1826         .direction = TF_DIR_RX,
1827         .execute_info = {
1828                 .cond_true_goto  = 1,
1829                 .cond_false_goto = 1,
1830                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1831                 .cond_start_idx = 49,
1832                 .cond_nums = 0 },
1833         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1834         .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
1835         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1836         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
1837         .pri_operand = 0,
1838         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1839         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
1840         .key_start_idx = 574,
1841         .blob_key_bit_size = 167,
1842         .key_bit_size = 167,
1843         .key_num_fields = 13,
1844         .result_start_idx = 592,
1845         .result_bit_size = 64,
1846         .result_num_fields = 13,
1847         .ident_start_idx = 26,
1848         .ident_nums = 0
1849         },
1850         { /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_stagged_ing0 */
1851         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1852         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1853         .direction = TF_DIR_RX,
1854         .execute_info = {
1855                 .cond_true_goto  = 0,
1856                 .cond_false_goto = 0,
1857                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1858                 .cond_start_idx = 49,
1859                 .cond_nums = 0 },
1860         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1861         .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
1862         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1863         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
1864         .pri_operand = 0,
1865         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1866         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
1867         .key_start_idx = 587,
1868         .blob_key_bit_size = 167,
1869         .key_bit_size = 167,
1870         .key_num_fields = 13,
1871         .result_start_idx = 605,
1872         .result_bit_size = 64,
1873         .result_num_fields = 13,
1874         .ident_start_idx = 26,
1875         .ident_nums = 0
1876         }
1877 };
1878
1879 struct bnxt_ulp_mapper_cond_info ulp_wh_plus_class_cond_list[] = {
1880         /* cond_reject: wh_plus, class_tid: 1 */
1881         {
1882         .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
1883         .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
1884         },
1885         /* cond_execute: class_tid: 1, l2_cntxt_tcam_cache.rd */
1886         {
1887         .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET,
1888         .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
1889         },
1890         /* cond_execute: class_tid: 1, control.0 */
1891         {
1892         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1893         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1894         },
1895         /* cond_execute: class_tid: 1, control.1 */
1896         {
1897         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1898         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1899         },
1900         /* cond_execute: class_tid: 1, control.2 */
1901         {
1902         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1903         .cond_operand = BNXT_ULP_RF_IDX_CC
1904         },
1905         /* cond_execute: class_tid: 1, profile_tcam.ipv4 */
1906         {
1907         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1908         .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
1909         },
1910         {
1911         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
1912         .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
1913         },
1914         /* cond_execute: class_tid: 1, profile_tcam.ipv6 */
1915         {
1916         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1917         .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
1918         },
1919         {
1920         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
1921         .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
1922         },
1923         /* cond_execute: class_tid: 1, profile_tcam.ipv4_vxlan */
1924         {
1925         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1926         .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
1927         },
1928         {
1929         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1930         .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
1931         },
1932         /* cond_execute: class_tid: 1, em.ipv4 */
1933         {
1934         .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
1935         },
1936         {
1937         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1938         .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
1939         },
1940         {
1941         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
1942         .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
1943         },
1944         /* cond_execute: class_tid: 1, eem.ipv4 */
1945         {
1946         .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
1947         },
1948         {
1949         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1950         .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
1951         },
1952         {
1953         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
1954         .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
1955         },
1956         /* cond_execute: class_tid: 1, em.ipv6 */
1957         {
1958         .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
1959         },
1960         {
1961         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1962         .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
1963         },
1964         {
1965         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
1966         .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
1967         },
1968         /* cond_execute: class_tid: 1, eem.ipv6 */
1969         {
1970         .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
1971         },
1972         {
1973         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1974         .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
1975         },
1976         {
1977         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
1978         .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
1979         },
1980         /* cond_execute: class_tid: 1, em.vxlan */
1981         {
1982         .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
1983         },
1984         /* cond_reject: wh_plus, class_tid: 2 */
1985         {
1986         .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
1987         .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
1988         },
1989         /* cond_execute: class_tid: 2, control.tunnel_cache_check */
1990         {
1991         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1992         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1993         },
1994         /* cond_execute: class_tid: 2, control.flow_type_check */
1995         {
1996         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1997         .cond_operand = BNXT_ULP_HDR_BIT_F1
1998         },
1999         /* cond_execute: class_tid: 2, control.mac_addr_cache_check */
2000         {
2001         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
2002         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
2003         },
2004         /* cond_execute: class_tid: 2, control.profile_tcam_cache.f2_check */
2005         {
2006         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
2007         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
2008         },
2009         /* cond_execute: class_tid: 2, em.tun */
2010         {
2011         .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
2012         },
2013         /* cond_reject: wh_plus, class_tid: 3 */
2014         {
2015         .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
2016         .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
2017         },
2018         /* cond_execute: class_tid: 3, l2_cntxt_tcam_cache.rd */
2019         {
2020         .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET,
2021         .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
2022         },
2023         /* cond_execute: class_tid: 3, control.0 */
2024         {
2025         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
2026         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
2027         },
2028         /* cond_execute: class_tid: 3, control.gen_tbl_miss */
2029         {
2030         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
2031         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
2032         },
2033         /* cond_execute: class_tid: 3, control.conflict_check */
2034         {
2035         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
2036         .cond_operand = BNXT_ULP_RF_IDX_CC
2037         },
2038         /* cond_execute: class_tid: 3, profile_tcam.ipv4 */
2039         {
2040         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
2041         .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
2042         },
2043         /* cond_execute: class_tid: 3, em.ipv4 */
2044         {
2045         .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
2046         },
2047         {
2048         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
2049         .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
2050         },
2051         /* cond_execute: class_tid: 3, eem.ipv4 */
2052         {
2053         .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
2054         },
2055         {
2056         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
2057         .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
2058         },
2059         /* cond_execute: class_tid: 3, em.ipv6 */
2060         {
2061         .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
2062         },
2063         /* cond_execute: class_tid: 4, control.ing_0 */
2064         {
2065         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
2066         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
2067         },
2068         /* cond_execute: class_tid: 4, control.egr_0 */
2069         {
2070         .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
2071         .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE
2072         },
2073         /* cond_execute: class_tid: 4, control.egr_1 */
2074         {
2075         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
2076         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
2077         },
2078         /* cond_execute: class_tid: 4, control.egr_2 */
2079         {
2080         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
2081         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
2082         },
2083         /* cond_execute: class_tid: 4, l2_cntxt_tcam_cache.egr_wr */
2084         {
2085         .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
2086         .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE
2087         },
2088         {
2089         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
2090         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
2091         },
2092         /* cond_execute: class_tid: 5, control.vf_0 */
2093         {
2094         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
2095         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
2096         },
2097         /* cond_execute: class_tid: 5, control.vfr_0 */
2098         {
2099         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
2100         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
2101         }
2102 };
2103
2104 struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
2105         /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */
2106         {
2107         .field_info_mask = {
2108                 .description = "svif",
2109                 .field_bit_size = 8,
2110                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2111                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2112                 .field_opr1 = {
2113                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
2114                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
2115                 },
2116         .field_info_spec = {
2117                 .description = "svif",
2118                 .field_bit_size = 8,
2119                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2120                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2121                 .field_opr1 = {
2122                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
2123                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
2124                 }
2125         },
2126         /* class_tid: 1, , table: mac_addr_cache.rd */
2127         {
2128         .field_info_mask = {
2129                 .description = "svif",
2130                 .field_bit_size = 8,
2131                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2132                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2133                 .field_opr1 = {
2134                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
2135                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
2136                 },
2137         .field_info_spec = {
2138                 .description = "svif",
2139                 .field_bit_size = 8,
2140                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2141                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2142                 .field_opr1 = {
2143                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
2144                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
2145                 }
2146         },
2147         {
2148         .field_info_mask = {
2149                 .description = "tun_hdr",
2150                 .field_bit_size = 4,
2151                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2152                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2153                 .field_opr1 = {
2154                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
2155                 },
2156         .field_info_spec = {
2157                 .description = "tun_hdr",
2158                 .field_bit_size = 4,
2159                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2160                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2161                 .field_opr1 = {
2162                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
2163                 }
2164         },
2165         {
2166         .field_info_mask = {
2167                 .description = "one_tag",
2168                 .field_bit_size = 1,
2169                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2170                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2171                 .field_opr1 = {
2172                         0xff}
2173                 },
2174         .field_info_spec = {
2175                 .description = "one_tag",
2176                 .field_bit_size = 1,
2177                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2178                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2179                 .field_opr1 = {
2180                 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
2181                 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
2182                 }
2183         },
2184         {
2185         .field_info_mask = {
2186                 .description = "vid",
2187                 .field_bit_size = 12,
2188                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2189                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
2190                 .field_opr1 = {
2191                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
2192                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
2193                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
2194                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
2195                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
2196                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
2197                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
2198                 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
2199                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
2200                 .field_opr2 = {
2201                         (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
2202                         BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
2203                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2204                 },
2205         .field_info_spec = {
2206                 .description = "vid",
2207                 .field_bit_size = 12,
2208                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2209                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
2210                 .field_opr1 = {
2211                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
2212                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
2213                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
2214                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
2215                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
2216                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
2217                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
2218                 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
2219                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
2220                 .field_opr2 = {
2221                         (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
2222                         BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
2223                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2224                 }
2225         },
2226         {
2227         .field_info_mask = {
2228                 .description = "mac_addr",
2229                 .field_bit_size = 48,
2230                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2231                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2232                 .field_opr1 = {
2233                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
2234                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
2235                 },
2236         .field_info_spec = {
2237                 .description = "mac_addr",
2238                 .field_bit_size = 48,
2239                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2240                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2241                 .field_opr1 = {
2242                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
2243                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
2244                 }
2245         },
2246         /* class_tid: 1, , table: l2_cntxt_tcam.0 */
2247         {
2248         .field_info_mask = {
2249                 .description = "l2_ivlan_vid",
2250                 .field_bit_size = 12,
2251                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2252                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
2253                 .field_opr1 = {
2254                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
2255                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
2256                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
2257                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
2258                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
2259                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
2260                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
2261                 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
2262                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
2263                 .field_opr2 = {
2264                         (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
2265                         BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
2266                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2267                 },
2268         .field_info_spec = {
2269                 .description = "l2_ivlan_vid",
2270                 .field_bit_size = 12,
2271                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2272                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
2273                 .field_opr1 = {
2274                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
2275                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
2276                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
2277                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
2278                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
2279                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
2280                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
2281                 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
2282                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
2283                 .field_opr2 = {
2284                         (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
2285                         BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
2286                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2287                 }
2288         },
2289         {
2290         .field_info_mask = {
2291                 .description = "l2_ovlan_vid",
2292                 .field_bit_size = 12,
2293                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2294                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2295                 },
2296         .field_info_spec = {
2297                 .description = "l2_ovlan_vid",
2298                 .field_bit_size = 12,
2299                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2300                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2301                 }
2302         },
2303         {
2304         .field_info_mask = {
2305                 .description = "mac0_addr",
2306                 .field_bit_size = 48,
2307                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2308                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2309                 .field_opr1 = {
2310                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
2311                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
2312                 },
2313         .field_info_spec = {
2314                 .description = "mac0_addr",
2315                 .field_bit_size = 48,
2316                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2317                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2318                 .field_opr1 = {
2319                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
2320                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
2321                 }
2322         },
2323         {
2324         .field_info_mask = {
2325                 .description = "svif",
2326                 .field_bit_size = 8,
2327                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2328                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2329                 .field_opr1 = {
2330                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
2331                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
2332                 },
2333         .field_info_spec = {
2334                 .description = "svif",
2335                 .field_bit_size = 8,
2336                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2337                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2338                 .field_opr1 = {
2339                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
2340                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
2341                 }
2342         },
2343         {
2344         .field_info_mask = {
2345                 .description = "sparif",
2346                 .field_bit_size = 4,
2347                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2348                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2349                 },
2350         .field_info_spec = {
2351                 .description = "sparif",
2352                 .field_bit_size = 4,
2353                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2354                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2355                 }
2356         },
2357         {
2358         .field_info_mask = {
2359                 .description = "tl2_ivlan_vid",
2360                 .field_bit_size = 12,
2361                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2362                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2363                 },
2364         .field_info_spec = {
2365                 .description = "tl2_ivlan_vid",
2366                 .field_bit_size = 12,
2367                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2368                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2369                 }
2370         },
2371         {
2372         .field_info_mask = {
2373                 .description = "tl2_ovlan_vid",
2374                 .field_bit_size = 12,
2375                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2376                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2377                 },
2378         .field_info_spec = {
2379                 .description = "tl2_ovlan_vid",
2380                 .field_bit_size = 12,
2381                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2382                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2383                 }
2384         },
2385         {
2386         .field_info_mask = {
2387                 .description = "mac1_addr",
2388                 .field_bit_size = 48,
2389                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2390                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2391                 },
2392         .field_info_spec = {
2393                 .description = "mac1_addr",
2394                 .field_bit_size = 48,
2395                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2396                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2397                 }
2398         },
2399         {
2400         .field_info_mask = {
2401                 .description = "l2_num_vtags",
2402                 .field_bit_size = 2,
2403                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2404                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2405                 .field_opr1 = {
2406                         0xff}
2407                 },
2408         .field_info_spec = {
2409                 .description = "l2_num_vtags",
2410                 .field_bit_size = 2,
2411                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2412                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2413                 .field_opr1 = {
2414                 (BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff,
2415                 BNXT_ULP_CF_IDX_O_VTAG_NUM & 0xff}
2416                 }
2417         },
2418         {
2419         .field_info_mask = {
2420                 .description = "tl2_num_vtags",
2421                 .field_bit_size = 2,
2422                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2423                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2424                 },
2425         .field_info_spec = {
2426                 .description = "tl2_num_vtags",
2427                 .field_bit_size = 2,
2428                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2429                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2430                 }
2431         },
2432         {
2433         .field_info_mask = {
2434                 .description = "tun_hdr_type",
2435                 .field_bit_size = 4,
2436                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2437                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2438                 },
2439         .field_info_spec = {
2440                 .description = "tun_hdr_type",
2441                 .field_bit_size = 4,
2442                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2443                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2444                 }
2445         },
2446         {
2447         .field_info_mask = {
2448                 .description = "key_type",
2449                 .field_bit_size = 2,
2450                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2451                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2452                 },
2453         .field_info_spec = {
2454                 .description = "key_type",
2455                 .field_bit_size = 2,
2456                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2457                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2458                 }
2459         },
2460         {
2461         .field_info_mask = {
2462                 .description = "valid",
2463                 .field_bit_size = 1,
2464                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2465                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2466                 .field_opr1 = {
2467                 1}
2468                 },
2469         .field_info_spec = {
2470                 .description = "valid",
2471                 .field_bit_size = 1,
2472                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2473                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2474                 .field_opr1 = {
2475                 1}
2476                 }
2477         },
2478         /* class_tid: 1, , table: mac_addr_cache.wr */
2479         {
2480         .field_info_mask = {
2481                 .description = "svif",
2482                 .field_bit_size = 8,
2483                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2484                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2485                 .field_opr1 = {
2486                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
2487                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
2488                 },
2489         .field_info_spec = {
2490                 .description = "svif",
2491                 .field_bit_size = 8,
2492                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2493                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2494                 .field_opr1 = {
2495                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
2496                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
2497                 }
2498         },
2499         {
2500         .field_info_mask = {
2501                 .description = "tun_hdr",
2502                 .field_bit_size = 4,
2503                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2504                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2505                 .field_opr1 = {
2506                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
2507                 },
2508         .field_info_spec = {
2509                 .description = "tun_hdr",
2510                 .field_bit_size = 4,
2511                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2512                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2513                 .field_opr1 = {
2514                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
2515                 }
2516         },
2517         {
2518         .field_info_mask = {
2519                 .description = "one_tag",
2520                 .field_bit_size = 1,
2521                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2522                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2523                 .field_opr1 = {
2524                         0xff}
2525                 },
2526         .field_info_spec = {
2527                 .description = "one_tag",
2528                 .field_bit_size = 1,
2529                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2530                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2531                 .field_opr1 = {
2532                 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
2533                 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
2534                 }
2535         },
2536         {
2537         .field_info_mask = {
2538                 .description = "vid",
2539                 .field_bit_size = 12,
2540                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2541                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
2542                 .field_opr1 = {
2543                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
2544                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
2545                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
2546                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
2547                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
2548                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
2549                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
2550                 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
2551                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
2552                 .field_opr2 = {
2553                         (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
2554                         BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
2555                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2556                 },
2557         .field_info_spec = {
2558                 .description = "vid",
2559                 .field_bit_size = 12,
2560                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2561                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
2562                 .field_opr1 = {
2563                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
2564                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
2565                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
2566                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
2567                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
2568                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
2569                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
2570                 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
2571                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
2572                 .field_opr2 = {
2573                         (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
2574                         BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
2575                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2576                 }
2577         },
2578         {
2579         .field_info_mask = {
2580                 .description = "mac_addr",
2581                 .field_bit_size = 48,
2582                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2583                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2584                 .field_opr1 = {
2585                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
2586                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
2587                 },
2588         .field_info_spec = {
2589                 .description = "mac_addr",
2590                 .field_bit_size = 48,
2591                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2592                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2593                 .field_opr1 = {
2594                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
2595                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
2596                 }
2597         },
2598         /* class_tid: 1, , table: profile_tcam_cache.rd */
2599         {
2600         .field_info_mask = {
2601                 .description = "recycle_cnt",
2602                 .field_bit_size = 2,
2603                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2604                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2605                 .field_opr1 = {
2606                         0xff}
2607                 },
2608         .field_info_spec = {
2609                 .description = "recycle_cnt",
2610                 .field_bit_size = 2,
2611                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2612                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2613                 }
2614         },
2615         {
2616         .field_info_mask = {
2617                 .description = "prof_func_id",
2618                 .field_bit_size = 7,
2619                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2620                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2621                 .field_opr1 = {
2622                         0xff}
2623                 },
2624         .field_info_spec = {
2625                 .description = "prof_func_id",
2626                 .field_bit_size = 7,
2627                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2628                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
2629                 .field_opr1 = {
2630                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
2631                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
2632                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
2633                 .field_opr2 = {
2634                         (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
2635                         BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
2636                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
2637                 .field_opr3 = {
2638                 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
2639                 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
2640                 }
2641         },
2642         {
2643         .field_info_mask = {
2644                 .description = "hdr_sig_id",
2645                 .field_bit_size = 5,
2646                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2647                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2648                 .field_opr1 = {
2649                         0xff}
2650                 },
2651         .field_info_spec = {
2652                 .description = "hdr_sig_id",
2653                 .field_bit_size = 5,
2654                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2655                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2656                 .field_opr1 = {
2657                 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
2658                 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
2659                 }
2660         },
2661         /* class_tid: 1, , table: profile_tcam.ipv4 */
2662         {
2663         .field_info_mask = {
2664                 .description = "l4_hdr_is_udp_tcp",
2665                 .field_bit_size = 1,
2666                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2667                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2668                 },
2669         .field_info_spec = {
2670                 .description = "l4_hdr_is_udp_tcp",
2671                 .field_bit_size = 1,
2672                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2673                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2674                 }
2675         },
2676         {
2677         .field_info_mask = {
2678                 .description = "l4_hdr_type",
2679                 .field_bit_size = 4,
2680                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2681                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2682                 .field_opr1 = {
2683                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
2684                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
2685                 .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
2686                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2687                 },
2688         .field_info_spec = {
2689                 .description = "l4_hdr_type",
2690                 .field_bit_size = 4,
2691                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2692                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
2693                 .field_opr1 = {
2694                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
2695                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
2696                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
2697                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
2698                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
2699                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
2700                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
2701                 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
2702                 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2703                 .field_opr2 = {
2704                         ULP_WP_SYM_L4_HDR_TYPE_TCP},
2705                 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
2706                 .field_opr3 = {
2707                 ULP_WP_SYM_L4_HDR_TYPE_UDP}
2708                 }
2709         },
2710         {
2711         .field_info_mask = {
2712                 .description = "l4_hdr_error",
2713                 .field_bit_size = 1,
2714                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2715                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2716                 .field_opr1 = {
2717                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
2718                 BNXT_ULP_CF_IDX_O_L4 & 0xff}
2719                 },
2720         .field_info_spec = {
2721                 .description = "l4_hdr_error",
2722                 .field_bit_size = 1,
2723                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2724                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2725                 }
2726         },
2727         {
2728         .field_info_mask = {
2729                 .description = "l4_hdr_valid",
2730                 .field_bit_size = 1,
2731                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2732                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2733                 .field_opr1 = {
2734                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
2735                 BNXT_ULP_CF_IDX_O_L4 & 0xff}
2736                 },
2737         .field_info_spec = {
2738                 .description = "l4_hdr_valid",
2739                 .field_bit_size = 1,
2740                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2741                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2742                 .field_opr1 = {
2743                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
2744                 BNXT_ULP_CF_IDX_O_L4 & 0xff}
2745                 }
2746         },
2747         {
2748         .field_info_mask = {
2749                 .description = "l3_ipv6_cmp_dst",
2750                 .field_bit_size = 1,
2751                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2752                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2753                 },
2754         .field_info_spec = {
2755                 .description = "l3_ipv6_cmp_dst",
2756                 .field_bit_size = 1,
2757                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2758                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2759                 }
2760         },
2761         {
2762         .field_info_mask = {
2763                 .description = "l3_ipv6_cmp_src",
2764                 .field_bit_size = 1,
2765                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2766                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2767                 },
2768         .field_info_spec = {
2769                 .description = "l3_ipv6_cmp_src",
2770                 .field_bit_size = 1,
2771                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2772                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2773                 }
2774         },
2775         {
2776         .field_info_mask = {
2777                 .description = "l3_hdr_isIP",
2778                 .field_bit_size = 1,
2779                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2780                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2781                 },
2782         .field_info_spec = {
2783                 .description = "l3_hdr_isIP",
2784                 .field_bit_size = 1,
2785                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2786                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2787                 }
2788         },
2789         {
2790         .field_info_mask = {
2791                 .description = "l3_hdr_type",
2792                 .field_bit_size = 4,
2793                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2794                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2795                 .field_opr1 = {
2796                         0xff}
2797                 },
2798         .field_info_spec = {
2799                 .description = "l3_hdr_type",
2800                 .field_bit_size = 4,
2801                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2802                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2803                 }
2804         },
2805         {
2806         .field_info_mask = {
2807                 .description = "l3_hdr_error",
2808                 .field_bit_size = 1,
2809                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2810                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2811                 .field_opr1 = {
2812                         0xff}
2813                 },
2814         .field_info_spec = {
2815                 .description = "l3_hdr_error",
2816                 .field_bit_size = 1,
2817                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2818                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2819                 }
2820         },
2821         {
2822         .field_info_mask = {
2823                 .description = "l3_hdr_valid",
2824                 .field_bit_size = 1,
2825                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2826                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2827                 .field_opr1 = {
2828                         0xff}
2829                 },
2830         .field_info_spec = {
2831                 .description = "l3_hdr_valid",
2832                 .field_bit_size = 1,
2833                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2834                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2835                 .field_opr1 = {
2836                 ULP_WP_SYM_L3_HDR_VALID_YES}
2837                 }
2838         },
2839         {
2840         .field_info_mask = {
2841                 .description = "l2_two_vtags",
2842                 .field_bit_size = 1,
2843                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2844                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2845                 .field_opr1 = {
2846                         0xff}
2847                 },
2848         .field_info_spec = {
2849                 .description = "l2_two_vtags",
2850                 .field_bit_size = 1,
2851                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2852                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2853                 }
2854         },
2855         {
2856         .field_info_mask = {
2857                 .description = "l2_vtag_present",
2858                 .field_bit_size = 1,
2859                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2860                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2861                 .field_opr1 = {
2862                         0xff}
2863                 },
2864         .field_info_spec = {
2865                 .description = "l2_vtag_present",
2866                 .field_bit_size = 1,
2867                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2868                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2869                 .field_opr1 = {
2870                 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
2871                 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
2872                 }
2873         },
2874         {
2875         .field_info_mask = {
2876                 .description = "l2_uc_mc_bc",
2877                 .field_bit_size = 2,
2878                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2879                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2880                 .field_opr1 = {
2881                         0xff}
2882                 },
2883         .field_info_spec = {
2884                 .description = "l2_uc_mc_bc",
2885                 .field_bit_size = 2,
2886                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2887                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2888                 }
2889         },
2890         {
2891         .field_info_mask = {
2892                 .description = "l2_hdr_type",
2893                 .field_bit_size = 2,
2894                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2895                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2896                 .field_opr1 = {
2897                         0xff}
2898                 },
2899         .field_info_spec = {
2900                 .description = "l2_hdr_type",
2901                 .field_bit_size = 2,
2902                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2903                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2904                 }
2905         },
2906         {
2907         .field_info_mask = {
2908                 .description = "l2_hdr_error",
2909                 .field_bit_size = 1,
2910                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2911                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2912                 .field_opr1 = {
2913                         0xff}
2914                 },
2915         .field_info_spec = {
2916                 .description = "l2_hdr_error",
2917                 .field_bit_size = 1,
2918                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2919                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2920                 }
2921         },
2922         {
2923         .field_info_mask = {
2924                 .description = "l2_hdr_valid",
2925                 .field_bit_size = 1,
2926                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2927                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2928                 .field_opr1 = {
2929                         0xff}
2930                 },
2931         .field_info_spec = {
2932                 .description = "l2_hdr_valid",
2933                 .field_bit_size = 1,
2934                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2935                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2936                 .field_opr1 = {
2937                 ULP_WP_SYM_L2_HDR_VALID_YES}
2938                 }
2939         },
2940         {
2941         .field_info_mask = {
2942                 .description = "tun_hdr_flags",
2943                 .field_bit_size = 3,
2944                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2945                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2946                 },
2947         .field_info_spec = {
2948                 .description = "tun_hdr_flags",
2949                 .field_bit_size = 3,
2950                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2951                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2952                 }
2953         },
2954         {
2955         .field_info_mask = {
2956                 .description = "tun_hdr_type",
2957                 .field_bit_size = 4,
2958                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2959                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2960                 },
2961         .field_info_spec = {
2962                 .description = "tun_hdr_type",
2963                 .field_bit_size = 4,
2964                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2965                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2966                 }
2967         },
2968         {
2969         .field_info_mask = {
2970                 .description = "tun_hdr_err",
2971                 .field_bit_size = 1,
2972                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2973                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2974                 },
2975         .field_info_spec = {
2976                 .description = "tun_hdr_err",
2977                 .field_bit_size = 1,
2978                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2979                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2980                 }
2981         },
2982         {
2983         .field_info_mask = {
2984                 .description = "tun_hdr_valid",
2985                 .field_bit_size = 1,
2986                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2987                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2988                 .field_opr1 = {
2989                         0xff}
2990                 },
2991         .field_info_spec = {
2992                 .description = "tun_hdr_valid",
2993                 .field_bit_size = 1,
2994                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2995                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2996                 }
2997         },
2998         {
2999         .field_info_mask = {
3000                 .description = "tl4_hdr_is_udp_tcp",
3001                 .field_bit_size = 1,
3002                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3003                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3004                 },
3005         .field_info_spec = {
3006                 .description = "tl4_hdr_is_udp_tcp",
3007                 .field_bit_size = 1,
3008                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3009                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3010                 }
3011         },
3012         {
3013         .field_info_mask = {
3014                 .description = "tl4_hdr_type",
3015                 .field_bit_size = 4,
3016                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3017                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3018                 },
3019         .field_info_spec = {
3020                 .description = "tl4_hdr_type",
3021                 .field_bit_size = 4,
3022                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3023                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3024                 }
3025         },
3026         {
3027         .field_info_mask = {
3028                 .description = "tl4_hdr_error",
3029                 .field_bit_size = 1,
3030                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3031                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3032                 },
3033         .field_info_spec = {
3034                 .description = "tl4_hdr_error",
3035                 .field_bit_size = 1,
3036                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3037                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3038                 }
3039         },
3040         {
3041         .field_info_mask = {
3042                 .description = "tl4_hdr_valid",
3043                 .field_bit_size = 1,
3044                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3045                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3046                 .field_opr1 = {
3047                         0xff}
3048                 },
3049         .field_info_spec = {
3050                 .description = "tl4_hdr_valid",
3051                 .field_bit_size = 1,
3052                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3053                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3054                 }
3055         },
3056         {
3057         .field_info_mask = {
3058                 .description = "tl3_ipv6_cmp_dst",
3059                 .field_bit_size = 1,
3060                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3061                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3062                 },
3063         .field_info_spec = {
3064                 .description = "tl3_ipv6_cmp_dst",
3065                 .field_bit_size = 1,
3066                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3067                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3068                 }
3069         },
3070         {
3071         .field_info_mask = {
3072                 .description = "tl3_ipv6_cmp_src",
3073                 .field_bit_size = 1,
3074                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3075                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3076                 },
3077         .field_info_spec = {
3078                 .description = "tl3_ipv6_cmp_src",
3079                 .field_bit_size = 1,
3080                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3081                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3082                 }
3083         },
3084         {
3085         .field_info_mask = {
3086                 .description = "tl3_hdr_isIP",
3087                 .field_bit_size = 1,
3088                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3089                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3090                 },
3091         .field_info_spec = {
3092                 .description = "tl3_hdr_isIP",
3093                 .field_bit_size = 1,
3094                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3095                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3096                 }
3097         },
3098         {
3099         .field_info_mask = {
3100                 .description = "tl3_hdr_type",
3101                 .field_bit_size = 4,
3102                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3103                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3104                 },
3105         .field_info_spec = {
3106                 .description = "tl3_hdr_type",
3107                 .field_bit_size = 4,
3108                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3109                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3110                 }
3111         },
3112         {
3113         .field_info_mask = {
3114                 .description = "tl3_hdr_error",
3115                 .field_bit_size = 1,
3116                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3117                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3118                 },
3119         .field_info_spec = {
3120                 .description = "tl3_hdr_error",
3121                 .field_bit_size = 1,
3122                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3123                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3124                 }
3125         },
3126         {
3127         .field_info_mask = {
3128                 .description = "tl3_hdr_valid",
3129                 .field_bit_size = 1,
3130                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3131                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3132                 .field_opr1 = {
3133                         0xff}
3134                 },
3135         .field_info_spec = {
3136                 .description = "tl3_hdr_valid",
3137                 .field_bit_size = 1,
3138                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3139                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3140                 }
3141         },
3142         {
3143         .field_info_mask = {
3144                 .description = "tl2_two_vtags",
3145                 .field_bit_size = 1,
3146                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3147                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3148                 },
3149         .field_info_spec = {
3150                 .description = "tl2_two_vtags",
3151                 .field_bit_size = 1,
3152                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3153                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3154                 }
3155         },
3156         {
3157         .field_info_mask = {
3158                 .description = "tl2_vtag_present",
3159                 .field_bit_size = 1,
3160                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3161                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3162                 },
3163         .field_info_spec = {
3164                 .description = "tl2_vtag_present",
3165                 .field_bit_size = 1,
3166                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3167                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3168                 }
3169         },
3170         {
3171         .field_info_mask = {
3172                 .description = "tl2_uc_mc_bc",
3173                 .field_bit_size = 2,
3174                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3175                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3176                 },
3177         .field_info_spec = {
3178                 .description = "tl2_uc_mc_bc",
3179                 .field_bit_size = 2,
3180                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3181                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3182                 }
3183         },
3184         {
3185         .field_info_mask = {
3186                 .description = "tl2_hdr_type",
3187                 .field_bit_size = 2,
3188                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3189                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3190                 },
3191         .field_info_spec = {
3192                 .description = "tl2_hdr_type",
3193                 .field_bit_size = 2,
3194                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3195                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3196                 }
3197         },
3198         {
3199         .field_info_mask = {
3200                 .description = "tl2_hdr_valid",
3201                 .field_bit_size = 1,
3202                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3203                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3204                 .field_opr1 = {
3205                         0xff}
3206                 },
3207         .field_info_spec = {
3208                 .description = "tl2_hdr_valid",
3209                 .field_bit_size = 1,
3210                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3211                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3212                 }
3213         },
3214         {
3215         .field_info_mask = {
3216                 .description = "hrec_next",
3217                 .field_bit_size = 1,
3218                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3219                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3220                 },
3221         .field_info_spec = {
3222                 .description = "hrec_next",
3223                 .field_bit_size = 1,
3224                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3225                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3226                 }
3227         },
3228         {
3229         .field_info_mask = {
3230                 .description = "reserved",
3231                 .field_bit_size = 9,
3232                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3233                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3234                 },
3235         .field_info_spec = {
3236                 .description = "reserved",
3237                 .field_bit_size = 9,
3238                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3239                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3240                 }
3241         },
3242         {
3243         .field_info_mask = {
3244                 .description = "prof_func_id",
3245                 .field_bit_size = 7,
3246                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3247                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3248                 .field_opr1 = {
3249                         0xff}
3250                 },
3251         .field_info_spec = {
3252                 .description = "prof_func_id",
3253                 .field_bit_size = 7,
3254                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3255                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
3256                 .field_opr1 = {
3257                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
3258                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
3259                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
3260                 .field_opr2 = {
3261                         (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
3262                         BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
3263                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
3264                 .field_opr3 = {
3265                 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
3266                 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
3267                 }
3268         },
3269         {
3270         .field_info_mask = {
3271                 .description = "agg_error",
3272                 .field_bit_size = 1,
3273                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3274                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3275                 },
3276         .field_info_spec = {
3277                 .description = "agg_error",
3278                 .field_bit_size = 1,
3279                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3280                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3281                 }
3282         },
3283         {
3284         .field_info_mask = {
3285                 .description = "recycle_cnt",
3286                 .field_bit_size = 2,
3287                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3288                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3289                 },
3290         .field_info_spec = {
3291                 .description = "recycle_cnt",
3292                 .field_bit_size = 2,
3293                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3294                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3295                 }
3296         },
3297         {
3298         .field_info_mask = {
3299                 .description = "pkt_type_0",
3300                 .field_bit_size = 2,
3301                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3302                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3303                 },
3304         .field_info_spec = {
3305                 .description = "pkt_type_0",
3306                 .field_bit_size = 2,
3307                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3308                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3309                 }
3310         },
3311         {
3312         .field_info_mask = {
3313                 .description = "pkt_type_1",
3314                 .field_bit_size = 2,
3315                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3316                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3317                 },
3318         .field_info_spec = {
3319                 .description = "pkt_type_1",
3320                 .field_bit_size = 2,
3321                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3322                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3323                 }
3324         },
3325         {
3326         .field_info_mask = {
3327                 .description = "valid",
3328                 .field_bit_size = 1,
3329                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3330                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3331                 .field_opr1 = {
3332                 1}
3333                 },
3334         .field_info_spec = {
3335                 .description = "valid",
3336                 .field_bit_size = 1,
3337                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3338                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3339                 .field_opr1 = {
3340                 1}
3341                 }
3342         },
3343         /* class_tid: 1, , table: profile_tcam.ipv6 */
3344         {
3345         .field_info_mask = {
3346                 .description = "l4_hdr_is_udp_tcp",
3347                 .field_bit_size = 1,
3348                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3349                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3350                 },
3351         .field_info_spec = {
3352                 .description = "l4_hdr_is_udp_tcp",
3353                 .field_bit_size = 1,
3354                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3355                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3356                 }
3357         },
3358         {
3359         .field_info_mask = {
3360                 .description = "l4_hdr_type",
3361                 .field_bit_size = 4,
3362                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3363                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3364                 .field_opr1 = {
3365                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
3366                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
3367                 .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
3368                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
3369                 },
3370         .field_info_spec = {
3371                 .description = "l4_hdr_type",
3372                 .field_bit_size = 4,
3373                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3374                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
3375                 .field_opr1 = {
3376                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
3377                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
3378                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
3379                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
3380                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
3381                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
3382                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
3383                 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
3384                 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
3385                 .field_opr2 = {
3386                         ULP_WP_SYM_L4_HDR_TYPE_TCP},
3387                 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
3388                 .field_opr3 = {
3389                 ULP_WP_SYM_L4_HDR_TYPE_UDP}
3390                 }
3391         },
3392         {
3393         .field_info_mask = {
3394                 .description = "l4_hdr_error",
3395                 .field_bit_size = 1,
3396                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3397                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3398                 .field_opr1 = {
3399                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
3400                 BNXT_ULP_CF_IDX_O_L4 & 0xff}
3401                 },
3402         .field_info_spec = {
3403                 .description = "l4_hdr_error",
3404                 .field_bit_size = 1,
3405                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3406                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3407                 }
3408         },
3409         {
3410         .field_info_mask = {
3411                 .description = "l4_hdr_valid",
3412                 .field_bit_size = 1,
3413                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3414                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3415                 .field_opr1 = {
3416                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
3417                 BNXT_ULP_CF_IDX_O_L4 & 0xff}
3418                 },
3419         .field_info_spec = {
3420                 .description = "l4_hdr_valid",
3421                 .field_bit_size = 1,
3422                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3423                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3424                 .field_opr1 = {
3425                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
3426                 BNXT_ULP_CF_IDX_O_L4 & 0xff}
3427                 }
3428         },
3429         {
3430         .field_info_mask = {
3431                 .description = "l3_ipv6_cmp_dst",
3432                 .field_bit_size = 1,
3433                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3434                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3435                 },
3436         .field_info_spec = {
3437                 .description = "l3_ipv6_cmp_dst",
3438                 .field_bit_size = 1,
3439                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3440                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3441                 }
3442         },
3443         {
3444         .field_info_mask = {
3445                 .description = "l3_ipv6_cmp_src",
3446                 .field_bit_size = 1,
3447                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3448                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3449                 },
3450         .field_info_spec = {
3451                 .description = "l3_ipv6_cmp_src",
3452                 .field_bit_size = 1,
3453                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3454                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3455                 }
3456         },
3457         {
3458         .field_info_mask = {
3459                 .description = "l3_hdr_isIP",
3460                 .field_bit_size = 1,
3461                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3462                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3463                 },
3464         .field_info_spec = {
3465                 .description = "l3_hdr_isIP",
3466                 .field_bit_size = 1,
3467                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3468                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3469                 }
3470         },
3471         {
3472         .field_info_mask = {
3473                 .description = "l3_hdr_type",
3474                 .field_bit_size = 4,
3475                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3476                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3477                 .field_opr1 = {
3478                         0xff}
3479                 },
3480         .field_info_spec = {
3481                 .description = "l3_hdr_type",
3482                 .field_bit_size = 4,
3483                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3484                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3485                 .field_opr1 = {
3486                 ULP_WP_SYM_L3_HDR_TYPE_IPV6}
3487                 }
3488         },
3489         {
3490         .field_info_mask = {
3491                 .description = "l3_hdr_error",
3492                 .field_bit_size = 1,
3493                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3494                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3495                 .field_opr1 = {
3496                         0xff}
3497                 },
3498         .field_info_spec = {
3499                 .description = "l3_hdr_error",
3500                 .field_bit_size = 1,
3501                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3502                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3503                 }
3504         },
3505         {
3506         .field_info_mask = {
3507                 .description = "l3_hdr_valid",
3508                 .field_bit_size = 1,
3509                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3510                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3511                 .field_opr1 = {
3512                         0xff}
3513                 },
3514         .field_info_spec = {
3515                 .description = "l3_hdr_valid",
3516                 .field_bit_size = 1,
3517                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3518                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3519                 .field_opr1 = {
3520                 ULP_WP_SYM_L3_HDR_VALID_YES}
3521                 }
3522         },
3523         {
3524         .field_info_mask = {
3525                 .description = "l2_two_vtags",
3526                 .field_bit_size = 1,
3527                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3528                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3529                 .field_opr1 = {
3530                         0xff}
3531                 },
3532         .field_info_spec = {
3533                 .description = "l2_two_vtags",
3534                 .field_bit_size = 1,
3535                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3536                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3537                 }
3538         },
3539         {
3540         .field_info_mask = {
3541                 .description = "l2_vtag_present",
3542                 .field_bit_size = 1,
3543                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3544                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3545                 .field_opr1 = {
3546                         0xff}
3547                 },
3548         .field_info_spec = {
3549                 .description = "l2_vtag_present",
3550                 .field_bit_size = 1,
3551                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3552                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3553                 .field_opr1 = {
3554                 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
3555                 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
3556                 }
3557         },
3558         {
3559         .field_info_mask = {
3560                 .description = "l2_uc_mc_bc",
3561                 .field_bit_size = 2,
3562                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3563                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3564                 .field_opr1 = {
3565                         0xff}
3566                 },
3567         .field_info_spec = {
3568                 .description = "l2_uc_mc_bc",
3569                 .field_bit_size = 2,
3570                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3571                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3572                 }
3573         },
3574         {
3575         .field_info_mask = {
3576                 .description = "l2_hdr_type",
3577                 .field_bit_size = 2,
3578                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3579                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3580                 .field_opr1 = {
3581                         0xff}
3582                 },
3583         .field_info_spec = {
3584                 .description = "l2_hdr_type",
3585                 .field_bit_size = 2,
3586                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3587                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3588                 }
3589         },
3590         {
3591         .field_info_mask = {
3592                 .description = "l2_hdr_error",
3593                 .field_bit_size = 1,
3594                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3595                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3596                 .field_opr1 = {
3597                         0xff}
3598                 },
3599         .field_info_spec = {
3600                 .description = "l2_hdr_error",
3601                 .field_bit_size = 1,
3602                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3603                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3604                 }
3605         },
3606         {
3607         .field_info_mask = {
3608                 .description = "l2_hdr_valid",
3609                 .field_bit_size = 1,
3610                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3611                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3612                 .field_opr1 = {
3613                         0xff}
3614                 },
3615         .field_info_spec = {
3616                 .description = "l2_hdr_valid",
3617                 .field_bit_size = 1,
3618                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3619                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3620                 .field_opr1 = {
3621                 ULP_WP_SYM_L2_HDR_VALID_YES}
3622                 }
3623         },
3624         {
3625         .field_info_mask = {
3626                 .description = "tun_hdr_flags",
3627                 .field_bit_size = 3,
3628                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3629                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3630                 },
3631         .field_info_spec = {
3632                 .description = "tun_hdr_flags",
3633                 .field_bit_size = 3,
3634                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3635                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3636                 }
3637         },
3638         {
3639         .field_info_mask = {
3640                 .description = "tun_hdr_type",
3641                 .field_bit_size = 4,
3642                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3643                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3644                 },
3645         .field_info_spec = {
3646                 .description = "tun_hdr_type",
3647                 .field_bit_size = 4,
3648                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3649                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3650                 }
3651         },
3652         {
3653         .field_info_mask = {
3654                 .description = "tun_hdr_err",
3655                 .field_bit_size = 1,
3656                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3657                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3658                 },
3659         .field_info_spec = {
3660                 .description = "tun_hdr_err",
3661                 .field_bit_size = 1,
3662                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3663                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3664                 }
3665         },
3666         {
3667         .field_info_mask = {
3668                 .description = "tun_hdr_valid",
3669                 .field_bit_size = 1,
3670                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3671                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3672                 .field_opr1 = {
3673                         0xff}
3674                 },
3675         .field_info_spec = {
3676                 .description = "tun_hdr_valid",
3677                 .field_bit_size = 1,
3678                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3679                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3680                 }
3681         },
3682         {
3683         .field_info_mask = {
3684                 .description = "tl4_hdr_is_udp_tcp",
3685                 .field_bit_size = 1,
3686                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3687                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3688                 },
3689         .field_info_spec = {
3690                 .description = "tl4_hdr_is_udp_tcp",
3691                 .field_bit_size = 1,
3692                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3693                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3694                 }
3695         },
3696         {
3697         .field_info_mask = {
3698                 .description = "tl4_hdr_type",
3699                 .field_bit_size = 4,
3700                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3701                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3702                 },
3703         .field_info_spec = {
3704                 .description = "tl4_hdr_type",
3705                 .field_bit_size = 4,
3706                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3707                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3708                 }
3709         },
3710         {
3711         .field_info_mask = {
3712                 .description = "tl4_hdr_error",
3713                 .field_bit_size = 1,
3714                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3715                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3716                 },
3717         .field_info_spec = {
3718                 .description = "tl4_hdr_error",
3719                 .field_bit_size = 1,
3720                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3721                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3722                 }
3723         },
3724         {
3725         .field_info_mask = {
3726                 .description = "tl4_hdr_valid",
3727                 .field_bit_size = 1,
3728                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3729                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3730                 .field_opr1 = {
3731                         0xff}
3732                 },
3733         .field_info_spec = {
3734                 .description = "tl4_hdr_valid",
3735                 .field_bit_size = 1,
3736                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3737                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3738                 }
3739         },
3740         {
3741         .field_info_mask = {
3742                 .description = "tl3_ipv6_cmp_dst",
3743                 .field_bit_size = 1,
3744                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3745                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3746                 },
3747         .field_info_spec = {
3748                 .description = "tl3_ipv6_cmp_dst",
3749                 .field_bit_size = 1,
3750                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3751                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3752                 }
3753         },
3754         {
3755         .field_info_mask = {
3756                 .description = "tl3_ipv6_cmp_src",
3757                 .field_bit_size = 1,
3758                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3759                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3760                 },
3761         .field_info_spec = {
3762                 .description = "tl3_ipv6_cmp_src",
3763                 .field_bit_size = 1,
3764                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3765                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3766                 }
3767         },
3768         {
3769         .field_info_mask = {
3770                 .description = "tl3_hdr_isIP",
3771                 .field_bit_size = 1,
3772                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3773                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3774                 },
3775         .field_info_spec = {
3776                 .description = "tl3_hdr_isIP",
3777                 .field_bit_size = 1,
3778                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3779                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3780                 }
3781         },
3782         {
3783         .field_info_mask = {
3784                 .description = "tl3_hdr_type",
3785                 .field_bit_size = 4,
3786                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3787                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3788                 },
3789         .field_info_spec = {
3790                 .description = "tl3_hdr_type",
3791                 .field_bit_size = 4,
3792                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3793                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3794                 }
3795         },
3796         {
3797         .field_info_mask = {
3798                 .description = "tl3_hdr_error",
3799                 .field_bit_size = 1,
3800                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3801                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3802                 },
3803         .field_info_spec = {
3804                 .description = "tl3_hdr_error",
3805                 .field_bit_size = 1,
3806                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3807                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3808                 }
3809         },
3810         {
3811         .field_info_mask = {
3812                 .description = "tl3_hdr_valid",
3813                 .field_bit_size = 1,
3814                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3815                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3816                 .field_opr1 = {
3817                         0xff}
3818                 },
3819         .field_info_spec = {
3820                 .description = "tl3_hdr_valid",
3821                 .field_bit_size = 1,
3822                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3823                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3824                 }
3825         },
3826         {
3827         .field_info_mask = {
3828                 .description = "tl2_two_vtags",
3829                 .field_bit_size = 1,
3830                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3831                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3832                 },
3833         .field_info_spec = {
3834                 .description = "tl2_two_vtags",
3835                 .field_bit_size = 1,
3836                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3837                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3838                 }
3839         },
3840         {
3841         .field_info_mask = {
3842                 .description = "tl2_vtag_present",
3843                 .field_bit_size = 1,
3844                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3845                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3846                 },
3847         .field_info_spec = {
3848                 .description = "tl2_vtag_present",
3849                 .field_bit_size = 1,
3850                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3851                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3852                 }
3853         },
3854         {
3855         .field_info_mask = {
3856                 .description = "tl2_uc_mc_bc",
3857                 .field_bit_size = 2,
3858                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3859                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3860                 },
3861         .field_info_spec = {
3862                 .description = "tl2_uc_mc_bc",
3863                 .field_bit_size = 2,
3864                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3865                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3866                 }
3867         },
3868         {
3869         .field_info_mask = {
3870                 .description = "tl2_hdr_type",
3871                 .field_bit_size = 2,
3872                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3873                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3874                 },
3875         .field_info_spec = {
3876                 .description = "tl2_hdr_type",
3877                 .field_bit_size = 2,
3878                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3879                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3880                 }
3881         },
3882         {
3883         .field_info_mask = {
3884                 .description = "tl2_hdr_valid",
3885                 .field_bit_size = 1,
3886                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3887                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3888                 .field_opr1 = {
3889                         0xff}
3890                 },
3891         .field_info_spec = {
3892                 .description = "tl2_hdr_valid",
3893                 .field_bit_size = 1,
3894                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3895                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3896                 }
3897         },
3898         {
3899         .field_info_mask = {
3900                 .description = "hrec_next",
3901                 .field_bit_size = 1,
3902                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3903                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3904                 },
3905         .field_info_spec = {
3906                 .description = "hrec_next",
3907                 .field_bit_size = 1,
3908                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3909                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3910                 }
3911         },
3912         {
3913         .field_info_mask = {
3914                 .description = "reserved",
3915                 .field_bit_size = 9,
3916                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3917                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3918                 },
3919         .field_info_spec = {
3920                 .description = "reserved",
3921                 .field_bit_size = 9,
3922                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3923                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3924                 }
3925         },
3926         {
3927         .field_info_mask = {
3928                 .description = "prof_func_id",
3929                 .field_bit_size = 7,
3930                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3931                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3932                 .field_opr1 = {
3933                         0xff}
3934                 },
3935         .field_info_spec = {
3936                 .description = "prof_func_id",
3937                 .field_bit_size = 7,
3938                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3939                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
3940                 .field_opr1 = {
3941                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
3942                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
3943                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
3944                 .field_opr2 = {
3945                         (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
3946                         BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
3947                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
3948                 .field_opr3 = {
3949                 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
3950                 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
3951                 }
3952         },
3953         {
3954         .field_info_mask = {
3955                 .description = "agg_error",
3956                 .field_bit_size = 1,
3957                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3958                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3959                 },
3960         .field_info_spec = {
3961                 .description = "agg_error",
3962                 .field_bit_size = 1,
3963                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3964                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3965                 }
3966         },
3967         {
3968         .field_info_mask = {
3969                 .description = "recycle_cnt",
3970                 .field_bit_size = 2,
3971                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3972                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3973                 },
3974         .field_info_spec = {
3975                 .description = "recycle_cnt",
3976                 .field_bit_size = 2,
3977                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3978                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3979                 }
3980         },
3981         {
3982         .field_info_mask = {
3983                 .description = "pkt_type_0",
3984                 .field_bit_size = 2,
3985                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3986                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3987                 },
3988         .field_info_spec = {
3989                 .description = "pkt_type_0",
3990                 .field_bit_size = 2,
3991                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3992                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3993                 }
3994         },
3995         {
3996         .field_info_mask = {
3997                 .description = "pkt_type_1",
3998                 .field_bit_size = 2,
3999                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4000                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4001                 },
4002         .field_info_spec = {
4003                 .description = "pkt_type_1",
4004                 .field_bit_size = 2,
4005                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4006                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4007                 }
4008         },
4009         {
4010         .field_info_mask = {
4011                 .description = "valid",
4012                 .field_bit_size = 1,
4013                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4014                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4015                 .field_opr1 = {
4016                 1}
4017                 },
4018         .field_info_spec = {
4019                 .description = "valid",
4020                 .field_bit_size = 1,
4021                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4022                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4023                 .field_opr1 = {
4024                 1}
4025                 }
4026         },
4027         /* class_tid: 1, , table: profile_tcam.ipv4_vxlan */
4028         {
4029         .field_info_mask = {
4030                 .description = "l4_hdr_is_udp_tcp",
4031                 .field_bit_size = 1,
4032                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4033                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4034                 },
4035         .field_info_spec = {
4036                 .description = "l4_hdr_is_udp_tcp",
4037                 .field_bit_size = 1,
4038                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4039                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4040                 }
4041         },
4042         {
4043         .field_info_mask = {
4044                 .description = "l4_hdr_type",
4045                 .field_bit_size = 4,
4046                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4047                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4048                 .field_opr1 = {
4049                         0xff}
4050                 },
4051         .field_info_spec = {
4052                 .description = "l4_hdr_type",
4053                 .field_bit_size = 4,
4054                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4055                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4056                 .field_opr1 = {
4057                 ULP_WP_SYM_L4_HDR_TYPE_UDP}
4058                 }
4059         },
4060         {
4061         .field_info_mask = {
4062                 .description = "l4_hdr_error",
4063                 .field_bit_size = 1,
4064                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4065                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4066                 .field_opr1 = {
4067                         0xff}
4068                 },
4069         .field_info_spec = {
4070                 .description = "l4_hdr_error",
4071                 .field_bit_size = 1,
4072                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4073                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4074                 }
4075         },
4076         {
4077         .field_info_mask = {
4078                 .description = "l4_hdr_valid",
4079                 .field_bit_size = 1,
4080                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4081                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4082                 },
4083         .field_info_spec = {
4084                 .description = "l4_hdr_valid",
4085                 .field_bit_size = 1,
4086                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4087                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4088                 }
4089         },
4090         {
4091         .field_info_mask = {
4092                 .description = "l3_ipv6_cmp_dst",
4093                 .field_bit_size = 1,
4094                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4095                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4096                 },
4097         .field_info_spec = {
4098                 .description = "l3_ipv6_cmp_dst",
4099                 .field_bit_size = 1,
4100                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4101                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4102                 }
4103         },
4104         {
4105         .field_info_mask = {
4106                 .description = "l3_ipv6_cmp_src",
4107                 .field_bit_size = 1,
4108                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4109                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4110                 },
4111         .field_info_spec = {
4112                 .description = "l3_ipv6_cmp_src",
4113                 .field_bit_size = 1,
4114                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4115                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4116                 }
4117         },
4118         {
4119         .field_info_mask = {
4120                 .description = "l3_hdr_isIP",
4121                 .field_bit_size = 1,
4122                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4123                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4124                 },
4125         .field_info_spec = {
4126                 .description = "l3_hdr_isIP",
4127                 .field_bit_size = 1,
4128                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4129                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4130                 }
4131         },
4132         {
4133         .field_info_mask = {
4134                 .description = "l3_hdr_type",
4135                 .field_bit_size = 4,
4136                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4137                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4138                 },
4139         .field_info_spec = {
4140                 .description = "l3_hdr_type",
4141                 .field_bit_size = 4,
4142                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4143                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4144                 }
4145         },
4146         {
4147         .field_info_mask = {
4148                 .description = "l3_hdr_error",
4149                 .field_bit_size = 1,
4150                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4151                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4152                 .field_opr1 = {
4153                         0xff}
4154                 },
4155         .field_info_spec = {
4156                 .description = "l3_hdr_error",
4157                 .field_bit_size = 1,
4158                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4159                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4160                 }
4161         },
4162         {
4163         .field_info_mask = {
4164                 .description = "l3_hdr_valid",
4165                 .field_bit_size = 1,
4166                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4167                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4168                 },
4169         .field_info_spec = {
4170                 .description = "l3_hdr_valid",
4171                 .field_bit_size = 1,
4172                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4173                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4174                 }
4175         },
4176         {
4177         .field_info_mask = {
4178                 .description = "l2_two_vtags",
4179                 .field_bit_size = 1,
4180                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4181                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4182                 },
4183         .field_info_spec = {
4184                 .description = "l2_two_vtags",
4185                 .field_bit_size = 1,
4186                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4187                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4188                 }
4189         },
4190         {
4191         .field_info_mask = {
4192                 .description = "l2_vtag_present",
4193                 .field_bit_size = 1,
4194                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4195                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4196                 },
4197         .field_info_spec = {
4198                 .description = "l2_vtag_present",
4199                 .field_bit_size = 1,
4200                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4201                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4202                 }
4203         },
4204         {
4205         .field_info_mask = {
4206                 .description = "l2_uc_mc_bc",
4207                 .field_bit_size = 2,
4208                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4209                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4210                 },
4211         .field_info_spec = {
4212                 .description = "l2_uc_mc_bc",
4213                 .field_bit_size = 2,
4214                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4215                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4216                 }
4217         },
4218         {
4219         .field_info_mask = {
4220                 .description = "l2_hdr_type",
4221                 .field_bit_size = 2,
4222                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4223                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4224                 },
4225         .field_info_spec = {
4226                 .description = "l2_hdr_type",
4227                 .field_bit_size = 2,
4228                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4229                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4230                 }
4231         },
4232         {
4233         .field_info_mask = {
4234                 .description = "l2_hdr_error",
4235                 .field_bit_size = 1,
4236                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4237                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4238                 },
4239         .field_info_spec = {
4240                 .description = "l2_hdr_error",
4241                 .field_bit_size = 1,
4242                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4243                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4244                 }
4245         },
4246         {
4247         .field_info_mask = {
4248                 .description = "l2_hdr_valid",
4249                 .field_bit_size = 1,
4250                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4251                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4252                 },
4253         .field_info_spec = {
4254                 .description = "l2_hdr_valid",
4255                 .field_bit_size = 1,
4256                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4257                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4258                 }
4259         },
4260         {
4261         .field_info_mask = {
4262                 .description = "tun_hdr_flags",
4263                 .field_bit_size = 3,
4264                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4265                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4266                 },
4267         .field_info_spec = {
4268                 .description = "tun_hdr_flags",
4269                 .field_bit_size = 3,
4270                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4271                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4272                 }
4273         },
4274         {
4275         .field_info_mask = {
4276                 .description = "tun_hdr_type",
4277                 .field_bit_size = 4,
4278                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4279                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4280                 .field_opr1 = {
4281                         0xff}
4282                 },
4283         .field_info_spec = {
4284                 .description = "tun_hdr_type",
4285                 .field_bit_size = 4,
4286                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4287                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4288                 }
4289         },
4290         {
4291         .field_info_mask = {
4292                 .description = "tun_hdr_err",
4293                 .field_bit_size = 1,
4294                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4295                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4296                 },
4297         .field_info_spec = {
4298                 .description = "tun_hdr_err",
4299                 .field_bit_size = 1,
4300                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4301                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4302                 }
4303         },
4304         {
4305         .field_info_mask = {
4306                 .description = "tun_hdr_valid",
4307                 .field_bit_size = 1,
4308                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4309                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4310                 .field_opr1 = {
4311                         0xff}
4312                 },
4313         .field_info_spec = {
4314                 .description = "tun_hdr_valid",
4315                 .field_bit_size = 1,
4316                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4317                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4318                 .field_opr1 = {
4319                 ULP_WP_SYM_TUN_HDR_VALID_YES}
4320                 }
4321         },
4322         {
4323         .field_info_mask = {
4324                 .description = "tl4_hdr_is_udp_tcp",
4325                 .field_bit_size = 1,
4326                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4327                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4328                 },
4329         .field_info_spec = {
4330                 .description = "tl4_hdr_is_udp_tcp",
4331                 .field_bit_size = 1,
4332                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4333                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4334                 }
4335         },
4336         {
4337         .field_info_mask = {
4338                 .description = "tl4_hdr_type",
4339                 .field_bit_size = 4,
4340                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4341                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4342                 },
4343         .field_info_spec = {
4344                 .description = "tl4_hdr_type",
4345                 .field_bit_size = 4,
4346                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4347                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4348                 }
4349         },
4350         {
4351         .field_info_mask = {
4352                 .description = "tl4_hdr_error",
4353                 .field_bit_size = 1,
4354                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4355                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4356                 },
4357         .field_info_spec = {
4358                 .description = "tl4_hdr_error",
4359                 .field_bit_size = 1,
4360                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4361                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4362                 }
4363         },
4364         {
4365         .field_info_mask = {
4366                 .description = "tl4_hdr_valid",
4367                 .field_bit_size = 1,
4368                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4369                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4370                 .field_opr1 = {
4371                         0xff}
4372                 },
4373         .field_info_spec = {
4374                 .description = "tl4_hdr_valid",
4375                 .field_bit_size = 1,
4376                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4377                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4378                 .field_opr1 = {
4379                 ULP_WP_SYM_TL4_HDR_VALID_YES}
4380                 }
4381         },
4382         {
4383         .field_info_mask = {
4384                 .description = "tl3_ipv6_cmp_dst",
4385                 .field_bit_size = 1,
4386                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4387                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4388                 },
4389         .field_info_spec = {
4390                 .description = "tl3_ipv6_cmp_dst",
4391                 .field_bit_size = 1,
4392                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4393                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4394                 }
4395         },
4396         {
4397         .field_info_mask = {
4398                 .description = "tl3_ipv6_cmp_src",
4399                 .field_bit_size = 1,
4400                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4401                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4402                 },
4403         .field_info_spec = {
4404                 .description = "tl3_ipv6_cmp_src",
4405                 .field_bit_size = 1,
4406                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4407                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4408                 }
4409         },
4410         {
4411         .field_info_mask = {
4412                 .description = "tl3_hdr_isIP",
4413                 .field_bit_size = 1,
4414                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4415                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4416                 },
4417         .field_info_spec = {
4418                 .description = "tl3_hdr_isIP",
4419                 .field_bit_size = 1,
4420                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4421                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4422                 }
4423         },
4424         {
4425         .field_info_mask = {
4426                 .description = "tl3_hdr_type",
4427                 .field_bit_size = 4,
4428                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4429                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4430                 .field_opr1 = {
4431                         0xff}
4432                 },
4433         .field_info_spec = {
4434                 .description = "tl3_hdr_type",
4435                 .field_bit_size = 4,
4436                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4437                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4438                 }
4439         },
4440         {
4441         .field_info_mask = {
4442                 .description = "tl3_hdr_error",
4443                 .field_bit_size = 1,
4444                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4445                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4446                 },
4447         .field_info_spec = {
4448                 .description = "tl3_hdr_error",
4449                 .field_bit_size = 1,
4450                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4451                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4452                 }
4453         },
4454         {
4455         .field_info_mask = {
4456                 .description = "tl3_hdr_valid",
4457                 .field_bit_size = 1,
4458                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4459                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4460                 .field_opr1 = {
4461                         0xff}
4462                 },
4463         .field_info_spec = {
4464                 .description = "tl3_hdr_valid",
4465                 .field_bit_size = 1,
4466                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4467                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4468                 .field_opr1 = {
4469                 ULP_WP_SYM_TL3_HDR_VALID_YES}
4470                 }
4471         },
4472         {
4473         .field_info_mask = {
4474                 .description = "tl2_two_vtags",
4475                 .field_bit_size = 1,
4476                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4477                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4478                 },
4479         .field_info_spec = {
4480                 .description = "tl2_two_vtags",
4481                 .field_bit_size = 1,
4482                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4483                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4484                 }
4485         },
4486         {
4487         .field_info_mask = {
4488                 .description = "tl2_vtag_present",
4489                 .field_bit_size = 1,
4490                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4491                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4492                 },
4493         .field_info_spec = {
4494                 .description = "tl2_vtag_present",
4495                 .field_bit_size = 1,
4496                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4497                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4498                 }
4499         },
4500         {
4501         .field_info_mask = {
4502                 .description = "tl2_uc_mc_bc",
4503                 .field_bit_size = 2,
4504                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4505                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4506                 .field_opr1 = {
4507                         0xff}
4508                 },
4509         .field_info_spec = {
4510                 .description = "tl2_uc_mc_bc",
4511                 .field_bit_size = 2,
4512                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4513                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4514                 }
4515         },
4516         {
4517         .field_info_mask = {
4518                 .description = "tl2_hdr_type",
4519                 .field_bit_size = 2,
4520                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4521                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4522                 },
4523         .field_info_spec = {
4524                 .description = "tl2_hdr_type",
4525                 .field_bit_size = 2,
4526                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4527                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4528                 }
4529         },
4530         {
4531         .field_info_mask = {
4532                 .description = "tl2_hdr_valid",
4533                 .field_bit_size = 1,
4534                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4535                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4536                 .field_opr1 = {
4537                         0xff}
4538                 },
4539         .field_info_spec = {
4540                 .description = "tl2_hdr_valid",
4541                 .field_bit_size = 1,
4542                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4543                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4544                 .field_opr1 = {
4545                 ULP_WP_SYM_TL2_HDR_VALID_YES}
4546                 }
4547         },
4548         {
4549         .field_info_mask = {
4550                 .description = "hrec_next",
4551                 .field_bit_size = 1,
4552                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4553                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4554                 },
4555         .field_info_spec = {
4556                 .description = "hrec_next",
4557                 .field_bit_size = 1,
4558                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4559                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4560                 }
4561         },
4562         {
4563         .field_info_mask = {
4564                 .description = "reserved",
4565                 .field_bit_size = 9,
4566                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4567                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4568                 },
4569         .field_info_spec = {
4570                 .description = "reserved",
4571                 .field_bit_size = 9,
4572                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4573                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4574                 }
4575         },
4576         {
4577         .field_info_mask = {
4578                 .description = "prof_func_id",
4579                 .field_bit_size = 7,
4580                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4581                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4582                 .field_opr1 = {
4583                         0xff}
4584                 },
4585         .field_info_spec = {
4586                 .description = "prof_func_id",
4587                 .field_bit_size = 7,
4588                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4589                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
4590                 .field_opr1 = {
4591                 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
4592                 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}
4593                 }
4594         },
4595         {
4596         .field_info_mask = {
4597                 .description = "agg_error",
4598                 .field_bit_size = 1,
4599                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4600                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4601                 },
4602         .field_info_spec = {
4603                 .description = "agg_error",
4604                 .field_bit_size = 1,
4605                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4606                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4607                 }
4608         },
4609         {
4610         .field_info_mask = {
4611                 .description = "recycle_cnt",
4612                 .field_bit_size = 2,
4613                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4614                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4615                 },
4616         .field_info_spec = {
4617                 .description = "recycle_cnt",
4618                 .field_bit_size = 2,
4619                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4620                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4621                 }
4622         },
4623         {
4624         .field_info_mask = {
4625                 .description = "pkt_type_0",
4626                 .field_bit_size = 2,
4627                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4628                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4629                 },
4630         .field_info_spec = {
4631                 .description = "pkt_type_0",
4632                 .field_bit_size = 2,
4633                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4634                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4635                 }
4636         },
4637         {
4638         .field_info_mask = {
4639                 .description = "pkt_type_1",
4640                 .field_bit_size = 2,
4641                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4642                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4643                 },
4644         .field_info_spec = {
4645                 .description = "pkt_type_1",
4646                 .field_bit_size = 2,
4647                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4648                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4649                 }
4650         },
4651         {
4652         .field_info_mask = {
4653                 .description = "valid",
4654                 .field_bit_size = 1,
4655                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4656                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4657                 .field_opr1 = {
4658                 1}
4659                 },
4660         .field_info_spec = {
4661                 .description = "valid",
4662                 .field_bit_size = 1,
4663                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4664                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4665                 .field_opr1 = {
4666                 1}
4667                 }
4668         },
4669         /* class_tid: 1, , table: profile_tcam_cache.wr */
4670         {
4671         .field_info_mask = {
4672                 .description = "recycle_cnt",
4673                 .field_bit_size = 2,
4674                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4675                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4676                 .field_opr1 = {
4677                         0xff}
4678                 },
4679         .field_info_spec = {
4680                 .description = "recycle_cnt",
4681                 .field_bit_size = 2,
4682                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4683                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4684                 }
4685         },
4686         {
4687         .field_info_mask = {
4688                 .description = "prof_func_id",
4689                 .field_bit_size = 7,
4690                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4691                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4692                 .field_opr1 = {
4693                         0xff}
4694                 },
4695         .field_info_spec = {
4696                 .description = "prof_func_id",
4697                 .field_bit_size = 7,
4698                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4699                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
4700                 .field_opr1 = {
4701                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
4702                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
4703                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
4704                 .field_opr2 = {
4705                         (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
4706                         BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
4707                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
4708                 .field_opr3 = {
4709                 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
4710                 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
4711                 }
4712         },
4713         {
4714         .field_info_mask = {
4715                 .description = "hdr_sig_id",
4716                 .field_bit_size = 5,
4717                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4718                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4719                 .field_opr1 = {
4720                         0xff}
4721                 },
4722         .field_info_spec = {
4723                 .description = "hdr_sig_id",
4724                 .field_bit_size = 5,
4725                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4726                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4727                 .field_opr1 = {
4728                 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
4729                 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
4730                 }
4731         },
4732         /* class_tid: 1, , table: em.ipv4 */
4733         {
4734         .field_info_mask = {
4735                 .description = "spare",
4736                 .field_bit_size = 3,
4737                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4738                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4739                 },
4740         .field_info_spec = {
4741                 .description = "spare",
4742                 .field_bit_size = 3,
4743                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4744                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4745                 }
4746         },
4747         {
4748         .field_info_mask = {
4749                 .description = "local_cos",
4750                 .field_bit_size = 3,
4751                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4752                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4753                 },
4754         .field_info_spec = {
4755                 .description = "local_cos",
4756                 .field_bit_size = 3,
4757                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4758                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4759                 }
4760         },
4761         {
4762         .field_info_mask = {
4763                 .description = "l4.dst",
4764                 .field_bit_size = 16,
4765                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4766                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4767                 .field_opr1 = {
4768                         0xff,
4769                         0xff}
4770                 },
4771         .field_info_spec = {
4772                 .description = "l4.dst",
4773                 .field_bit_size = 16,
4774                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4775                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4776                 .field_opr1 = {
4777                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
4778                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
4779                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
4780                 .field_opr2 = {
4781                         (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
4782                         BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
4783                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4784                 }
4785         },
4786         {
4787         .field_info_mask = {
4788                 .description = "l4.src",
4789                 .field_bit_size = 16,
4790                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4791                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4792                 .field_opr1 = {
4793                         0xff,
4794                         0xff}
4795                 },
4796         .field_info_spec = {
4797                 .description = "l4.src",
4798                 .field_bit_size = 16,
4799                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4800                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4801                 .field_opr1 = {
4802                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
4803                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
4804                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
4805                 .field_opr2 = {
4806                         (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
4807                         BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
4808                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4809                 }
4810         },
4811         {
4812         .field_info_mask = {
4813                 .description = "l3.prot",
4814                 .field_bit_size = 8,
4815                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4816                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4817                 .field_opr1 = {
4818                         0xff}
4819                 },
4820         .field_info_spec = {
4821                 .description = "l3.prot",
4822                 .field_bit_size = 8,
4823                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4824                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
4825                 .field_opr1 = {
4826                 (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
4827                 BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff},
4828                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
4829                 .field_opr2 = {
4830                         (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
4831                         BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
4832                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4833                 }
4834         },
4835         {
4836         .field_info_mask = {
4837                 .description = "l3.dst",
4838                 .field_bit_size = 32,
4839                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4840                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4841                 .field_opr1 = {
4842                 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
4843                 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
4844                 },
4845         .field_info_spec = {
4846                 .description = "l3.dst",
4847                 .field_bit_size = 32,
4848                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4849                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4850                 .field_opr1 = {
4851                 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
4852                 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
4853                 }
4854         },
4855         {
4856         .field_info_mask = {
4857                 .description = "l3.src",
4858                 .field_bit_size = 32,
4859                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4860                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4861                 .field_opr1 = {
4862                 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
4863                 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
4864                 },
4865         .field_info_spec = {
4866                 .description = "l3.src",
4867                 .field_bit_size = 32,
4868                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4869                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4870                 .field_opr1 = {
4871                 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
4872                 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
4873                 }
4874         },
4875         {
4876         .field_info_mask = {
4877                 .description = "l2.smac",
4878                 .field_bit_size = 48,
4879                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4880                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4881                 .field_opr1 = {
4882                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
4883                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
4884                 },
4885         .field_info_spec = {
4886                 .description = "l2.smac",
4887                 .field_bit_size = 48,
4888                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4889                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4890                 .field_opr1 = {
4891                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
4892                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
4893                 }
4894         },
4895         {
4896         .field_info_mask = {
4897                 .description = "l2_cntxt_id",
4898                 .field_bit_size = 10,
4899                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4900                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4901                 .field_opr1 = {
4902                         0xff,
4903                         0xff}
4904                 },
4905         .field_info_spec = {
4906                 .description = "l2_cntxt_id",
4907                 .field_bit_size = 10,
4908                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4909                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4910                 .field_opr1 = {
4911                 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
4912                 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
4913                 }
4914         },
4915         {
4916         .field_info_mask = {
4917                 .description = "em_profile_id",
4918                 .field_bit_size = 8,
4919                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4920                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4921                 .field_opr1 = {
4922                         0xff}
4923                 },
4924         .field_info_spec = {
4925                 .description = "em_profile_id",
4926                 .field_bit_size = 8,
4927                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4928                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4929                 .field_opr1 = {
4930                 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
4931                 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
4932                 }
4933         },
4934         /* class_tid: 1, , table: eem.ipv4 */
4935         {
4936         .field_info_mask = {
4937                 .description = "spare",
4938                 .field_bit_size = 275,
4939                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4940                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4941                 },
4942         .field_info_spec = {
4943                 .description = "spare",
4944                 .field_bit_size = 275,
4945                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4946                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4947                 }
4948         },
4949         {
4950         .field_info_mask = {
4951                 .description = "local_cos",
4952                 .field_bit_size = 3,
4953                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4954                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4955                 },
4956         .field_info_spec = {
4957                 .description = "local_cos",
4958                 .field_bit_size = 3,
4959                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4960                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4961                 }
4962         },
4963         {
4964         .field_info_mask = {
4965                 .description = "l4.dst",
4966                 .field_bit_size = 16,
4967                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4968                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4969                 .field_opr1 = {
4970                         0xff,
4971                         0xff}
4972                 },
4973         .field_info_spec = {
4974                 .description = "l4.dst",
4975                 .field_bit_size = 16,
4976                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4977                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4978                 .field_opr1 = {
4979                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
4980                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
4981                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
4982                 .field_opr2 = {
4983                         (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
4984                         BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
4985                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4986                 }
4987         },
4988         {
4989         .field_info_mask = {
4990                 .description = "l4.src",
4991                 .field_bit_size = 16,
4992                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4993                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4994                 .field_opr1 = {
4995                         0xff,
4996                         0xff}
4997                 },
4998         .field_info_spec = {
4999                 .description = "l4.src",
5000                 .field_bit_size = 16,
5001                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5002                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5003                 .field_opr1 = {
5004                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
5005                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
5006                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
5007                 .field_opr2 = {
5008                         (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
5009                         BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
5010                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
5011                 }
5012         },
5013         {
5014         .field_info_mask = {
5015                 .description = "l3.prot",
5016                 .field_bit_size = 8,
5017                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5018                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5019                 .field_opr1 = {
5020                         0xff}
5021                 },
5022         .field_info_spec = {
5023                 .description = "l3.prot",
5024                 .field_bit_size = 8,
5025                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5026                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
5027                 .field_opr1 = {
5028                 (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
5029                 BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff},
5030                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
5031                 .field_opr2 = {
5032                         (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
5033                         BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
5034                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
5035                 }
5036         },
5037         {
5038         .field_info_mask = {
5039                 .description = "l3.dst",
5040                 .field_bit_size = 32,
5041                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5042                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5043                 .field_opr1 = {
5044                 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
5045                 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
5046                 },
5047         .field_info_spec = {
5048                 .description = "l3.dst",
5049                 .field_bit_size = 32,
5050                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5051                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5052                 .field_opr1 = {
5053                 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
5054                 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
5055                 }
5056         },
5057         {
5058         .field_info_mask = {
5059                 .description = "l3.src",
5060                 .field_bit_size = 32,
5061                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5062                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5063                 .field_opr1 = {
5064                 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
5065                 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
5066                 },
5067         .field_info_spec = {
5068                 .description = "l3.src",
5069                 .field_bit_size = 32,
5070                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5071                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5072                 .field_opr1 = {
5073                 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
5074                 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
5075                 }
5076         },
5077         {
5078         .field_info_mask = {
5079                 .description = "l2.smac",
5080                 .field_bit_size = 48,
5081                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5082                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5083                 .field_opr1 = {
5084                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
5085                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
5086                 },
5087         .field_info_spec = {
5088                 .description = "l2.smac",
5089                 .field_bit_size = 48,
5090                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5091                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5092                 .field_opr1 = {
5093                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
5094                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
5095                 }
5096         },
5097         {
5098         .field_info_mask = {
5099                 .description = "l2_cntxt_id",
5100                 .field_bit_size = 10,
5101                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5102                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5103                 .field_opr1 = {
5104                         0xff,
5105                         0xff}
5106                 },
5107         .field_info_spec = {
5108                 .description = "l2_cntxt_id",
5109                 .field_bit_size = 10,
5110                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5111                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5112                 .field_opr1 = {
5113                 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
5114                 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
5115                 }
5116         },
5117         {
5118         .field_info_mask = {
5119                 .description = "em_profile_id",
5120                 .field_bit_size = 8,
5121                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5122                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5123                 .field_opr1 = {
5124                         0xff}
5125                 },
5126         .field_info_spec = {
5127                 .description = "em_profile_id",
5128                 .field_bit_size = 8,
5129                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5130                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5131                 .field_opr1 = {
5132                 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
5133                 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
5134                 }
5135         },
5136         /* class_tid: 1, , table: em.ipv6 */
5137         {
5138         .field_info_mask = {
5139                 .description = "spare",
5140                 .field_bit_size = 3,
5141                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5142                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5143                 },
5144         .field_info_spec = {
5145                 .description = "spare",
5146                 .field_bit_size = 3,
5147                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5148                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5149                 }
5150         },
5151         {
5152         .field_info_mask = {
5153                 .description = "local_cos",
5154                 .field_bit_size = 3,
5155                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5156                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5157                 },
5158         .field_info_spec = {
5159                 .description = "local_cos",
5160                 .field_bit_size = 3,
5161                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5162                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5163                 }
5164         },
5165         {
5166         .field_info_mask = {
5167                 .description = "l4.dst",
5168                 .field_bit_size = 16,
5169                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5170                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5171                 .field_opr1 = {
5172                         0xff,
5173                         0xff}
5174                 },
5175         .field_info_spec = {
5176                 .description = "l4.dst",
5177                 .field_bit_size = 16,
5178                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5179                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5180                 .field_opr1 = {
5181                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
5182                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
5183                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
5184                 .field_opr2 = {
5185                         (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
5186                         BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
5187                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
5188                 }
5189         },
5190         {
5191         .field_info_mask = {
5192                 .description = "l4.src",
5193                 .field_bit_size = 16,
5194                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5195                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5196                 .field_opr1 = {
5197                         0xff,
5198                         0xff}
5199                 },
5200         .field_info_spec = {
5201                 .description = "l4.src",
5202                 .field_bit_size = 16,
5203                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5204                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5205                 .field_opr1 = {
5206                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
5207                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
5208                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
5209                 .field_opr2 = {
5210                         (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
5211                         BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
5212                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
5213                 }
5214         },
5215         {
5216         .field_info_mask = {
5217                 .description = "l3.prot",
5218                 .field_bit_size = 8,
5219                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5220                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5221                 .field_opr1 = {
5222                         0xff}
5223                 },
5224         .field_info_spec = {
5225                 .description = "l3.prot",
5226                 .field_bit_size = 8,
5227                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5228                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
5229                 .field_opr1 = {
5230                 (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
5231                 BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
5232                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
5233                 .field_opr2 = {
5234                         (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
5235                         BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
5236                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
5237                 }
5238         },
5239         {
5240         .field_info_mask = {
5241                 .description = "l3.dst",
5242                 .field_bit_size = 128,
5243                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5244                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5245                 .field_opr1 = {
5246                 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
5247                 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
5248                 },
5249         .field_info_spec = {
5250                 .description = "l3.dst",
5251                 .field_bit_size = 128,
5252                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5253                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5254                 .field_opr1 = {
5255                 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
5256                 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
5257                 }
5258         },
5259         {
5260         .field_info_mask = {
5261                 .description = "l3.src",
5262                 .field_bit_size = 128,
5263                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5264                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5265                 .field_opr1 = {
5266                 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
5267                 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
5268                 },
5269         .field_info_spec = {
5270                 .description = "l3.src",
5271                 .field_bit_size = 128,
5272                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5273                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5274                 .field_opr1 = {
5275                 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
5276                 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
5277                 }
5278         },
5279         {
5280         .field_info_mask = {
5281                 .description = "l2.smac",
5282                 .field_bit_size = 48,
5283                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5284                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5285                 .field_opr1 = {
5286                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
5287                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
5288                 },
5289         .field_info_spec = {
5290                 .description = "l2.smac",
5291                 .field_bit_size = 48,
5292                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5293                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5294                 .field_opr1 = {
5295                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
5296                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
5297                 }
5298         },
5299         {
5300         .field_info_mask = {
5301                 .description = "l2.dmac",
5302                 .field_bit_size = 48,
5303                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5304                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5305                 },
5306         .field_info_spec = {
5307                 .description = "l2.dmac",
5308                 .field_bit_size = 48,
5309                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5310                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5311                 }
5312         },
5313         {
5314         .field_info_mask = {
5315                 .description = "l2_cntxt_id",
5316                 .field_bit_size = 10,
5317                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5318                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5319                 .field_opr1 = {
5320                         0xff,
5321                         0xff}
5322                 },
5323         .field_info_spec = {
5324                 .description = "l2_cntxt_id",
5325                 .field_bit_size = 10,
5326                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5327                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5328                 .field_opr1 = {
5329                 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
5330                 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
5331                 }
5332         },
5333         {
5334         .field_info_mask = {
5335                 .description = "em_profile_id",
5336                 .field_bit_size = 8,
5337                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5338                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5339                 .field_opr1 = {
5340                         0xff}
5341                 },
5342         .field_info_spec = {
5343                 .description = "em_profile_id",
5344                 .field_bit_size = 8,
5345                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5346                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5347                 .field_opr1 = {
5348                 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
5349                 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
5350                 }
5351         },
5352         /* class_tid: 1, , table: eem.ipv6 */
5353         {
5354         .field_info_mask = {
5355                 .description = "spare",
5356                 .field_bit_size = 35,
5357                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5358                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5359                 },
5360         .field_info_spec = {
5361                 .description = "spare",
5362                 .field_bit_size = 35,
5363                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5364                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5365                 }
5366         },
5367         {
5368         .field_info_mask = {
5369                 .description = "local_cos",
5370                 .field_bit_size = 3,
5371                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5372                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5373                 },
5374         .field_info_spec = {
5375                 .description = "local_cos",
5376                 .field_bit_size = 3,
5377                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5378                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5379                 }
5380         },
5381         {
5382         .field_info_mask = {
5383                 .description = "l4.dst",
5384                 .field_bit_size = 16,
5385                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5386                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5387                 .field_opr1 = {
5388                         0xff,
5389                         0xff}
5390                 },
5391         .field_info_spec = {
5392                 .description = "l4.dst",
5393                 .field_bit_size = 16,
5394                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5395                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5396                 .field_opr1 = {
5397                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
5398                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
5399                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
5400                 .field_opr2 = {
5401                         (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
5402                         BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
5403                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
5404                 }
5405         },
5406         {
5407         .field_info_mask = {
5408                 .description = "l4.src",
5409                 .field_bit_size = 16,
5410                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5411                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5412                 .field_opr1 = {
5413                         0xff,
5414                         0xff}
5415                 },
5416         .field_info_spec = {
5417                 .description = "l4.src",
5418                 .field_bit_size = 16,
5419                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5420                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5421                 .field_opr1 = {
5422                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
5423                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
5424                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
5425                 .field_opr2 = {
5426                         (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
5427                         BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
5428                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
5429                 }
5430         },
5431         {
5432         .field_info_mask = {
5433                 .description = "l3.prot",
5434                 .field_bit_size = 8,
5435                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5436                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5437                 .field_opr1 = {
5438                         0xff}
5439                 },
5440         .field_info_spec = {
5441                 .description = "l3.prot",
5442                 .field_bit_size = 8,
5443                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5444                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
5445                 .field_opr1 = {
5446                 (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
5447                 BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
5448                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
5449                 .field_opr2 = {
5450                         (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
5451                         BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
5452                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
5453                 }
5454         },
5455         {
5456         .field_info_mask = {
5457                 .description = "l3.dst",
5458                 .field_bit_size = 128,
5459                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5460                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5461                 .field_opr1 = {
5462                 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
5463                 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
5464                 },
5465         .field_info_spec = {
5466                 .description = "l3.dst",
5467                 .field_bit_size = 128,
5468                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5469                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5470                 .field_opr1 = {
5471                 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
5472                 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
5473                 }
5474         },
5475         {
5476         .field_info_mask = {
5477                 .description = "l3.src",
5478                 .field_bit_size = 128,
5479                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5480                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5481                 .field_opr1 = {
5482                 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
5483                 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
5484                 },
5485         .field_info_spec = {
5486                 .description = "l3.src",
5487                 .field_bit_size = 128,
5488                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5489                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5490                 .field_opr1 = {
5491                 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
5492                 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
5493                 }
5494         },
5495         {
5496         .field_info_mask = {
5497                 .description = "l2.smac",
5498                 .field_bit_size = 48,
5499                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5500                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5501                 .field_opr1 = {
5502                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
5503                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
5504                 },
5505         .field_info_spec = {
5506                 .description = "l2.smac",
5507                 .field_bit_size = 48,
5508                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5509                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5510                 .field_opr1 = {
5511                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
5512                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
5513                 }
5514         },
5515         {
5516         .field_info_mask = {
5517                 .description = "l2.dmac",
5518                 .field_bit_size = 48,
5519                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5520                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5521                 },
5522         .field_info_spec = {
5523                 .description = "l2.dmac",
5524                 .field_bit_size = 48,
5525                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5526                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5527                 }
5528         },
5529         {
5530         .field_info_mask = {
5531                 .description = "l2_cntxt_id",
5532                 .field_bit_size = 10,
5533                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5534                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5535                 .field_opr1 = {
5536                         0xff,
5537                         0xff}
5538                 },
5539         .field_info_spec = {
5540                 .description = "l2_cntxt_id",
5541                 .field_bit_size = 10,
5542                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5543                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5544                 .field_opr1 = {
5545                 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
5546                 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
5547                 }
5548         },
5549         {
5550         .field_info_mask = {
5551                 .description = "em_profile_id",
5552                 .field_bit_size = 8,
5553                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5554                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5555                 .field_opr1 = {
5556                         0xff}
5557                 },
5558         .field_info_spec = {
5559                 .description = "em_profile_id",
5560                 .field_bit_size = 8,
5561                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5562                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5563                 .field_opr1 = {
5564                 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
5565                 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
5566                 }
5567         },
5568         /* class_tid: 1, , table: em.vxlan */
5569         {
5570         .field_info_mask = {
5571                 .description = "spare",
5572                 .field_bit_size = 3,
5573                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5574                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5575                 },
5576         .field_info_spec = {
5577                 .description = "spare",
5578                 .field_bit_size = 3,
5579                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5580                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5581                 }
5582         },
5583         {
5584         .field_info_mask = {
5585                 .description = "local_cos",
5586                 .field_bit_size = 3,
5587                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5588                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5589                 },
5590         .field_info_spec = {
5591                 .description = "local_cos",
5592                 .field_bit_size = 3,
5593                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5594                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5595                 }
5596         },
5597         {
5598         .field_info_mask = {
5599                 .description = "tl4.src",
5600                 .field_bit_size = 16,
5601                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5602                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5603                 },
5604         .field_info_spec = {
5605                 .description = "tl4.src",
5606                 .field_bit_size = 16,
5607                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5608                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5609                 }
5610         },
5611         {
5612         .field_info_mask = {
5613                 .description = "tl4.dst",
5614                 .field_bit_size = 16,
5615                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5616                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5617                 .field_opr1 = {
5618                         0xff,
5619                         0xff}
5620                 },
5621         .field_info_spec = {
5622                 .description = "tl4.dst",
5623                 .field_bit_size = 16,
5624                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5625                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5626                 .field_opr1 = {
5627                 (4789 >> 8) & 0xff,
5628                 4789 & 0xff}
5629                 }
5630         },
5631         {
5632         .field_info_mask = {
5633                 .description = "tl3.prot",
5634                 .field_bit_size = 8,
5635                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5636                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5637                 .field_opr1 = {
5638                         0xff}
5639                 },
5640         .field_info_spec = {
5641                 .description = "tl3.prot",
5642                 .field_bit_size = 8,
5643                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5644                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5645                 .field_opr1 = {
5646                 17}
5647                 }
5648         },
5649         {
5650         .field_info_mask = {
5651                 .description = "tl3.dst",
5652                 .field_bit_size = 32,
5653                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5654                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5655                 .field_opr1 = {
5656                 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
5657                 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
5658                 },
5659         .field_info_spec = {
5660                 .description = "tl3.dst",
5661                 .field_bit_size = 32,
5662                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5663                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5664                 .field_opr1 = {
5665                 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
5666                 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
5667                 }
5668         },
5669         {
5670         .field_info_mask = {
5671                 .description = "tl3.src",
5672                 .field_bit_size = 32,
5673                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5674                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5675                 },
5676         .field_info_spec = {
5677                 .description = "tl3.src",
5678                 .field_bit_size = 32,
5679                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5680                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5681                 }
5682         },
5683         {
5684         .field_info_mask = {
5685                 .description = "tl2.src",
5686                 .field_bit_size = 48,
5687                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5688                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5689                 },
5690         .field_info_spec = {
5691                 .description = "tl2.src",
5692                 .field_bit_size = 48,
5693                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5694                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5695                 }
5696         },
5697         {
5698         .field_info_mask = {
5699                 .description = "tun_id",
5700                 .field_bit_size = 24,
5701                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5702                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5703                 },
5704         .field_info_spec = {
5705                 .description = "tun_id",
5706                 .field_bit_size = 24,
5707                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5708                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5709                 }
5710         },
5711         {
5712         .field_info_mask = {
5713                 .description = "l2_cntxt_id",
5714                 .field_bit_size = 10,
5715                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5716                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5717                 .field_opr1 = {
5718                         0xff,
5719                         0xff}
5720                 },
5721         .field_info_spec = {
5722                 .description = "l2_cntxt_id",
5723                 .field_bit_size = 10,
5724                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5725                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5726                 .field_opr1 = {
5727                 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
5728                 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
5729                 }
5730         },
5731         {
5732         .field_info_mask = {
5733                 .description = "em_profile_id",
5734                 .field_bit_size = 8,
5735                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5736                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5737                 .field_opr1 = {
5738                         0xff}
5739                 },
5740         .field_info_spec = {
5741                 .description = "em_profile_id",
5742                 .field_bit_size = 8,
5743                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5744                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5745                 .field_opr1 = {
5746                 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
5747                 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
5748                 }
5749         },
5750         /* class_tid: 1, , table: eem.vxlan */
5751         {
5752         .field_info_mask = {
5753                 .description = "spare",
5754                 .field_bit_size = 251,
5755                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5756                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5757                 },
5758         .field_info_spec = {
5759                 .description = "spare",
5760                 .field_bit_size = 251,
5761                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5762                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5763                 }
5764         },
5765         {
5766         .field_info_mask = {
5767                 .description = "local_cos",
5768                 .field_bit_size = 3,
5769                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5770                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5771                 },
5772         .field_info_spec = {
5773                 .description = "local_cos",
5774                 .field_bit_size = 3,
5775                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5776                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5777                 }
5778         },
5779         {
5780         .field_info_mask = {
5781                 .description = "tl4.dst",
5782                 .field_bit_size = 16,
5783                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5784                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5785                 .field_opr1 = {
5786                         0xff,
5787                         0xff}
5788                 },
5789         .field_info_spec = {
5790                 .description = "tl4.dst",
5791                 .field_bit_size = 16,
5792                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5793                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5794                 .field_opr1 = {
5795                 (4789 >> 8) & 0xff,
5796                 4789 & 0xff}
5797                 }
5798         },
5799         {
5800         .field_info_mask = {
5801                 .description = "tl4.src",
5802                 .field_bit_size = 16,
5803                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5804                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5805                 },
5806         .field_info_spec = {
5807                 .description = "tl4.src",
5808                 .field_bit_size = 16,
5809                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5810                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5811                 }
5812         },
5813         {
5814         .field_info_mask = {
5815                 .description = "tl3.prot",
5816                 .field_bit_size = 8,
5817                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5818                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5819                 .field_opr1 = {
5820                         0xff}
5821                 },
5822         .field_info_spec = {
5823                 .description = "tl3.prot",
5824                 .field_bit_size = 8,
5825                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5826                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5827                 .field_opr1 = {
5828                 17}
5829                 }
5830         },
5831         {
5832         .field_info_mask = {
5833                 .description = "tl3.dst",
5834                 .field_bit_size = 32,
5835                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5836                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5837                 .field_opr1 = {
5838                 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
5839                 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
5840                 },
5841         .field_info_spec = {
5842                 .description = "tl3.dst",
5843                 .field_bit_size = 32,
5844                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5845                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5846                 .field_opr1 = {
5847                 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
5848                 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
5849                 }
5850         },
5851         {
5852         .field_info_mask = {
5853                 .description = "tl3.src",
5854                 .field_bit_size = 32,
5855                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5856                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5857                 },
5858         .field_info_spec = {
5859                 .description = "tl3.src",
5860                 .field_bit_size = 32,
5861                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5862                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5863                 }
5864         },
5865         {
5866         .field_info_mask = {
5867                 .description = "tl2.src",
5868                 .field_bit_size = 48,
5869                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5870                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5871                 },
5872         .field_info_spec = {
5873                 .description = "tl2.src",
5874                 .field_bit_size = 48,
5875                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5876                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5877                 }
5878         },
5879         {
5880         .field_info_mask = {
5881                 .description = "tun_id",
5882                 .field_bit_size = 24,
5883                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5884                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5885                 },
5886         .field_info_spec = {
5887                 .description = "tun_id",
5888                 .field_bit_size = 24,
5889                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5890                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5891                 }
5892         },
5893         {
5894         .field_info_mask = {
5895                 .description = "l2_cntxt_id",
5896                 .field_bit_size = 10,
5897                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5898                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5899                 .field_opr1 = {
5900                         0xff,
5901                         0xff}
5902                 },
5903         .field_info_spec = {
5904                 .description = "l2_cntxt_id",
5905                 .field_bit_size = 10,
5906                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5907                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5908                 .field_opr1 = {
5909                 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
5910                 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
5911                 }
5912         },
5913         {
5914         .field_info_mask = {
5915                 .description = "em_profile_id",
5916                 .field_bit_size = 8,
5917                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5918                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5919                 .field_opr1 = {
5920                         0xff}
5921                 },
5922         .field_info_spec = {
5923                 .description = "em_profile_id",
5924                 .field_bit_size = 8,
5925                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5926                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5927                 .field_opr1 = {
5928                 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
5929                 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
5930                 }
5931         },
5932         /* class_tid: 2, , table: tunnel_cache.rd */
5933         {
5934         .field_info_mask = {
5935                 .description = "svif",
5936                 .field_bit_size = 8,
5937                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5938                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5939                 .field_opr1 = {
5940                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
5941                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
5942                 },
5943         .field_info_spec = {
5944                 .description = "svif",
5945                 .field_bit_size = 8,
5946                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5947                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5948                 .field_opr1 = {
5949                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
5950                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
5951                 }
5952         },
5953         {
5954         .field_info_mask = {
5955                 .description = "tunnel_id",
5956                 .field_bit_size = 8,
5957                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5958                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5959                 .field_opr1 = {
5960                         0xff}
5961                 },
5962         .field_info_spec = {
5963                 .description = "tunnel_id",
5964                 .field_bit_size = 8,
5965                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5966                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5967                 .field_opr1 = {
5968                 (BNXT_ULP_CF_IDX_TUNNEL_ID >> 8) & 0xff,
5969                 BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff}
5970                 }
5971         },
5972         /* class_tid: 2, , table: l2_cntxt_tcam.1 */
5973         {
5974         .field_info_mask = {
5975                 .description = "l2_ivlan_vid",
5976                 .field_bit_size = 12,
5977                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5978                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5979                 },
5980         .field_info_spec = {
5981                 .description = "l2_ivlan_vid",
5982                 .field_bit_size = 12,
5983                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5984                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5985                 }
5986         },
5987         {
5988         .field_info_mask = {
5989                 .description = "l2_ovlan_vid",
5990                 .field_bit_size = 12,
5991                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5992                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5993                 },
5994         .field_info_spec = {
5995                 .description = "l2_ovlan_vid",
5996                 .field_bit_size = 12,
5997                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5998                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5999                 }
6000         },
6001         {
6002         .field_info_mask = {
6003                 .description = "mac0_addr",
6004                 .field_bit_size = 48,
6005                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6006                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6007                 },
6008         .field_info_spec = {
6009                 .description = "mac0_addr",
6010                 .field_bit_size = 48,
6011                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6012                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6013                 }
6014         },
6015         {
6016         .field_info_mask = {
6017                 .description = "svif",
6018                 .field_bit_size = 8,
6019                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6020                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6021                 },
6022         .field_info_spec = {
6023                 .description = "svif",
6024                 .field_bit_size = 8,
6025                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6026                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6027                 }
6028         },
6029         {
6030         .field_info_mask = {
6031                 .description = "sparif",
6032                 .field_bit_size = 4,
6033                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6034                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6035                 },
6036         .field_info_spec = {
6037                 .description = "sparif",
6038                 .field_bit_size = 4,
6039                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6040                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6041                 }
6042         },
6043         {
6044         .field_info_mask = {
6045                 .description = "tl2_ivlan_vid",
6046                 .field_bit_size = 12,
6047                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6048                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6049                 },
6050         .field_info_spec = {
6051                 .description = "tl2_ivlan_vid",
6052                 .field_bit_size = 12,
6053                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6054                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6055                 }
6056         },
6057         {
6058         .field_info_mask = {
6059                 .description = "tl2_ovlan_vid",
6060                 .field_bit_size = 12,
6061                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6062                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6063                 },
6064         .field_info_spec = {
6065                 .description = "tl2_ovlan_vid",
6066                 .field_bit_size = 12,
6067                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6068                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6069                 }
6070         },
6071         {
6072         .field_info_mask = {
6073                 .description = "mac1_addr",
6074                 .field_bit_size = 48,
6075                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6076                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6077                 },
6078         .field_info_spec = {
6079                 .description = "mac1_addr",
6080                 .field_bit_size = 48,
6081                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6082                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6083                 }
6084         },
6085         {
6086         .field_info_mask = {
6087                 .description = "l2_num_vtags",
6088                 .field_bit_size = 2,
6089                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6090                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6091                 },
6092         .field_info_spec = {
6093                 .description = "l2_num_vtags",
6094                 .field_bit_size = 2,
6095                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6096                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6097                 }
6098         },
6099         {
6100         .field_info_mask = {
6101                 .description = "tl2_num_vtags",
6102                 .field_bit_size = 2,
6103                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6104                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6105                 },
6106         .field_info_spec = {
6107                 .description = "tl2_num_vtags",
6108                 .field_bit_size = 2,
6109                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6110                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6111                 }
6112         },
6113         {
6114         .field_info_mask = {
6115                 .description = "tun_hdr_type",
6116                 .field_bit_size = 4,
6117                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6118                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6119                 },
6120         .field_info_spec = {
6121                 .description = "tun_hdr_type",
6122                 .field_bit_size = 4,
6123                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6124                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6125                 }
6126         },
6127         {
6128         .field_info_mask = {
6129                 .description = "key_type",
6130                 .field_bit_size = 2,
6131                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6132                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6133                 },
6134         .field_info_spec = {
6135                 .description = "key_type",
6136                 .field_bit_size = 2,
6137                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6138                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6139                 }
6140         },
6141         {
6142         .field_info_mask = {
6143                 .description = "valid",
6144                 .field_bit_size = 1,
6145                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6146                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6147                 .field_opr1 = {
6148                 1}
6149                 },
6150         .field_info_spec = {
6151                 .description = "valid",
6152                 .field_bit_size = 1,
6153                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6154                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6155                 .field_opr1 = {
6156                 1}
6157                 }
6158         },
6159         /* class_tid: 2, , table: tunnel_cache.wr */
6160         {
6161         .field_info_mask = {
6162                 .description = "svif",
6163                 .field_bit_size = 8,
6164                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6165                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6166                 .field_opr1 = {
6167                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
6168                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
6169                 },
6170         .field_info_spec = {
6171                 .description = "svif",
6172                 .field_bit_size = 8,
6173                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6174                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6175                 .field_opr1 = {
6176                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
6177                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
6178                 }
6179         },
6180         {
6181         .field_info_mask = {
6182                 .description = "tunnel_id",
6183                 .field_bit_size = 8,
6184                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6185                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6186                 .field_opr1 = {
6187                         0xff}
6188                 },
6189         .field_info_spec = {
6190                 .description = "tunnel_id",
6191                 .field_bit_size = 8,
6192                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6193                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
6194                 .field_opr1 = {
6195                 (BNXT_ULP_CF_IDX_TUNNEL_ID >> 8) & 0xff,
6196                 BNXT_ULP_CF_IDX_TUNNEL_ID & 0xff}
6197                 }
6198         },
6199         /* class_tid: 2, , table: mac_addr_cache.rd */
6200         {
6201         .field_info_mask = {
6202                 .description = "svif",
6203                 .field_bit_size = 8,
6204                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6205                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6206                 .field_opr1 = {
6207                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
6208                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
6209                 },
6210         .field_info_spec = {
6211                 .description = "svif",
6212                 .field_bit_size = 8,
6213                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6214                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6215                 .field_opr1 = {
6216                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
6217                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
6218                 }
6219         },
6220         {
6221         .field_info_mask = {
6222                 .description = "tun_hdr",
6223                 .field_bit_size = 4,
6224                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6225                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6226                 .field_opr1 = {
6227                         0xff}
6228                 },
6229         .field_info_spec = {
6230                 .description = "tun_hdr",
6231                 .field_bit_size = 4,
6232                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6233                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6234                 }
6235         },
6236         {
6237         .field_info_mask = {
6238                 .description = "one_tag",
6239                 .field_bit_size = 1,
6240                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6241                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6242                 },
6243         .field_info_spec = {
6244                 .description = "one_tag",
6245                 .field_bit_size = 1,
6246                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6247                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6248                 }
6249         },
6250         {
6251         .field_info_mask = {
6252                 .description = "vid",
6253                 .field_bit_size = 12,
6254                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6255                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6256                 },
6257         .field_info_spec = {
6258                 .description = "vid",
6259                 .field_bit_size = 12,
6260                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6261                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6262                 }
6263         },
6264         {
6265         .field_info_mask = {
6266                 .description = "mac_addr",
6267                 .field_bit_size = 48,
6268                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6269                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6270                 .field_opr1 = {
6271                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
6272                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
6273                 },
6274         .field_info_spec = {
6275                 .description = "mac_addr",
6276                 .field_bit_size = 48,
6277                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6278                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6279                 .field_opr1 = {
6280                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
6281                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
6282                 }
6283         },
6284         /* class_tid: 2, , table: l2_cntxt_tcam.0 */
6285         {
6286         .field_info_mask = {
6287                 .description = "l2_ivlan_vid",
6288                 .field_bit_size = 12,
6289                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6290                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6291                 },
6292         .field_info_spec = {
6293                 .description = "l2_ivlan_vid",
6294                 .field_bit_size = 12,
6295                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6296                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6297                 }
6298         },
6299         {
6300         .field_info_mask = {
6301                 .description = "l2_ovlan_vid",
6302                 .field_bit_size = 12,
6303                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6304                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6305                 },
6306         .field_info_spec = {
6307                 .description = "l2_ovlan_vid",
6308                 .field_bit_size = 12,
6309                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6310                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6311                 }
6312         },
6313         {
6314         .field_info_mask = {
6315                 .description = "mac0_addr",
6316                 .field_bit_size = 48,
6317                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6318                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6319                 .field_opr1 = {
6320                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
6321                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
6322                 },
6323         .field_info_spec = {
6324                 .description = "mac0_addr",
6325                 .field_bit_size = 48,
6326                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6327                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6328                 .field_opr1 = {
6329                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
6330                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
6331                 }
6332         },
6333         {
6334         .field_info_mask = {
6335                 .description = "svif",
6336                 .field_bit_size = 8,
6337                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6338                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6339                 .field_opr1 = {
6340                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
6341                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
6342                 },
6343         .field_info_spec = {
6344                 .description = "svif",
6345                 .field_bit_size = 8,
6346                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6347                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6348                 .field_opr1 = {
6349                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
6350                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
6351                 }
6352         },
6353         {
6354         .field_info_mask = {
6355                 .description = "sparif",
6356                 .field_bit_size = 4,
6357                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6358                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6359                 },
6360         .field_info_spec = {
6361                 .description = "sparif",
6362                 .field_bit_size = 4,
6363                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6364                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6365                 }
6366         },
6367         {
6368         .field_info_mask = {
6369                 .description = "tl2_ivlan_vid",
6370                 .field_bit_size = 12,
6371                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6372                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6373                 },
6374         .field_info_spec = {
6375                 .description = "tl2_ivlan_vid",
6376                 .field_bit_size = 12,
6377                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6378                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6379                 }
6380         },
6381         {
6382         .field_info_mask = {
6383                 .description = "tl2_ovlan_vid",
6384                 .field_bit_size = 12,
6385                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6386                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6387                 },
6388         .field_info_spec = {
6389                 .description = "tl2_ovlan_vid",
6390                 .field_bit_size = 12,
6391                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6392                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6393                 }
6394         },
6395         {
6396         .field_info_mask = {
6397                 .description = "mac1_addr",
6398                 .field_bit_size = 48,
6399                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6400                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6401                 },
6402         .field_info_spec = {
6403                 .description = "mac1_addr",
6404                 .field_bit_size = 48,
6405                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6406                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6407                 }
6408         },
6409         {
6410         .field_info_mask = {
6411                 .description = "l2_num_vtags",
6412                 .field_bit_size = 2,
6413                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6414                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6415                 },
6416         .field_info_spec = {
6417                 .description = "l2_num_vtags",
6418                 .field_bit_size = 2,
6419                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6420                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6421                 }
6422         },
6423         {
6424         .field_info_mask = {
6425                 .description = "tl2_num_vtags",
6426                 .field_bit_size = 2,
6427                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6428                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6429                 },
6430         .field_info_spec = {
6431                 .description = "tl2_num_vtags",
6432                 .field_bit_size = 2,
6433                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6434                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6435                 }
6436         },
6437         {
6438         .field_info_mask = {
6439                 .description = "tun_hdr_type",
6440                 .field_bit_size = 4,
6441                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6442                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6443                 .field_opr1 = {
6444                         0xff}
6445                 },
6446         .field_info_spec = {
6447                 .description = "tun_hdr_type",
6448                 .field_bit_size = 4,
6449                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6450                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6451                 }
6452         },
6453         {
6454         .field_info_mask = {
6455                 .description = "key_type",
6456                 .field_bit_size = 2,
6457                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6458                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6459                 },
6460         .field_info_spec = {
6461                 .description = "key_type",
6462                 .field_bit_size = 2,
6463                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6464                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6465                 }
6466         },
6467         {
6468         .field_info_mask = {
6469                 .description = "valid",
6470                 .field_bit_size = 1,
6471                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6472                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6473                 .field_opr1 = {
6474                 1}
6475                 },
6476         .field_info_spec = {
6477                 .description = "valid",
6478                 .field_bit_size = 1,
6479                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6480                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6481                 .field_opr1 = {
6482                 1}
6483                 }
6484         },
6485         /* class_tid: 2, , table: mac_addr_cache.wr */
6486         {
6487         .field_info_mask = {
6488                 .description = "svif",
6489                 .field_bit_size = 8,
6490                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6491                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6492                 .field_opr1 = {
6493                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
6494                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
6495                 },
6496         .field_info_spec = {
6497                 .description = "svif",
6498                 .field_bit_size = 8,
6499                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6500                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6501                 .field_opr1 = {
6502                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
6503                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
6504                 }
6505         },
6506         {
6507         .field_info_mask = {
6508                 .description = "tun_hdr",
6509                 .field_bit_size = 4,
6510                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6511                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6512                 .field_opr1 = {
6513                         0xff}
6514                 },
6515         .field_info_spec = {
6516                 .description = "tun_hdr",
6517                 .field_bit_size = 4,
6518                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6519                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6520                 }
6521         },
6522         {
6523         .field_info_mask = {
6524                 .description = "one_tag",
6525                 .field_bit_size = 1,
6526                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6527                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6528                 },
6529         .field_info_spec = {
6530                 .description = "one_tag",
6531                 .field_bit_size = 1,
6532                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6533                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6534                 }
6535         },
6536         {
6537         .field_info_mask = {
6538                 .description = "vid",
6539                 .field_bit_size = 12,
6540                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6541                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6542                 },
6543         .field_info_spec = {
6544                 .description = "vid",
6545                 .field_bit_size = 12,
6546                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6547                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6548                 }
6549         },
6550         {
6551         .field_info_mask = {
6552                 .description = "mac_addr",
6553                 .field_bit_size = 48,
6554                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6555                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6556                 .field_opr1 = {
6557                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
6558                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
6559                 },
6560         .field_info_spec = {
6561                 .description = "mac_addr",
6562                 .field_bit_size = 48,
6563                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6564                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6565                 .field_opr1 = {
6566                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
6567                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
6568                 }
6569         },
6570         /* class_tid: 2, , table: profile_tcam_cache.f2_rd */
6571         {
6572         .field_info_mask = {
6573                 .description = "recycle_cnt",
6574                 .field_bit_size = 2,
6575                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6576                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6577                 .field_opr1 = {
6578                         0xff}
6579                 },
6580         .field_info_spec = {
6581                 .description = "recycle_cnt",
6582                 .field_bit_size = 2,
6583                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6584                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6585                 }
6586         },
6587         {
6588         .field_info_mask = {
6589                 .description = "prof_func_id",
6590                 .field_bit_size = 7,
6591                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6592                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6593                 .field_opr1 = {
6594                         0xff}
6595                 },
6596         .field_info_spec = {
6597                 .description = "prof_func_id",
6598                 .field_bit_size = 7,
6599                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6600                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
6601                 .field_opr1 = {
6602                 (BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
6603                 BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID & 0xff}
6604                 }
6605         },
6606         {
6607         .field_info_mask = {
6608                 .description = "hdr_sig_id",
6609                 .field_bit_size = 5,
6610                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6611                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6612                 .field_opr1 = {
6613                         0xff}
6614                 },
6615         .field_info_spec = {
6616                 .description = "hdr_sig_id",
6617                 .field_bit_size = 5,
6618                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6619                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
6620                 .field_opr1 = {
6621                 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
6622                 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
6623                 }
6624         },
6625         /* class_tid: 2, , table: profile_tcam.f2 */
6626         {
6627         .field_info_mask = {
6628                 .description = "l4_hdr_is_udp_tcp",
6629                 .field_bit_size = 1,
6630                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6631                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6632                 },
6633         .field_info_spec = {
6634                 .description = "l4_hdr_is_udp_tcp",
6635                 .field_bit_size = 1,
6636                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6637                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6638                 }
6639         },
6640         {
6641         .field_info_mask = {
6642                 .description = "l4_hdr_type",
6643                 .field_bit_size = 4,
6644                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6645                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6646                 },
6647         .field_info_spec = {
6648                 .description = "l4_hdr_type",
6649                 .field_bit_size = 4,
6650                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6651                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6652                 }
6653         },
6654         {
6655         .field_info_mask = {
6656                 .description = "l4_hdr_error",
6657                 .field_bit_size = 1,
6658                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6659                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6660                 },
6661         .field_info_spec = {
6662                 .description = "l4_hdr_error",
6663                 .field_bit_size = 1,
6664                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6665                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6666                 }
6667         },
6668         {
6669         .field_info_mask = {
6670                 .description = "l4_hdr_valid",
6671                 .field_bit_size = 1,
6672                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6673                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6674                 },
6675         .field_info_spec = {
6676                 .description = "l4_hdr_valid",
6677                 .field_bit_size = 1,
6678                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6679                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6680                 }
6681         },
6682         {
6683         .field_info_mask = {
6684                 .description = "l3_ipv6_cmp_dst",
6685                 .field_bit_size = 1,
6686                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6687                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6688                 },
6689         .field_info_spec = {
6690                 .description = "l3_ipv6_cmp_dst",
6691                 .field_bit_size = 1,
6692                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6693                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6694                 }
6695         },
6696         {
6697         .field_info_mask = {
6698                 .description = "l3_ipv6_cmp_src",
6699                 .field_bit_size = 1,
6700                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6701                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6702                 },
6703         .field_info_spec = {
6704                 .description = "l3_ipv6_cmp_src",
6705                 .field_bit_size = 1,
6706                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6707                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6708                 }
6709         },
6710         {
6711         .field_info_mask = {
6712                 .description = "l3_hdr_isIP",
6713                 .field_bit_size = 1,
6714                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6715                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6716                 },
6717         .field_info_spec = {
6718                 .description = "l3_hdr_isIP",
6719                 .field_bit_size = 1,
6720                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6721                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6722                 }
6723         },
6724         {
6725         .field_info_mask = {
6726                 .description = "l3_hdr_type",
6727                 .field_bit_size = 4,
6728                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6729                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6730                 .field_opr1 = {
6731                         0xff}
6732                 },
6733         .field_info_spec = {
6734                 .description = "l3_hdr_type",
6735                 .field_bit_size = 4,
6736                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
6737                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
6738                 .field_opr1 = {
6739                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
6740                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
6741                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
6742                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
6743                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
6744                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
6745                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
6746                 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
6747                 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
6748                 .field_opr2 = {
6749                         ULP_WP_SYM_L3_HDR_TYPE_IPV4},
6750                 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
6751                 .field_opr3 = {
6752                 ULP_WP_SYM_L3_HDR_TYPE_IPV6}
6753                 }
6754         },
6755         {
6756         .field_info_mask = {
6757                 .description = "l3_hdr_error",
6758                 .field_bit_size = 1,
6759                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6760                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6761                 },
6762         .field_info_spec = {
6763                 .description = "l3_hdr_error",
6764                 .field_bit_size = 1,
6765                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6766                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6767                 }
6768         },
6769         {
6770         .field_info_mask = {
6771                 .description = "l3_hdr_valid",
6772                 .field_bit_size = 1,
6773                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6774                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6775                 .field_opr1 = {
6776                         0xff}
6777                 },
6778         .field_info_spec = {
6779                 .description = "l3_hdr_valid",
6780                 .field_bit_size = 1,
6781                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6782                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6783                 .field_opr1 = {
6784                 ULP_WP_SYM_L3_HDR_VALID_YES}
6785                 }
6786         },
6787         {
6788         .field_info_mask = {
6789                 .description = "l2_two_vtags",
6790                 .field_bit_size = 1,
6791                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6792                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6793                 },
6794         .field_info_spec = {
6795                 .description = "l2_two_vtags",
6796                 .field_bit_size = 1,
6797                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6798                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6799                 }
6800         },
6801         {
6802         .field_info_mask = {
6803                 .description = "l2_vtag_present",
6804                 .field_bit_size = 1,
6805                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6806                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6807                 },
6808         .field_info_spec = {
6809                 .description = "l2_vtag_present",
6810                 .field_bit_size = 1,
6811                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6812                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6813                 }
6814         },
6815         {
6816         .field_info_mask = {
6817                 .description = "l2_uc_mc_bc",
6818                 .field_bit_size = 2,
6819                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6820                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6821                 },
6822         .field_info_spec = {
6823                 .description = "l2_uc_mc_bc",
6824                 .field_bit_size = 2,
6825                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6826                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6827                 }
6828         },
6829         {
6830         .field_info_mask = {
6831                 .description = "l2_hdr_type",
6832                 .field_bit_size = 2,
6833                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6834                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6835                 },
6836         .field_info_spec = {
6837                 .description = "l2_hdr_type",
6838                 .field_bit_size = 2,
6839                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6840                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6841                 }
6842         },
6843         {
6844         .field_info_mask = {
6845                 .description = "l2_hdr_error",
6846                 .field_bit_size = 1,
6847                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6848                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6849                 },
6850         .field_info_spec = {
6851                 .description = "l2_hdr_error",
6852                 .field_bit_size = 1,
6853                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6854                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6855                 }
6856         },
6857         {
6858         .field_info_mask = {
6859                 .description = "l2_hdr_valid",
6860                 .field_bit_size = 1,
6861                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6862                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6863                 },
6864         .field_info_spec = {
6865                 .description = "l2_hdr_valid",
6866                 .field_bit_size = 1,
6867                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6868                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6869                 }
6870         },
6871         {
6872         .field_info_mask = {
6873                 .description = "tun_hdr_flags",
6874                 .field_bit_size = 3,
6875                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6876                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6877                 },
6878         .field_info_spec = {
6879                 .description = "tun_hdr_flags",
6880                 .field_bit_size = 3,
6881                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6882                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6883                 }
6884         },
6885         {
6886         .field_info_mask = {
6887                 .description = "tun_hdr_type",
6888                 .field_bit_size = 4,
6889                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6890                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6891                 .field_opr1 = {
6892                         0xff}
6893                 },
6894         .field_info_spec = {
6895                 .description = "tun_hdr_type",
6896                 .field_bit_size = 4,
6897                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6898                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6899                 }
6900         },
6901         {
6902         .field_info_mask = {
6903                 .description = "tun_hdr_err",
6904                 .field_bit_size = 1,
6905                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6906                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6907                 .field_opr1 = {
6908                         0xff}
6909                 },
6910         .field_info_spec = {
6911                 .description = "tun_hdr_err",
6912                 .field_bit_size = 1,
6913                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6914                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6915                 }
6916         },
6917         {
6918         .field_info_mask = {
6919                 .description = "tun_hdr_valid",
6920                 .field_bit_size = 1,
6921                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6922                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6923                 .field_opr1 = {
6924                         0xff}
6925                 },
6926         .field_info_spec = {
6927                 .description = "tun_hdr_valid",
6928                 .field_bit_size = 1,
6929                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6930                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6931                 .field_opr1 = {
6932                 ULP_WP_SYM_TUN_HDR_VALID_YES}
6933                 }
6934         },
6935         {
6936         .field_info_mask = {
6937                 .description = "tl4_hdr_is_udp_tcp",
6938                 .field_bit_size = 1,
6939                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6940                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6941                 },
6942         .field_info_spec = {
6943                 .description = "tl4_hdr_is_udp_tcp",
6944                 .field_bit_size = 1,
6945                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6946                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6947                 }
6948         },
6949         {
6950         .field_info_mask = {
6951                 .description = "tl4_hdr_type",
6952                 .field_bit_size = 4,
6953                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6954                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6955                 .field_opr1 = {
6956                         0xff}
6957                 },
6958         .field_info_spec = {
6959                 .description = "tl4_hdr_type",
6960                 .field_bit_size = 4,
6961                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6962                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6963                 .field_opr1 = {
6964                 ULP_WP_SYM_TL4_HDR_TYPE_UDP}
6965                 }
6966         },
6967         {
6968         .field_info_mask = {
6969                 .description = "tl4_hdr_error",
6970                 .field_bit_size = 1,
6971                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6972                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6973                 .field_opr1 = {
6974                         0xff}
6975                 },
6976         .field_info_spec = {
6977                 .description = "tl4_hdr_error",
6978                 .field_bit_size = 1,
6979                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6980                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6981                 }
6982         },
6983         {
6984         .field_info_mask = {
6985                 .description = "tl4_hdr_valid",
6986                 .field_bit_size = 1,
6987                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6988                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6989                 .field_opr1 = {
6990                         0xff}
6991                 },
6992         .field_info_spec = {
6993                 .description = "tl4_hdr_valid",
6994                 .field_bit_size = 1,
6995                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6996                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6997                 .field_opr1 = {
6998                 ULP_WP_SYM_TL4_HDR_VALID_YES}
6999                 }
7000         },
7001         {
7002         .field_info_mask = {
7003                 .description = "tl3_ipv6_cmp_dst",
7004                 .field_bit_size = 1,
7005                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7006                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7007                 },
7008         .field_info_spec = {
7009                 .description = "tl3_ipv6_cmp_dst",
7010                 .field_bit_size = 1,
7011                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7012                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7013                 }
7014         },
7015         {
7016         .field_info_mask = {
7017                 .description = "tl3_ipv6_cmp_src",
7018                 .field_bit_size = 1,
7019                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7020                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7021                 },
7022         .field_info_spec = {
7023                 .description = "tl3_ipv6_cmp_src",
7024                 .field_bit_size = 1,
7025                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7026                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7027                 }
7028         },
7029         {
7030         .field_info_mask = {
7031                 .description = "tl3_hdr_isIP",
7032                 .field_bit_size = 1,
7033                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7034                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7035                 },
7036         .field_info_spec = {
7037                 .description = "tl3_hdr_isIP",
7038                 .field_bit_size = 1,
7039                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7040                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7041                 }
7042         },
7043         {
7044         .field_info_mask = {
7045                 .description = "tl3_hdr_type",
7046                 .field_bit_size = 4,
7047                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7048                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7049                 .field_opr1 = {
7050                         0xff}
7051                 },
7052         .field_info_spec = {
7053                 .description = "tl3_hdr_type",
7054                 .field_bit_size = 4,
7055                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7056                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7057                 }
7058         },
7059         {
7060         .field_info_mask = {
7061                 .description = "tl3_hdr_error",
7062                 .field_bit_size = 1,
7063                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7064                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7065                 .field_opr1 = {
7066                         0xff}
7067                 },
7068         .field_info_spec = {
7069                 .description = "tl3_hdr_error",
7070                 .field_bit_size = 1,
7071                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7072                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7073                 }
7074         },
7075         {
7076         .field_info_mask = {
7077                 .description = "tl3_hdr_valid",
7078                 .field_bit_size = 1,
7079                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7080                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7081                 .field_opr1 = {
7082                         0xff}
7083                 },
7084         .field_info_spec = {
7085                 .description = "tl3_hdr_valid",
7086                 .field_bit_size = 1,
7087                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7088                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
7089                 .field_opr1 = {
7090                 ULP_WP_SYM_TL3_HDR_VALID_YES}
7091                 }
7092         },
7093         {
7094         .field_info_mask = {
7095                 .description = "tl2_two_vtags",
7096                 .field_bit_size = 1,
7097                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7098                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7099                 },
7100         .field_info_spec = {
7101                 .description = "tl2_two_vtags",
7102                 .field_bit_size = 1,
7103                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7104                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7105                 }
7106         },
7107         {
7108         .field_info_mask = {
7109                 .description = "tl2_vtag_present",
7110                 .field_bit_size = 1,
7111                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7112                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7113                 },
7114         .field_info_spec = {
7115                 .description = "tl2_vtag_present",
7116                 .field_bit_size = 1,
7117                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7118                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7119                 }
7120         },
7121         {
7122         .field_info_mask = {
7123                 .description = "tl2_uc_mc_bc",
7124                 .field_bit_size = 2,
7125                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7126                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7127                 .field_opr1 = {
7128                         0xff}
7129                 },
7130         .field_info_spec = {
7131                 .description = "tl2_uc_mc_bc",
7132                 .field_bit_size = 2,
7133                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7134                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7135                 }
7136         },
7137         {
7138         .field_info_mask = {
7139                 .description = "tl2_hdr_type",
7140                 .field_bit_size = 2,
7141                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7142                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7143                 },
7144         .field_info_spec = {
7145                 .description = "tl2_hdr_type",
7146                 .field_bit_size = 2,
7147                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7148                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7149                 }
7150         },
7151         {
7152         .field_info_mask = {
7153                 .description = "tl2_hdr_valid",
7154                 .field_bit_size = 1,
7155                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7156                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7157                 .field_opr1 = {
7158                         0xff}
7159                 },
7160         .field_info_spec = {
7161                 .description = "tl2_hdr_valid",
7162                 .field_bit_size = 1,
7163                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7164                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
7165                 .field_opr1 = {
7166                 ULP_WP_SYM_TL2_HDR_VALID_YES}
7167                 }
7168         },
7169         {
7170         .field_info_mask = {
7171                 .description = "hrec_next",
7172                 .field_bit_size = 1,
7173                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7174                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7175                 },
7176         .field_info_spec = {
7177                 .description = "hrec_next",
7178                 .field_bit_size = 1,
7179                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7180                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7181                 }
7182         },
7183         {
7184         .field_info_mask = {
7185                 .description = "reserved",
7186                 .field_bit_size = 9,
7187                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7188                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7189                 },
7190         .field_info_spec = {
7191                 .description = "reserved",
7192                 .field_bit_size = 9,
7193                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7194                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7195                 }
7196         },
7197         {
7198         .field_info_mask = {
7199                 .description = "prof_func_id",
7200                 .field_bit_size = 7,
7201                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7202                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7203                 .field_opr1 = {
7204                         0xff}
7205                 },
7206         .field_info_spec = {
7207                 .description = "prof_func_id",
7208                 .field_bit_size = 7,
7209                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7210                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
7211                 .field_opr1 = {
7212                 (BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
7213                 BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID & 0xff}
7214                 }
7215         },
7216         {
7217         .field_info_mask = {
7218                 .description = "agg_error",
7219                 .field_bit_size = 1,
7220                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7221                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7222                 },
7223         .field_info_spec = {
7224                 .description = "agg_error",
7225                 .field_bit_size = 1,
7226                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7227                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7228                 }
7229         },
7230         {
7231         .field_info_mask = {
7232                 .description = "recycle_cnt",
7233                 .field_bit_size = 2,
7234                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7235                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7236                 },
7237         .field_info_spec = {
7238                 .description = "recycle_cnt",
7239                 .field_bit_size = 2,
7240                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7241                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7242                 }
7243         },
7244         {
7245         .field_info_mask = {
7246                 .description = "pkt_type_0",
7247                 .field_bit_size = 2,
7248                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7249                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7250                 },
7251         .field_info_spec = {
7252                 .description = "pkt_type_0",
7253                 .field_bit_size = 2,
7254                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7255                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7256                 }
7257         },
7258         {
7259         .field_info_mask = {
7260                 .description = "pkt_type_1",
7261                 .field_bit_size = 2,
7262                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7263                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7264                 },
7265         .field_info_spec = {
7266                 .description = "pkt_type_1",
7267                 .field_bit_size = 2,
7268                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7269                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7270                 }
7271         },
7272         {
7273         .field_info_mask = {
7274                 .description = "valid",
7275                 .field_bit_size = 1,
7276                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7277                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
7278                 .field_opr1 = {
7279                 1}
7280                 },
7281         .field_info_spec = {
7282                 .description = "valid",
7283                 .field_bit_size = 1,
7284                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7285                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
7286                 .field_opr1 = {
7287                 1}
7288                 }
7289         },
7290         /* class_tid: 2, , table: profile_tcam_cache.f2_wr */
7291         {
7292         .field_info_mask = {
7293                 .description = "recycle_cnt",
7294                 .field_bit_size = 2,
7295                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7296                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7297                 .field_opr1 = {
7298                         0xff}
7299                 },
7300         .field_info_spec = {
7301                 .description = "recycle_cnt",
7302                 .field_bit_size = 2,
7303                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7304                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7305                 }
7306         },
7307         {
7308         .field_info_mask = {
7309                 .description = "prof_func_id",
7310                 .field_bit_size = 7,
7311                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7312                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7313                 .field_opr1 = {
7314                         0xff}
7315                 },
7316         .field_info_spec = {
7317                 .description = "prof_func_id",
7318                 .field_bit_size = 7,
7319                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7320                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
7321                 .field_opr1 = {
7322                 (BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
7323                 BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID & 0xff}
7324                 }
7325         },
7326         {
7327         .field_info_mask = {
7328                 .description = "hdr_sig_id",
7329                 .field_bit_size = 5,
7330                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7331                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7332                 .field_opr1 = {
7333                         0xff}
7334                 },
7335         .field_info_spec = {
7336                 .description = "hdr_sig_id",
7337                 .field_bit_size = 5,
7338                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7339                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
7340                 .field_opr1 = {
7341                 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
7342                 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
7343                 }
7344         },
7345         /* class_tid: 2, , table: em.tun */
7346         {
7347         .field_info_mask = {
7348                 .description = "spare",
7349                 .field_bit_size = 3,
7350                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7351                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7352                 },
7353         .field_info_spec = {
7354                 .description = "spare",
7355                 .field_bit_size = 3,
7356                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7357                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7358                 }
7359         },
7360         {
7361         .field_info_mask = {
7362                 .description = "l2.ivlan_vid",
7363                 .field_bit_size = 12,
7364                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7365                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7366                 },
7367         .field_info_spec = {
7368                 .description = "l2.ivlan_vid",
7369                 .field_bit_size = 12,
7370                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7371                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7372                 }
7373         },
7374         {
7375         .field_info_mask = {
7376                 .description = "l2.dmac",
7377                 .field_bit_size = 48,
7378                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7379                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7380                 .field_opr1 = {
7381                 (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
7382                 BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}
7383                 },
7384         .field_info_spec = {
7385                 .description = "l2.dmac",
7386                 .field_bit_size = 48,
7387                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7388                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7389                 .field_opr1 = {
7390                 (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
7391                 BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}
7392                 }
7393         },
7394         {
7395         .field_info_mask = {
7396                 .description = "tun_id",
7397                 .field_bit_size = 24,
7398                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7399                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7400                 .field_opr1 = {
7401                 (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
7402                 BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}
7403                 },
7404         .field_info_spec = {
7405                 .description = "tun_id",
7406                 .field_bit_size = 24,
7407                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7408                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7409                 .field_opr1 = {
7410                 (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
7411                 BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}
7412                 }
7413         },
7414         {
7415         .field_info_mask = {
7416                 .description = "tun_flags",
7417                 .field_bit_size = 3,
7418                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7419                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7420                 },
7421         .field_info_spec = {
7422                 .description = "tun_flags",
7423                 .field_bit_size = 3,
7424                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7425                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7426                 }
7427         },
7428         {
7429         .field_info_mask = {
7430                 .description = "tun_type",
7431                 .field_bit_size = 4,
7432                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7433                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7434                 .field_opr1 = {
7435                         0xff}
7436                 },
7437         .field_info_spec = {
7438                 .description = "tun_type",
7439                 .field_bit_size = 4,
7440                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7441                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7442                 }
7443         },
7444         {
7445         .field_info_mask = {
7446                 .description = "l2_cntxt_id",
7447                 .field_bit_size = 10,
7448                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7449                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7450                 .field_opr1 = {
7451                         0xff,
7452                         0xff}
7453                 },
7454         .field_info_spec = {
7455                 .description = "l2_cntxt_id",
7456                 .field_bit_size = 10,
7457                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7458                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
7459                 .field_opr1 = {
7460                 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
7461                 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
7462                 }
7463         },
7464         {
7465         .field_info_mask = {
7466                 .description = "em_profile_id",
7467                 .field_bit_size = 8,
7468                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7469                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7470                 .field_opr1 = {
7471                         0xff}
7472                 },
7473         .field_info_spec = {
7474                 .description = "em_profile_id",
7475                 .field_bit_size = 8,
7476                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7477                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
7478                 .field_opr1 = {
7479                 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
7480                 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
7481                 }
7482         },
7483         /* class_tid: 2, , table: eem.tun */
7484         {
7485         .field_info_mask = {
7486                 .description = "spare",
7487                 .field_bit_size = 339,
7488                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7489                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7490                 },
7491         .field_info_spec = {
7492                 .description = "spare",
7493                 .field_bit_size = 339,
7494                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7495                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7496                 }
7497         },
7498         {
7499         .field_info_mask = {
7500                 .description = "l2.ivlan_vid",
7501                 .field_bit_size = 12,
7502                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7503                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7504                 },
7505         .field_info_spec = {
7506                 .description = "l2.ivlan_vid",
7507                 .field_bit_size = 12,
7508                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7509                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7510                 }
7511         },
7512         {
7513         .field_info_mask = {
7514                 .description = "l2.dmac",
7515                 .field_bit_size = 48,
7516                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7517                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7518                 .field_opr1 = {
7519                 (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
7520                 BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}
7521                 },
7522         .field_info_spec = {
7523                 .description = "l2.dmac",
7524                 .field_bit_size = 48,
7525                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7526                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7527                 .field_opr1 = {
7528                 (BNXT_ULP_GLB_HF_ID_I_ETH_DMAC >> 8) & 0xff,
7529                 BNXT_ULP_GLB_HF_ID_I_ETH_DMAC & 0xff}
7530                 }
7531         },
7532         {
7533         .field_info_mask = {
7534                 .description = "tun_id",
7535                 .field_bit_size = 24,
7536                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7537                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7538                 .field_opr1 = {
7539                 (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
7540                 BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}
7541                 },
7542         .field_info_spec = {
7543                 .description = "tun_id",
7544                 .field_bit_size = 24,
7545                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7546                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7547                 .field_opr1 = {
7548                 (BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI >> 8) & 0xff,
7549                 BNXT_ULP_GLB_HF_ID_T_VXLAN_VNI & 0xff}
7550                 }
7551         },
7552         {
7553         .field_info_mask = {
7554                 .description = "tun_flags",
7555                 .field_bit_size = 3,
7556                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7557                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7558                 },
7559         .field_info_spec = {
7560                 .description = "tun_flags",
7561                 .field_bit_size = 3,
7562                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7563                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7564                 }
7565         },
7566         {
7567         .field_info_mask = {
7568                 .description = "tun_type",
7569                 .field_bit_size = 4,
7570                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7571                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7572                 .field_opr1 = {
7573                         0xff}
7574                 },
7575         .field_info_spec = {
7576                 .description = "tun_type",
7577                 .field_bit_size = 4,
7578                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7579                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7580                 }
7581         },
7582         {
7583         .field_info_mask = {
7584                 .description = "l2_cntxt_id",
7585                 .field_bit_size = 10,
7586                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7587                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7588                 .field_opr1 = {
7589                         0xff,
7590                         0xff}
7591                 },
7592         .field_info_spec = {
7593                 .description = "l2_cntxt_id",
7594                 .field_bit_size = 10,
7595                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7596                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
7597                 .field_opr1 = {
7598                 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
7599                 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
7600                 }
7601         },
7602         {
7603         .field_info_mask = {
7604                 .description = "em_profile_id",
7605                 .field_bit_size = 8,
7606                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7607                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7608                 .field_opr1 = {
7609                         0xff}
7610                 },
7611         .field_info_spec = {
7612                 .description = "em_profile_id",
7613                 .field_bit_size = 8,
7614                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7615                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
7616                 .field_opr1 = {
7617                 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
7618                 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
7619                 }
7620         },
7621         /* class_tid: 3, , table: l2_cntxt_tcam_cache.rd */
7622         {
7623         .field_info_mask = {
7624                 .description = "svif",
7625                 .field_bit_size = 8,
7626                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7627                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7628                 .field_opr1 = {
7629                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
7630                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
7631                 },
7632         .field_info_spec = {
7633                 .description = "svif",
7634                 .field_bit_size = 8,
7635                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7636                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7637                 .field_opr1 = {
7638                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
7639                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
7640                 }
7641         },
7642         /* class_tid: 3, , table: mac_addr_cache.rd */
7643         {
7644         .field_info_mask = {
7645                 .description = "svif",
7646                 .field_bit_size = 8,
7647                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7648                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7649                 .field_opr1 = {
7650                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
7651                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
7652                 },
7653         .field_info_spec = {
7654                 .description = "svif",
7655                 .field_bit_size = 8,
7656                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7657                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7658                 .field_opr1 = {
7659                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
7660                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
7661                 }
7662         },
7663         {
7664         .field_info_mask = {
7665                 .description = "tun_hdr",
7666                 .field_bit_size = 4,
7667                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7668                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
7669                 .field_opr1 = {
7670                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
7671                 },
7672         .field_info_spec = {
7673                 .description = "tun_hdr",
7674                 .field_bit_size = 4,
7675                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7676                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
7677                 .field_opr1 = {
7678                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
7679                 }
7680         },
7681         {
7682         .field_info_mask = {
7683                 .description = "one_tag",
7684                 .field_bit_size = 1,
7685                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7686                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7687                 .field_opr1 = {
7688                         0xff}
7689                 },
7690         .field_info_spec = {
7691                 .description = "one_tag",
7692                 .field_bit_size = 1,
7693                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7694                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
7695                 .field_opr1 = {
7696                 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
7697                 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
7698                 }
7699         },
7700         {
7701         .field_info_mask = {
7702                 .description = "vid",
7703                 .field_bit_size = 12,
7704                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
7705                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
7706                 .field_opr1 = {
7707                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
7708                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
7709                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
7710                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
7711                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
7712                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
7713                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
7714                 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
7715                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
7716                 .field_opr2 = {
7717                         (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
7718                         BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
7719                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
7720                 },
7721         .field_info_spec = {
7722                 .description = "vid",
7723                 .field_bit_size = 12,
7724                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
7725                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
7726                 .field_opr1 = {
7727                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
7728                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
7729                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
7730                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
7731                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
7732                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
7733                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
7734                 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
7735                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
7736                 .field_opr2 = {
7737                         (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
7738                         BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
7739                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
7740                 }
7741         },
7742         {
7743         .field_info_mask = {
7744                 .description = "mac_addr",
7745                 .field_bit_size = 48,
7746                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7747                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7748                 .field_opr1 = {
7749                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
7750                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
7751                 },
7752         .field_info_spec = {
7753                 .description = "mac_addr",
7754                 .field_bit_size = 48,
7755                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7756                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7757                 .field_opr1 = {
7758                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
7759                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
7760                 }
7761         },
7762         /* class_tid: 3, , table: l2_cntxt_tcam.0 */
7763         {
7764         .field_info_mask = {
7765                 .description = "l2_ivlan_vid",
7766                 .field_bit_size = 12,
7767                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
7768                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
7769                 .field_opr1 = {
7770                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
7771                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
7772                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
7773                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
7774                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
7775                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
7776                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
7777                 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
7778                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
7779                 .field_opr2 = {
7780                         (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
7781                         BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
7782                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
7783                 },
7784         .field_info_spec = {
7785                 .description = "l2_ivlan_vid",
7786                 .field_bit_size = 12,
7787                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
7788                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
7789                 .field_opr1 = {
7790                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
7791                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
7792                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
7793                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
7794                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
7795                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
7796                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
7797                 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
7798                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
7799                 .field_opr2 = {
7800                         (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
7801                         BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
7802                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
7803                 }
7804         },
7805         {
7806         .field_info_mask = {
7807                 .description = "l2_ovlan_vid",
7808                 .field_bit_size = 12,
7809                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7810                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7811                 },
7812         .field_info_spec = {
7813                 .description = "l2_ovlan_vid",
7814                 .field_bit_size = 12,
7815                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7816                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7817                 }
7818         },
7819         {
7820         .field_info_mask = {
7821                 .description = "mac0_addr",
7822                 .field_bit_size = 48,
7823                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7824                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7825                 .field_opr1 = {
7826                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
7827                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
7828                 },
7829         .field_info_spec = {
7830                 .description = "mac0_addr",
7831                 .field_bit_size = 48,
7832                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7833                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7834                 .field_opr1 = {
7835                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
7836                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
7837                 }
7838         },
7839         {
7840         .field_info_mask = {
7841                 .description = "svif",
7842                 .field_bit_size = 8,
7843                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7844                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7845                 .field_opr1 = {
7846                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
7847                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
7848                 },
7849         .field_info_spec = {
7850                 .description = "svif",
7851                 .field_bit_size = 8,
7852                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7853                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7854                 .field_opr1 = {
7855                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
7856                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
7857                 }
7858         },
7859         {
7860         .field_info_mask = {
7861                 .description = "sparif",
7862                 .field_bit_size = 4,
7863                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7864                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7865                 },
7866         .field_info_spec = {
7867                 .description = "sparif",
7868                 .field_bit_size = 4,
7869                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7870                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7871                 }
7872         },
7873         {
7874         .field_info_mask = {
7875                 .description = "tl2_ivlan_vid",
7876                 .field_bit_size = 12,
7877                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7878                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7879                 },
7880         .field_info_spec = {
7881                 .description = "tl2_ivlan_vid",
7882                 .field_bit_size = 12,
7883                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7884                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7885                 }
7886         },
7887         {
7888         .field_info_mask = {
7889                 .description = "tl2_ovlan_vid",
7890                 .field_bit_size = 12,
7891                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7892                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7893                 },
7894         .field_info_spec = {
7895                 .description = "tl2_ovlan_vid",
7896                 .field_bit_size = 12,
7897                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7898                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7899                 }
7900         },
7901         {
7902         .field_info_mask = {
7903                 .description = "mac1_addr",
7904                 .field_bit_size = 48,
7905                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7906                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7907                 },
7908         .field_info_spec = {
7909                 .description = "mac1_addr",
7910                 .field_bit_size = 48,
7911                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7912                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7913                 }
7914         },
7915         {
7916         .field_info_mask = {
7917                 .description = "l2_num_vtags",
7918                 .field_bit_size = 2,
7919                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7920                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7921                 .field_opr1 = {
7922                         0xff}
7923                 },
7924         .field_info_spec = {
7925                 .description = "l2_num_vtags",
7926                 .field_bit_size = 2,
7927                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7928                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
7929                 .field_opr1 = {
7930                 (BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff,
7931                 BNXT_ULP_CF_IDX_O_VTAG_NUM & 0xff}
7932                 }
7933         },
7934         {
7935         .field_info_mask = {
7936                 .description = "tl2_num_vtags",
7937                 .field_bit_size = 2,
7938                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7939                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7940                 },
7941         .field_info_spec = {
7942                 .description = "tl2_num_vtags",
7943                 .field_bit_size = 2,
7944                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7945                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7946                 }
7947         },
7948         {
7949         .field_info_mask = {
7950                 .description = "tun_hdr_type",
7951                 .field_bit_size = 4,
7952                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7953                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7954                 },
7955         .field_info_spec = {
7956                 .description = "tun_hdr_type",
7957                 .field_bit_size = 4,
7958                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7959                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7960                 }
7961         },
7962         {
7963         .field_info_mask = {
7964                 .description = "key_type",
7965                 .field_bit_size = 2,
7966                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7967                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7968                 },
7969         .field_info_spec = {
7970                 .description = "key_type",
7971                 .field_bit_size = 2,
7972                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7973                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7974                 }
7975         },
7976         {
7977         .field_info_mask = {
7978                 .description = "valid",
7979                 .field_bit_size = 1,
7980                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7981                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
7982                 .field_opr1 = {
7983                 1}
7984                 },
7985         .field_info_spec = {
7986                 .description = "valid",
7987                 .field_bit_size = 1,
7988                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7989                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
7990                 .field_opr1 = {
7991                 1}
7992                 }
7993         },
7994         /* class_tid: 3, , table: mac_addr_cache.wr */
7995         {
7996         .field_info_mask = {
7997                 .description = "svif",
7998                 .field_bit_size = 8,
7999                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8000                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8001                 .field_opr1 = {
8002                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
8003                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
8004                 },
8005         .field_info_spec = {
8006                 .description = "svif",
8007                 .field_bit_size = 8,
8008                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8009                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8010                 .field_opr1 = {
8011                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
8012                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
8013                 }
8014         },
8015         {
8016         .field_info_mask = {
8017                 .description = "tun_hdr",
8018                 .field_bit_size = 4,
8019                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8020                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8021                 .field_opr1 = {
8022                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
8023                 },
8024         .field_info_spec = {
8025                 .description = "tun_hdr",
8026                 .field_bit_size = 4,
8027                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8028                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8029                 .field_opr1 = {
8030                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
8031                 }
8032         },
8033         {
8034         .field_info_mask = {
8035                 .description = "one_tag",
8036                 .field_bit_size = 1,
8037                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8038                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8039                 .field_opr1 = {
8040                         0xff}
8041                 },
8042         .field_info_spec = {
8043                 .description = "one_tag",
8044                 .field_bit_size = 1,
8045                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8046                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8047                 .field_opr1 = {
8048                 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
8049                 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
8050                 }
8051         },
8052         {
8053         .field_info_mask = {
8054                 .description = "vid",
8055                 .field_bit_size = 12,
8056                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
8057                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
8058                 .field_opr1 = {
8059                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
8060                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
8061                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
8062                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
8063                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
8064                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
8065                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
8066                 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
8067                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
8068                 .field_opr2 = {
8069                         (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
8070                         BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
8071                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
8072                 },
8073         .field_info_spec = {
8074                 .description = "vid",
8075                 .field_bit_size = 12,
8076                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
8077                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
8078                 .field_opr1 = {
8079                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
8080                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
8081                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
8082                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
8083                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
8084                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
8085                 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
8086                 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
8087                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
8088                 .field_opr2 = {
8089                         (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
8090                         BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
8091                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
8092                 }
8093         },
8094         {
8095         .field_info_mask = {
8096                 .description = "mac_addr",
8097                 .field_bit_size = 48,
8098                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8099                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8100                 .field_opr1 = {
8101                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
8102                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
8103                 },
8104         .field_info_spec = {
8105                 .description = "mac_addr",
8106                 .field_bit_size = 48,
8107                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8108                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8109                 .field_opr1 = {
8110                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
8111                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
8112                 }
8113         },
8114         /* class_tid: 3, , table: profile_tcam_cache.rd */
8115         {
8116         .field_info_mask = {
8117                 .description = "recycle_cnt",
8118                 .field_bit_size = 2,
8119                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8120                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8121                 .field_opr1 = {
8122                         0xff}
8123                 },
8124         .field_info_spec = {
8125                 .description = "recycle_cnt",
8126                 .field_bit_size = 2,
8127                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8128                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8129                 }
8130         },
8131         {
8132         .field_info_mask = {
8133                 .description = "prof_func_id",
8134                 .field_bit_size = 7,
8135                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8136                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8137                 .field_opr1 = {
8138                         0xff}
8139                 },
8140         .field_info_spec = {
8141                 .description = "prof_func_id",
8142                 .field_bit_size = 7,
8143                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
8144                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
8145                 .field_opr1 = {
8146                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
8147                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
8148                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
8149                 .field_opr2 = {
8150                         (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
8151                         BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
8152                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
8153                 .field_opr3 = {
8154                 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
8155                 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
8156                 }
8157         },
8158         {
8159         .field_info_mask = {
8160                 .description = "hdr_sig_id",
8161                 .field_bit_size = 5,
8162                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8163                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8164                 .field_opr1 = {
8165                         0xff}
8166                 },
8167         .field_info_spec = {
8168                 .description = "hdr_sig_id",
8169                 .field_bit_size = 5,
8170                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8171                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8172                 .field_opr1 = {
8173                 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
8174                 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
8175                 }
8176         },
8177         /* class_tid: 3, , table: profile_tcam.ipv4 */
8178         {
8179         .field_info_mask = {
8180                 .description = "l4_hdr_is_udp_tcp",
8181                 .field_bit_size = 1,
8182                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8183                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8184                 },
8185         .field_info_spec = {
8186                 .description = "l4_hdr_is_udp_tcp",
8187                 .field_bit_size = 1,
8188                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8189                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8190                 }
8191         },
8192         {
8193         .field_info_mask = {
8194                 .description = "l4_hdr_type",
8195                 .field_bit_size = 4,
8196                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
8197                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8198                 .field_opr1 = {
8199                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
8200                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
8201                 .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
8202                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
8203                 },
8204         .field_info_spec = {
8205                 .description = "l4_hdr_type",
8206                 .field_bit_size = 4,
8207                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
8208                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
8209                 .field_opr1 = {
8210                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
8211                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
8212                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
8213                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
8214                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
8215                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
8216                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
8217                 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
8218                 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
8219                 .field_opr2 = {
8220                         ULP_WP_SYM_L4_HDR_TYPE_TCP},
8221                 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
8222                 .field_opr3 = {
8223                 ULP_WP_SYM_L4_HDR_TYPE_UDP}
8224                 }
8225         },
8226         {
8227         .field_info_mask = {
8228                 .description = "l4_hdr_error",
8229                 .field_bit_size = 1,
8230                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8231                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8232                 .field_opr1 = {
8233                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
8234                 BNXT_ULP_CF_IDX_O_L4 & 0xff}
8235                 },
8236         .field_info_spec = {
8237                 .description = "l4_hdr_error",
8238                 .field_bit_size = 1,
8239                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8240                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8241                 }
8242         },
8243         {
8244         .field_info_mask = {
8245                 .description = "l4_hdr_valid",
8246                 .field_bit_size = 1,
8247                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8248                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8249                 .field_opr1 = {
8250                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
8251                 BNXT_ULP_CF_IDX_O_L4 & 0xff}
8252                 },
8253         .field_info_spec = {
8254                 .description = "l4_hdr_valid",
8255                 .field_bit_size = 1,
8256                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8257                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8258                 .field_opr1 = {
8259                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
8260                 BNXT_ULP_CF_IDX_O_L4 & 0xff}
8261                 }
8262         },
8263         {
8264         .field_info_mask = {
8265                 .description = "l3_ipv6_cmp_dst",
8266                 .field_bit_size = 1,
8267                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8268                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8269                 },
8270         .field_info_spec = {
8271                 .description = "l3_ipv6_cmp_dst",
8272                 .field_bit_size = 1,
8273                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8274                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8275                 }
8276         },
8277         {
8278         .field_info_mask = {
8279                 .description = "l3_ipv6_cmp_src",
8280                 .field_bit_size = 1,
8281                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8282                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8283                 },
8284         .field_info_spec = {
8285                 .description = "l3_ipv6_cmp_src",
8286                 .field_bit_size = 1,
8287                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8288                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8289                 }
8290         },
8291         {
8292         .field_info_mask = {
8293                 .description = "l3_hdr_isIP",
8294                 .field_bit_size = 1,
8295                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8296                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8297                 },
8298         .field_info_spec = {
8299                 .description = "l3_hdr_isIP",
8300                 .field_bit_size = 1,
8301                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8302                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8303                 }
8304         },
8305         {
8306         .field_info_mask = {
8307                 .description = "l3_hdr_type",
8308                 .field_bit_size = 4,
8309                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8310                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8311                 .field_opr1 = {
8312                         0xff}
8313                 },
8314         .field_info_spec = {
8315                 .description = "l3_hdr_type",
8316                 .field_bit_size = 4,
8317                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8318                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8319                 }
8320         },
8321         {
8322         .field_info_mask = {
8323                 .description = "l3_hdr_error",
8324                 .field_bit_size = 1,
8325                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8326                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8327                 .field_opr1 = {
8328                         0xff}
8329                 },
8330         .field_info_spec = {
8331                 .description = "l3_hdr_error",
8332                 .field_bit_size = 1,
8333                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8334                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8335                 }
8336         },
8337         {
8338         .field_info_mask = {
8339                 .description = "l3_hdr_valid",
8340                 .field_bit_size = 1,
8341                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8342                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8343                 .field_opr1 = {
8344                         0xff}
8345                 },
8346         .field_info_spec = {
8347                 .description = "l3_hdr_valid",
8348                 .field_bit_size = 1,
8349                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8350                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8351                 .field_opr1 = {
8352                 ULP_WP_SYM_L3_HDR_VALID_YES}
8353                 }
8354         },
8355         {
8356         .field_info_mask = {
8357                 .description = "l2_two_vtags",
8358                 .field_bit_size = 1,
8359                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8360                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8361                 .field_opr1 = {
8362                         0xff}
8363                 },
8364         .field_info_spec = {
8365                 .description = "l2_two_vtags",
8366                 .field_bit_size = 1,
8367                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8368                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8369                 }
8370         },
8371         {
8372         .field_info_mask = {
8373                 .description = "l2_vtag_present",
8374                 .field_bit_size = 1,
8375                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8376                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8377                 .field_opr1 = {
8378                         0xff}
8379                 },
8380         .field_info_spec = {
8381                 .description = "l2_vtag_present",
8382                 .field_bit_size = 1,
8383                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8384                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8385                 .field_opr1 = {
8386                 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
8387                 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
8388                 }
8389         },
8390         {
8391         .field_info_mask = {
8392                 .description = "l2_uc_mc_bc",
8393                 .field_bit_size = 2,
8394                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8395                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8396                 .field_opr1 = {
8397                         0xff}
8398                 },
8399         .field_info_spec = {
8400                 .description = "l2_uc_mc_bc",
8401                 .field_bit_size = 2,
8402                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8403                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8404                 }
8405         },
8406         {
8407         .field_info_mask = {
8408                 .description = "l2_hdr_type",
8409                 .field_bit_size = 2,
8410                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8411                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8412                 .field_opr1 = {
8413                         0xff}
8414                 },
8415         .field_info_spec = {
8416                 .description = "l2_hdr_type",
8417                 .field_bit_size = 2,
8418                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8419                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8420                 }
8421         },
8422         {
8423         .field_info_mask = {
8424                 .description = "l2_hdr_error",
8425                 .field_bit_size = 1,
8426                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8427                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8428                 .field_opr1 = {
8429                         0xff}
8430                 },
8431         .field_info_spec = {
8432                 .description = "l2_hdr_error",
8433                 .field_bit_size = 1,
8434                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8435                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8436                 }
8437         },
8438         {
8439         .field_info_mask = {
8440                 .description = "l2_hdr_valid",
8441                 .field_bit_size = 1,
8442                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8443                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8444                 .field_opr1 = {
8445                         0xff}
8446                 },
8447         .field_info_spec = {
8448                 .description = "l2_hdr_valid",
8449                 .field_bit_size = 1,
8450                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8451                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8452                 .field_opr1 = {
8453                 ULP_WP_SYM_L2_HDR_VALID_YES}
8454                 }
8455         },
8456         {
8457         .field_info_mask = {
8458                 .description = "tun_hdr_flags",
8459                 .field_bit_size = 3,
8460                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8461                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8462                 },
8463         .field_info_spec = {
8464                 .description = "tun_hdr_flags",
8465                 .field_bit_size = 3,
8466                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8467                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8468                 }
8469         },
8470         {
8471         .field_info_mask = {
8472                 .description = "tun_hdr_type",
8473                 .field_bit_size = 4,
8474                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8475                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8476                 },
8477         .field_info_spec = {
8478                 .description = "tun_hdr_type",
8479                 .field_bit_size = 4,
8480                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8481                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8482                 }
8483         },
8484         {
8485         .field_info_mask = {
8486                 .description = "tun_hdr_err",
8487                 .field_bit_size = 1,
8488                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8489                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8490                 },
8491         .field_info_spec = {
8492                 .description = "tun_hdr_err",
8493                 .field_bit_size = 1,
8494                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8495                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8496                 }
8497         },
8498         {
8499         .field_info_mask = {
8500                 .description = "tun_hdr_valid",
8501                 .field_bit_size = 1,
8502                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8503                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8504                 .field_opr1 = {
8505                         0xff}
8506                 },
8507         .field_info_spec = {
8508                 .description = "tun_hdr_valid",
8509                 .field_bit_size = 1,
8510                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8511                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8512                 }
8513         },
8514         {
8515         .field_info_mask = {
8516                 .description = "tl4_hdr_is_udp_tcp",
8517                 .field_bit_size = 1,
8518                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8519                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8520                 },
8521         .field_info_spec = {
8522                 .description = "tl4_hdr_is_udp_tcp",
8523                 .field_bit_size = 1,
8524                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8525                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8526                 }
8527         },
8528         {
8529         .field_info_mask = {
8530                 .description = "tl4_hdr_type",
8531                 .field_bit_size = 4,
8532                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8533                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8534                 },
8535         .field_info_spec = {
8536                 .description = "tl4_hdr_type",
8537                 .field_bit_size = 4,
8538                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8539                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8540                 }
8541         },
8542         {
8543         .field_info_mask = {
8544                 .description = "tl4_hdr_error",
8545                 .field_bit_size = 1,
8546                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8547                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8548                 },
8549         .field_info_spec = {
8550                 .description = "tl4_hdr_error",
8551                 .field_bit_size = 1,
8552                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8553                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8554                 }
8555         },
8556         {
8557         .field_info_mask = {
8558                 .description = "tl4_hdr_valid",
8559                 .field_bit_size = 1,
8560                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8561                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8562                 .field_opr1 = {
8563                         0xff}
8564                 },
8565         .field_info_spec = {
8566                 .description = "tl4_hdr_valid",
8567                 .field_bit_size = 1,
8568                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8569                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8570                 }
8571         },
8572         {
8573         .field_info_mask = {
8574                 .description = "tl3_ipv6_cmp_dst",
8575                 .field_bit_size = 1,
8576                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8577                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8578                 },
8579         .field_info_spec = {
8580                 .description = "tl3_ipv6_cmp_dst",
8581                 .field_bit_size = 1,
8582                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8583                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8584                 }
8585         },
8586         {
8587         .field_info_mask = {
8588                 .description = "tl3_ipv6_cmp_src",
8589                 .field_bit_size = 1,
8590                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8591                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8592                 },
8593         .field_info_spec = {
8594                 .description = "tl3_ipv6_cmp_src",
8595                 .field_bit_size = 1,
8596                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8597                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8598                 }
8599         },
8600         {
8601         .field_info_mask = {
8602                 .description = "tl3_hdr_isIP",
8603                 .field_bit_size = 1,
8604                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8605                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8606                 },
8607         .field_info_spec = {
8608                 .description = "tl3_hdr_isIP",
8609                 .field_bit_size = 1,
8610                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8611                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8612                 }
8613         },
8614         {
8615         .field_info_mask = {
8616                 .description = "tl3_hdr_type",
8617                 .field_bit_size = 4,
8618                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8619                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8620                 },
8621         .field_info_spec = {
8622                 .description = "tl3_hdr_type",
8623                 .field_bit_size = 4,
8624                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8625                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8626                 }
8627         },
8628         {
8629         .field_info_mask = {
8630                 .description = "tl3_hdr_error",
8631                 .field_bit_size = 1,
8632                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8633                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8634                 },
8635         .field_info_spec = {
8636                 .description = "tl3_hdr_error",
8637                 .field_bit_size = 1,
8638                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8639                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8640                 }
8641         },
8642         {
8643         .field_info_mask = {
8644                 .description = "tl3_hdr_valid",
8645                 .field_bit_size = 1,
8646                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8647                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8648                 .field_opr1 = {
8649                         0xff}
8650                 },
8651         .field_info_spec = {
8652                 .description = "tl3_hdr_valid",
8653                 .field_bit_size = 1,
8654                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8655                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8656                 }
8657         },
8658         {
8659         .field_info_mask = {
8660                 .description = "tl2_two_vtags",
8661                 .field_bit_size = 1,
8662                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8663                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8664                 },
8665         .field_info_spec = {
8666                 .description = "tl2_two_vtags",
8667                 .field_bit_size = 1,
8668                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8669                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8670                 }
8671         },
8672         {
8673         .field_info_mask = {
8674                 .description = "tl2_vtag_present",
8675                 .field_bit_size = 1,
8676                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8677                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8678                 },
8679         .field_info_spec = {
8680                 .description = "tl2_vtag_present",
8681                 .field_bit_size = 1,
8682                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8683                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8684                 }
8685         },
8686         {
8687         .field_info_mask = {
8688                 .description = "tl2_uc_mc_bc",
8689                 .field_bit_size = 2,
8690                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8691                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8692                 },
8693         .field_info_spec = {
8694                 .description = "tl2_uc_mc_bc",
8695                 .field_bit_size = 2,
8696                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8697                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8698                 }
8699         },
8700         {
8701         .field_info_mask = {
8702                 .description = "tl2_hdr_type",
8703                 .field_bit_size = 2,
8704                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8705                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8706                 },
8707         .field_info_spec = {
8708                 .description = "tl2_hdr_type",
8709                 .field_bit_size = 2,
8710                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8711                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8712                 }
8713         },
8714         {
8715         .field_info_mask = {
8716                 .description = "tl2_hdr_valid",
8717                 .field_bit_size = 1,
8718                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8719                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8720                 .field_opr1 = {
8721                         0xff}
8722                 },
8723         .field_info_spec = {
8724                 .description = "tl2_hdr_valid",
8725                 .field_bit_size = 1,
8726                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8727                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8728                 }
8729         },
8730         {
8731         .field_info_mask = {
8732                 .description = "hrec_next",
8733                 .field_bit_size = 1,
8734                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8735                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8736                 },
8737         .field_info_spec = {
8738                 .description = "hrec_next",
8739                 .field_bit_size = 1,
8740                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8741                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8742                 }
8743         },
8744         {
8745         .field_info_mask = {
8746                 .description = "reserved",
8747                 .field_bit_size = 9,
8748                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8749                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8750                 },
8751         .field_info_spec = {
8752                 .description = "reserved",
8753                 .field_bit_size = 9,
8754                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8755                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8756                 }
8757         },
8758         {
8759         .field_info_mask = {
8760                 .description = "prof_func_id",
8761                 .field_bit_size = 7,
8762                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8763                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8764                 .field_opr1 = {
8765                         0xff}
8766                 },
8767         .field_info_spec = {
8768                 .description = "prof_func_id",
8769                 .field_bit_size = 7,
8770                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
8771                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
8772                 .field_opr1 = {
8773                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
8774                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
8775                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
8776                 .field_opr2 = {
8777                         (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
8778                         BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
8779                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
8780                 .field_opr3 = {
8781                 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
8782                 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
8783                 }
8784         },
8785         {
8786         .field_info_mask = {
8787                 .description = "agg_error",
8788                 .field_bit_size = 1,
8789                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8790                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8791                 },
8792         .field_info_spec = {
8793                 .description = "agg_error",
8794                 .field_bit_size = 1,
8795                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8796                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8797                 }
8798         },
8799         {
8800         .field_info_mask = {
8801                 .description = "recycle_cnt",
8802                 .field_bit_size = 2,
8803                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8804                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8805                 },
8806         .field_info_spec = {
8807                 .description = "recycle_cnt",
8808                 .field_bit_size = 2,
8809                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8810                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8811                 }
8812         },
8813         {
8814         .field_info_mask = {
8815                 .description = "pkt_type_0",
8816                 .field_bit_size = 2,
8817                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8818                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8819                 },
8820         .field_info_spec = {
8821                 .description = "pkt_type_0",
8822                 .field_bit_size = 2,
8823                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8824                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8825                 }
8826         },
8827         {
8828         .field_info_mask = {
8829                 .description = "pkt_type_1",
8830                 .field_bit_size = 2,
8831                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8832                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8833                 },
8834         .field_info_spec = {
8835                 .description = "pkt_type_1",
8836                 .field_bit_size = 2,
8837                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8838                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8839                 }
8840         },
8841         {
8842         .field_info_mask = {
8843                 .description = "valid",
8844                 .field_bit_size = 1,
8845                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8846                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8847                 .field_opr1 = {
8848                 1}
8849                 },
8850         .field_info_spec = {
8851                 .description = "valid",
8852                 .field_bit_size = 1,
8853                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8854                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8855                 .field_opr1 = {
8856                 1}
8857                 }
8858         },
8859         /* class_tid: 3, , table: profile_tcam.ipv6 */
8860         {
8861         .field_info_mask = {
8862                 .description = "l4_hdr_is_udp_tcp",
8863                 .field_bit_size = 1,
8864                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8865                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8866                 },
8867         .field_info_spec = {
8868                 .description = "l4_hdr_is_udp_tcp",
8869                 .field_bit_size = 1,
8870                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8871                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8872                 }
8873         },
8874         {
8875         .field_info_mask = {
8876                 .description = "l4_hdr_type",
8877                 .field_bit_size = 4,
8878                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
8879                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8880                 .field_opr1 = {
8881                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
8882                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
8883                 .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
8884                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
8885                 },
8886         .field_info_spec = {
8887                 .description = "l4_hdr_type",
8888                 .field_bit_size = 4,
8889                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
8890                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
8891                 .field_opr1 = {
8892                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
8893                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
8894                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
8895                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
8896                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
8897                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
8898                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
8899                 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
8900                 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
8901                 .field_opr2 = {
8902                         ULP_WP_SYM_L4_HDR_TYPE_TCP},
8903                 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
8904                 .field_opr3 = {
8905                 ULP_WP_SYM_L4_HDR_TYPE_UDP}
8906                 }
8907         },
8908         {
8909         .field_info_mask = {
8910                 .description = "l4_hdr_error",
8911                 .field_bit_size = 1,
8912                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8913                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8914                 .field_opr1 = {
8915                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
8916                 BNXT_ULP_CF_IDX_O_L4 & 0xff}
8917                 },
8918         .field_info_spec = {
8919                 .description = "l4_hdr_error",
8920                 .field_bit_size = 1,
8921                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8922                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8923                 }
8924         },
8925         {
8926         .field_info_mask = {
8927                 .description = "l4_hdr_valid",
8928                 .field_bit_size = 1,
8929                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8930                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8931                 .field_opr1 = {
8932                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
8933                 BNXT_ULP_CF_IDX_O_L4 & 0xff}
8934                 },
8935         .field_info_spec = {
8936                 .description = "l4_hdr_valid",
8937                 .field_bit_size = 1,
8938                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8939                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8940                 .field_opr1 = {
8941                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
8942                 BNXT_ULP_CF_IDX_O_L4 & 0xff}
8943                 }
8944         },
8945         {
8946         .field_info_mask = {
8947                 .description = "l3_ipv6_cmp_dst",
8948                 .field_bit_size = 1,
8949                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8950                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8951                 },
8952         .field_info_spec = {
8953                 .description = "l3_ipv6_cmp_dst",
8954                 .field_bit_size = 1,
8955                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8956                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8957                 }
8958         },
8959         {
8960         .field_info_mask = {
8961                 .description = "l3_ipv6_cmp_src",
8962                 .field_bit_size = 1,
8963                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8964                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8965                 },
8966         .field_info_spec = {
8967                 .description = "l3_ipv6_cmp_src",
8968                 .field_bit_size = 1,
8969                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8970                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8971                 }
8972         },
8973         {
8974         .field_info_mask = {
8975                 .description = "l3_hdr_isIP",
8976                 .field_bit_size = 1,
8977                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8978                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8979                 },
8980         .field_info_spec = {
8981                 .description = "l3_hdr_isIP",
8982                 .field_bit_size = 1,
8983                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8984                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8985                 }
8986         },
8987         {
8988         .field_info_mask = {
8989                 .description = "l3_hdr_type",
8990                 .field_bit_size = 4,
8991                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8992                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8993                 .field_opr1 = {
8994                         0xff}
8995                 },
8996         .field_info_spec = {
8997                 .description = "l3_hdr_type",
8998                 .field_bit_size = 4,
8999                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9000                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9001                 .field_opr1 = {
9002                 ULP_WP_SYM_L3_HDR_TYPE_IPV6}
9003                 }
9004         },
9005         {
9006         .field_info_mask = {
9007                 .description = "l3_hdr_error",
9008                 .field_bit_size = 1,
9009                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9010                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9011                 .field_opr1 = {
9012                         0xff}
9013                 },
9014         .field_info_spec = {
9015                 .description = "l3_hdr_error",
9016                 .field_bit_size = 1,
9017                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9018                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9019                 }
9020         },
9021         {
9022         .field_info_mask = {
9023                 .description = "l3_hdr_valid",
9024                 .field_bit_size = 1,
9025                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9026                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9027                 .field_opr1 = {
9028                         0xff}
9029                 },
9030         .field_info_spec = {
9031                 .description = "l3_hdr_valid",
9032                 .field_bit_size = 1,
9033                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9034                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9035                 .field_opr1 = {
9036                 ULP_WP_SYM_L3_HDR_VALID_YES}
9037                 }
9038         },
9039         {
9040         .field_info_mask = {
9041                 .description = "l2_two_vtags",
9042                 .field_bit_size = 1,
9043                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9044                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9045                 .field_opr1 = {
9046                         0xff}
9047                 },
9048         .field_info_spec = {
9049                 .description = "l2_two_vtags",
9050                 .field_bit_size = 1,
9051                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9052                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9053                 }
9054         },
9055         {
9056         .field_info_mask = {
9057                 .description = "l2_vtag_present",
9058                 .field_bit_size = 1,
9059                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9060                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9061                 .field_opr1 = {
9062                         0xff}
9063                 },
9064         .field_info_spec = {
9065                 .description = "l2_vtag_present",
9066                 .field_bit_size = 1,
9067                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9068                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9069                 .field_opr1 = {
9070                 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
9071                 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
9072                 }
9073         },
9074         {
9075         .field_info_mask = {
9076                 .description = "l2_uc_mc_bc",
9077                 .field_bit_size = 2,
9078                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9079                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9080                 .field_opr1 = {
9081                         0xff}
9082                 },
9083         .field_info_spec = {
9084                 .description = "l2_uc_mc_bc",
9085                 .field_bit_size = 2,
9086                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9087                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9088                 }
9089         },
9090         {
9091         .field_info_mask = {
9092                 .description = "l2_hdr_type",
9093                 .field_bit_size = 2,
9094                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9095                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9096                 .field_opr1 = {
9097                         0xff}
9098                 },
9099         .field_info_spec = {
9100                 .description = "l2_hdr_type",
9101                 .field_bit_size = 2,
9102                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9103                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9104                 }
9105         },
9106         {
9107         .field_info_mask = {
9108                 .description = "l2_hdr_error",
9109                 .field_bit_size = 1,
9110                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9111                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9112                 .field_opr1 = {
9113                         0xff}
9114                 },
9115         .field_info_spec = {
9116                 .description = "l2_hdr_error",
9117                 .field_bit_size = 1,
9118                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9119                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9120                 }
9121         },
9122         {
9123         .field_info_mask = {
9124                 .description = "l2_hdr_valid",
9125                 .field_bit_size = 1,
9126                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9127                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9128                 .field_opr1 = {
9129                         0xff}
9130                 },
9131         .field_info_spec = {
9132                 .description = "l2_hdr_valid",
9133                 .field_bit_size = 1,
9134                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9135                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9136                 .field_opr1 = {
9137                 ULP_WP_SYM_L2_HDR_VALID_YES}
9138                 }
9139         },
9140         {
9141         .field_info_mask = {
9142                 .description = "tun_hdr_flags",
9143                 .field_bit_size = 3,
9144                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9145                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9146                 },
9147         .field_info_spec = {
9148                 .description = "tun_hdr_flags",
9149                 .field_bit_size = 3,
9150                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9151                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9152                 }
9153         },
9154         {
9155         .field_info_mask = {
9156                 .description = "tun_hdr_type",
9157                 .field_bit_size = 4,
9158                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9159                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9160                 },
9161         .field_info_spec = {
9162                 .description = "tun_hdr_type",
9163                 .field_bit_size = 4,
9164                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9165                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9166                 }
9167         },
9168         {
9169         .field_info_mask = {
9170                 .description = "tun_hdr_err",
9171                 .field_bit_size = 1,
9172                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9173                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9174                 },
9175         .field_info_spec = {
9176                 .description = "tun_hdr_err",
9177                 .field_bit_size = 1,
9178                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9179                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9180                 }
9181         },
9182         {
9183         .field_info_mask = {
9184                 .description = "tun_hdr_valid",
9185                 .field_bit_size = 1,
9186                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9187                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9188                 .field_opr1 = {
9189                         0xff}
9190                 },
9191         .field_info_spec = {
9192                 .description = "tun_hdr_valid",
9193                 .field_bit_size = 1,
9194                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9195                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9196                 }
9197         },
9198         {
9199         .field_info_mask = {
9200                 .description = "tl4_hdr_is_udp_tcp",
9201                 .field_bit_size = 1,
9202                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9203                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9204                 },
9205         .field_info_spec = {
9206                 .description = "tl4_hdr_is_udp_tcp",
9207                 .field_bit_size = 1,
9208                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9209                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9210                 }
9211         },
9212         {
9213         .field_info_mask = {
9214                 .description = "tl4_hdr_type",
9215                 .field_bit_size = 4,
9216                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9217                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9218                 },
9219         .field_info_spec = {
9220                 .description = "tl4_hdr_type",
9221                 .field_bit_size = 4,
9222                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9223                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9224                 }
9225         },
9226         {
9227         .field_info_mask = {
9228                 .description = "tl4_hdr_error",
9229                 .field_bit_size = 1,
9230                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9231                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9232                 },
9233         .field_info_spec = {
9234                 .description = "tl4_hdr_error",
9235                 .field_bit_size = 1,
9236                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9237                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9238                 }
9239         },
9240         {
9241         .field_info_mask = {
9242                 .description = "tl4_hdr_valid",
9243                 .field_bit_size = 1,
9244                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9245                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9246                 .field_opr1 = {
9247                         0xff}
9248                 },
9249         .field_info_spec = {
9250                 .description = "tl4_hdr_valid",
9251                 .field_bit_size = 1,
9252                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9253                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9254                 }
9255         },
9256         {
9257         .field_info_mask = {
9258                 .description = "tl3_ipv6_cmp_dst",
9259                 .field_bit_size = 1,
9260                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9261                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9262                 },
9263         .field_info_spec = {
9264                 .description = "tl3_ipv6_cmp_dst",
9265                 .field_bit_size = 1,
9266                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9267                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9268                 }
9269         },
9270         {
9271         .field_info_mask = {
9272                 .description = "tl3_ipv6_cmp_src",
9273                 .field_bit_size = 1,
9274                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9275                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9276                 },
9277         .field_info_spec = {
9278                 .description = "tl3_ipv6_cmp_src",
9279                 .field_bit_size = 1,
9280                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9281                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9282                 }
9283         },
9284         {
9285         .field_info_mask = {
9286                 .description = "tl3_hdr_isIP",
9287                 .field_bit_size = 1,
9288                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9289                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9290                 },
9291         .field_info_spec = {
9292                 .description = "tl3_hdr_isIP",
9293                 .field_bit_size = 1,
9294                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9295                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9296                 }
9297         },
9298         {
9299         .field_info_mask = {
9300                 .description = "tl3_hdr_type",
9301                 .field_bit_size = 4,
9302                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9303                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9304                 },
9305         .field_info_spec = {
9306                 .description = "tl3_hdr_type",
9307                 .field_bit_size = 4,
9308                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9309                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9310                 }
9311         },
9312         {
9313         .field_info_mask = {
9314                 .description = "tl3_hdr_error",
9315                 .field_bit_size = 1,
9316                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9317                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9318                 },
9319         .field_info_spec = {
9320                 .description = "tl3_hdr_error",
9321                 .field_bit_size = 1,
9322                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9323                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9324                 }
9325         },
9326         {
9327         .field_info_mask = {
9328                 .description = "tl3_hdr_valid",
9329                 .field_bit_size = 1,
9330                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9331                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9332                 .field_opr1 = {
9333                         0xff}
9334                 },
9335         .field_info_spec = {
9336                 .description = "tl3_hdr_valid",
9337                 .field_bit_size = 1,
9338                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9339                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9340                 }
9341         },
9342         {
9343         .field_info_mask = {
9344                 .description = "tl2_two_vtags",
9345                 .field_bit_size = 1,
9346                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9347                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9348                 },
9349         .field_info_spec = {
9350                 .description = "tl2_two_vtags",
9351                 .field_bit_size = 1,
9352                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9353                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9354                 }
9355         },
9356         {
9357         .field_info_mask = {
9358                 .description = "tl2_vtag_present",
9359                 .field_bit_size = 1,
9360                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9361                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9362                 },
9363         .field_info_spec = {
9364                 .description = "tl2_vtag_present",
9365                 .field_bit_size = 1,
9366                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9367                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9368                 }
9369         },
9370         {
9371         .field_info_mask = {
9372                 .description = "tl2_uc_mc_bc",
9373                 .field_bit_size = 2,
9374                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9375                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9376                 },
9377         .field_info_spec = {
9378                 .description = "tl2_uc_mc_bc",
9379                 .field_bit_size = 2,
9380                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9381                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9382                 }
9383         },
9384         {
9385         .field_info_mask = {
9386                 .description = "tl2_hdr_type",
9387                 .field_bit_size = 2,
9388                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9389                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9390                 },
9391         .field_info_spec = {
9392                 .description = "tl2_hdr_type",
9393                 .field_bit_size = 2,
9394                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9395                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9396                 }
9397         },
9398         {
9399         .field_info_mask = {
9400                 .description = "tl2_hdr_valid",
9401                 .field_bit_size = 1,
9402                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9403                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9404                 .field_opr1 = {
9405                         0xff}
9406                 },
9407         .field_info_spec = {
9408                 .description = "tl2_hdr_valid",
9409                 .field_bit_size = 1,
9410                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9411                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9412                 }
9413         },
9414         {
9415         .field_info_mask = {
9416                 .description = "hrec_next",
9417                 .field_bit_size = 1,
9418                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9419                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9420                 },
9421         .field_info_spec = {
9422                 .description = "hrec_next",
9423                 .field_bit_size = 1,
9424                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9425                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9426                 }
9427         },
9428         {
9429         .field_info_mask = {
9430                 .description = "reserved",
9431                 .field_bit_size = 9,
9432                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9433                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9434                 },
9435         .field_info_spec = {
9436                 .description = "reserved",
9437                 .field_bit_size = 9,
9438                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9439                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9440                 }
9441         },
9442         {
9443         .field_info_mask = {
9444                 .description = "prof_func_id",
9445                 .field_bit_size = 7,
9446                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9447                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9448                 .field_opr1 = {
9449                         0xff}
9450                 },
9451         .field_info_spec = {
9452                 .description = "prof_func_id",
9453                 .field_bit_size = 7,
9454                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
9455                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
9456                 .field_opr1 = {
9457                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
9458                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
9459                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
9460                 .field_opr2 = {
9461                         (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
9462                         BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
9463                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
9464                 .field_opr3 = {
9465                 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
9466                 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
9467                 }
9468         },
9469         {
9470         .field_info_mask = {
9471                 .description = "agg_error",
9472                 .field_bit_size = 1,
9473                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9474                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9475                 },
9476         .field_info_spec = {
9477                 .description = "agg_error",
9478                 .field_bit_size = 1,
9479                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9480                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9481                 }
9482         },
9483         {
9484         .field_info_mask = {
9485                 .description = "recycle_cnt",
9486                 .field_bit_size = 2,
9487                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9488                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9489                 },
9490         .field_info_spec = {
9491                 .description = "recycle_cnt",
9492                 .field_bit_size = 2,
9493                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9494                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9495                 }
9496         },
9497         {
9498         .field_info_mask = {
9499                 .description = "pkt_type_0",
9500                 .field_bit_size = 2,
9501                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9502                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9503                 },
9504         .field_info_spec = {
9505                 .description = "pkt_type_0",
9506                 .field_bit_size = 2,
9507                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9508                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9509                 }
9510         },
9511         {
9512         .field_info_mask = {
9513                 .description = "pkt_type_1",
9514                 .field_bit_size = 2,
9515                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9516                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9517                 },
9518         .field_info_spec = {
9519                 .description = "pkt_type_1",
9520                 .field_bit_size = 2,
9521                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9522                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9523                 }
9524         },
9525         {
9526         .field_info_mask = {
9527                 .description = "valid",
9528                 .field_bit_size = 1,
9529                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9530                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9531                 .field_opr1 = {
9532                 1}
9533                 },
9534         .field_info_spec = {
9535                 .description = "valid",
9536                 .field_bit_size = 1,
9537                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9538                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9539                 .field_opr1 = {
9540                 1}
9541                 }
9542         },
9543         /* class_tid: 3, , table: profile_tcam_cache.wr */
9544         {
9545         .field_info_mask = {
9546                 .description = "recycle_cnt",
9547                 .field_bit_size = 2,
9548                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9549                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9550                 .field_opr1 = {
9551                         0xff}
9552                 },
9553         .field_info_spec = {
9554                 .description = "recycle_cnt",
9555                 .field_bit_size = 2,
9556                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9557                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9558                 }
9559         },
9560         {
9561         .field_info_mask = {
9562                 .description = "prof_func_id",
9563                 .field_bit_size = 7,
9564                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9565                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9566                 .field_opr1 = {
9567                         0xff}
9568                 },
9569         .field_info_spec = {
9570                 .description = "prof_func_id",
9571                 .field_bit_size = 7,
9572                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
9573                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
9574                 .field_opr1 = {
9575                 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
9576                 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
9577                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
9578                 .field_opr2 = {
9579                         (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
9580                         BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
9581                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
9582                 .field_opr3 = {
9583                 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
9584                 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
9585                 }
9586         },
9587         {
9588         .field_info_mask = {
9589                 .description = "hdr_sig_id",
9590                 .field_bit_size = 5,
9591                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9592                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9593                 .field_opr1 = {
9594                         0xff}
9595                 },
9596         .field_info_spec = {
9597                 .description = "hdr_sig_id",
9598                 .field_bit_size = 5,
9599                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9600                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9601                 .field_opr1 = {
9602                 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
9603                 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
9604                 }
9605         },
9606         /* class_tid: 3, , table: em.ipv4 */
9607         {
9608         .field_info_mask = {
9609                 .description = "spare",
9610                 .field_bit_size = 3,
9611                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9612                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9613                 },
9614         .field_info_spec = {
9615                 .description = "spare",
9616                 .field_bit_size = 3,
9617                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9618                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9619                 }
9620         },
9621         {
9622         .field_info_mask = {
9623                 .description = "local_cos",
9624                 .field_bit_size = 3,
9625                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9626                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9627                 },
9628         .field_info_spec = {
9629                 .description = "local_cos",
9630                 .field_bit_size = 3,
9631                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9632                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9633                 }
9634         },
9635         {
9636         .field_info_mask = {
9637                 .description = "l4.dst",
9638                 .field_bit_size = 16,
9639                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9640                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9641                 .field_opr1 = {
9642                         0xff,
9643                         0xff}
9644                 },
9645         .field_info_spec = {
9646                 .description = "l4.dst",
9647                 .field_bit_size = 16,
9648                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
9649                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9650                 .field_opr1 = {
9651                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
9652                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
9653                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
9654                 .field_opr2 = {
9655                         (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
9656                         BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
9657                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
9658                 }
9659         },
9660         {
9661         .field_info_mask = {
9662                 .description = "l4.src",
9663                 .field_bit_size = 16,
9664                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9665                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9666                 .field_opr1 = {
9667                         0xff,
9668                         0xff}
9669                 },
9670         .field_info_spec = {
9671                 .description = "l4.src",
9672                 .field_bit_size = 16,
9673                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
9674                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9675                 .field_opr1 = {
9676                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
9677                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
9678                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
9679                 .field_opr2 = {
9680                         (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
9681                         BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
9682                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
9683                 }
9684         },
9685         {
9686         .field_info_mask = {
9687                 .description = "l3.prot",
9688                 .field_bit_size = 8,
9689                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9690                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9691                 .field_opr1 = {
9692                         0xff}
9693                 },
9694         .field_info_spec = {
9695                 .description = "l3.prot",
9696                 .field_bit_size = 8,
9697                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
9698                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
9699                 .field_opr1 = {
9700                 (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
9701                 BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff},
9702                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
9703                 .field_opr2 = {
9704                         (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
9705                         BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
9706                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
9707                 }
9708         },
9709         {
9710         .field_info_mask = {
9711                 .description = "l3.dst",
9712                 .field_bit_size = 32,
9713                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9714                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9715                 .field_opr1 = {
9716                 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
9717                 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
9718                 },
9719         .field_info_spec = {
9720                 .description = "l3.dst",
9721                 .field_bit_size = 32,
9722                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9723                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9724                 .field_opr1 = {
9725                 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
9726                 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
9727                 }
9728         },
9729         {
9730         .field_info_mask = {
9731                 .description = "l3.src",
9732                 .field_bit_size = 32,
9733                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9734                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9735                 .field_opr1 = {
9736                 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
9737                 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
9738                 },
9739         .field_info_spec = {
9740                 .description = "l3.src",
9741                 .field_bit_size = 32,
9742                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9743                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9744                 .field_opr1 = {
9745                 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
9746                 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
9747                 }
9748         },
9749         {
9750         .field_info_mask = {
9751                 .description = "l2.dmac",
9752                 .field_bit_size = 48,
9753                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9754                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9755                 .field_opr1 = {
9756                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
9757                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
9758                 },
9759         .field_info_spec = {
9760                 .description = "l2.dmac",
9761                 .field_bit_size = 48,
9762                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9763                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9764                 .field_opr1 = {
9765                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
9766                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
9767                 }
9768         },
9769         {
9770         .field_info_mask = {
9771                 .description = "l2_cntxt_id",
9772                 .field_bit_size = 10,
9773                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9774                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9775                 .field_opr1 = {
9776                         0xff,
9777                         0xff}
9778                 },
9779         .field_info_spec = {
9780                 .description = "l2_cntxt_id",
9781                 .field_bit_size = 10,
9782                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9783                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
9784                 .field_opr1 = {
9785                 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
9786                 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
9787                 }
9788         },
9789         {
9790         .field_info_mask = {
9791                 .description = "em_profile_id",
9792                 .field_bit_size = 8,
9793                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9794                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9795                 .field_opr1 = {
9796                         0xff}
9797                 },
9798         .field_info_spec = {
9799                 .description = "em_profile_id",
9800                 .field_bit_size = 8,
9801                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9802                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
9803                 .field_opr1 = {
9804                 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
9805                 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
9806                 }
9807         },
9808         /* class_tid: 3, , table: eem.ipv4 */
9809         {
9810         .field_info_mask = {
9811                 .description = "spare",
9812                 .field_bit_size = 275,
9813                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9814                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9815                 },
9816         .field_info_spec = {
9817                 .description = "spare",
9818                 .field_bit_size = 275,
9819                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9820                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9821                 }
9822         },
9823         {
9824         .field_info_mask = {
9825                 .description = "local_cos",
9826                 .field_bit_size = 3,
9827                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9828                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9829                 },
9830         .field_info_spec = {
9831                 .description = "local_cos",
9832                 .field_bit_size = 3,
9833                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9834                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9835                 }
9836         },
9837         {
9838         .field_info_mask = {
9839                 .description = "l4.dst",
9840                 .field_bit_size = 16,
9841                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9842                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9843                 .field_opr1 = {
9844                         0xff,
9845                         0xff}
9846                 },
9847         .field_info_spec = {
9848                 .description = "l4.dst",
9849                 .field_bit_size = 16,
9850                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
9851                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9852                 .field_opr1 = {
9853                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
9854                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
9855                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
9856                 .field_opr2 = {
9857                         (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
9858                         BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
9859                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
9860                 }
9861         },
9862         {
9863         .field_info_mask = {
9864                 .description = "l4.src",
9865                 .field_bit_size = 16,
9866                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9867                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9868                 .field_opr1 = {
9869                         0xff,
9870                         0xff}
9871                 },
9872         .field_info_spec = {
9873                 .description = "l4.src",
9874                 .field_bit_size = 16,
9875                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
9876                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9877                 .field_opr1 = {
9878                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
9879                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
9880                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
9881                 .field_opr2 = {
9882                         (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
9883                         BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
9884                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
9885                 }
9886         },
9887         {
9888         .field_info_mask = {
9889                 .description = "l3.prot",
9890                 .field_bit_size = 8,
9891                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9892                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9893                 .field_opr1 = {
9894                         0xff}
9895                 },
9896         .field_info_spec = {
9897                 .description = "l3.prot",
9898                 .field_bit_size = 8,
9899                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
9900                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
9901                 .field_opr1 = {
9902                 (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
9903                 BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff},
9904                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
9905                 .field_opr2 = {
9906                         (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
9907                         BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
9908                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
9909                 }
9910         },
9911         {
9912         .field_info_mask = {
9913                 .description = "l3.dst",
9914                 .field_bit_size = 32,
9915                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9916                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9917                 .field_opr1 = {
9918                 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
9919                 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
9920                 },
9921         .field_info_spec = {
9922                 .description = "l3.dst",
9923                 .field_bit_size = 32,
9924                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9925                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9926                 .field_opr1 = {
9927                 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
9928                 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
9929                 }
9930         },
9931         {
9932         .field_info_mask = {
9933                 .description = "l3.src",
9934                 .field_bit_size = 32,
9935                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9936                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9937                 .field_opr1 = {
9938                 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
9939                 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
9940                 },
9941         .field_info_spec = {
9942                 .description = "l3.src",
9943                 .field_bit_size = 32,
9944                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9945                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9946                 .field_opr1 = {
9947                 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
9948                 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
9949                 }
9950         },
9951         {
9952         .field_info_mask = {
9953                 .description = "l2.dmac",
9954                 .field_bit_size = 48,
9955                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9956                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9957                 .field_opr1 = {
9958                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
9959                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
9960                 },
9961         .field_info_spec = {
9962                 .description = "l2.dmac",
9963                 .field_bit_size = 48,
9964                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9965                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9966                 .field_opr1 = {
9967                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
9968                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
9969                 }
9970         },
9971         {
9972         .field_info_mask = {
9973                 .description = "l2_cntxt_id",
9974                 .field_bit_size = 10,
9975                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9976                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9977                 .field_opr1 = {
9978                         0xff,
9979                         0xff}
9980                 },
9981         .field_info_spec = {
9982                 .description = "l2_cntxt_id",
9983                 .field_bit_size = 10,
9984                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9985                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
9986                 .field_opr1 = {
9987                 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
9988                 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
9989                 }
9990         },
9991         {
9992         .field_info_mask = {
9993                 .description = "em_profile_id",
9994                 .field_bit_size = 8,
9995                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9996                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9997                 .field_opr1 = {
9998                         0xff}
9999                 },
10000         .field_info_spec = {
10001                 .description = "em_profile_id",
10002                 .field_bit_size = 8,
10003                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10004                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10005                 .field_opr1 = {
10006                 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
10007                 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
10008                 }
10009         },
10010         /* class_tid: 3, , table: em.ipv6 */
10011         {
10012         .field_info_mask = {
10013                 .description = "spare",
10014                 .field_bit_size = 3,
10015                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10016                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10017                 },
10018         .field_info_spec = {
10019                 .description = "spare",
10020                 .field_bit_size = 3,
10021                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10022                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10023                 }
10024         },
10025         {
10026         .field_info_mask = {
10027                 .description = "local_cos",
10028                 .field_bit_size = 3,
10029                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10030                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10031                 },
10032         .field_info_spec = {
10033                 .description = "local_cos",
10034                 .field_bit_size = 3,
10035                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10036                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10037                 }
10038         },
10039         {
10040         .field_info_mask = {
10041                 .description = "l4.dst",
10042                 .field_bit_size = 16,
10043                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10044                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10045                 .field_opr1 = {
10046                         0xff,
10047                         0xff}
10048                 },
10049         .field_info_spec = {
10050                 .description = "l4.dst",
10051                 .field_bit_size = 16,
10052                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
10053                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10054                 .field_opr1 = {
10055                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
10056                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
10057                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
10058                 .field_opr2 = {
10059                         (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
10060                         BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
10061                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
10062                 }
10063         },
10064         {
10065         .field_info_mask = {
10066                 .description = "l4.src",
10067                 .field_bit_size = 16,
10068                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10069                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10070                 .field_opr1 = {
10071                         0xff,
10072                         0xff}
10073                 },
10074         .field_info_spec = {
10075                 .description = "l4.src",
10076                 .field_bit_size = 16,
10077                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
10078                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10079                 .field_opr1 = {
10080                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
10081                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
10082                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
10083                 .field_opr2 = {
10084                         (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
10085                         BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
10086                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
10087                 }
10088         },
10089         {
10090         .field_info_mask = {
10091                 .description = "l3.prot",
10092                 .field_bit_size = 8,
10093                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10094                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10095                 .field_opr1 = {
10096                         0xff}
10097                 },
10098         .field_info_spec = {
10099                 .description = "l3.prot",
10100                 .field_bit_size = 8,
10101                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
10102                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10103                 .field_opr1 = {
10104                 (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
10105                 BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
10106                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
10107                 .field_opr2 = {
10108                         (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
10109                         BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
10110                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
10111                 }
10112         },
10113         {
10114         .field_info_mask = {
10115                 .description = "l3.dst",
10116                 .field_bit_size = 128,
10117                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10118                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
10119                 .field_opr1 = {
10120                 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
10121                 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
10122                 },
10123         .field_info_spec = {
10124                 .description = "l3.dst",
10125                 .field_bit_size = 128,
10126                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10127                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
10128                 .field_opr1 = {
10129                 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
10130                 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
10131                 }
10132         },
10133         {
10134         .field_info_mask = {
10135                 .description = "l3.src",
10136                 .field_bit_size = 128,
10137                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10138                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
10139                 .field_opr1 = {
10140                 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
10141                 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
10142                 },
10143         .field_info_spec = {
10144                 .description = "l3.src",
10145                 .field_bit_size = 128,
10146                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10147                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
10148                 .field_opr1 = {
10149                 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
10150                 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
10151                 }
10152         },
10153         {
10154         .field_info_mask = {
10155                 .description = "l2.smac",
10156                 .field_bit_size = 48,
10157                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10158                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10159                 },
10160         .field_info_spec = {
10161                 .description = "l2.smac",
10162                 .field_bit_size = 48,
10163                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10164                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10165                 }
10166         },
10167         {
10168         .field_info_mask = {
10169                 .description = "l2.dmac",
10170                 .field_bit_size = 48,
10171                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10172                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
10173                 .field_opr1 = {
10174                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
10175                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
10176                 },
10177         .field_info_spec = {
10178                 .description = "l2.dmac",
10179                 .field_bit_size = 48,
10180                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10181                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
10182                 .field_opr1 = {
10183                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
10184                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
10185                 }
10186         },
10187         {
10188         .field_info_mask = {
10189                 .description = "l2_cntxt_id",
10190                 .field_bit_size = 10,
10191                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10192                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10193                 .field_opr1 = {
10194                         0xff,
10195                         0xff}
10196                 },
10197         .field_info_spec = {
10198                 .description = "l2_cntxt_id",
10199                 .field_bit_size = 10,
10200                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10201                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10202                 .field_opr1 = {
10203                 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
10204                 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
10205                 }
10206         },
10207         {
10208         .field_info_mask = {
10209                 .description = "em_profile_id",
10210                 .field_bit_size = 8,
10211                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10212                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10213                 .field_opr1 = {
10214                         0xff}
10215                 },
10216         .field_info_spec = {
10217                 .description = "em_profile_id",
10218                 .field_bit_size = 8,
10219                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10220                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10221                 .field_opr1 = {
10222                 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
10223                 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
10224                 }
10225         },
10226         /* class_tid: 3, , table: eem.ipv6 */
10227         {
10228         .field_info_mask = {
10229                 .description = "spare",
10230                 .field_bit_size = 35,
10231                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10232                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10233                 },
10234         .field_info_spec = {
10235                 .description = "spare",
10236                 .field_bit_size = 35,
10237                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10238                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10239                 }
10240         },
10241         {
10242         .field_info_mask = {
10243                 .description = "local_cos",
10244                 .field_bit_size = 3,
10245                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10246                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10247                 },
10248         .field_info_spec = {
10249                 .description = "local_cos",
10250                 .field_bit_size = 3,
10251                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10252                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10253                 }
10254         },
10255         {
10256         .field_info_mask = {
10257                 .description = "l4.dst",
10258                 .field_bit_size = 16,
10259                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10260                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10261                 .field_opr1 = {
10262                         0xff,
10263                         0xff}
10264                 },
10265         .field_info_spec = {
10266                 .description = "l4.dst",
10267                 .field_bit_size = 16,
10268                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
10269                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10270                 .field_opr1 = {
10271                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
10272                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
10273                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
10274                 .field_opr2 = {
10275                         (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
10276                         BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
10277                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
10278                 }
10279         },
10280         {
10281         .field_info_mask = {
10282                 .description = "l4.src",
10283                 .field_bit_size = 16,
10284                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10285                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10286                 .field_opr1 = {
10287                         0xff,
10288                         0xff}
10289                 },
10290         .field_info_spec = {
10291                 .description = "l4.src",
10292                 .field_bit_size = 16,
10293                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
10294                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10295                 .field_opr1 = {
10296                 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
10297                 BNXT_ULP_CF_IDX_O_L4 & 0xff},
10298                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
10299                 .field_opr2 = {
10300                         (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
10301                         BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
10302                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
10303                 }
10304         },
10305         {
10306         .field_info_mask = {
10307                 .description = "l3.prot",
10308                 .field_bit_size = 8,
10309                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10310                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10311                 .field_opr1 = {
10312                         0xff}
10313                 },
10314         .field_info_spec = {
10315                 .description = "l3.prot",
10316                 .field_bit_size = 8,
10317                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
10318                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10319                 .field_opr1 = {
10320                 (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
10321                 BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
10322                 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
10323                 .field_opr2 = {
10324                         (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
10325                         BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
10326                 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
10327                 }
10328         },
10329         {
10330         .field_info_mask = {
10331                 .description = "l3.dst",
10332                 .field_bit_size = 128,
10333                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10334                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
10335                 .field_opr1 = {
10336                 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
10337                 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
10338                 },
10339         .field_info_spec = {
10340                 .description = "l3.dst",
10341                 .field_bit_size = 128,
10342                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10343                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
10344                 .field_opr1 = {
10345                 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
10346                 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
10347                 }
10348         },
10349         {
10350         .field_info_mask = {
10351                 .description = "l3.src",
10352                 .field_bit_size = 128,
10353                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10354                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
10355                 .field_opr1 = {
10356                 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
10357                 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
10358                 },
10359         .field_info_spec = {
10360                 .description = "l3.src",
10361                 .field_bit_size = 128,
10362                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10363                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
10364                 .field_opr1 = {
10365                 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
10366                 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
10367                 }
10368         },
10369         {
10370         .field_info_mask = {
10371                 .description = "l2.smac",
10372                 .field_bit_size = 48,
10373                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10374                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10375                 },
10376         .field_info_spec = {
10377                 .description = "l2.smac",
10378                 .field_bit_size = 48,
10379                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10380                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10381                 }
10382         },
10383         {
10384         .field_info_mask = {
10385                 .description = "l2.dmac",
10386                 .field_bit_size = 48,
10387                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10388                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
10389                 .field_opr1 = {
10390                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
10391                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
10392                 },
10393         .field_info_spec = {
10394                 .description = "l2.dmac",
10395                 .field_bit_size = 48,
10396                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10397                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
10398                 .field_opr1 = {
10399                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
10400                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
10401                 }
10402         },
10403         {
10404         .field_info_mask = {
10405                 .description = "l2_cntxt_id",
10406                 .field_bit_size = 10,
10407                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10408                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10409                 .field_opr1 = {
10410                         0xff,
10411                         0xff}
10412                 },
10413         .field_info_spec = {
10414                 .description = "l2_cntxt_id",
10415                 .field_bit_size = 10,
10416                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10417                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10418                 .field_opr1 = {
10419                 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
10420                 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
10421                 }
10422         },
10423         {
10424         .field_info_mask = {
10425                 .description = "em_profile_id",
10426                 .field_bit_size = 8,
10427                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10428                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10429                 .field_opr1 = {
10430                         0xff}
10431                 },
10432         .field_info_spec = {
10433                 .description = "em_profile_id",
10434                 .field_bit_size = 8,
10435                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10436                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10437                 .field_opr1 = {
10438                 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
10439                 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
10440                 }
10441         },
10442         /* class_tid: 4, , table: l2_cntxt_tcam_cache.ing_rd */
10443         {
10444         .field_info_mask = {
10445                 .description = "svif",
10446                 .field_bit_size = 8,
10447                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10448                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10449                 .field_opr1 = {
10450                         0xff}
10451                 },
10452         .field_info_spec = {
10453                 .description = "svif",
10454                 .field_bit_size = 8,
10455                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10456                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10457                 .field_opr1 = {
10458                 (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
10459                 BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
10460                 }
10461         },
10462         /* class_tid: 4, , table: l2_cntxt_tcam.ing_0 */
10463         {
10464         .field_info_mask = {
10465                 .description = "l2_ivlan_vid",
10466                 .field_bit_size = 12,
10467                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10468                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10469                 },
10470         .field_info_spec = {
10471                 .description = "l2_ivlan_vid",
10472                 .field_bit_size = 12,
10473                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10474                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10475                 }
10476         },
10477         {
10478         .field_info_mask = {
10479                 .description = "l2_ovlan_vid",
10480                 .field_bit_size = 12,
10481                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10482                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10483                 },
10484         .field_info_spec = {
10485                 .description = "l2_ovlan_vid",
10486                 .field_bit_size = 12,
10487                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10488                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10489                 }
10490         },
10491         {
10492         .field_info_mask = {
10493                 .description = "mac0_addr",
10494                 .field_bit_size = 48,
10495                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10496                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10497                 },
10498         .field_info_spec = {
10499                 .description = "mac0_addr",
10500                 .field_bit_size = 48,
10501                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10502                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10503                 }
10504         },
10505         {
10506         .field_info_mask = {
10507                 .description = "svif",
10508                 .field_bit_size = 8,
10509                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10510                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10511                 .field_opr1 = {
10512                         0xff}
10513                 },
10514         .field_info_spec = {
10515                 .description = "svif",
10516                 .field_bit_size = 8,
10517                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10518                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10519                 .field_opr1 = {
10520                 (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
10521                 BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
10522                 }
10523         },
10524         {
10525         .field_info_mask = {
10526                 .description = "sparif",
10527                 .field_bit_size = 4,
10528                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10529                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10530                 },
10531         .field_info_spec = {
10532                 .description = "sparif",
10533                 .field_bit_size = 4,
10534                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10535                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10536                 }
10537         },
10538         {
10539         .field_info_mask = {
10540                 .description = "tl2_ivlan_vid",
10541                 .field_bit_size = 12,
10542                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10543                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10544                 },
10545         .field_info_spec = {
10546                 .description = "tl2_ivlan_vid",
10547                 .field_bit_size = 12,
10548                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10549                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10550                 }
10551         },
10552         {
10553         .field_info_mask = {
10554                 .description = "tl2_ovlan_vid",
10555                 .field_bit_size = 12,
10556                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10557                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10558                 },
10559         .field_info_spec = {
10560                 .description = "tl2_ovlan_vid",
10561                 .field_bit_size = 12,
10562                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10563                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10564                 }
10565         },
10566         {
10567         .field_info_mask = {
10568                 .description = "mac1_addr",
10569                 .field_bit_size = 48,
10570                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10571                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10572                 },
10573         .field_info_spec = {
10574                 .description = "mac1_addr",
10575                 .field_bit_size = 48,
10576                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10577                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10578                 }
10579         },
10580         {
10581         .field_info_mask = {
10582                 .description = "l2_num_vtags",
10583                 .field_bit_size = 2,
10584                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10585                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10586                 },
10587         .field_info_spec = {
10588                 .description = "l2_num_vtags",
10589                 .field_bit_size = 2,
10590                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10591                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10592                 }
10593         },
10594         {
10595         .field_info_mask = {
10596                 .description = "tl2_num_vtags",
10597                 .field_bit_size = 2,
10598                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10599                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10600                 },
10601         .field_info_spec = {
10602                 .description = "tl2_num_vtags",
10603                 .field_bit_size = 2,
10604                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10605                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10606                 }
10607         },
10608         {
10609         .field_info_mask = {
10610                 .description = "tun_hdr_type",
10611                 .field_bit_size = 4,
10612                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10613                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10614                 },
10615         .field_info_spec = {
10616                 .description = "tun_hdr_type",
10617                 .field_bit_size = 4,
10618                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10619                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10620                 }
10621         },
10622         {
10623         .field_info_mask = {
10624                 .description = "key_type",
10625                 .field_bit_size = 2,
10626                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10627                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10628                 },
10629         .field_info_spec = {
10630                 .description = "key_type",
10631                 .field_bit_size = 2,
10632                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10633                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10634                 }
10635         },
10636         {
10637         .field_info_mask = {
10638                 .description = "valid",
10639                 .field_bit_size = 1,
10640                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10641                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10642                 .field_opr1 = {
10643                 1}
10644                 },
10645         .field_info_spec = {
10646                 .description = "valid",
10647                 .field_bit_size = 1,
10648                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10649                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10650                 .field_opr1 = {
10651                 1}
10652                 }
10653         },
10654         /* class_tid: 4, , table: l2_cntxt_tcam_cache.ing_wr */
10655         {
10656         .field_info_mask = {
10657                 .description = "svif",
10658                 .field_bit_size = 8,
10659                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10660                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10661                 .field_opr1 = {
10662                         0xff}
10663                 },
10664         .field_info_spec = {
10665                 .description = "svif",
10666                 .field_bit_size = 8,
10667                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10668                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10669                 .field_opr1 = {
10670                 (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
10671                 BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
10672                 }
10673         },
10674         /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_rd_vfr */
10675         {
10676         .field_info_mask = {
10677                 .description = "svif",
10678                 .field_bit_size = 8,
10679                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10680                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10681                 .field_opr1 = {
10682                         0xff}
10683                 },
10684         .field_info_spec = {
10685                 .description = "svif",
10686                 .field_bit_size = 8,
10687                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10688                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10689                 .field_opr1 = {
10690                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
10691                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
10692                 }
10693         },
10694         /* class_tid: 4, , table: l2_cntxt_tcam_bypass.egr_vfr */
10695         {
10696         .field_info_mask = {
10697                 .description = "l2_ivlan_vid",
10698                 .field_bit_size = 12,
10699                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10700                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10701                 },
10702         .field_info_spec = {
10703                 .description = "l2_ivlan_vid",
10704                 .field_bit_size = 12,
10705                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10706                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10707                 }
10708         },
10709         {
10710         .field_info_mask = {
10711                 .description = "l2_ovlan_vid",
10712                 .field_bit_size = 12,
10713                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10714                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10715                 },
10716         .field_info_spec = {
10717                 .description = "l2_ovlan_vid",
10718                 .field_bit_size = 12,
10719                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10720                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10721                 }
10722         },
10723         {
10724         .field_info_mask = {
10725                 .description = "mac0_addr",
10726                 .field_bit_size = 48,
10727                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10728                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10729                 },
10730         .field_info_spec = {
10731                 .description = "mac0_addr",
10732                 .field_bit_size = 48,
10733                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10734                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10735                 }
10736         },
10737         {
10738         .field_info_mask = {
10739                 .description = "svif",
10740                 .field_bit_size = 8,
10741                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10742                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10743                 .field_opr1 = {
10744                         0xff}
10745                 },
10746         .field_info_spec = {
10747                 .description = "svif",
10748                 .field_bit_size = 8,
10749                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10750                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10751                 .field_opr1 = {
10752                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
10753                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
10754                 }
10755         },
10756         {
10757         .field_info_mask = {
10758                 .description = "sparif",
10759                 .field_bit_size = 4,
10760                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10761                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10762                 },
10763         .field_info_spec = {
10764                 .description = "sparif",
10765                 .field_bit_size = 4,
10766                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10767                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10768                 }
10769         },
10770         {
10771         .field_info_mask = {
10772                 .description = "tl2_ivlan_vid",
10773                 .field_bit_size = 12,
10774                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10775                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10776                 },
10777         .field_info_spec = {
10778                 .description = "tl2_ivlan_vid",
10779                 .field_bit_size = 12,
10780                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10781                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10782                 }
10783         },
10784         {
10785         .field_info_mask = {
10786                 .description = "tl2_ovlan_vid",
10787                 .field_bit_size = 12,
10788                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10789                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10790                 },
10791         .field_info_spec = {
10792                 .description = "tl2_ovlan_vid",
10793                 .field_bit_size = 12,
10794                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10795                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10796                 }
10797         },
10798         {
10799         .field_info_mask = {
10800                 .description = "mac1_addr",
10801                 .field_bit_size = 48,
10802                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10803                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10804                 },
10805         .field_info_spec = {
10806                 .description = "mac1_addr",
10807                 .field_bit_size = 48,
10808                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10809                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10810                 }
10811         },
10812         {
10813         .field_info_mask = {
10814                 .description = "l2_num_vtags",
10815                 .field_bit_size = 2,
10816                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10817                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10818                 },
10819         .field_info_spec = {
10820                 .description = "l2_num_vtags",
10821                 .field_bit_size = 2,
10822                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10823                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10824                 }
10825         },
10826         {
10827         .field_info_mask = {
10828                 .description = "tl2_num_vtags",
10829                 .field_bit_size = 2,
10830                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10831                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10832                 },
10833         .field_info_spec = {
10834                 .description = "tl2_num_vtags",
10835                 .field_bit_size = 2,
10836                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10837                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10838                 }
10839         },
10840         {
10841         .field_info_mask = {
10842                 .description = "tun_hdr_type",
10843                 .field_bit_size = 4,
10844                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10845                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10846                 },
10847         .field_info_spec = {
10848                 .description = "tun_hdr_type",
10849                 .field_bit_size = 4,
10850                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10851                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10852                 }
10853         },
10854         {
10855         .field_info_mask = {
10856                 .description = "key_type",
10857                 .field_bit_size = 2,
10858                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10859                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10860                 },
10861         .field_info_spec = {
10862                 .description = "key_type",
10863                 .field_bit_size = 2,
10864                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10865                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10866                 }
10867         },
10868         {
10869         .field_info_mask = {
10870                 .description = "valid",
10871                 .field_bit_size = 1,
10872                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10873                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10874                 .field_opr1 = {
10875                 1}
10876                 },
10877         .field_info_spec = {
10878                 .description = "valid",
10879                 .field_bit_size = 1,
10880                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10881                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10882                 .field_opr1 = {
10883                 1}
10884                 }
10885         },
10886         /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr_vfr */
10887         {
10888         .field_info_mask = {
10889                 .description = "svif",
10890                 .field_bit_size = 8,
10891                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10892                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10893                 .field_opr1 = {
10894                         0xff}
10895                 },
10896         .field_info_spec = {
10897                 .description = "svif",
10898                 .field_bit_size = 8,
10899                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10900                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10901                 .field_opr1 = {
10902                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
10903                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
10904                 }
10905         },
10906         /* class_tid: 4, , table: l2_cntxt_tcam_cache.rd */
10907         {
10908         .field_info_mask = {
10909                 .description = "svif",
10910                 .field_bit_size = 8,
10911                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10912                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10913                 .field_opr1 = {
10914                         0xff}
10915                 },
10916         .field_info_spec = {
10917                 .description = "svif",
10918                 .field_bit_size = 8,
10919                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10920                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10921                 .field_opr1 = {
10922                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
10923                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
10924                 }
10925         },
10926         /* class_tid: 4, , table: l2_cntxt_tcam.egr_0 */
10927         {
10928         .field_info_mask = {
10929                 .description = "l2_ivlan_vid",
10930                 .field_bit_size = 12,
10931                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10932                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10933                 },
10934         .field_info_spec = {
10935                 .description = "l2_ivlan_vid",
10936                 .field_bit_size = 12,
10937                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10938                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10939                 }
10940         },
10941         {
10942         .field_info_mask = {
10943                 .description = "l2_ovlan_vid",
10944                 .field_bit_size = 12,
10945                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10946                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10947                 },
10948         .field_info_spec = {
10949                 .description = "l2_ovlan_vid",
10950                 .field_bit_size = 12,
10951                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10952                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10953                 }
10954         },
10955         {
10956         .field_info_mask = {
10957                 .description = "mac0_addr",
10958                 .field_bit_size = 48,
10959                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10960                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10961                 },
10962         .field_info_spec = {
10963                 .description = "mac0_addr",
10964                 .field_bit_size = 48,
10965                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10966                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10967                 }
10968         },
10969         {
10970         .field_info_mask = {
10971                 .description = "svif",
10972                 .field_bit_size = 8,
10973                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10974                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10975                 .field_opr1 = {
10976                         0xff}
10977                 },
10978         .field_info_spec = {
10979                 .description = "svif",
10980                 .field_bit_size = 8,
10981                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10982                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10983                 .field_opr1 = {
10984                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
10985                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
10986                 }
10987         },
10988         {
10989         .field_info_mask = {
10990                 .description = "sparif",
10991                 .field_bit_size = 4,
10992                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10993                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10994                 },
10995         .field_info_spec = {
10996                 .description = "sparif",
10997                 .field_bit_size = 4,
10998                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10999                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11000                 }
11001         },
11002         {
11003         .field_info_mask = {
11004                 .description = "tl2_ivlan_vid",
11005                 .field_bit_size = 12,
11006                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11007                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11008                 },
11009         .field_info_spec = {
11010                 .description = "tl2_ivlan_vid",
11011                 .field_bit_size = 12,
11012                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11013                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11014                 }
11015         },
11016         {
11017         .field_info_mask = {
11018                 .description = "tl2_ovlan_vid",
11019                 .field_bit_size = 12,
11020                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11021                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11022                 },
11023         .field_info_spec = {
11024                 .description = "tl2_ovlan_vid",
11025                 .field_bit_size = 12,
11026                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11027                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11028                 }
11029         },
11030         {
11031         .field_info_mask = {
11032                 .description = "mac1_addr",
11033                 .field_bit_size = 48,
11034                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11035                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11036                 },
11037         .field_info_spec = {
11038                 .description = "mac1_addr",
11039                 .field_bit_size = 48,
11040                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11041                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11042                 }
11043         },
11044         {
11045         .field_info_mask = {
11046                 .description = "l2_num_vtags",
11047                 .field_bit_size = 2,
11048                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11049                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11050                 },
11051         .field_info_spec = {
11052                 .description = "l2_num_vtags",
11053                 .field_bit_size = 2,
11054                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11055                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11056                 }
11057         },
11058         {
11059         .field_info_mask = {
11060                 .description = "tl2_num_vtags",
11061                 .field_bit_size = 2,
11062                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11063                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11064                 },
11065         .field_info_spec = {
11066                 .description = "tl2_num_vtags",
11067                 .field_bit_size = 2,
11068                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11069                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11070                 }
11071         },
11072         {
11073         .field_info_mask = {
11074                 .description = "tun_hdr_type",
11075                 .field_bit_size = 4,
11076                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11077                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11078                 },
11079         .field_info_spec = {
11080                 .description = "tun_hdr_type",
11081                 .field_bit_size = 4,
11082                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11083                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11084                 }
11085         },
11086         {
11087         .field_info_mask = {
11088                 .description = "key_type",
11089                 .field_bit_size = 2,
11090                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11091                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11092                 },
11093         .field_info_spec = {
11094                 .description = "key_type",
11095                 .field_bit_size = 2,
11096                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11097                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11098                 }
11099         },
11100         {
11101         .field_info_mask = {
11102                 .description = "valid",
11103                 .field_bit_size = 1,
11104                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11105                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11106                 .field_opr1 = {
11107                 1}
11108                 },
11109         .field_info_spec = {
11110                 .description = "valid",
11111                 .field_bit_size = 1,
11112                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11113                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11114                 .field_opr1 = {
11115                 1}
11116                 }
11117         },
11118         /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr */
11119         {
11120         .field_info_mask = {
11121                 .description = "svif",
11122                 .field_bit_size = 8,
11123                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11124                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
11125                 .field_opr1 = {
11126                         0xff}
11127                 },
11128         .field_info_spec = {
11129                 .description = "svif",
11130                 .field_bit_size = 8,
11131                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11132                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11133                 .field_opr1 = {
11134                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
11135                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
11136                 }
11137         },
11138         /* class_tid: 5, , table: l2_cntxt_tcam_cache.vf_rd_egr */
11139         {
11140         .field_info_mask = {
11141                 .description = "svif",
11142                 .field_bit_size = 8,
11143                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11144                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
11145                 .field_opr1 = {
11146                         0xff}
11147                 },
11148         .field_info_spec = {
11149                 .description = "svif",
11150                 .field_bit_size = 8,
11151                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11152                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11153                 .field_opr1 = {
11154                 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
11155                 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
11156                 }
11157         },
11158         /* class_tid: 5, , table: l2_cntxt_tcam.vf_egr */
11159         {
11160         .field_info_mask = {
11161                 .description = "l2_ivlan_vid",
11162                 .field_bit_size = 12,
11163                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11164                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11165                 },
11166         .field_info_spec = {
11167                 .description = "l2_ivlan_vid",
11168                 .field_bit_size = 12,
11169                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11170                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11171                 }
11172         },
11173         {
11174         .field_info_mask = {
11175                 .description = "l2_ovlan_vid",
11176                 .field_bit_size = 12,
11177                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11178                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11179                 },
11180         .field_info_spec = {
11181                 .description = "l2_ovlan_vid",
11182                 .field_bit_size = 12,
11183                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11184                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11185                 }
11186         },
11187         {
11188         .field_info_mask = {
11189                 .description = "mac0_addr",
11190                 .field_bit_size = 48,
11191                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11192                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11193                 },
11194         .field_info_spec = {
11195                 .description = "mac0_addr",
11196                 .field_bit_size = 48,
11197                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11198                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11199                 }
11200         },
11201         {
11202         .field_info_mask = {
11203                 .description = "svif",
11204                 .field_bit_size = 8,
11205                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11206                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
11207                 .field_opr1 = {
11208                         0xff}
11209                 },
11210         .field_info_spec = {
11211                 .description = "svif",
11212                 .field_bit_size = 8,
11213                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11214                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11215                 .field_opr1 = {
11216                 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
11217                 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
11218                 }
11219         },
11220         {
11221         .field_info_mask = {
11222                 .description = "sparif",
11223                 .field_bit_size = 4,
11224                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11225                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11226                 },
11227         .field_info_spec = {
11228                 .description = "sparif",
11229                 .field_bit_size = 4,
11230                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11231                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11232                 }
11233         },
11234         {
11235         .field_info_mask = {
11236                 .description = "tl2_ivlan_vid",
11237                 .field_bit_size = 12,
11238                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11239                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11240                 },
11241         .field_info_spec = {
11242                 .description = "tl2_ivlan_vid",
11243                 .field_bit_size = 12,
11244                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11245                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11246                 }
11247         },
11248         {
11249         .field_info_mask = {
11250                 .description = "tl2_ovlan_vid",
11251                 .field_bit_size = 12,
11252                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11253                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11254                 },
11255         .field_info_spec = {
11256                 .description = "tl2_ovlan_vid",
11257                 .field_bit_size = 12,
11258                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11259                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11260                 }
11261         },
11262         {
11263         .field_info_mask = {
11264                 .description = "mac1_addr",
11265                 .field_bit_size = 48,
11266                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11267                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11268                 },
11269         .field_info_spec = {
11270                 .description = "mac1_addr",
11271                 .field_bit_size = 48,
11272                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11273                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11274                 }
11275         },
11276         {
11277         .field_info_mask = {
11278                 .description = "l2_num_vtags",
11279                 .field_bit_size = 2,
11280                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11281                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11282                 },
11283         .field_info_spec = {
11284                 .description = "l2_num_vtags",
11285                 .field_bit_size = 2,
11286                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11287                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11288                 }
11289         },
11290         {
11291         .field_info_mask = {
11292                 .description = "tl2_num_vtags",
11293                 .field_bit_size = 2,
11294                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11295                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11296                 },
11297         .field_info_spec = {
11298                 .description = "tl2_num_vtags",
11299                 .field_bit_size = 2,
11300                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11301                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11302                 }
11303         },
11304         {
11305         .field_info_mask = {
11306                 .description = "tun_hdr_type",
11307                 .field_bit_size = 4,
11308                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11309                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11310                 },
11311         .field_info_spec = {
11312                 .description = "tun_hdr_type",
11313                 .field_bit_size = 4,
11314                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11315                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11316                 }
11317         },
11318         {
11319         .field_info_mask = {
11320                 .description = "key_type",
11321                 .field_bit_size = 2,
11322                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11323                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11324                 },
11325         .field_info_spec = {
11326                 .description = "key_type",
11327                 .field_bit_size = 2,
11328                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11329                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11330                 }
11331         },
11332         {
11333         .field_info_mask = {
11334                 .description = "valid",
11335                 .field_bit_size = 1,
11336                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11337                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11338                 .field_opr1 = {
11339                 1}
11340                 },
11341         .field_info_spec = {
11342                 .description = "valid",
11343                 .field_bit_size = 1,
11344                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11345                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11346                 .field_opr1 = {
11347                 1}
11348                 }
11349         },
11350         /* class_tid: 5, , table: l2_cntxt_tcam_cache.vf_egr_wr */
11351         {
11352         .field_info_mask = {
11353                 .description = "svif",
11354                 .field_bit_size = 8,
11355                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11356                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
11357                 .field_opr1 = {
11358                         0xff}
11359                 },
11360         .field_info_spec = {
11361                 .description = "svif",
11362                 .field_bit_size = 8,
11363                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11364                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11365                 .field_opr1 = {
11366                 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
11367                 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
11368                 }
11369         },
11370         /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vf_ing */
11371         {
11372         .field_info_mask = {
11373                 .description = "l2_ivlan_vid",
11374                 .field_bit_size = 12,
11375                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11376                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11377                 },
11378         .field_info_spec = {
11379                 .description = "l2_ivlan_vid",
11380                 .field_bit_size = 12,
11381                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11382                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11383                 }
11384         },
11385         {
11386         .field_info_mask = {
11387                 .description = "l2_ovlan_vid",
11388                 .field_bit_size = 12,
11389                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11390                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11391                 },
11392         .field_info_spec = {
11393                 .description = "l2_ovlan_vid",
11394                 .field_bit_size = 12,
11395                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11396                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11397                 }
11398         },
11399         {
11400         .field_info_mask = {
11401                 .description = "mac0_addr",
11402                 .field_bit_size = 48,
11403                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11404                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11405                 },
11406         .field_info_spec = {
11407                 .description = "mac0_addr",
11408                 .field_bit_size = 48,
11409                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11410                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11411                 }
11412         },
11413         {
11414         .field_info_mask = {
11415                 .description = "svif",
11416                 .field_bit_size = 8,
11417                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11418                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
11419                 .field_opr1 = {
11420                         0xff}
11421                 },
11422         .field_info_spec = {
11423                 .description = "svif",
11424                 .field_bit_size = 8,
11425                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11426                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11427                 .field_opr1 = {
11428                 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
11429                 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
11430                 }
11431         },
11432         {
11433         .field_info_mask = {
11434                 .description = "sparif",
11435                 .field_bit_size = 4,
11436                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11437                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11438                 },
11439         .field_info_spec = {
11440                 .description = "sparif",
11441                 .field_bit_size = 4,
11442                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11443                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11444                 }
11445         },
11446         {
11447         .field_info_mask = {
11448                 .description = "tl2_ivlan_vid",
11449                 .field_bit_size = 12,
11450                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11451                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11452                 },
11453         .field_info_spec = {
11454                 .description = "tl2_ivlan_vid",
11455                 .field_bit_size = 12,
11456                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11457                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11458                 }
11459         },
11460         {
11461         .field_info_mask = {
11462                 .description = "tl2_ovlan_vid",
11463                 .field_bit_size = 12,
11464                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11465                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11466                 },
11467         .field_info_spec = {
11468                 .description = "tl2_ovlan_vid",
11469                 .field_bit_size = 12,
11470                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11471                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11472                 }
11473         },
11474         {
11475         .field_info_mask = {
11476                 .description = "mac1_addr",
11477                 .field_bit_size = 48,
11478                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11479                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11480                 },
11481         .field_info_spec = {
11482                 .description = "mac1_addr",
11483                 .field_bit_size = 48,
11484                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11485                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11486                 }
11487         },
11488         {
11489         .field_info_mask = {
11490                 .description = "l2_num_vtags",
11491                 .field_bit_size = 2,
11492                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11493                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11494                 },
11495         .field_info_spec = {
11496                 .description = "l2_num_vtags",
11497                 .field_bit_size = 2,
11498                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11499                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11500                 }
11501         },
11502         {
11503         .field_info_mask = {
11504                 .description = "tl2_num_vtags",
11505                 .field_bit_size = 2,
11506                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11507                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11508                 },
11509         .field_info_spec = {
11510                 .description = "tl2_num_vtags",
11511                 .field_bit_size = 2,
11512                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11513                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11514                 }
11515         },
11516         {
11517         .field_info_mask = {
11518                 .description = "tun_hdr_type",
11519                 .field_bit_size = 4,
11520                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11521                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11522                 },
11523         .field_info_spec = {
11524                 .description = "tun_hdr_type",
11525                 .field_bit_size = 4,
11526                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11527                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11528                 }
11529         },
11530         {
11531         .field_info_mask = {
11532                 .description = "key_type",
11533                 .field_bit_size = 2,
11534                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11535                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11536                 },
11537         .field_info_spec = {
11538                 .description = "key_type",
11539                 .field_bit_size = 2,
11540                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11541                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11542                 }
11543         },
11544         {
11545         .field_info_mask = {
11546                 .description = "valid",
11547                 .field_bit_size = 1,
11548                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11549                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11550                 .field_opr1 = {
11551                 1}
11552                 },
11553         .field_info_spec = {
11554                 .description = "valid",
11555                 .field_bit_size = 1,
11556                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11557                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11558                 .field_opr1 = {
11559                 1}
11560                 }
11561         },
11562         /* class_tid: 5, , table: l2_cntxt_tcam_cache.vfr_rd_egr0 */
11563         {
11564         .field_info_mask = {
11565                 .description = "svif",
11566                 .field_bit_size = 8,
11567                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11568                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
11569                 .field_opr1 = {
11570                         0xff}
11571                 },
11572         .field_info_spec = {
11573                 .description = "svif",
11574                 .field_bit_size = 8,
11575                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11576                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11577                 .field_opr1 = {
11578                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
11579                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
11580                 }
11581         },
11582         /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_egr0 */
11583         {
11584         .field_info_mask = {
11585                 .description = "l2_ivlan_vid",
11586                 .field_bit_size = 12,
11587                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11588                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11589                 },
11590         .field_info_spec = {
11591                 .description = "l2_ivlan_vid",
11592                 .field_bit_size = 12,
11593                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11594                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11595                 }
11596         },
11597         {
11598         .field_info_mask = {
11599                 .description = "l2_ovlan_vid",
11600                 .field_bit_size = 12,
11601                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11602                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11603                 },
11604         .field_info_spec = {
11605                 .description = "l2_ovlan_vid",
11606                 .field_bit_size = 12,
11607                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11608                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11609                 }
11610         },
11611         {
11612         .field_info_mask = {
11613                 .description = "mac0_addr",
11614                 .field_bit_size = 48,
11615                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11616                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11617                 },
11618         .field_info_spec = {
11619                 .description = "mac0_addr",
11620                 .field_bit_size = 48,
11621                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11622                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11623                 }
11624         },
11625         {
11626         .field_info_mask = {
11627                 .description = "svif",
11628                 .field_bit_size = 8,
11629                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11630                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
11631                 .field_opr1 = {
11632                         0xff}
11633                 },
11634         .field_info_spec = {
11635                 .description = "svif",
11636                 .field_bit_size = 8,
11637                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11638                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11639                 .field_opr1 = {
11640                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
11641                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
11642                 }
11643         },
11644         {
11645         .field_info_mask = {
11646                 .description = "sparif",
11647                 .field_bit_size = 4,
11648                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11649                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11650                 },
11651         .field_info_spec = {
11652                 .description = "sparif",
11653                 .field_bit_size = 4,
11654                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11655                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11656                 }
11657         },
11658         {
11659         .field_info_mask = {
11660                 .description = "tl2_ivlan_vid",
11661                 .field_bit_size = 12,
11662                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11663                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11664                 },
11665         .field_info_spec = {
11666                 .description = "tl2_ivlan_vid",
11667                 .field_bit_size = 12,
11668                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11669                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11670                 }
11671         },
11672         {
11673         .field_info_mask = {
11674                 .description = "tl2_ovlan_vid",
11675                 .field_bit_size = 12,
11676                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11677                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11678                 },
11679         .field_info_spec = {
11680                 .description = "tl2_ovlan_vid",
11681                 .field_bit_size = 12,
11682                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11683                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11684                 }
11685         },
11686         {
11687         .field_info_mask = {
11688                 .description = "mac1_addr",
11689                 .field_bit_size = 48,
11690                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11691                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11692                 },
11693         .field_info_spec = {
11694                 .description = "mac1_addr",
11695                 .field_bit_size = 48,
11696                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11697                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11698                 }
11699         },
11700         {
11701         .field_info_mask = {
11702                 .description = "l2_num_vtags",
11703                 .field_bit_size = 2,
11704                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11705                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11706                 },
11707         .field_info_spec = {
11708                 .description = "l2_num_vtags",
11709                 .field_bit_size = 2,
11710                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11711                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11712                 }
11713         },
11714         {
11715         .field_info_mask = {
11716                 .description = "tl2_num_vtags",
11717                 .field_bit_size = 2,
11718                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11719                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11720                 },
11721         .field_info_spec = {
11722                 .description = "tl2_num_vtags",
11723                 .field_bit_size = 2,
11724                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11725                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11726                 }
11727         },
11728         {
11729         .field_info_mask = {
11730                 .description = "tun_hdr_type",
11731                 .field_bit_size = 4,
11732                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11733                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11734                 },
11735         .field_info_spec = {
11736                 .description = "tun_hdr_type",
11737                 .field_bit_size = 4,
11738                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11739                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11740                 }
11741         },
11742         {
11743         .field_info_mask = {
11744                 .description = "key_type",
11745                 .field_bit_size = 2,
11746                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11747                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11748                 },
11749         .field_info_spec = {
11750                 .description = "key_type",
11751                 .field_bit_size = 2,
11752                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11753                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11754                 }
11755         },
11756         {
11757         .field_info_mask = {
11758                 .description = "valid",
11759                 .field_bit_size = 1,
11760                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11761                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11762                 .field_opr1 = {
11763                 1}
11764                 },
11765         .field_info_spec = {
11766                 .description = "valid",
11767                 .field_bit_size = 1,
11768                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11769                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11770                 .field_opr1 = {
11771                 1}
11772                 }
11773         },
11774         /* class_tid: 5, , table: l2_cntxt_tcam_cache.vfr_wr_egr0 */
11775         {
11776         .field_info_mask = {
11777                 .description = "svif",
11778                 .field_bit_size = 8,
11779                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11780                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
11781                 .field_opr1 = {
11782                         0xff}
11783                 },
11784         .field_info_spec = {
11785                 .description = "svif",
11786                 .field_bit_size = 8,
11787                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11788                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11789                 .field_opr1 = {
11790                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
11791                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
11792                 }
11793         },
11794         /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_dtagged_ing0 */
11795         {
11796         .field_info_mask = {
11797                 .description = "l2_ivlan_vid",
11798                 .field_bit_size = 12,
11799                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11800                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11801                 },
11802         .field_info_spec = {
11803                 .description = "l2_ivlan_vid",
11804                 .field_bit_size = 12,
11805                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11806                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11807                 }
11808         },
11809         {
11810         .field_info_mask = {
11811                 .description = "l2_ovlan_vid",
11812                 .field_bit_size = 12,
11813                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11814                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
11815                 .field_opr1 = {
11816                         0xff,
11817                         0xff}
11818                 },
11819         .field_info_spec = {
11820                 .description = "l2_ovlan_vid",
11821                 .field_bit_size = 12,
11822                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11823                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11824                 .field_opr1 = {
11825                 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
11826                 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
11827                 }
11828         },
11829         {
11830         .field_info_mask = {
11831                 .description = "mac0_addr",
11832                 .field_bit_size = 48,
11833                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11834                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11835                 },
11836         .field_info_spec = {
11837                 .description = "mac0_addr",
11838                 .field_bit_size = 48,
11839                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11840                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11841                 }
11842         },
11843         {
11844         .field_info_mask = {
11845                 .description = "svif",
11846                 .field_bit_size = 8,
11847                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11848                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
11849                 .field_opr1 = {
11850                         0xff}
11851                 },
11852         .field_info_spec = {
11853                 .description = "svif",
11854                 .field_bit_size = 8,
11855                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11856                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11857                 .field_opr1 = {
11858                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
11859                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
11860                 }
11861         },
11862         {
11863         .field_info_mask = {
11864                 .description = "sparif",
11865                 .field_bit_size = 4,
11866                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11867                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11868                 },
11869         .field_info_spec = {
11870                 .description = "sparif",
11871                 .field_bit_size = 4,
11872                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11873                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11874                 }
11875         },
11876         {
11877         .field_info_mask = {
11878                 .description = "tl2_ivlan_vid",
11879                 .field_bit_size = 12,
11880                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11881                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11882                 },
11883         .field_info_spec = {
11884                 .description = "tl2_ivlan_vid",
11885                 .field_bit_size = 12,
11886                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11887                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11888                 }
11889         },
11890         {
11891         .field_info_mask = {
11892                 .description = "tl2_ovlan_vid",
11893                 .field_bit_size = 12,
11894                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11895                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11896                 },
11897         .field_info_spec = {
11898                 .description = "tl2_ovlan_vid",
11899                 .field_bit_size = 12,
11900                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11901                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11902                 }
11903         },
11904         {
11905         .field_info_mask = {
11906                 .description = "mac1_addr",
11907                 .field_bit_size = 48,
11908                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11909                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11910                 },
11911         .field_info_spec = {
11912                 .description = "mac1_addr",
11913                 .field_bit_size = 48,
11914                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11915                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11916                 }
11917         },
11918         {
11919         .field_info_mask = {
11920                 .description = "l2_num_vtags",
11921                 .field_bit_size = 2,
11922                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11923                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
11924                 .field_opr1 = {
11925                         0xff}
11926                 },
11927         .field_info_spec = {
11928                 .description = "l2_num_vtags",
11929                 .field_bit_size = 2,
11930                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11931                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11932                 .field_opr1 = {
11933                 2}
11934                 }
11935         },
11936         {
11937         .field_info_mask = {
11938                 .description = "tl2_num_vtags",
11939                 .field_bit_size = 2,
11940                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11941                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11942                 },
11943         .field_info_spec = {
11944                 .description = "tl2_num_vtags",
11945                 .field_bit_size = 2,
11946                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11947                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11948                 }
11949         },
11950         {
11951         .field_info_mask = {
11952                 .description = "tun_hdr_type",
11953                 .field_bit_size = 4,
11954                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11955                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11956                 },
11957         .field_info_spec = {
11958                 .description = "tun_hdr_type",
11959                 .field_bit_size = 4,
11960                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11961                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11962                 }
11963         },
11964         {
11965         .field_info_mask = {
11966                 .description = "key_type",
11967                 .field_bit_size = 2,
11968                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11969                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11970                 },
11971         .field_info_spec = {
11972                 .description = "key_type",
11973                 .field_bit_size = 2,
11974                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11975                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11976                 }
11977         },
11978         {
11979         .field_info_mask = {
11980                 .description = "valid",
11981                 .field_bit_size = 1,
11982                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11983                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11984                 .field_opr1 = {
11985                 1}
11986                 },
11987         .field_info_spec = {
11988                 .description = "valid",
11989                 .field_bit_size = 1,
11990                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11991                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11992                 .field_opr1 = {
11993                 1}
11994                 }
11995         },
11996         /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_stagged_ing0 */
11997         {
11998         .field_info_mask = {
11999                 .description = "l2_ivlan_vid",
12000                 .field_bit_size = 12,
12001                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12002                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
12003                 .field_opr1 = {
12004                         0xff,
12005                         0xff}
12006                 },
12007         .field_info_spec = {
12008                 .description = "l2_ivlan_vid",
12009                 .field_bit_size = 12,
12010                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12011                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12012                 .field_opr1 = {
12013                 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
12014                 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
12015                 }
12016         },
12017         {
12018         .field_info_mask = {
12019                 .description = "l2_ovlan_vid",
12020                 .field_bit_size = 12,
12021                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12022                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12023                 },
12024         .field_info_spec = {
12025                 .description = "l2_ovlan_vid",
12026                 .field_bit_size = 12,
12027                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12028                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12029                 }
12030         },
12031         {
12032         .field_info_mask = {
12033                 .description = "mac0_addr",
12034                 .field_bit_size = 48,
12035                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12036                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12037                 },
12038         .field_info_spec = {
12039                 .description = "mac0_addr",
12040                 .field_bit_size = 48,
12041                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12042                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12043                 }
12044         },
12045         {
12046         .field_info_mask = {
12047                 .description = "svif",
12048                 .field_bit_size = 8,
12049                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12050                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
12051                 .field_opr1 = {
12052                         0xff}
12053                 },
12054         .field_info_spec = {
12055                 .description = "svif",
12056                 .field_bit_size = 8,
12057                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12058                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12059                 .field_opr1 = {
12060                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
12061                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
12062                 }
12063         },
12064         {
12065         .field_info_mask = {
12066                 .description = "sparif",
12067                 .field_bit_size = 4,
12068                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12069                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12070                 },
12071         .field_info_spec = {
12072                 .description = "sparif",
12073                 .field_bit_size = 4,
12074                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12075                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12076                 }
12077         },
12078         {
12079         .field_info_mask = {
12080                 .description = "tl2_ivlan_vid",
12081                 .field_bit_size = 12,
12082                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12083                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12084                 },
12085         .field_info_spec = {
12086                 .description = "tl2_ivlan_vid",
12087                 .field_bit_size = 12,
12088                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12089                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12090                 }
12091         },
12092         {
12093         .field_info_mask = {
12094                 .description = "tl2_ovlan_vid",
12095                 .field_bit_size = 12,
12096                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12097                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12098                 },
12099         .field_info_spec = {
12100                 .description = "tl2_ovlan_vid",
12101                 .field_bit_size = 12,
12102                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12103                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12104                 }
12105         },
12106         {
12107         .field_info_mask = {
12108                 .description = "mac1_addr",
12109                 .field_bit_size = 48,
12110                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12111                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12112                 },
12113         .field_info_spec = {
12114                 .description = "mac1_addr",
12115                 .field_bit_size = 48,
12116                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12117                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12118                 }
12119         },
12120         {
12121         .field_info_mask = {
12122                 .description = "l2_num_vtags",
12123                 .field_bit_size = 2,
12124                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12125                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
12126                 .field_opr1 = {
12127                         0xff}
12128                 },
12129         .field_info_spec = {
12130                 .description = "l2_num_vtags",
12131                 .field_bit_size = 2,
12132                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12133                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12134                 .field_opr1 = {
12135                 1}
12136                 }
12137         },
12138         {
12139         .field_info_mask = {
12140                 .description = "tl2_num_vtags",
12141                 .field_bit_size = 2,
12142                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12143                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12144                 },
12145         .field_info_spec = {
12146                 .description = "tl2_num_vtags",
12147                 .field_bit_size = 2,
12148                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12149                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12150                 }
12151         },
12152         {
12153         .field_info_mask = {
12154                 .description = "tun_hdr_type",
12155                 .field_bit_size = 4,
12156                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12157                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12158                 },
12159         .field_info_spec = {
12160                 .description = "tun_hdr_type",
12161                 .field_bit_size = 4,
12162                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12163                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12164                 }
12165         },
12166         {
12167         .field_info_mask = {
12168                 .description = "key_type",
12169                 .field_bit_size = 2,
12170                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12171                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12172                 },
12173         .field_info_spec = {
12174                 .description = "key_type",
12175                 .field_bit_size = 2,
12176                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12177                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12178                 }
12179         },
12180         {
12181         .field_info_mask = {
12182                 .description = "valid",
12183                 .field_bit_size = 1,
12184                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12185                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12186                 .field_opr1 = {
12187                 1}
12188                 },
12189         .field_info_spec = {
12190                 .description = "valid",
12191                 .field_bit_size = 1,
12192                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12193                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12194                 .field_opr1 = {
12195                 1}
12196                 }
12197         }
12198 };
12199
12200 struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
12201         /* class_tid: 1, , table: l2_cntxt_tcam.0 */
12202         {
12203         .description = "l2_cntxt_id",
12204         .field_bit_size = 10,
12205         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12206         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12207         .field_opr1 = {
12208         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
12209         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
12210         },
12211         {
12212         .description = "prof_func_id",
12213         .field_bit_size = 7,
12214         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12215         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
12216         .field_opr1 = {
12217         (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
12218         BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}
12219         },
12220         {
12221         .description = "l2_byp_lkup_en",
12222         .field_bit_size = 1,
12223         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12224         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12225         },
12226         {
12227         .description = "parif",
12228         .field_bit_size = 4,
12229         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12230         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12231         .field_opr1 = {
12232         (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
12233         BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
12234         },
12235         {
12236         .description = "allowed_pri",
12237         .field_bit_size = 8,
12238         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12239         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12240         },
12241         {
12242         .description = "default_pri",
12243         .field_bit_size = 3,
12244         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12245         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12246         },
12247         {
12248         .description = "allowed_tpid",
12249         .field_bit_size = 6,
12250         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12251         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12252         },
12253         {
12254         .description = "default_tpid",
12255         .field_bit_size = 3,
12256         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12257         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12258         },
12259         {
12260         .description = "bd_act_en",
12261         .field_bit_size = 1,
12262         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12263         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12264         },
12265         {
12266         .description = "sp_rec_ptr",
12267         .field_bit_size = 16,
12268         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12269         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12270         },
12271         {
12272         .description = "byp_sp_lkup",
12273         .field_bit_size = 1,
12274         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12275         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12276         .field_opr1 = {
12277         1}
12278         },
12279         {
12280         .description = "pri_anti_spoof_ctl",
12281         .field_bit_size = 2,
12282         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12283         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12284         },
12285         {
12286         .description = "tpid_anti_spoof_ctl",
12287         .field_bit_size = 2,
12288         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12289         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12290         },
12291         /* class_tid: 1, , table: mac_addr_cache.wr */
12292         {
12293         .description = "rid",
12294         .field_bit_size = 32,
12295         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12296         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12297         .field_opr1 = {
12298         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
12299         BNXT_ULP_RF_IDX_RID & 0xff}
12300         },
12301         {
12302         .description = "l2_cntxt_tcam_index",
12303         .field_bit_size = 10,
12304         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12305         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12306         },
12307         {
12308         .description = "l2_cntxt_id",
12309         .field_bit_size = 10,
12310         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12311         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12312         .field_opr1 = {
12313         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
12314         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
12315         },
12316         {
12317         .description = "src_property_ptr",
12318         .field_bit_size = 10,
12319         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12320         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12321         },
12322         /* class_tid: 1, , table: profile_tcam.ipv4 */
12323         {
12324         .description = "wc_key_id",
12325         .field_bit_size = 4,
12326         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12327         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12328         },
12329         {
12330         .description = "wc_profile_id",
12331         .field_bit_size = 8,
12332         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12333         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12334         },
12335         {
12336         .description = "wc_search_en",
12337         .field_bit_size = 1,
12338         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12339         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12340         },
12341         {
12342         .description = "em_key_mask.0",
12343         .field_bit_size = 1,
12344         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12345         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12346         .field_opr1 = {
12347         1}
12348         },
12349         {
12350         .description = "em_key_mask.1",
12351         .field_bit_size = 1,
12352         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12353         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
12354         .field_opr1 = {
12355         (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
12356         BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
12357         },
12358         {
12359         .description = "em_key_mask.2",
12360         .field_bit_size = 1,
12361         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12362         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
12363         .field_opr1 = {
12364         (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
12365         BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
12366         },
12367         {
12368         .description = "em_key_mask.3",
12369         .field_bit_size = 1,
12370         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12371         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
12372         .field_opr1 = {
12373         (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
12374         BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
12375         },
12376         {
12377         .description = "em_key_mask.4",
12378         .field_bit_size = 1,
12379         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12380         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
12381         .field_opr1 = {
12382         (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
12383         BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}
12384         },
12385         {
12386         .description = "em_key_mask.5",
12387         .field_bit_size = 1,
12388         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
12389         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12390         .field_opr1 = {
12391         (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
12392         BNXT_ULP_CF_IDX_O_L4 & 0xff},
12393         .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
12394         .field_opr2 = {
12395                 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
12396                 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
12397         .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
12398         .field_opr3 = {
12399         (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
12400         BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}
12401         },
12402         {
12403         .description = "em_key_mask.6",
12404         .field_bit_size = 1,
12405         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
12406         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12407         .field_opr1 = {
12408         (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
12409         BNXT_ULP_CF_IDX_O_L4 & 0xff},
12410         .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
12411         .field_opr2 = {
12412                 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
12413                 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
12414         .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
12415         .field_opr3 = {
12416         (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
12417         BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}
12418         },
12419         {
12420         .description = "em_key_mask.7",
12421         .field_bit_size = 1,
12422         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12423         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12424         },
12425         {
12426         .description = "em_key_mask.8",
12427         .field_bit_size = 1,
12428         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12429         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12430         },
12431         {
12432         .description = "em_key_mask.9",
12433         .field_bit_size = 1,
12434         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12435         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12436         },
12437         {
12438         .description = "em_key_id",
12439         .field_bit_size = 5,
12440         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12441         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12442         .field_opr1 = {
12443         3}
12444         },
12445         {
12446         .description = "em_profile_id",
12447         .field_bit_size = 8,
12448         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12449         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12450         .field_opr1 = {
12451         (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
12452         BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
12453         },
12454         {
12455         .description = "em_search_en",
12456         .field_bit_size = 1,
12457         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12458         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12459         .field_opr1 = {
12460         1}
12461         },
12462         {
12463         .description = "pl_byp_lkup_en",
12464         .field_bit_size = 1,
12465         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12466         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12467         },
12468         /* class_tid: 1, , table: profile_tcam.ipv6 */
12469         {
12470         .description = "wc_key_id",
12471         .field_bit_size = 4,
12472         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12473         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12474         },
12475         {
12476         .description = "wc_profile_id",
12477         .field_bit_size = 8,
12478         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12479         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12480         },
12481         {
12482         .description = "wc_search_en",
12483         .field_bit_size = 1,
12484         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12485         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12486         },
12487         {
12488         .description = "em_key_mask.0",
12489         .field_bit_size = 1,
12490         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12491         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12492         .field_opr1 = {
12493         1}
12494         },
12495         {
12496         .description = "em_key_mask.1",
12497         .field_bit_size = 1,
12498         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12499         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12500         },
12501         {
12502         .description = "em_key_mask.2",
12503         .field_bit_size = 1,
12504         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12505         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
12506         .field_opr1 = {
12507         (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
12508         BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
12509         },
12510         {
12511         .description = "em_key_mask.3",
12512         .field_bit_size = 1,
12513         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12514         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
12515         .field_opr1 = {
12516         (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
12517         BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
12518         },
12519         {
12520         .description = "em_key_mask.4",
12521         .field_bit_size = 1,
12522         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12523         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
12524         .field_opr1 = {
12525         (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
12526         BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
12527         },
12528         {
12529         .description = "em_key_mask.5",
12530         .field_bit_size = 1,
12531         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12532         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
12533         .field_opr1 = {
12534         (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
12535         BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}
12536         },
12537         {
12538         .description = "em_key_mask.6",
12539         .field_bit_size = 1,
12540         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
12541         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12542         .field_opr1 = {
12543         (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
12544         BNXT_ULP_CF_IDX_O_L4 & 0xff},
12545         .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
12546         .field_opr2 = {
12547                 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
12548                 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
12549         .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
12550         .field_opr3 = {
12551         (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
12552         BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}
12553         },
12554         {
12555         .description = "em_key_mask.7",
12556         .field_bit_size = 1,
12557         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
12558         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12559         .field_opr1 = {
12560         (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
12561         BNXT_ULP_CF_IDX_O_L4 & 0xff},
12562         .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
12563         .field_opr2 = {
12564                 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
12565                 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
12566         .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
12567         .field_opr3 = {
12568         (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
12569         BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}
12570         },
12571         {
12572         .description = "em_key_mask.8",
12573         .field_bit_size = 1,
12574         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12575         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12576         },
12577         {
12578         .description = "em_key_mask.9",
12579         .field_bit_size = 1,
12580         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12581         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12582         },
12583         {
12584         .description = "em_key_id",
12585         .field_bit_size = 5,
12586         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12587         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12588         .field_opr1 = {
12589         7}
12590         },
12591         {
12592         .description = "em_profile_id",
12593         .field_bit_size = 8,
12594         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12595         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12596         .field_opr1 = {
12597         (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
12598         BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
12599         },
12600         {
12601         .description = "em_search_en",
12602         .field_bit_size = 1,
12603         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12604         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12605         .field_opr1 = {
12606         1}
12607         },
12608         {
12609         .description = "pl_byp_lkup_en",
12610         .field_bit_size = 1,
12611         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12612         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12613         },
12614         /* class_tid: 1, , table: profile_tcam.ipv4_vxlan */
12615         {
12616         .description = "wc_key_id",
12617         .field_bit_size = 4,
12618         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12619         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12620         },
12621         {
12622         .description = "wc_profile_id",
12623         .field_bit_size = 8,
12624         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12625         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12626         },
12627         {
12628         .description = "wc_search_en",
12629         .field_bit_size = 1,
12630         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12631         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12632         },
12633         {
12634         .description = "em_key_mask.0",
12635         .field_bit_size = 1,
12636         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12637         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12638         .field_opr1 = {
12639         1}
12640         },
12641         {
12642         .description = "em_key_mask.1",
12643         .field_bit_size = 1,
12644         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12645         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12646         },
12647         {
12648         .description = "em_key_mask.2",
12649         .field_bit_size = 1,
12650         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12651         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12652         },
12653         {
12654         .description = "em_key_mask.3",
12655         .field_bit_size = 1,
12656         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12657         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12658         },
12659         {
12660         .description = "em_key_mask.4",
12661         .field_bit_size = 1,
12662         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12663         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12664         .field_opr1 = {
12665         1}
12666         },
12667         {
12668         .description = "em_key_mask.5",
12669         .field_bit_size = 1,
12670         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12671         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12672         .field_opr1 = {
12673         1}
12674         },
12675         {
12676         .description = "em_key_mask.6",
12677         .field_bit_size = 1,
12678         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12679         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12680         .field_opr1 = {
12681         1}
12682         },
12683         {
12684         .description = "em_key_mask.7",
12685         .field_bit_size = 1,
12686         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12687         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12688         },
12689         {
12690         .description = "em_key_mask.8",
12691         .field_bit_size = 1,
12692         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12693         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12694         },
12695         {
12696         .description = "em_key_mask.9",
12697         .field_bit_size = 1,
12698         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12699         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12700         },
12701         {
12702         .description = "em_key_id",
12703         .field_bit_size = 5,
12704         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12705         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12706         .field_opr1 = {
12707         20}
12708         },
12709         {
12710         .description = "em_profile_id",
12711         .field_bit_size = 8,
12712         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12713         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12714         .field_opr1 = {
12715         (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
12716         BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
12717         },
12718         {
12719         .description = "em_search_en",
12720         .field_bit_size = 1,
12721         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12722         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12723         .field_opr1 = {
12724         1}
12725         },
12726         {
12727         .description = "pl_byp_lkup_en",
12728         .field_bit_size = 1,
12729         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12730         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12731         },
12732         /* class_tid: 1, , table: profile_tcam_cache.wr */
12733         {
12734         .description = "rid",
12735         .field_bit_size = 32,
12736         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12737         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12738         .field_opr1 = {
12739         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
12740         BNXT_ULP_RF_IDX_RID & 0xff}
12741         },
12742         {
12743         .description = "profile_tcam_index",
12744         .field_bit_size = 10,
12745         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12746         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12747         .field_opr1 = {
12748         (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
12749         BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff}
12750         },
12751         {
12752         .description = "em_profile_id",
12753         .field_bit_size = 8,
12754         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12755         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12756         .field_opr1 = {
12757         (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
12758         BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
12759         },
12760         {
12761         .description = "wc_profile_id",
12762         .field_bit_size = 8,
12763         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12764         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12765         },
12766         {
12767         .description = "flow_sig_id",
12768         .field_bit_size = 64,
12769         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12770         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12771         .field_opr1 = {
12772         (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff,
12773         BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff}
12774         },
12775         /* class_tid: 1, , table: em.ipv4 */
12776         {
12777         .description = "act_rec_ptr",
12778         .field_bit_size = 33,
12779         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12780         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12781         .field_opr1 = {
12782         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
12783         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
12784         },
12785         {
12786         .description = "ext_flow_cntr",
12787         .field_bit_size = 1,
12788         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12789         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12790         },
12791         {
12792         .description = "act_rec_int",
12793         .field_bit_size = 1,
12794         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12795         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12796         },
12797         {
12798         .description = "act_rec_size",
12799         .field_bit_size = 5,
12800         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12801         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12802         },
12803         {
12804         .description = "key_size",
12805         .field_bit_size = 9,
12806         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12807         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12808         },
12809         {
12810         .description = "reserved",
12811         .field_bit_size = 11,
12812         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12813         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12814         },
12815         {
12816         .description = "strength",
12817         .field_bit_size = 2,
12818         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12819         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12820         .field_opr1 = {
12821         3}
12822         },
12823         {
12824         .description = "l1_cacheable",
12825         .field_bit_size = 1,
12826         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12827         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12828         },
12829         {
12830         .description = "valid",
12831         .field_bit_size = 1,
12832         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12833         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12834         .field_opr1 = {
12835         1}
12836         },
12837         /* class_tid: 1, , table: eem.ipv4 */
12838         {
12839         .description = "act_rec_ptr",
12840         .field_bit_size = 33,
12841         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12842         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12843         .field_opr1 = {
12844         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
12845         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
12846         },
12847         {
12848         .description = "ext_flow_cntr",
12849         .field_bit_size = 1,
12850         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12851         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12852         },
12853         {
12854         .description = "act_rec_int",
12855         .field_bit_size = 1,
12856         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12857         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12858         },
12859         {
12860         .description = "act_rec_size",
12861         .field_bit_size = 5,
12862         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12863         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12864         .field_opr1 = {
12865         (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
12866         BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
12867         },
12868         {
12869         .description = "key_size",
12870         .field_bit_size = 9,
12871         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12872         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12873         .field_opr1 = {
12874         (173 >> 8) & 0xff,
12875         173 & 0xff}
12876         },
12877         {
12878         .description = "reserved",
12879         .field_bit_size = 11,
12880         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12881         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12882         },
12883         {
12884         .description = "strength",
12885         .field_bit_size = 2,
12886         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12887         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12888         .field_opr1 = {
12889         3}
12890         },
12891         {
12892         .description = "l1_cacheable",
12893         .field_bit_size = 1,
12894         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12895         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12896         },
12897         {
12898         .description = "valid",
12899         .field_bit_size = 1,
12900         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12901         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12902         .field_opr1 = {
12903         1}
12904         },
12905         /* class_tid: 1, , table: em.ipv6 */
12906         {
12907         .description = "act_rec_ptr",
12908         .field_bit_size = 33,
12909         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12910         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12911         .field_opr1 = {
12912         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
12913         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
12914         },
12915         {
12916         .description = "ext_flow_cntr",
12917         .field_bit_size = 1,
12918         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12919         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12920         },
12921         {
12922         .description = "act_rec_int",
12923         .field_bit_size = 1,
12924         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12925         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12926         },
12927         {
12928         .description = "act_rec_size",
12929         .field_bit_size = 5,
12930         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12931         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12932         },
12933         {
12934         .description = "key_size",
12935         .field_bit_size = 9,
12936         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12937         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12938         },
12939         {
12940         .description = "reserved",
12941         .field_bit_size = 11,
12942         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12943         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12944         },
12945         {
12946         .description = "strength",
12947         .field_bit_size = 2,
12948         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12949         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12950         .field_opr1 = {
12951         3}
12952         },
12953         {
12954         .description = "l1_cacheable",
12955         .field_bit_size = 1,
12956         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12957         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12958         },
12959         {
12960         .description = "valid",
12961         .field_bit_size = 1,
12962         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12963         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12964         .field_opr1 = {
12965         1}
12966         },
12967         /* class_tid: 1, , table: eem.ipv6 */
12968         {
12969         .description = "act_rec_ptr",
12970         .field_bit_size = 33,
12971         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12972         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12973         .field_opr1 = {
12974         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
12975         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
12976         },
12977         {
12978         .description = "ext_flow_cntr",
12979         .field_bit_size = 1,
12980         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12981         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12982         },
12983         {
12984         .description = "act_rec_int",
12985         .field_bit_size = 1,
12986         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12987         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12988         },
12989         {
12990         .description = "act_rec_size",
12991         .field_bit_size = 5,
12992         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12993         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12994         .field_opr1 = {
12995         (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
12996         BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
12997         },
12998         {
12999         .description = "key_size",
13000         .field_bit_size = 9,
13001         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13002         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13003         .field_opr1 = {
13004         (413 >> 8) & 0xff,
13005         413 & 0xff}
13006         },
13007         {
13008         .description = "reserved",
13009         .field_bit_size = 11,
13010         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13011         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13012         },
13013         {
13014         .description = "strength",
13015         .field_bit_size = 2,
13016         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13017         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13018         .field_opr1 = {
13019         3}
13020         },
13021         {
13022         .description = "l1_cacheable",
13023         .field_bit_size = 1,
13024         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13025         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13026         },
13027         {
13028         .description = "valid",
13029         .field_bit_size = 1,
13030         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13031         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13032         .field_opr1 = {
13033         1}
13034         },
13035         /* class_tid: 1, , table: em.vxlan */
13036         {
13037         .description = "act_rec_ptr",
13038         .field_bit_size = 33,
13039         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13040         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13041         .field_opr1 = {
13042         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
13043         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
13044         },
13045         {
13046         .description = "ext_flow_cntr",
13047         .field_bit_size = 1,
13048         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13049         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13050         },
13051         {
13052         .description = "act_rec_int",
13053         .field_bit_size = 1,
13054         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13055         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13056         },
13057         {
13058         .description = "act_rec_size",
13059         .field_bit_size = 5,
13060         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13061         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13062         },
13063         {
13064         .description = "key_size",
13065         .field_bit_size = 9,
13066         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13067         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13068         },
13069         {
13070         .description = "reserved",
13071         .field_bit_size = 11,
13072         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13073         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13074         },
13075         {
13076         .description = "strength",
13077         .field_bit_size = 2,
13078         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13079         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13080         .field_opr1 = {
13081         3}
13082         },
13083         {
13084         .description = "l1_cacheable",
13085         .field_bit_size = 1,
13086         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13087         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13088         },
13089         {
13090         .description = "valid",
13091         .field_bit_size = 1,
13092         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13093         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13094         .field_opr1 = {
13095         1}
13096         },
13097         /* class_tid: 1, , table: eem.vxlan */
13098         {
13099         .description = "act_rec_ptr",
13100         .field_bit_size = 33,
13101         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13102         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13103         .field_opr1 = {
13104         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
13105         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
13106         },
13107         {
13108         .description = "ext_flow_cntr",
13109         .field_bit_size = 1,
13110         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13111         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13112         },
13113         {
13114         .description = "act_rec_int",
13115         .field_bit_size = 1,
13116         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13117         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13118         },
13119         {
13120         .description = "act_rec_size",
13121         .field_bit_size = 5,
13122         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13123         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13124         .field_opr1 = {
13125         (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
13126         BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
13127         },
13128         {
13129         .description = "key_size",
13130         .field_bit_size = 9,
13131         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13132         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13133         .field_opr1 = {
13134         (197 >> 8) & 0xff,
13135         197 & 0xff}
13136         },
13137         {
13138         .description = "reserved",
13139         .field_bit_size = 11,
13140         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13141         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13142         },
13143         {
13144         .description = "strength",
13145         .field_bit_size = 2,
13146         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13147         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13148         .field_opr1 = {
13149         3}
13150         },
13151         {
13152         .description = "l1_cacheable",
13153         .field_bit_size = 1,
13154         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13155         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13156         },
13157         {
13158         .description = "valid",
13159         .field_bit_size = 1,
13160         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13161         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13162         .field_opr1 = {
13163         1}
13164         },
13165         /* class_tid: 2, , table: l2_cntxt_tcam.1 */
13166         {
13167         .description = "l2_cntxt_id",
13168         .field_bit_size = 10,
13169         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13170         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13171         },
13172         {
13173         .description = "prof_func_id",
13174         .field_bit_size = 7,
13175         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13176         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13177         },
13178         {
13179         .description = "l2_byp_lkup_en",
13180         .field_bit_size = 1,
13181         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13182         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13183         },
13184         {
13185         .description = "parif",
13186         .field_bit_size = 4,
13187         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13188         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13189         },
13190         {
13191         .description = "allowed_pri",
13192         .field_bit_size = 8,
13193         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13194         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13195         },
13196         {
13197         .description = "default_pri",
13198         .field_bit_size = 3,
13199         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13200         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13201         },
13202         {
13203         .description = "allowed_tpid",
13204         .field_bit_size = 6,
13205         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13206         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13207         },
13208         {
13209         .description = "default_tpid",
13210         .field_bit_size = 3,
13211         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13212         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13213         },
13214         {
13215         .description = "bd_act_en",
13216         .field_bit_size = 1,
13217         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13218         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13219         },
13220         {
13221         .description = "sp_rec_ptr",
13222         .field_bit_size = 16,
13223         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13224         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13225         },
13226         {
13227         .description = "byp_sp_lkup",
13228         .field_bit_size = 1,
13229         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13230         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13231         .field_opr1 = {
13232         1}
13233         },
13234         {
13235         .description = "pri_anti_spoof_ctl",
13236         .field_bit_size = 2,
13237         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13238         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13239         },
13240         {
13241         .description = "tpid_anti_spoof_ctl",
13242         .field_bit_size = 2,
13243         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13244         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13245         },
13246         /* class_tid: 2, , table: tunnel_cache.wr */
13247         {
13248         .description = "rid",
13249         .field_bit_size = 32,
13250         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13251         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13252         .field_opr1 = {
13253         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
13254         BNXT_ULP_RF_IDX_RID & 0xff}
13255         },
13256         {
13257         .description = "l2_cntxt_tcam_index",
13258         .field_bit_size = 10,
13259         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13260         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13261         },
13262         {
13263         .description = "l2_cntxt_id",
13264         .field_bit_size = 10,
13265         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13266         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13267         .field_opr1 = {
13268         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
13269         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
13270         },
13271         /* class_tid: 2, , table: l2_cntxt_tcam.0 */
13272         {
13273         .description = "l2_cntxt_id",
13274         .field_bit_size = 10,
13275         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13276         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13277         .field_opr1 = {
13278         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
13279         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
13280         },
13281         {
13282         .description = "prof_func_id",
13283         .field_bit_size = 7,
13284         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13285         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
13286         .field_opr1 = {
13287         (BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID >> 8) & 0xff,
13288         BNXT_ULP_GLB_RF_IDX_VXLAN_PROF_FUNC_ID & 0xff}
13289         },
13290         {
13291         .description = "l2_byp_lkup_en",
13292         .field_bit_size = 1,
13293         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13294         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13295         },
13296         {
13297         .description = "parif",
13298         .field_bit_size = 4,
13299         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13300         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
13301         .field_opr1 = {
13302         (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
13303         BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
13304         },
13305         {
13306         .description = "allowed_pri",
13307         .field_bit_size = 8,
13308         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13309         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13310         },
13311         {
13312         .description = "default_pri",
13313         .field_bit_size = 3,
13314         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13315         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13316         },
13317         {
13318         .description = "allowed_tpid",
13319         .field_bit_size = 6,
13320         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13321         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13322         },
13323         {
13324         .description = "default_tpid",
13325         .field_bit_size = 3,
13326         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13327         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13328         },
13329         {
13330         .description = "bd_act_en",
13331         .field_bit_size = 1,
13332         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13333         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13334         },
13335         {
13336         .description = "sp_rec_ptr",
13337         .field_bit_size = 16,
13338         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13339         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13340         },
13341         {
13342         .description = "byp_sp_lkup",
13343         .field_bit_size = 1,
13344         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13345         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13346         .field_opr1 = {
13347         1}
13348         },
13349         {
13350         .description = "pri_anti_spoof_ctl",
13351         .field_bit_size = 2,
13352         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13353         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13354         },
13355         {
13356         .description = "tpid_anti_spoof_ctl",
13357         .field_bit_size = 2,
13358         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13359         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13360         },
13361         /* class_tid: 2, , table: mac_addr_cache.wr */
13362         {
13363         .description = "rid",
13364         .field_bit_size = 32,
13365         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13366         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13367         .field_opr1 = {
13368         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
13369         BNXT_ULP_RF_IDX_RID & 0xff}
13370         },
13371         {
13372         .description = "l2_cntxt_tcam_index",
13373         .field_bit_size = 10,
13374         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13375         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13376         },
13377         {
13378         .description = "l2_cntxt_id",
13379         .field_bit_size = 10,
13380         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13381         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13382         .field_opr1 = {
13383         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
13384         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
13385         },
13386         {
13387         .description = "src_property_ptr",
13388         .field_bit_size = 10,
13389         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13390         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13391         },
13392         /* class_tid: 2, , table: profile_tcam.f2 */
13393         {
13394         .description = "wc_key_id",
13395         .field_bit_size = 4,
13396         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13397         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13398         },
13399         {
13400         .description = "wc_profile_id",
13401         .field_bit_size = 8,
13402         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13403         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13404         },
13405         {
13406         .description = "wc_search_en",
13407         .field_bit_size = 1,
13408         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13409         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13410         },
13411         {
13412         .description = "em_key_mask.0",
13413         .field_bit_size = 1,
13414         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13415         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13416         .field_opr1 = {
13417         1}
13418         },
13419         {
13420         .description = "em_key_mask.1",
13421         .field_bit_size = 1,
13422         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13423         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13424         .field_opr1 = {
13425         1}
13426         },
13427         {
13428         .description = "em_key_mask.2",
13429         .field_bit_size = 1,
13430         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13431         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13432         },
13433         {
13434         .description = "em_key_mask.3",
13435         .field_bit_size = 1,
13436         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13437         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13438         .field_opr1 = {
13439         1}
13440         },
13441         {
13442         .description = "em_key_mask.4",
13443         .field_bit_size = 1,
13444         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13445         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13446         .field_opr1 = {
13447         1}
13448         },
13449         {
13450         .description = "em_key_mask.5",
13451         .field_bit_size = 1,
13452         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13453         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13454         },
13455         {
13456         .description = "em_key_mask.6",
13457         .field_bit_size = 1,
13458         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13459         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13460         },
13461         {
13462         .description = "em_key_mask.7",
13463         .field_bit_size = 1,
13464         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13465         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13466         },
13467         {
13468         .description = "em_key_mask.8",
13469         .field_bit_size = 1,
13470         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13471         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13472         },
13473         {
13474         .description = "em_key_mask.9",
13475         .field_bit_size = 1,
13476         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13477         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13478         },
13479         {
13480         .description = "em_key_id",
13481         .field_bit_size = 5,
13482         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13483         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13484         .field_opr1 = {
13485         8}
13486         },
13487         {
13488         .description = "em_profile_id",
13489         .field_bit_size = 8,
13490         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13491         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13492         .field_opr1 = {
13493         (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
13494         BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
13495         },
13496         {
13497         .description = "em_search_en",
13498         .field_bit_size = 1,
13499         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13500         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13501         .field_opr1 = {
13502         1}
13503         },
13504         {
13505         .description = "pl_byp_lkup_en",
13506         .field_bit_size = 1,
13507         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13508         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13509         },
13510         /* class_tid: 2, , table: profile_tcam_cache.f2_wr */
13511         {
13512         .description = "rid",
13513         .field_bit_size = 32,
13514         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13515         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13516         .field_opr1 = {
13517         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
13518         BNXT_ULP_RF_IDX_RID & 0xff}
13519         },
13520         {
13521         .description = "profile_tcam_index",
13522         .field_bit_size = 10,
13523         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13524         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13525         .field_opr1 = {
13526         (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
13527         BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff}
13528         },
13529         {
13530         .description = "em_profile_id",
13531         .field_bit_size = 8,
13532         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13533         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13534         .field_opr1 = {
13535         (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
13536         BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
13537         },
13538         {
13539         .description = "wc_profile_id",
13540         .field_bit_size = 8,
13541         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13542         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13543         },
13544         {
13545         .description = "flow_sig_id",
13546         .field_bit_size = 64,
13547         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13548         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
13549         .field_opr1 = {
13550         (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff,
13551         BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff}
13552         },
13553         /* class_tid: 2, , table: em.tun */
13554         {
13555         .description = "act_rec_ptr",
13556         .field_bit_size = 33,
13557         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13558         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13559         .field_opr1 = {
13560         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
13561         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
13562         },
13563         {
13564         .description = "ext_flow_cntr",
13565         .field_bit_size = 1,
13566         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13567         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13568         },
13569         {
13570         .description = "act_rec_int",
13571         .field_bit_size = 1,
13572         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13573         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13574         },
13575         {
13576         .description = "act_rec_size",
13577         .field_bit_size = 5,
13578         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13579         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13580         },
13581         {
13582         .description = "key_size",
13583         .field_bit_size = 9,
13584         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13585         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13586         },
13587         {
13588         .description = "reserved",
13589         .field_bit_size = 11,
13590         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13591         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13592         },
13593         {
13594         .description = "strength",
13595         .field_bit_size = 2,
13596         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13597         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13598         .field_opr1 = {
13599         3}
13600         },
13601         {
13602         .description = "l1_cacheable",
13603         .field_bit_size = 1,
13604         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13605         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13606         },
13607         {
13608         .description = "valid",
13609         .field_bit_size = 1,
13610         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13611         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13612         .field_opr1 = {
13613         1}
13614         },
13615         /* class_tid: 2, , table: eem.tun */
13616         {
13617         .description = "act_rec_ptr",
13618         .field_bit_size = 33,
13619         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13620         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13621         .field_opr1 = {
13622         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
13623         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
13624         },
13625         {
13626         .description = "ext_flow_cntr",
13627         .field_bit_size = 1,
13628         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13629         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13630         },
13631         {
13632         .description = "act_rec_int",
13633         .field_bit_size = 1,
13634         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13635         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13636         },
13637         {
13638         .description = "act_rec_size",
13639         .field_bit_size = 5,
13640         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13641         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13642         .field_opr1 = {
13643         (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
13644         BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
13645         },
13646         {
13647         .description = "key_size",
13648         .field_bit_size = 9,
13649         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13650         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13651         .field_opr1 = {
13652         (109 >> 8) & 0xff,
13653         109 & 0xff}
13654         },
13655         {
13656         .description = "reserved",
13657         .field_bit_size = 11,
13658         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13659         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13660         },
13661         {
13662         .description = "strength",
13663         .field_bit_size = 2,
13664         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13665         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13666         .field_opr1 = {
13667         3}
13668         },
13669         {
13670         .description = "l1_cacheable",
13671         .field_bit_size = 1,
13672         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13673         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13674         },
13675         {
13676         .description = "valid",
13677         .field_bit_size = 1,
13678         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13679         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13680         .field_opr1 = {
13681         1}
13682         },
13683         /* class_tid: 3, , table: l2_cntxt_tcam.0 */
13684         {
13685         .description = "l2_cntxt_id",
13686         .field_bit_size = 10,
13687         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13688         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13689         .field_opr1 = {
13690         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
13691         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
13692         },
13693         {
13694         .description = "prof_func_id",
13695         .field_bit_size = 7,
13696         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13697         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
13698         .field_opr1 = {
13699         (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
13700         BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}
13701         },
13702         {
13703         .description = "l2_byp_lkup_en",
13704         .field_bit_size = 1,
13705         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13706         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13707         },
13708         {
13709         .description = "parif",
13710         .field_bit_size = 4,
13711         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
13712         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
13713         .field_opr1 = {
13714         (BNXT_ULP_CF_IDX_MATCH_PORT_IS_VFREP >> 8) & 0xff,
13715         BNXT_ULP_CF_IDX_MATCH_PORT_IS_VFREP & 0xff},
13716         .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
13717         .field_opr2 = {
13718                 ULP_WP_SYM_LOOPBACK_PARIF},
13719         .field_src3 = BNXT_ULP_FIELD_SRC_CF,
13720         .field_opr3 = {
13721         (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
13722         BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
13723         },
13724         {
13725         .description = "allowed_pri",
13726         .field_bit_size = 8,
13727         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13728         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13729         },
13730         {
13731         .description = "default_pri",
13732         .field_bit_size = 3,
13733         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13734         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13735         },
13736         {
13737         .description = "allowed_tpid",
13738         .field_bit_size = 6,
13739         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13740         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13741         },
13742         {
13743         .description = "default_tpid",
13744         .field_bit_size = 3,
13745         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13746         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13747         },
13748         {
13749         .description = "bd_act_en",
13750         .field_bit_size = 1,
13751         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13752         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13753         },
13754         {
13755         .description = "sp_rec_ptr",
13756         .field_bit_size = 16,
13757         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13758         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13759         .field_opr1 = {
13760         (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff,
13761         BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff}
13762         },
13763         {
13764         .description = "byp_sp_lkup",
13765         .field_bit_size = 1,
13766         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13767         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13768         .field_opr1 = {
13769         1}
13770         },
13771         {
13772         .description = "pri_anti_spoof_ctl",
13773         .field_bit_size = 2,
13774         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13775         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13776         },
13777         {
13778         .description = "tpid_anti_spoof_ctl",
13779         .field_bit_size = 2,
13780         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13781         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13782         },
13783         /* class_tid: 3, , table: mac_addr_cache.wr */
13784         {
13785         .description = "rid",
13786         .field_bit_size = 32,
13787         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13788         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13789         .field_opr1 = {
13790         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
13791         BNXT_ULP_RF_IDX_RID & 0xff}
13792         },
13793         {
13794         .description = "l2_cntxt_tcam_index",
13795         .field_bit_size = 10,
13796         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13797         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13798         .field_opr1 = {
13799         (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
13800         BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
13801         },
13802         {
13803         .description = "l2_cntxt_id",
13804         .field_bit_size = 10,
13805         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13806         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13807         .field_opr1 = {
13808         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
13809         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
13810         },
13811         {
13812         .description = "src_property_ptr",
13813         .field_bit_size = 10,
13814         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13815         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13816         },
13817         /* class_tid: 3, , table: profile_tcam.ipv4 */
13818         {
13819         .description = "wc_key_id",
13820         .field_bit_size = 4,
13821         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13822         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13823         },
13824         {
13825         .description = "wc_profile_id",
13826         .field_bit_size = 8,
13827         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13828         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13829         },
13830         {
13831         .description = "wc_search_en",
13832         .field_bit_size = 1,
13833         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13834         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13835         },
13836         {
13837         .description = "em_key_mask.0",
13838         .field_bit_size = 1,
13839         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13840         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13841         .field_opr1 = {
13842         1}
13843         },
13844         {
13845         .description = "em_key_mask.1",
13846         .field_bit_size = 1,
13847         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13848         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
13849         .field_opr1 = {
13850         (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
13851         BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
13852         },
13853         {
13854         .description = "em_key_mask.2",
13855         .field_bit_size = 1,
13856         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13857         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
13858         .field_opr1 = {
13859         (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
13860         BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
13861         },
13862         {
13863         .description = "em_key_mask.3",
13864         .field_bit_size = 1,
13865         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13866         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
13867         .field_opr1 = {
13868         (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
13869         BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
13870         },
13871         {
13872         .description = "em_key_mask.4",
13873         .field_bit_size = 1,
13874         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13875         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
13876         .field_opr1 = {
13877         (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
13878         BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}
13879         },
13880         {
13881         .description = "em_key_mask.5",
13882         .field_bit_size = 1,
13883         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
13884         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
13885         .field_opr1 = {
13886         (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
13887         BNXT_ULP_CF_IDX_O_L4 & 0xff},
13888         .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
13889         .field_opr2 = {
13890                 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
13891                 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
13892         .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
13893         .field_opr3 = {
13894         (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
13895         BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}
13896         },
13897         {
13898         .description = "em_key_mask.6",
13899         .field_bit_size = 1,
13900         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
13901         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
13902         .field_opr1 = {
13903         (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
13904         BNXT_ULP_CF_IDX_O_L4 & 0xff},
13905         .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
13906         .field_opr2 = {
13907                 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
13908                 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
13909         .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
13910         .field_opr3 = {
13911         (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
13912         BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}
13913         },
13914         {
13915         .description = "em_key_mask.7",
13916         .field_bit_size = 1,
13917         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13918         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13919         },
13920         {
13921         .description = "em_key_mask.8",
13922         .field_bit_size = 1,
13923         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13924         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13925         },
13926         {
13927         .description = "em_key_mask.9",
13928         .field_bit_size = 1,
13929         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13930         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13931         },
13932         {
13933         .description = "em_key_id",
13934         .field_bit_size = 5,
13935         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13936         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13937         .field_opr1 = {
13938         4}
13939         },
13940         {
13941         .description = "em_profile_id",
13942         .field_bit_size = 8,
13943         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13944         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13945         .field_opr1 = {
13946         (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
13947         BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
13948         },
13949         {
13950         .description = "em_search_en",
13951         .field_bit_size = 1,
13952         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13953         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13954         .field_opr1 = {
13955         1}
13956         },
13957         {
13958         .description = "pl_byp_lkup_en",
13959         .field_bit_size = 1,
13960         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13961         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13962         },
13963         /* class_tid: 3, , table: profile_tcam.ipv6 */
13964         {
13965         .description = "wc_key_id",
13966         .field_bit_size = 4,
13967         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13968         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13969         },
13970         {
13971         .description = "wc_profile_id",
13972         .field_bit_size = 8,
13973         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13974         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13975         },
13976         {
13977         .description = "wc_search_en",
13978         .field_bit_size = 1,
13979         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13980         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13981         },
13982         {
13983         .description = "em_key_mask.0",
13984         .field_bit_size = 1,
13985         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13986         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13987         .field_opr1 = {
13988         1}
13989         },
13990         {
13991         .description = "em_key_mask.1",
13992         .field_bit_size = 1,
13993         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13994         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
13995         .field_opr1 = {
13996         (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
13997         BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
13998         },
13999         {
14000         .description = "em_key_mask.2",
14001         .field_bit_size = 1,
14002         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14003         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14004         },
14005         {
14006         .description = "em_key_mask.3",
14007         .field_bit_size = 1,
14008         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14009         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
14010         .field_opr1 = {
14011         (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
14012         BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
14013         },
14014         {
14015         .description = "em_key_mask.4",
14016         .field_bit_size = 1,
14017         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14018         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
14019         .field_opr1 = {
14020         (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
14021         BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
14022         },
14023         {
14024         .description = "em_key_mask.5",
14025         .field_bit_size = 1,
14026         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14027         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
14028         .field_opr1 = {
14029         (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
14030         BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}
14031         },
14032         {
14033         .description = "em_key_mask.6",
14034         .field_bit_size = 1,
14035         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
14036         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
14037         .field_opr1 = {
14038         (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
14039         BNXT_ULP_CF_IDX_O_L4 & 0xff},
14040         .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
14041         .field_opr2 = {
14042                 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
14043                 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
14044         .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
14045         .field_opr3 = {
14046         (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
14047         BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}
14048         },
14049         {
14050         .description = "em_key_mask.7",
14051         .field_bit_size = 1,
14052         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
14053         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
14054         .field_opr1 = {
14055         (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
14056         BNXT_ULP_CF_IDX_O_L4 & 0xff},
14057         .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
14058         .field_opr2 = {
14059                 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
14060                 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
14061         .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
14062         .field_opr3 = {
14063         (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
14064         BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}
14065         },
14066         {
14067         .description = "em_key_mask.8",
14068         .field_bit_size = 1,
14069         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14070         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14071         },
14072         {
14073         .description = "em_key_mask.9",
14074         .field_bit_size = 1,
14075         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14076         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14077         },
14078         {
14079         .description = "em_key_id",
14080         .field_bit_size = 5,
14081         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14082         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14083         .field_opr1 = {
14084         7}
14085         },
14086         {
14087         .description = "em_profile_id",
14088         .field_bit_size = 8,
14089         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14090         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14091         .field_opr1 = {
14092         (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
14093         BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
14094         },
14095         {
14096         .description = "em_search_en",
14097         .field_bit_size = 1,
14098         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14099         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14100         .field_opr1 = {
14101         1}
14102         },
14103         {
14104         .description = "pl_byp_lkup_en",
14105         .field_bit_size = 1,
14106         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14107         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14108         },
14109         /* class_tid: 3, , table: profile_tcam_cache.wr */
14110         {
14111         .description = "rid",
14112         .field_bit_size = 32,
14113         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14114         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14115         .field_opr1 = {
14116         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
14117         BNXT_ULP_RF_IDX_RID & 0xff}
14118         },
14119         {
14120         .description = "profile_tcam_index",
14121         .field_bit_size = 10,
14122         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14123         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14124         .field_opr1 = {
14125         (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
14126         BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff}
14127         },
14128         {
14129         .description = "em_profile_id",
14130         .field_bit_size = 8,
14131         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14132         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14133         .field_opr1 = {
14134         (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
14135         BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
14136         },
14137         {
14138         .description = "wc_profile_id",
14139         .field_bit_size = 8,
14140         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14141         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14142         },
14143         {
14144         .description = "flow_sig_id",
14145         .field_bit_size = 64,
14146         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14147         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
14148         .field_opr1 = {
14149         (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff,
14150         BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff}
14151         },
14152         /* class_tid: 3, , table: em.ipv4 */
14153         {
14154         .description = "act_rec_ptr",
14155         .field_bit_size = 33,
14156         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14157         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14158         .field_opr1 = {
14159         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
14160         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
14161         },
14162         {
14163         .description = "ext_flow_cntr",
14164         .field_bit_size = 1,
14165         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14166         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14167         },
14168         {
14169         .description = "act_rec_int",
14170         .field_bit_size = 1,
14171         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14172         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14173         },
14174         {
14175         .description = "act_rec_size",
14176         .field_bit_size = 5,
14177         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14178         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14179         },
14180         {
14181         .description = "key_size",
14182         .field_bit_size = 9,
14183         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14184         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14185         },
14186         {
14187         .description = "reserved",
14188         .field_bit_size = 11,
14189         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14190         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14191         },
14192         {
14193         .description = "strength",
14194         .field_bit_size = 2,
14195         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14196         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14197         .field_opr1 = {
14198         3}
14199         },
14200         {
14201         .description = "l1_cacheable",
14202         .field_bit_size = 1,
14203         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14204         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14205         },
14206         {
14207         .description = "valid",
14208         .field_bit_size = 1,
14209         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14210         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14211         .field_opr1 = {
14212         1}
14213         },
14214         /* class_tid: 3, , table: eem.ipv4 */
14215         {
14216         .description = "act_rec_ptr",
14217         .field_bit_size = 33,
14218         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14219         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14220         .field_opr1 = {
14221         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
14222         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
14223         },
14224         {
14225         .description = "ext_flow_cntr",
14226         .field_bit_size = 1,
14227         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14228         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14229         },
14230         {
14231         .description = "act_rec_int",
14232         .field_bit_size = 1,
14233         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14234         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14235         },
14236         {
14237         .description = "act_rec_size",
14238         .field_bit_size = 5,
14239         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14240         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14241         .field_opr1 = {
14242         (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
14243         BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
14244         },
14245         {
14246         .description = "key_size",
14247         .field_bit_size = 9,
14248         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14249         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14250         .field_opr1 = {
14251         (173 >> 8) & 0xff,
14252         173 & 0xff}
14253         },
14254         {
14255         .description = "reserved",
14256         .field_bit_size = 11,
14257         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14258         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14259         },
14260         {
14261         .description = "strength",
14262         .field_bit_size = 2,
14263         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14264         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14265         .field_opr1 = {
14266         3}
14267         },
14268         {
14269         .description = "l1_cacheable",
14270         .field_bit_size = 1,
14271         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14272         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14273         },
14274         {
14275         .description = "valid",
14276         .field_bit_size = 1,
14277         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14278         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14279         .field_opr1 = {
14280         1}
14281         },
14282         /* class_tid: 3, , table: em.ipv6 */
14283         {
14284         .description = "act_rec_ptr",
14285         .field_bit_size = 33,
14286         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14287         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14288         .field_opr1 = {
14289         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
14290         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
14291         },
14292         {
14293         .description = "ext_flow_cntr",
14294         .field_bit_size = 1,
14295         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14296         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14297         },
14298         {
14299         .description = "act_rec_int",
14300         .field_bit_size = 1,
14301         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14302         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14303         },
14304         {
14305         .description = "act_rec_size",
14306         .field_bit_size = 5,
14307         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14308         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14309         },
14310         {
14311         .description = "key_size",
14312         .field_bit_size = 9,
14313         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14314         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14315         },
14316         {
14317         .description = "reserved",
14318         .field_bit_size = 11,
14319         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14320         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14321         },
14322         {
14323         .description = "strength",
14324         .field_bit_size = 2,
14325         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14326         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14327         .field_opr1 = {
14328         3}
14329         },
14330         {
14331         .description = "l1_cacheable",
14332         .field_bit_size = 1,
14333         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14334         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14335         },
14336         {
14337         .description = "valid",
14338         .field_bit_size = 1,
14339         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14340         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14341         .field_opr1 = {
14342         1}
14343         },
14344         /* class_tid: 3, , table: eem.ipv6 */
14345         {
14346         .description = "act_rec_ptr",
14347         .field_bit_size = 33,
14348         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14349         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14350         .field_opr1 = {
14351         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
14352         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
14353         },
14354         {
14355         .description = "ext_flow_cntr",
14356         .field_bit_size = 1,
14357         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14358         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14359         },
14360         {
14361         .description = "act_rec_int",
14362         .field_bit_size = 1,
14363         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14364         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14365         },
14366         {
14367         .description = "act_rec_size",
14368         .field_bit_size = 5,
14369         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14370         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14371         .field_opr1 = {
14372         (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
14373         BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
14374         },
14375         {
14376         .description = "key_size",
14377         .field_bit_size = 9,
14378         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14379         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14380         .field_opr1 = {
14381         (413 >> 8) & 0xff,
14382         413 & 0xff}
14383         },
14384         {
14385         .description = "reserved",
14386         .field_bit_size = 11,
14387         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14388         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14389         },
14390         {
14391         .description = "strength",
14392         .field_bit_size = 2,
14393         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14394         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14395         .field_opr1 = {
14396         3}
14397         },
14398         {
14399         .description = "l1_cacheable",
14400         .field_bit_size = 1,
14401         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14402         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14403         },
14404         {
14405         .description = "valid",
14406         .field_bit_size = 1,
14407         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14408         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14409         .field_opr1 = {
14410         1}
14411         },
14412         /* class_tid: 4, , table: int_full_act_record.ing_0 */
14413         {
14414         .description = "flow_cntr_ptr",
14415         .field_bit_size = 14,
14416         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14417         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14418         },
14419         {
14420         .description = "age_enable",
14421         .field_bit_size = 1,
14422         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14423         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14424         },
14425         {
14426         .description = "agg_cntr_en",
14427         .field_bit_size = 1,
14428         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14429         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14430         },
14431         {
14432         .description = "rate_cntr_en",
14433         .field_bit_size = 1,
14434         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14435         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14436         },
14437         {
14438         .description = "flow_cntr_en",
14439         .field_bit_size = 1,
14440         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14441         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14442         },
14443         {
14444         .description = "tcpflags_key",
14445         .field_bit_size = 8,
14446         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14447         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14448         },
14449         {
14450         .description = "tcpflags_mir",
14451         .field_bit_size = 1,
14452         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14453         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14454         },
14455         {
14456         .description = "tcpflags_match",
14457         .field_bit_size = 1,
14458         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14459         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14460         },
14461         {
14462         .description = "encap_ptr",
14463         .field_bit_size = 11,
14464         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14465         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14466         },
14467         {
14468         .description = "dst_ip_ptr",
14469         .field_bit_size = 10,
14470         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14471         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14472         },
14473         {
14474         .description = "tcp_dst_port",
14475         .field_bit_size = 16,
14476         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14477         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14478         },
14479         {
14480         .description = "src_ip_ptr",
14481         .field_bit_size = 10,
14482         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14483         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14484         },
14485         {
14486         .description = "tcp_src_port",
14487         .field_bit_size = 16,
14488         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14489         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14490         },
14491         {
14492         .description = "meter_id",
14493         .field_bit_size = 10,
14494         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14495         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14496         },
14497         {
14498         .description = "l3_rdir",
14499         .field_bit_size = 1,
14500         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14501         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14502         },
14503         {
14504         .description = "tl3_rdir",
14505         .field_bit_size = 1,
14506         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14507         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14508         },
14509         {
14510         .description = "l3_ttl_dec",
14511         .field_bit_size = 1,
14512         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14513         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14514         },
14515         {
14516         .description = "tl3_ttl_dec",
14517         .field_bit_size = 1,
14518         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14519         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14520         },
14521         {
14522         .description = "decap_func",
14523         .field_bit_size = 4,
14524         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14525         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14526         },
14527         {
14528         .description = "vnic_or_vport",
14529         .field_bit_size = 12,
14530         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14531         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
14532         .field_opr1 = {
14533         (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
14534         BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}
14535         },
14536         {
14537         .description = "pop_vlan",
14538         .field_bit_size = 1,
14539         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14540         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14541         },
14542         {
14543         .description = "meter",
14544         .field_bit_size = 1,
14545         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14546         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14547         },
14548         {
14549         .description = "mirror",
14550         .field_bit_size = 2,
14551         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14552         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14553         },
14554         {
14555         .description = "drop",
14556         .field_bit_size = 1,
14557         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14558         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14559         },
14560         {
14561         .description = "hit",
14562         .field_bit_size = 1,
14563         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14564         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14565         },
14566         {
14567         .description = "type",
14568         .field_bit_size = 1,
14569         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14570         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14571         },
14572         /* class_tid: 4, , table: l2_cntxt_tcam.ing_0 */
14573         {
14574         .description = "l2_cntxt_id",
14575         .field_bit_size = 10,
14576         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14577         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14578         .field_opr1 = {
14579         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
14580         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
14581         },
14582         {
14583         .description = "prof_func_id",
14584         .field_bit_size = 7,
14585         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14586         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
14587         .field_opr1 = {
14588         (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
14589         BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
14590         },
14591         {
14592         .description = "l2_byp_lkup_en",
14593         .field_bit_size = 1,
14594         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14595         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14596         },
14597         {
14598         .description = "parif",
14599         .field_bit_size = 4,
14600         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14601         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
14602         .field_opr1 = {
14603         (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
14604         BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
14605         },
14606         {
14607         .description = "allowed_pri",
14608         .field_bit_size = 8,
14609         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14610         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14611         },
14612         {
14613         .description = "default_pri",
14614         .field_bit_size = 3,
14615         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14616         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14617         },
14618         {
14619         .description = "allowed_tpid",
14620         .field_bit_size = 6,
14621         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14622         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14623         },
14624         {
14625         .description = "default_tpid",
14626         .field_bit_size = 3,
14627         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14628         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14629         },
14630         {
14631         .description = "bd_act_en",
14632         .field_bit_size = 1,
14633         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14634         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14635         },
14636         {
14637         .description = "sp_rec_ptr",
14638         .field_bit_size = 16,
14639         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14640         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14641         },
14642         {
14643         .description = "byp_sp_lkup",
14644         .field_bit_size = 1,
14645         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14646         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14647         .field_opr1 = {
14648         1}
14649         },
14650         {
14651         .description = "pri_anti_spoof_ctl",
14652         .field_bit_size = 2,
14653         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14654         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14655         },
14656         {
14657         .description = "tpid_anti_spoof_ctl",
14658         .field_bit_size = 2,
14659         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14660         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14661         },
14662         /* class_tid: 4, , table: l2_cntxt_tcam_cache.ing_wr */
14663         {
14664         .description = "rid",
14665         .field_bit_size = 32,
14666         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14667         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14668         .field_opr1 = {
14669         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
14670         BNXT_ULP_RF_IDX_RID & 0xff}
14671         },
14672         {
14673         .description = "l2_cntxt_tcam_index",
14674         .field_bit_size = 10,
14675         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14676         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14677         .field_opr1 = {
14678         (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
14679         BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
14680         },
14681         {
14682         .description = "l2_cntxt_id",
14683         .field_bit_size = 10,
14684         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14685         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14686         .field_opr1 = {
14687         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
14688         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
14689         },
14690         {
14691         .description = "src_property_ptr",
14692         .field_bit_size = 10,
14693         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14694         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14695         },
14696         /* class_tid: 4, , table: parif_def_lkup_arec_ptr.ing_0 */
14697         {
14698         .description = "act_rec_ptr",
14699         .field_bit_size = 32,
14700         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14701         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14702         .field_opr1 = {
14703         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
14704         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
14705         },
14706         /* class_tid: 4, , table: parif_def_arec_ptr.ing_0 */
14707         {
14708         .description = "act_rec_ptr",
14709         .field_bit_size = 32,
14710         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14711         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14712         .field_opr1 = {
14713         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
14714         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
14715         },
14716         /* class_tid: 4, , table: parif_def_err_arec_ptr.ing_0 */
14717         {
14718         .description = "act_rec_ptr",
14719         .field_bit_size = 32,
14720         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14721         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14722         .field_opr1 = {
14723         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
14724         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
14725         },
14726         /* class_tid: 4, , table: int_full_act_record.egr_vfr */
14727         {
14728         .description = "flow_cntr_ptr",
14729         .field_bit_size = 14,
14730         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14731         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14732         },
14733         {
14734         .description = "age_enable",
14735         .field_bit_size = 1,
14736         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14737         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14738         },
14739         {
14740         .description = "agg_cntr_en",
14741         .field_bit_size = 1,
14742         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14743         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14744         },
14745         {
14746         .description = "rate_cntr_en",
14747         .field_bit_size = 1,
14748         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14749         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14750         },
14751         {
14752         .description = "flow_cntr_en",
14753         .field_bit_size = 1,
14754         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14755         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14756         },
14757         {
14758         .description = "tcpflags_key",
14759         .field_bit_size = 8,
14760         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14761         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14762         },
14763         {
14764         .description = "tcpflags_mir",
14765         .field_bit_size = 1,
14766         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14767         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14768         },
14769         {
14770         .description = "tcpflags_match",
14771         .field_bit_size = 1,
14772         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14773         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14774         },
14775         {
14776         .description = "encap_ptr",
14777         .field_bit_size = 11,
14778         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14779         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14780         },
14781         {
14782         .description = "dst_ip_ptr",
14783         .field_bit_size = 10,
14784         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14785         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14786         },
14787         {
14788         .description = "tcp_dst_port",
14789         .field_bit_size = 16,
14790         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14791         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14792         },
14793         {
14794         .description = "src_ip_ptr",
14795         .field_bit_size = 10,
14796         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14797         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14798         },
14799         {
14800         .description = "tcp_src_port",
14801         .field_bit_size = 16,
14802         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14803         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14804         },
14805         {
14806         .description = "meter_id",
14807         .field_bit_size = 10,
14808         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14809         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14810         },
14811         {
14812         .description = "l3_rdir",
14813         .field_bit_size = 1,
14814         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14815         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14816         },
14817         {
14818         .description = "tl3_rdir",
14819         .field_bit_size = 1,
14820         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14821         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14822         },
14823         {
14824         .description = "l3_ttl_dec",
14825         .field_bit_size = 1,
14826         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14827         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14828         },
14829         {
14830         .description = "tl3_ttl_dec",
14831         .field_bit_size = 1,
14832         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14833         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14834         },
14835         {
14836         .description = "decap_func",
14837         .field_bit_size = 4,
14838         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14839         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14840         },
14841         {
14842         .description = "vnic_or_vport",
14843         .field_bit_size = 12,
14844         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14845         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
14846         .field_opr1 = {
14847         (BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff,
14848         BNXT_ULP_CF_IDX_PHY_PORT_VPORT & 0xff}
14849         },
14850         {
14851         .description = "pop_vlan",
14852         .field_bit_size = 1,
14853         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14854         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14855         },
14856         {
14857         .description = "meter",
14858         .field_bit_size = 1,
14859         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14860         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14861         },
14862         {
14863         .description = "mirror",
14864         .field_bit_size = 2,
14865         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14866         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14867         },
14868         {
14869         .description = "drop",
14870         .field_bit_size = 1,
14871         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14872         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14873         },
14874         {
14875         .description = "hit",
14876         .field_bit_size = 1,
14877         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14878         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14879         },
14880         {
14881         .description = "type",
14882         .field_bit_size = 1,
14883         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14884         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14885         },
14886         /* class_tid: 4, , table: l2_cntxt_tcam_bypass.egr_vfr */
14887         {
14888         .description = "act_record_ptr",
14889         .field_bit_size = 16,
14890         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14891         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14892         },
14893         {
14894         .description = "reserved",
14895         .field_bit_size = 1,
14896         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14897         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14898         },
14899         {
14900         .description = "l2_byp_lkup_en",
14901         .field_bit_size = 1,
14902         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14903         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14904         .field_opr1 = {
14905         1}
14906         },
14907         {
14908         .description = "parif",
14909         .field_bit_size = 4,
14910         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14911         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
14912         .field_opr1 = {
14913         (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
14914         BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
14915         },
14916         {
14917         .description = "allowed_pri",
14918         .field_bit_size = 8,
14919         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14920         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14921         },
14922         {
14923         .description = "default_pri",
14924         .field_bit_size = 3,
14925         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14926         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14927         },
14928         {
14929         .description = "allowed_tpid",
14930         .field_bit_size = 6,
14931         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14932         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14933         },
14934         {
14935         .description = "default_tpid",
14936         .field_bit_size = 3,
14937         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14938         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14939         },
14940         {
14941         .description = "bd_act_en",
14942         .field_bit_size = 1,
14943         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14944         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14945         .field_opr1 = {
14946         1}
14947         },
14948         {
14949         .description = "sp_rec_ptr",
14950         .field_bit_size = 16,
14951         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14952         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14953         },
14954         {
14955         .description = "byp_sp_lkup",
14956         .field_bit_size = 1,
14957         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14958         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14959         .field_opr1 = {
14960         1}
14961         },
14962         {
14963         .description = "pri_anti_spoof_ctl",
14964         .field_bit_size = 2,
14965         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14966         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14967         },
14968         {
14969         .description = "tpid_anti_spoof_ctl",
14970         .field_bit_size = 2,
14971         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14972         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14973         },
14974         /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr_vfr */
14975         {
14976         .description = "rid",
14977         .field_bit_size = 32,
14978         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14979         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14980         .field_opr1 = {
14981         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
14982         BNXT_ULP_RF_IDX_RID & 0xff}
14983         },
14984         {
14985         .description = "l2_cntxt_tcam_index",
14986         .field_bit_size = 10,
14987         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14988         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14989         .field_opr1 = {
14990         (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
14991         BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
14992         },
14993         {
14994         .description = "l2_cntxt_id",
14995         .field_bit_size = 10,
14996         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14997         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14998         },
14999         {
15000         .description = "src_property_ptr",
15001         .field_bit_size = 10,
15002         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15003         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15004         },
15005         /* class_tid: 4, , table: l2_cntxt_tcam.egr_0 */
15006         {
15007         .description = "l2_cntxt_id",
15008         .field_bit_size = 10,
15009         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15010         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
15011         .field_opr1 = {
15012         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
15013         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
15014         },
15015         {
15016         .description = "prof_func_id",
15017         .field_bit_size = 7,
15018         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15019         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
15020         .field_opr1 = {
15021         (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
15022         BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
15023         },
15024         {
15025         .description = "l2_byp_lkup_en",
15026         .field_bit_size = 1,
15027         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15028         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15029         },
15030         {
15031         .description = "parif",
15032         .field_bit_size = 4,
15033         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15034         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
15035         .field_opr1 = {
15036         (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
15037         BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
15038         },
15039         {
15040         .description = "allowed_pri",
15041         .field_bit_size = 8,
15042         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15043         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15044         },
15045         {
15046         .description = "default_pri",
15047         .field_bit_size = 3,
15048         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15049         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15050         },
15051         {
15052         .description = "allowed_tpid",
15053         .field_bit_size = 6,
15054         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15055         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15056         },
15057         {
15058         .description = "default_tpid",
15059         .field_bit_size = 3,
15060         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15061         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15062         },
15063         {
15064         .description = "bd_act_en",
15065         .field_bit_size = 1,
15066         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15067         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15068         },
15069         {
15070         .description = "sp_rec_ptr",
15071         .field_bit_size = 16,
15072         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15073         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15074         },
15075         {
15076         .description = "byp_sp_lkup",
15077         .field_bit_size = 1,
15078         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15079         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
15080         .field_opr1 = {
15081         1}
15082         },
15083         {
15084         .description = "pri_anti_spoof_ctl",
15085         .field_bit_size = 2,
15086         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15087         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15088         },
15089         {
15090         .description = "tpid_anti_spoof_ctl",
15091         .field_bit_size = 2,
15092         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15093         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15094         },
15095         /* class_tid: 4, , table: l2_cntxt_tcam_cache.egr_wr */
15096         {
15097         .description = "rid",
15098         .field_bit_size = 32,
15099         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15100         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
15101         .field_opr1 = {
15102         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
15103         BNXT_ULP_RF_IDX_RID & 0xff}
15104         },
15105         {
15106         .description = "l2_cntxt_tcam_index",
15107         .field_bit_size = 10,
15108         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15109         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
15110         .field_opr1 = {
15111         (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
15112         BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
15113         },
15114         {
15115         .description = "l2_cntxt_id",
15116         .field_bit_size = 10,
15117         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15118         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
15119         .field_opr1 = {
15120         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
15121         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
15122         },
15123         {
15124         .description = "src_property_ptr",
15125         .field_bit_size = 10,
15126         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15127         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15128         },
15129         /* class_tid: 4, , table: int_full_act_record.egr_0 */
15130         {
15131         .description = "flow_cntr_ptr",
15132         .field_bit_size = 14,
15133         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15134         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15135         },
15136         {
15137         .description = "age_enable",
15138         .field_bit_size = 1,
15139         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15140         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15141         },
15142         {
15143         .description = "agg_cntr_en",
15144         .field_bit_size = 1,
15145         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15146         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15147         },
15148         {
15149         .description = "rate_cntr_en",
15150         .field_bit_size = 1,
15151         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15152         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15153         },
15154         {
15155         .description = "flow_cntr_en",
15156         .field_bit_size = 1,
15157         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15158         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15159         },
15160         {
15161         .description = "tcpflags_key",
15162         .field_bit_size = 8,
15163         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15164         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15165         },
15166         {
15167         .description = "tcpflags_mir",
15168         .field_bit_size = 1,
15169         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15170         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15171         },
15172         {
15173         .description = "tcpflags_match",
15174         .field_bit_size = 1,
15175         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15176         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15177         },
15178         {
15179         .description = "encap_ptr",
15180         .field_bit_size = 11,
15181         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15182         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15183         },
15184         {
15185         .description = "dst_ip_ptr",
15186         .field_bit_size = 10,
15187         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15188         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15189         },
15190         {
15191         .description = "tcp_dst_port",
15192         .field_bit_size = 16,
15193         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15194         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15195         },
15196         {
15197         .description = "src_ip_ptr",
15198         .field_bit_size = 10,
15199         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15200         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15201         },
15202         {
15203         .description = "tcp_src_port",
15204         .field_bit_size = 16,
15205         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15206         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15207         },
15208         {
15209         .description = "meter_id",
15210         .field_bit_size = 10,
15211         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15212         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15213         },
15214         {
15215         .description = "l3_rdir",
15216         .field_bit_size = 1,
15217         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15218         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15219         },
15220         {
15221         .description = "tl3_rdir",
15222         .field_bit_size = 1,
15223         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15224         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15225         },
15226         {
15227         .description = "l3_ttl_dec",
15228         .field_bit_size = 1,
15229         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15230         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15231         },
15232         {
15233         .description = "tl3_ttl_dec",
15234         .field_bit_size = 1,
15235         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15236         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15237         },
15238         {
15239         .description = "decap_func",
15240         .field_bit_size = 4,
15241         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15242         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15243         },
15244         {
15245         .description = "vnic_or_vport",
15246         .field_bit_size = 12,
15247         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15248         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
15249         .field_opr1 = {
15250         (BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff,
15251         BNXT_ULP_CF_IDX_PHY_PORT_VPORT & 0xff}
15252         },
15253         {
15254         .description = "pop_vlan",
15255         .field_bit_size = 1,
15256         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15257         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15258         },
15259         {
15260         .description = "meter",
15261         .field_bit_size = 1,
15262         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15263         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15264         },
15265         {
15266         .description = "mirror",
15267         .field_bit_size = 2,
15268         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15269         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15270         },
15271         {
15272         .description = "drop",
15273         .field_bit_size = 1,
15274         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15275         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15276         },
15277         {
15278         .description = "hit",
15279         .field_bit_size = 1,
15280         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15281         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15282         },
15283         {
15284         .description = "type",
15285         .field_bit_size = 1,
15286         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15287         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15288         },
15289         /* class_tid: 4, , table: parif_def_lkup_arec_ptr.egr_0 */
15290         {
15291         .description = "act_rec_ptr",
15292         .field_bit_size = 32,
15293         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15294         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
15295         .field_opr1 = {
15296         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
15297         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
15298         },
15299         /* class_tid: 4, , table: parif_def_arec_ptr.egr_0 */
15300         {
15301         .description = "act_rec_ptr",
15302         .field_bit_size = 32,
15303         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15304         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
15305         .field_opr1 = {
15306         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
15307         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
15308         },
15309         /* class_tid: 4, , table: parif_def_err_arec_ptr.egr_0 */
15310         {
15311         .description = "act_rec_ptr",
15312         .field_bit_size = 32,
15313         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15314         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
15315         .field_opr1 = {
15316         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
15317         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
15318         },
15319         /* class_tid: 5, , table: int_full_act_record.loopback */
15320         {
15321         .description = "flow_cntr_ptr",
15322         .field_bit_size = 14,
15323         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15324         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15325         },
15326         {
15327         .description = "age_enable",
15328         .field_bit_size = 1,
15329         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15330         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15331         },
15332         {
15333         .description = "agg_cntr_en",
15334         .field_bit_size = 1,
15335         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15336         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15337         },
15338         {
15339         .description = "rate_cntr_en",
15340         .field_bit_size = 1,
15341         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15342         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15343         },
15344         {
15345         .description = "flow_cntr_en",
15346         .field_bit_size = 1,
15347         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15348         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15349         },
15350         {
15351         .description = "tcpflags_key",
15352         .field_bit_size = 8,
15353         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15354         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15355         },
15356         {
15357         .description = "tcpflags_mir",
15358         .field_bit_size = 1,
15359         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15360         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15361         },
15362         {
15363         .description = "tcpflags_match",
15364         .field_bit_size = 1,
15365         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15366         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15367         },
15368         {
15369         .description = "encap_ptr",
15370         .field_bit_size = 11,
15371         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15372         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15373         },
15374         {
15375         .description = "dst_ip_ptr",
15376         .field_bit_size = 10,
15377         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15378         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15379         },
15380         {
15381         .description = "tcp_dst_port",
15382         .field_bit_size = 16,
15383         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15384         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15385         },
15386         {
15387         .description = "src_ip_ptr",
15388         .field_bit_size = 10,
15389         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15390         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15391         },
15392         {
15393         .description = "tcp_src_port",
15394         .field_bit_size = 16,
15395         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15396         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15397         },
15398         {
15399         .description = "meter_id",
15400         .field_bit_size = 10,
15401         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15402         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15403         },
15404         {
15405         .description = "l3_rdir",
15406         .field_bit_size = 1,
15407         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15408         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15409         },
15410         {
15411         .description = "tl3_rdir",
15412         .field_bit_size = 1,
15413         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15414         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15415         },
15416         {
15417         .description = "l3_ttl_dec",
15418         .field_bit_size = 1,
15419         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15420         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15421         },
15422         {
15423         .description = "tl3_ttl_dec",
15424         .field_bit_size = 1,
15425         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15426         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15427         },
15428         {
15429         .description = "decap_func",
15430         .field_bit_size = 4,
15431         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15432         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15433         },
15434         {
15435         .description = "vnic_or_vport",
15436         .field_bit_size = 12,
15437         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15438         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
15439         .field_opr1 = {
15440         (ULP_WP_SYM_LOOPBACK_PORT >> 8) & 0xff,
15441         ULP_WP_SYM_LOOPBACK_PORT & 0xff}
15442         },
15443         {
15444         .description = "pop_vlan",
15445         .field_bit_size = 1,
15446         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15447         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15448         },
15449         {
15450         .description = "meter",
15451         .field_bit_size = 1,
15452         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15453         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15454         },
15455         {
15456         .description = "mirror",
15457         .field_bit_size = 2,
15458         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15459         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15460         },
15461         {
15462         .description = "drop",
15463         .field_bit_size = 1,
15464         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15465         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15466         },
15467         {
15468         .description = "hit",
15469         .field_bit_size = 1,
15470         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15471         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15472         },
15473         {
15474         .description = "type",
15475         .field_bit_size = 1,
15476         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15477         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15478         },
15479         /* class_tid: 5, , table: l2_cntxt_tcam.vf_egr */
15480         {
15481         .description = "l2_cntxt_id",
15482         .field_bit_size = 10,
15483         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15484         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
15485         .field_opr1 = {
15486         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
15487         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
15488         },
15489         {
15490         .description = "prof_func_id",
15491         .field_bit_size = 7,
15492         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15493         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
15494         .field_opr1 = {
15495         (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
15496         BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
15497         },
15498         {
15499         .description = "l2_byp_lkup_en",
15500         .field_bit_size = 1,
15501         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15502         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15503         },
15504         {
15505         .description = "parif",
15506         .field_bit_size = 4,
15507         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15508         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
15509         .field_opr1 = {
15510         ULP_WP_SYM_LOOPBACK_PARIF}
15511         },
15512         {
15513         .description = "allowed_pri",
15514         .field_bit_size = 8,
15515         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15516         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15517         },
15518         {
15519         .description = "default_pri",
15520         .field_bit_size = 3,
15521         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15522         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15523         },
15524         {
15525         .description = "allowed_tpid",
15526         .field_bit_size = 6,
15527         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15528         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15529         },
15530         {
15531         .description = "default_tpid",
15532         .field_bit_size = 3,
15533         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15534         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15535         },
15536         {
15537         .description = "bd_act_en",
15538         .field_bit_size = 1,
15539         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15540         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15541         },
15542         {
15543         .description = "sp_rec_ptr",
15544         .field_bit_size = 16,
15545         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15546         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15547         },
15548         {
15549         .description = "byp_sp_lkup",
15550         .field_bit_size = 1,
15551         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15552         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
15553         .field_opr1 = {
15554         1}
15555         },
15556         {
15557         .description = "pri_anti_spoof_ctl",
15558         .field_bit_size = 2,
15559         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15560         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15561         },
15562         {
15563         .description = "tpid_anti_spoof_ctl",
15564         .field_bit_size = 2,
15565         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15566         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15567         },
15568         /* class_tid: 5, , table: l2_cntxt_tcam_cache.vf_egr_wr */
15569         {
15570         .description = "rid",
15571         .field_bit_size = 32,
15572         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15573         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
15574         .field_opr1 = {
15575         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
15576         BNXT_ULP_RF_IDX_RID & 0xff}
15577         },
15578         {
15579         .description = "l2_cntxt_tcam_index",
15580         .field_bit_size = 10,
15581         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15582         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
15583         .field_opr1 = {
15584         (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
15585         BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
15586         },
15587         {
15588         .description = "l2_cntxt_id",
15589         .field_bit_size = 10,
15590         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15591         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
15592         .field_opr1 = {
15593         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
15594         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
15595         },
15596         {
15597         .description = "src_property_ptr",
15598         .field_bit_size = 10,
15599         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15600         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15601         },
15602         /* class_tid: 5, , table: parif_def_lkup_arec_ptr.vf_egr */
15603         {
15604         .description = "act_rec_ptr",
15605         .field_bit_size = 32,
15606         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15607         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
15608         .field_opr1 = {
15609         (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
15610         BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
15611         },
15612         /* class_tid: 5, , table: parif_def_arec_ptr.vf_egr */
15613         {
15614         .description = "act_rec_ptr",
15615         .field_bit_size = 32,
15616         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15617         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
15618         .field_opr1 = {
15619         (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
15620         BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
15621         },
15622         /* class_tid: 5, , table: parif_def_err_arec_ptr.vf_egr */
15623         {
15624         .description = "act_rec_ptr",
15625         .field_bit_size = 32,
15626         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15627         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
15628         .field_opr1 = {
15629         (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
15630         BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
15631         },
15632         /* class_tid: 5, , table: int_full_act_record.vf_ing */
15633         {
15634         .description = "flow_cntr_ptr",
15635         .field_bit_size = 14,
15636         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15637         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15638         },
15639         {
15640         .description = "age_enable",
15641         .field_bit_size = 1,
15642         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15643         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15644         },
15645         {
15646         .description = "agg_cntr_en",
15647         .field_bit_size = 1,
15648         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15649         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15650         },
15651         {
15652         .description = "rate_cntr_en",
15653         .field_bit_size = 1,
15654         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15655         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15656         },
15657         {
15658         .description = "flow_cntr_en",
15659         .field_bit_size = 1,
15660         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15661         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15662         },
15663         {
15664         .description = "tcpflags_key",
15665         .field_bit_size = 8,
15666         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15667         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15668         },
15669         {
15670         .description = "tcpflags_mir",
15671         .field_bit_size = 1,
15672         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15673         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15674         },
15675         {
15676         .description = "tcpflags_match",
15677         .field_bit_size = 1,
15678         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15679         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15680         },
15681         {
15682         .description = "encap_ptr",
15683         .field_bit_size = 11,
15684         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15685         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15686         },
15687         {
15688         .description = "dst_ip_ptr",
15689         .field_bit_size = 10,
15690         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15691         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15692         },
15693         {
15694         .description = "tcp_dst_port",
15695         .field_bit_size = 16,
15696         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15697         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15698         },
15699         {
15700         .description = "src_ip_ptr",
15701         .field_bit_size = 10,
15702         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15703         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15704         },
15705         {
15706         .description = "tcp_src_port",
15707         .field_bit_size = 16,
15708         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15709         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15710         },
15711         {
15712         .description = "meter_id",
15713         .field_bit_size = 10,
15714         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15715         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15716         },
15717         {
15718         .description = "l3_rdir",
15719         .field_bit_size = 1,
15720         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15721         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15722         },
15723         {
15724         .description = "tl3_rdir",
15725         .field_bit_size = 1,
15726         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15727         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15728         },
15729         {
15730         .description = "l3_ttl_dec",
15731         .field_bit_size = 1,
15732         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15733         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15734         },
15735         {
15736         .description = "tl3_ttl_dec",
15737         .field_bit_size = 1,
15738         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15739         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15740         },
15741         {
15742         .description = "decap_func",
15743         .field_bit_size = 4,
15744         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15745         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15746         },
15747         {
15748         .description = "vnic_or_vport",
15749         .field_bit_size = 12,
15750         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15751         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
15752         .field_opr1 = {
15753         (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
15754         BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}
15755         },
15756         {
15757         .description = "pop_vlan",
15758         .field_bit_size = 1,
15759         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15760         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15761         },
15762         {
15763         .description = "meter",
15764         .field_bit_size = 1,
15765         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15766         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15767         },
15768         {
15769         .description = "mirror",
15770         .field_bit_size = 2,
15771         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15772         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15773         },
15774         {
15775         .description = "drop",
15776         .field_bit_size = 1,
15777         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15778         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15779         },
15780         {
15781         .description = "hit",
15782         .field_bit_size = 1,
15783         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15784         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15785         },
15786         {
15787         .description = "type",
15788         .field_bit_size = 1,
15789         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15790         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15791         },
15792         /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vf_ing */
15793         {
15794         .description = "act_record_ptr",
15795         .field_bit_size = 16,
15796         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15797         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
15798         .field_opr1 = {
15799         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
15800         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
15801         },
15802         {
15803         .description = "reserved",
15804         .field_bit_size = 1,
15805         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15806         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15807         },
15808         {
15809         .description = "l2_byp_lkup_en",
15810         .field_bit_size = 1,
15811         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15812         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
15813         .field_opr1 = {
15814         1}
15815         },
15816         {
15817         .description = "parif",
15818         .field_bit_size = 4,
15819         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15820         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15821         },
15822         {
15823         .description = "allowed_pri",
15824         .field_bit_size = 8,
15825         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15826         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15827         },
15828         {
15829         .description = "default_pri",
15830         .field_bit_size = 3,
15831         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15832         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15833         },
15834         {
15835         .description = "allowed_tpid",
15836         .field_bit_size = 6,
15837         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15838         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15839         },
15840         {
15841         .description = "default_tpid",
15842         .field_bit_size = 3,
15843         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15844         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15845         },
15846         {
15847         .description = "bd_act_en",
15848         .field_bit_size = 1,
15849         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15850         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15851         },
15852         {
15853         .description = "sp_rec_ptr",
15854         .field_bit_size = 16,
15855         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15856         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15857         },
15858         {
15859         .description = "byp_sp_lkup",
15860         .field_bit_size = 1,
15861         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15862         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
15863         .field_opr1 = {
15864         1}
15865         },
15866         {
15867         .description = "pri_anti_spoof_ctl",
15868         .field_bit_size = 2,
15869         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15870         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15871         },
15872         {
15873         .description = "tpid_anti_spoof_ctl",
15874         .field_bit_size = 2,
15875         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15876         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15877         },
15878         /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_egr0 */
15879         {
15880         .description = "act_record_ptr",
15881         .field_bit_size = 16,
15882         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15883         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15884         },
15885         {
15886         .description = "reserved",
15887         .field_bit_size = 1,
15888         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15889         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15890         },
15891         {
15892         .description = "l2_byp_lkup_en",
15893         .field_bit_size = 1,
15894         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15895         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
15896         .field_opr1 = {
15897         1}
15898         },
15899         {
15900         .description = "parif",
15901         .field_bit_size = 4,
15902         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15903         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15904         },
15905         {
15906         .description = "allowed_pri",
15907         .field_bit_size = 8,
15908         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15909         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15910         },
15911         {
15912         .description = "default_pri",
15913         .field_bit_size = 3,
15914         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15915         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15916         },
15917         {
15918         .description = "allowed_tpid",
15919         .field_bit_size = 6,
15920         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15921         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15922         },
15923         {
15924         .description = "default_tpid",
15925         .field_bit_size = 3,
15926         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15927         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15928         },
15929         {
15930         .description = "bd_act_en",
15931         .field_bit_size = 1,
15932         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15933         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
15934         .field_opr1 = {
15935         1}
15936         },
15937         {
15938         .description = "sp_rec_ptr",
15939         .field_bit_size = 16,
15940         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15941         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15942         },
15943         {
15944         .description = "byp_sp_lkup",
15945         .field_bit_size = 1,
15946         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15947         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
15948         .field_opr1 = {
15949         1}
15950         },
15951         {
15952         .description = "pri_anti_spoof_ctl",
15953         .field_bit_size = 2,
15954         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15955         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15956         },
15957         {
15958         .description = "tpid_anti_spoof_ctl",
15959         .field_bit_size = 2,
15960         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15961         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15962         },
15963         /* class_tid: 5, , table: l2_cntxt_tcam_cache.vfr_wr_egr0 */
15964         {
15965         .description = "rid",
15966         .field_bit_size = 32,
15967         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15968         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
15969         .field_opr1 = {
15970         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
15971         BNXT_ULP_RF_IDX_RID & 0xff}
15972         },
15973         {
15974         .description = "l2_cntxt_tcam_index",
15975         .field_bit_size = 10,
15976         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15977         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
15978         .field_opr1 = {
15979         (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
15980         BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
15981         },
15982         {
15983         .description = "l2_cntxt_id",
15984         .field_bit_size = 10,
15985         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15986         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15987         },
15988         {
15989         .description = "src_property_ptr",
15990         .field_bit_size = 10,
15991         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15992         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15993         },
15994         /* class_tid: 5, , table: int_vtag_encap_record.vfr_egr0 */
15995         {
15996         .description = "ecv_valid",
15997         .field_bit_size = 1,
15998         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15999         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
16000         .field_opr1 = {
16001         1}
16002         },
16003         {
16004         .description = "ecv_custom_en",
16005         .field_bit_size = 1,
16006         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16007         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16008         },
16009         {
16010         .description = "ecv_vtag_type",
16011         .field_bit_size = 4,
16012         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16013         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
16014         .field_opr1 = {
16015         ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
16016         },
16017         {
16018         .description = "ecv_l2_en",
16019         .field_bit_size = 1,
16020         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16021         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16022         },
16023         {
16024         .description = "ecv_l3_type",
16025         .field_bit_size = 3,
16026         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16027         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16028         },
16029         {
16030         .description = "ecv_l4_type",
16031         .field_bit_size = 3,
16032         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16033         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16034         },
16035         {
16036         .description = "ecv_tun_type",
16037         .field_bit_size = 3,
16038         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16039         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16040         },
16041         {
16042         .description = "vtag_tpid",
16043         .field_bit_size = 16,
16044         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16045         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
16046         .field_opr1 = {
16047                 0x81,
16048                 0x00}
16049         },
16050         {
16051         .description = "vtag_pcp",
16052         .field_bit_size = 3,
16053         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16054         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16055         },
16056         {
16057         .description = "vtag_de",
16058         .field_bit_size = 1,
16059         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16060         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16061         },
16062         {
16063         .description = "vtag_vid",
16064         .field_bit_size = 12,
16065         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16066         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
16067         .field_opr1 = {
16068         (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
16069         BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
16070         },
16071         /* class_tid: 5, , table: int_full_act_record.vfr_egr0 */
16072         {
16073         .description = "flow_cntr_ptr",
16074         .field_bit_size = 14,
16075         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16076         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16077         },
16078         {
16079         .description = "age_enable",
16080         .field_bit_size = 1,
16081         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16082         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16083         },
16084         {
16085         .description = "agg_cntr_en",
16086         .field_bit_size = 1,
16087         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16088         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16089         },
16090         {
16091         .description = "rate_cntr_en",
16092         .field_bit_size = 1,
16093         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16094         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16095         },
16096         {
16097         .description = "flow_cntr_en",
16098         .field_bit_size = 1,
16099         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16100         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16101         },
16102         {
16103         .description = "tcpflags_key",
16104         .field_bit_size = 8,
16105         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16106         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16107         },
16108         {
16109         .description = "tcpflags_mir",
16110         .field_bit_size = 1,
16111         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16112         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16113         },
16114         {
16115         .description = "tcpflags_match",
16116         .field_bit_size = 1,
16117         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16118         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16119         },
16120         {
16121         .description = "encap_ptr",
16122         .field_bit_size = 11,
16123         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16124         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
16125         .field_opr1 = {
16126         (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
16127         BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
16128         },
16129         {
16130         .description = "dst_ip_ptr",
16131         .field_bit_size = 10,
16132         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16133         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16134         },
16135         {
16136         .description = "tcp_dst_port",
16137         .field_bit_size = 16,
16138         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16139         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16140         },
16141         {
16142         .description = "src_ip_ptr",
16143         .field_bit_size = 10,
16144         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16145         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16146         },
16147         {
16148         .description = "tcp_src_port",
16149         .field_bit_size = 16,
16150         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16151         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16152         },
16153         {
16154         .description = "meter_id",
16155         .field_bit_size = 10,
16156         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16157         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16158         },
16159         {
16160         .description = "l3_rdir",
16161         .field_bit_size = 1,
16162         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16163         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16164         },
16165         {
16166         .description = "tl3_rdir",
16167         .field_bit_size = 1,
16168         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16169         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16170         },
16171         {
16172         .description = "l3_ttl_dec",
16173         .field_bit_size = 1,
16174         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16175         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16176         },
16177         {
16178         .description = "tl3_ttl_dec",
16179         .field_bit_size = 1,
16180         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16181         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16182         },
16183         {
16184         .description = "decap_func",
16185         .field_bit_size = 4,
16186         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16187         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16188         },
16189         {
16190         .description = "vnic_or_vport",
16191         .field_bit_size = 12,
16192         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16193         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
16194         .field_opr1 = {
16195         (ULP_WP_SYM_LOOPBACK_PORT >> 8) & 0xff,
16196         ULP_WP_SYM_LOOPBACK_PORT & 0xff}
16197         },
16198         {
16199         .description = "pop_vlan",
16200         .field_bit_size = 1,
16201         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16202         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16203         },
16204         {
16205         .description = "meter",
16206         .field_bit_size = 1,
16207         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16208         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16209         },
16210         {
16211         .description = "mirror",
16212         .field_bit_size = 2,
16213         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16214         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16215         },
16216         {
16217         .description = "drop",
16218         .field_bit_size = 1,
16219         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16220         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16221         },
16222         {
16223         .description = "hit",
16224         .field_bit_size = 1,
16225         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16226         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16227         },
16228         {
16229         .description = "type",
16230         .field_bit_size = 1,
16231         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16232         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16233         },
16234         /* class_tid: 5, , table: int_full_act_record.vfr_ing0 */
16235         {
16236         .description = "flow_cntr_ptr",
16237         .field_bit_size = 14,
16238         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16239         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16240         },
16241         {
16242         .description = "age_enable",
16243         .field_bit_size = 1,
16244         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16245         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16246         },
16247         {
16248         .description = "agg_cntr_en",
16249         .field_bit_size = 1,
16250         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16251         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16252         },
16253         {
16254         .description = "rate_cntr_en",
16255         .field_bit_size = 1,
16256         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16257         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16258         },
16259         {
16260         .description = "flow_cntr_en",
16261         .field_bit_size = 1,
16262         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16263         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16264         },
16265         {
16266         .description = "tcpflags_key",
16267         .field_bit_size = 8,
16268         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16269         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16270         },
16271         {
16272         .description = "tcpflags_mir",
16273         .field_bit_size = 1,
16274         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16275         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16276         },
16277         {
16278         .description = "tcpflags_match",
16279         .field_bit_size = 1,
16280         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16281         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16282         },
16283         {
16284         .description = "encap_ptr",
16285         .field_bit_size = 11,
16286         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16287         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16288         },
16289         {
16290         .description = "dst_ip_ptr",
16291         .field_bit_size = 10,
16292         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16293         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16294         },
16295         {
16296         .description = "tcp_dst_port",
16297         .field_bit_size = 16,
16298         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16299         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16300         },
16301         {
16302         .description = "src_ip_ptr",
16303         .field_bit_size = 10,
16304         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16305         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16306         },
16307         {
16308         .description = "tcp_src_port",
16309         .field_bit_size = 16,
16310         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16311         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16312         },
16313         {
16314         .description = "meter_id",
16315         .field_bit_size = 10,
16316         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16317         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16318         },
16319         {
16320         .description = "l3_rdir",
16321         .field_bit_size = 1,
16322         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16323         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16324         },
16325         {
16326         .description = "tl3_rdir",
16327         .field_bit_size = 1,
16328         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16329         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16330         },
16331         {
16332         .description = "l3_ttl_dec",
16333         .field_bit_size = 1,
16334         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16335         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16336         },
16337         {
16338         .description = "tl3_ttl_dec",
16339         .field_bit_size = 1,
16340         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16341         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16342         },
16343         {
16344         .description = "decap_func",
16345         .field_bit_size = 4,
16346         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16347         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16348         },
16349         {
16350         .description = "vnic_or_vport",
16351         .field_bit_size = 12,
16352         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16353         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
16354         .field_opr1 = {
16355         (BNXT_ULP_CF_IDX_VF_FUNC_VNIC >> 8) & 0xff,
16356         BNXT_ULP_CF_IDX_VF_FUNC_VNIC & 0xff}
16357         },
16358         {
16359         .description = "pop_vlan",
16360         .field_bit_size = 1,
16361         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16362         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
16363         .field_opr1 = {
16364         1}
16365         },
16366         {
16367         .description = "meter",
16368         .field_bit_size = 1,
16369         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16370         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16371         },
16372         {
16373         .description = "mirror",
16374         .field_bit_size = 2,
16375         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16376         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16377         },
16378         {
16379         .description = "drop",
16380         .field_bit_size = 1,
16381         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16382         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16383         },
16384         {
16385         .description = "hit",
16386         .field_bit_size = 1,
16387         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16388         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16389         },
16390         {
16391         .description = "type",
16392         .field_bit_size = 1,
16393         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16394         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16395         },
16396         /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_dtagged_ing0 */
16397         {
16398         .description = "act_record_ptr",
16399         .field_bit_size = 16,
16400         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16401         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
16402         .field_opr1 = {
16403         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
16404         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
16405         },
16406         {
16407         .description = "reserved",
16408         .field_bit_size = 1,
16409         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16410         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16411         },
16412         {
16413         .description = "l2_byp_lkup_en",
16414         .field_bit_size = 1,
16415         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16416         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
16417         .field_opr1 = {
16418         1}
16419         },
16420         {
16421         .description = "parif",
16422         .field_bit_size = 4,
16423         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16424         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16425         },
16426         {
16427         .description = "allowed_pri",
16428         .field_bit_size = 8,
16429         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16430         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16431         },
16432         {
16433         .description = "default_pri",
16434         .field_bit_size = 3,
16435         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16436         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16437         },
16438         {
16439         .description = "allowed_tpid",
16440         .field_bit_size = 6,
16441         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16442         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16443         },
16444         {
16445         .description = "default_tpid",
16446         .field_bit_size = 3,
16447         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16448         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16449         },
16450         {
16451         .description = "bd_act_en",
16452         .field_bit_size = 1,
16453         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16454         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16455         },
16456         {
16457         .description = "sp_rec_ptr",
16458         .field_bit_size = 16,
16459         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16460         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16461         },
16462         {
16463         .description = "byp_sp_lkup",
16464         .field_bit_size = 1,
16465         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16466         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
16467         .field_opr1 = {
16468         1}
16469         },
16470         {
16471         .description = "pri_anti_spoof_ctl",
16472         .field_bit_size = 2,
16473         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16474         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16475         },
16476         {
16477         .description = "tpid_anti_spoof_ctl",
16478         .field_bit_size = 2,
16479         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16480         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16481         },
16482         /* class_tid: 5, , table: l2_cntxt_tcam_bypass.vfr_stagged_ing0 */
16483         {
16484         .description = "act_record_ptr",
16485         .field_bit_size = 16,
16486         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16487         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
16488         .field_opr1 = {
16489         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
16490         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
16491         },
16492         {
16493         .description = "reserved",
16494         .field_bit_size = 1,
16495         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16496         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16497         },
16498         {
16499         .description = "l2_byp_lkup_en",
16500         .field_bit_size = 1,
16501         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16502         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
16503         .field_opr1 = {
16504         1}
16505         },
16506         {
16507         .description = "parif",
16508         .field_bit_size = 4,
16509         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16510         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16511         },
16512         {
16513         .description = "allowed_pri",
16514         .field_bit_size = 8,
16515         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16516         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16517         },
16518         {
16519         .description = "default_pri",
16520         .field_bit_size = 3,
16521         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16522         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16523         },
16524         {
16525         .description = "allowed_tpid",
16526         .field_bit_size = 6,
16527         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16528         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16529         },
16530         {
16531         .description = "default_tpid",
16532         .field_bit_size = 3,
16533         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16534         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16535         },
16536         {
16537         .description = "bd_act_en",
16538         .field_bit_size = 1,
16539         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16540         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16541         },
16542         {
16543         .description = "sp_rec_ptr",
16544         .field_bit_size = 16,
16545         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16546         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16547         },
16548         {
16549         .description = "byp_sp_lkup",
16550         .field_bit_size = 1,
16551         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16552         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
16553         .field_opr1 = {
16554         1}
16555         },
16556         {
16557         .description = "pri_anti_spoof_ctl",
16558         .field_bit_size = 2,
16559         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16560         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16561         },
16562         {
16563         .description = "tpid_anti_spoof_ctl",
16564         .field_bit_size = 2,
16565         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16566         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16567         }
16568 };
16569
16570 struct bnxt_ulp_mapper_ident_info ulp_wh_plus_class_ident_list[] = {
16571         /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */
16572         {
16573         .description = "l2_cntxt_id",
16574         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
16575         .ident_bit_size = 10,
16576         .ident_bit_pos = 42
16577         },
16578         /* class_tid: 1, , table: mac_addr_cache.rd */
16579         {
16580         .description = "l2_cntxt_id",
16581         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
16582         .ident_bit_size = 10,
16583         .ident_bit_pos = 42
16584         },
16585         /* class_tid: 1, , table: l2_cntxt_tcam.0 */
16586         {
16587         .description = "l2_cntxt_id",
16588         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
16589         .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
16590         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
16591         .ident_bit_size = 10,
16592         .ident_bit_pos = 0
16593         },
16594         /* class_tid: 1, , table: profile_tcam_cache.rd */
16595         {
16596         .description = "em_profile_id",
16597         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
16598         .ident_bit_size = 8,
16599         .ident_bit_pos = 42
16600         },
16601         {
16602         .description = "flow_sig_id",
16603         .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
16604         .ident_bit_size = 64,
16605         .ident_bit_pos = 58
16606         },
16607         {
16608         .description = "profile_tcam_index",
16609         .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
16610         .ident_bit_size = 10,
16611         .ident_bit_pos = 32
16612         },
16613         /* class_tid: 1, , table: profile_tcam.ipv4 */
16614         {
16615         .description = "em_profile_id",
16616         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
16617         .ident_type = TF_IDENT_TYPE_EM_PROF,
16618         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
16619         .ident_bit_size = 8,
16620         .ident_bit_pos = 28
16621         },
16622         /* class_tid: 1, , table: profile_tcam.ipv6 */
16623         {
16624         .description = "em_profile_id",
16625         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
16626         .ident_type = TF_IDENT_TYPE_EM_PROF,
16627         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
16628         .ident_bit_size = 8,
16629         .ident_bit_pos = 28
16630         },
16631         /* class_tid: 1, , table: profile_tcam.ipv4_vxlan */
16632         {
16633         .description = "em_profile_id",
16634         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
16635         .ident_type = TF_IDENT_TYPE_EM_PROF,
16636         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
16637         .ident_bit_size = 8,
16638         .ident_bit_pos = 28
16639         },
16640         /* class_tid: 2, , table: tunnel_cache.rd */
16641         {
16642         .description = "l2_cntxt_id",
16643         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
16644         .ident_bit_size = 10,
16645         .ident_bit_pos = 42
16646         },
16647         /* class_tid: 2, , table: l2_cntxt_tcam.1 */
16648         {
16649         .description = "l2_cntxt_id",
16650         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
16651         .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
16652         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
16653         .ident_bit_size = 10,
16654         .ident_bit_pos = 0
16655         },
16656         /* class_tid: 2, , table: mac_addr_cache.rd */
16657         {
16658         .description = "l2_cntxt_id",
16659         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
16660         .ident_bit_size = 10,
16661         .ident_bit_pos = 42
16662         },
16663         /* class_tid: 2, , table: profile_tcam_cache.f2_rd */
16664         {
16665         .description = "em_profile_id",
16666         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
16667         .ident_bit_size = 8,
16668         .ident_bit_pos = 42
16669         },
16670         {
16671         .description = "flow_sig_id",
16672         .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
16673         .ident_bit_size = 64,
16674         .ident_bit_pos = 58
16675         },
16676         {
16677         .description = "profile_tcam_index",
16678         .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
16679         .ident_bit_size = 10,
16680         .ident_bit_pos = 32
16681         },
16682         /* class_tid: 3, , table: l2_cntxt_tcam_cache.rd */
16683         {
16684         .description = "l2_cntxt_id",
16685         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
16686         .ident_bit_size = 10,
16687         .ident_bit_pos = 42
16688         },
16689         /* class_tid: 3, , table: mac_addr_cache.rd */
16690         {
16691         .description = "l2_cntxt_id",
16692         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
16693         .ident_bit_size = 10,
16694         .ident_bit_pos = 42
16695         },
16696         /* class_tid: 3, , table: l2_cntxt_tcam.0 */
16697         {
16698         .description = "l2_cntxt_id",
16699         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
16700         .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
16701         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
16702         .ident_bit_size = 10,
16703         .ident_bit_pos = 0
16704         },
16705         /* class_tid: 3, , table: profile_tcam_cache.rd */
16706         {
16707         .description = "em_profile_id",
16708         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
16709         .ident_bit_size = 8,
16710         .ident_bit_pos = 42
16711         },
16712         {
16713         .description = "flow_sig_id",
16714         .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
16715         .ident_bit_size = 64,
16716         .ident_bit_pos = 58
16717         },
16718         {
16719         .description = "profile_tcam_index",
16720         .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
16721         .ident_bit_size = 10,
16722         .ident_bit_pos = 32
16723         },
16724         /* class_tid: 3, , table: profile_tcam.ipv4 */
16725         {
16726         .description = "em_profile_id",
16727         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
16728         .ident_type = TF_IDENT_TYPE_EM_PROF,
16729         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
16730         .ident_bit_size = 8,
16731         .ident_bit_pos = 28
16732         },
16733         /* class_tid: 3, , table: profile_tcam.ipv6 */
16734         {
16735         .description = "em_profile_id",
16736         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
16737         .ident_type = TF_IDENT_TYPE_EM_PROF,
16738         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
16739         .ident_bit_size = 8,
16740         .ident_bit_pos = 28
16741         },
16742         /* class_tid: 4, , table: l2_cntxt_tcam.ing_0 */
16743         {
16744         .description = "l2_cntxt_id",
16745         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
16746         .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
16747         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
16748         .ident_bit_size = 10,
16749         .ident_bit_pos = 0
16750         },
16751         /* class_tid: 4, , table: l2_cntxt_tcam.egr_0 */
16752         {
16753         .description = "l2_cntxt_id",
16754         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
16755         .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
16756         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
16757         .ident_bit_size = 10,
16758         .ident_bit_pos = 0
16759         },
16760         /* class_tid: 5, , table: l2_cntxt_tcam.vf_egr */
16761         {
16762         .description = "l2_cntxt_id",
16763         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
16764         .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
16765         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
16766         .ident_bit_size = 10,
16767         .ident_bit_pos = 0
16768         }
16769 };