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