net/bnxt: reorganize ULP template directory structure
[dpdk.git] / drivers / net / bnxt / tf_ulp / generic_templates / ulp_template_db_wh_plus_class.c
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2014-2021 Broadcom
3  * All rights reserved.
4  */
5
6 /* date: Wed Apr 14 09:56:27 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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 = 90,
324         .result_num_fields = 5
325         },
326         { /* class_tid: 1, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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 = 90,
694         .result_num_fields = 5
695         },
696         { /* class_tid: 2, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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, wh_plus, 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_CONST,
8669                 .field_opr1 = {
8670                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
8671                 },
8672         .field_info_spec = {
8673                 .description = "tun_hdr_type",
8674                 .field_bit_size = 4,
8675                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8676                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8677                 .field_opr1 = {
8678                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
8679                 }
8680         },
8681         {
8682         .field_info_mask = {
8683                 .description = "key_type",
8684                 .field_bit_size = 2,
8685                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8686                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8687                 },
8688         .field_info_spec = {
8689                 .description = "key_type",
8690                 .field_bit_size = 2,
8691                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8692                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8693                 }
8694         },
8695         {
8696         .field_info_mask = {
8697                 .description = "valid",
8698                 .field_bit_size = 1,
8699                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8700                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8701                 .field_opr1 = {
8702                 1}
8703                 },
8704         .field_info_spec = {
8705                 .description = "valid",
8706                 .field_bit_size = 1,
8707                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8708                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8709                 .field_opr1 = {
8710                 1}
8711                 }
8712         },
8713         /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.ing_wr */
8714         {
8715         .field_info_mask = {
8716                 .description = "svif",
8717                 .field_bit_size = 8,
8718                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8719                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8720                 .field_opr1 = {
8721                         0xff}
8722                 },
8723         .field_info_spec = {
8724                 .description = "svif",
8725                 .field_bit_size = 8,
8726                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8727                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8728                 .field_opr1 = {
8729                 (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
8730                 BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
8731                 }
8732         },
8733         /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_rd_vfr */
8734         {
8735         .field_info_mask = {
8736                 .description = "svif",
8737                 .field_bit_size = 8,
8738                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8739                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8740                 .field_opr1 = {
8741                         0xff}
8742                 },
8743         .field_info_spec = {
8744                 .description = "svif",
8745                 .field_bit_size = 8,
8746                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8747                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8748                 .field_opr1 = {
8749                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
8750                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
8751                 }
8752         },
8753         /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_bypass.egr_vfr */
8754         {
8755         .field_info_mask = {
8756                 .description = "l2_ivlan_vid",
8757                 .field_bit_size = 12,
8758                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8759                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8760                 },
8761         .field_info_spec = {
8762                 .description = "l2_ivlan_vid",
8763                 .field_bit_size = 12,
8764                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8765                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8766                 }
8767         },
8768         {
8769         .field_info_mask = {
8770                 .description = "l2_ovlan_vid",
8771                 .field_bit_size = 12,
8772                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8773                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8774                 },
8775         .field_info_spec = {
8776                 .description = "l2_ovlan_vid",
8777                 .field_bit_size = 12,
8778                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8779                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8780                 }
8781         },
8782         {
8783         .field_info_mask = {
8784                 .description = "mac0_addr",
8785                 .field_bit_size = 48,
8786                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8787                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8788                 },
8789         .field_info_spec = {
8790                 .description = "mac0_addr",
8791                 .field_bit_size = 48,
8792                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8793                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8794                 }
8795         },
8796         {
8797         .field_info_mask = {
8798                 .description = "svif",
8799                 .field_bit_size = 8,
8800                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8801                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8802                 .field_opr1 = {
8803                         0xff}
8804                 },
8805         .field_info_spec = {
8806                 .description = "svif",
8807                 .field_bit_size = 8,
8808                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8809                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8810                 .field_opr1 = {
8811                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
8812                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
8813                 }
8814         },
8815         {
8816         .field_info_mask = {
8817                 .description = "sparif",
8818                 .field_bit_size = 4,
8819                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8820                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8821                 },
8822         .field_info_spec = {
8823                 .description = "sparif",
8824                 .field_bit_size = 4,
8825                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8826                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8827                 }
8828         },
8829         {
8830         .field_info_mask = {
8831                 .description = "tl2_ivlan_vid",
8832                 .field_bit_size = 12,
8833                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8834                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8835                 },
8836         .field_info_spec = {
8837                 .description = "tl2_ivlan_vid",
8838                 .field_bit_size = 12,
8839                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8840                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8841                 }
8842         },
8843         {
8844         .field_info_mask = {
8845                 .description = "tl2_ovlan_vid",
8846                 .field_bit_size = 12,
8847                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8848                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8849                 },
8850         .field_info_spec = {
8851                 .description = "tl2_ovlan_vid",
8852                 .field_bit_size = 12,
8853                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8854                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8855                 }
8856         },
8857         {
8858         .field_info_mask = {
8859                 .description = "mac1_addr",
8860                 .field_bit_size = 48,
8861                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8862                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8863                 },
8864         .field_info_spec = {
8865                 .description = "mac1_addr",
8866                 .field_bit_size = 48,
8867                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8868                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8869                 }
8870         },
8871         {
8872         .field_info_mask = {
8873                 .description = "l2_num_vtags",
8874                 .field_bit_size = 2,
8875                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8876                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8877                 },
8878         .field_info_spec = {
8879                 .description = "l2_num_vtags",
8880                 .field_bit_size = 2,
8881                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8882                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8883                 }
8884         },
8885         {
8886         .field_info_mask = {
8887                 .description = "tl2_num_vtags",
8888                 .field_bit_size = 2,
8889                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8890                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8891                 },
8892         .field_info_spec = {
8893                 .description = "tl2_num_vtags",
8894                 .field_bit_size = 2,
8895                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8896                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8897                 }
8898         },
8899         {
8900         .field_info_mask = {
8901                 .description = "tun_hdr_type",
8902                 .field_bit_size = 4,
8903                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8904                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8905                 .field_opr1 = {
8906                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
8907                 },
8908         .field_info_spec = {
8909                 .description = "tun_hdr_type",
8910                 .field_bit_size = 4,
8911                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8912                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8913                 .field_opr1 = {
8914                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
8915                 }
8916         },
8917         {
8918         .field_info_mask = {
8919                 .description = "key_type",
8920                 .field_bit_size = 2,
8921                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8922                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8923                 },
8924         .field_info_spec = {
8925                 .description = "key_type",
8926                 .field_bit_size = 2,
8927                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8928                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8929                 }
8930         },
8931         {
8932         .field_info_mask = {
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         .field_info_spec = {
8941                 .description = "valid",
8942                 .field_bit_size = 1,
8943                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8944                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8945                 .field_opr1 = {
8946                 1}
8947                 }
8948         },
8949         /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_wr_vfr */
8950         {
8951         .field_info_mask = {
8952                 .description = "svif",
8953                 .field_bit_size = 8,
8954                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8955                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8956                 .field_opr1 = {
8957                         0xff}
8958                 },
8959         .field_info_spec = {
8960                 .description = "svif",
8961                 .field_bit_size = 8,
8962                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8963                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8964                 .field_opr1 = {
8965                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
8966                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
8967                 }
8968         },
8969         /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.rd */
8970         {
8971         .field_info_mask = {
8972                 .description = "svif",
8973                 .field_bit_size = 8,
8974                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8975                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8976                 .field_opr1 = {
8977                         0xff}
8978                 },
8979         .field_info_spec = {
8980                 .description = "svif",
8981                 .field_bit_size = 8,
8982                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8983                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8984                 .field_opr1 = {
8985                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
8986                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
8987                 }
8988         },
8989         /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.egr_0 */
8990         {
8991         .field_info_mask = {
8992                 .description = "l2_ivlan_vid",
8993                 .field_bit_size = 12,
8994                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8995                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8996                 },
8997         .field_info_spec = {
8998                 .description = "l2_ivlan_vid",
8999                 .field_bit_size = 12,
9000                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9001                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9002                 }
9003         },
9004         {
9005         .field_info_mask = {
9006                 .description = "l2_ovlan_vid",
9007                 .field_bit_size = 12,
9008                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9009                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9010                 },
9011         .field_info_spec = {
9012                 .description = "l2_ovlan_vid",
9013                 .field_bit_size = 12,
9014                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9015                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9016                 }
9017         },
9018         {
9019         .field_info_mask = {
9020                 .description = "mac0_addr",
9021                 .field_bit_size = 48,
9022                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9023                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9024                 },
9025         .field_info_spec = {
9026                 .description = "mac0_addr",
9027                 .field_bit_size = 48,
9028                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9029                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9030                 }
9031         },
9032         {
9033         .field_info_mask = {
9034                 .description = "svif",
9035                 .field_bit_size = 8,
9036                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9037                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9038                 .field_opr1 = {
9039                         0xff}
9040                 },
9041         .field_info_spec = {
9042                 .description = "svif",
9043                 .field_bit_size = 8,
9044                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9045                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9046                 .field_opr1 = {
9047                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
9048                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
9049                 }
9050         },
9051         {
9052         .field_info_mask = {
9053                 .description = "sparif",
9054                 .field_bit_size = 4,
9055                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9056                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9057                 },
9058         .field_info_spec = {
9059                 .description = "sparif",
9060                 .field_bit_size = 4,
9061                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9062                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9063                 }
9064         },
9065         {
9066         .field_info_mask = {
9067                 .description = "tl2_ivlan_vid",
9068                 .field_bit_size = 12,
9069                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9070                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9071                 },
9072         .field_info_spec = {
9073                 .description = "tl2_ivlan_vid",
9074                 .field_bit_size = 12,
9075                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9076                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9077                 }
9078         },
9079         {
9080         .field_info_mask = {
9081                 .description = "tl2_ovlan_vid",
9082                 .field_bit_size = 12,
9083                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9084                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9085                 },
9086         .field_info_spec = {
9087                 .description = "tl2_ovlan_vid",
9088                 .field_bit_size = 12,
9089                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9090                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9091                 }
9092         },
9093         {
9094         .field_info_mask = {
9095                 .description = "mac1_addr",
9096                 .field_bit_size = 48,
9097                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9098                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9099                 },
9100         .field_info_spec = {
9101                 .description = "mac1_addr",
9102                 .field_bit_size = 48,
9103                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9104                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9105                 }
9106         },
9107         {
9108         .field_info_mask = {
9109                 .description = "l2_num_vtags",
9110                 .field_bit_size = 2,
9111                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9112                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9113                 },
9114         .field_info_spec = {
9115                 .description = "l2_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         },
9121         {
9122         .field_info_mask = {
9123                 .description = "tl2_num_vtags",
9124                 .field_bit_size = 2,
9125                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9126                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9127                 },
9128         .field_info_spec = {
9129                 .description = "tl2_num_vtags",
9130                 .field_bit_size = 2,
9131                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9132                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9133                 }
9134         },
9135         {
9136         .field_info_mask = {
9137                 .description = "tun_hdr_type",
9138                 .field_bit_size = 4,
9139                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9140                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9141                 .field_opr1 = {
9142                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
9143                 },
9144         .field_info_spec = {
9145                 .description = "tun_hdr_type",
9146                 .field_bit_size = 4,
9147                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9148                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9149                 .field_opr1 = {
9150                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
9151                 }
9152         },
9153         {
9154         .field_info_mask = {
9155                 .description = "key_type",
9156                 .field_bit_size = 2,
9157                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9158                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9159                 },
9160         .field_info_spec = {
9161                 .description = "key_type",
9162                 .field_bit_size = 2,
9163                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9164                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9165                 }
9166         },
9167         {
9168         .field_info_mask = {
9169                 .description = "valid",
9170                 .field_bit_size = 1,
9171                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9172                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9173                 .field_opr1 = {
9174                 1}
9175                 },
9176         .field_info_spec = {
9177                 .description = "valid",
9178                 .field_bit_size = 1,
9179                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9180                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9181                 .field_opr1 = {
9182                 1}
9183                 }
9184         },
9185         /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_wr */
9186         {
9187         .field_info_mask = {
9188                 .description = "svif",
9189                 .field_bit_size = 8,
9190                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9191                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9192                 .field_opr1 = {
9193                         0xff}
9194                 },
9195         .field_info_spec = {
9196                 .description = "svif",
9197                 .field_bit_size = 8,
9198                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9199                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9200                 .field_opr1 = {
9201                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
9202                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
9203                 }
9204         },
9205         /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vf_rd_egr */
9206         {
9207         .field_info_mask = {
9208                 .description = "svif",
9209                 .field_bit_size = 8,
9210                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9211                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9212                 .field_opr1 = {
9213                         0xff}
9214                 },
9215         .field_info_spec = {
9216                 .description = "svif",
9217                 .field_bit_size = 8,
9218                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9219                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9220                 .field_opr1 = {
9221                 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
9222                 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
9223                 }
9224         },
9225         /* class_tid: 4, wh_plus, table: l2_cntxt_tcam.vf_egr */
9226         {
9227         .field_info_mask = {
9228                 .description = "l2_ivlan_vid",
9229                 .field_bit_size = 12,
9230                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9231                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9232                 },
9233         .field_info_spec = {
9234                 .description = "l2_ivlan_vid",
9235                 .field_bit_size = 12,
9236                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9237                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9238                 }
9239         },
9240         {
9241         .field_info_mask = {
9242                 .description = "l2_ovlan_vid",
9243                 .field_bit_size = 12,
9244                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9245                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9246                 },
9247         .field_info_spec = {
9248                 .description = "l2_ovlan_vid",
9249                 .field_bit_size = 12,
9250                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9251                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9252                 }
9253         },
9254         {
9255         .field_info_mask = {
9256                 .description = "mac0_addr",
9257                 .field_bit_size = 48,
9258                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9259                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9260                 },
9261         .field_info_spec = {
9262                 .description = "mac0_addr",
9263                 .field_bit_size = 48,
9264                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9265                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9266                 }
9267         },
9268         {
9269         .field_info_mask = {
9270                 .description = "svif",
9271                 .field_bit_size = 8,
9272                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9273                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9274                 .field_opr1 = {
9275                         0xff}
9276                 },
9277         .field_info_spec = {
9278                 .description = "svif",
9279                 .field_bit_size = 8,
9280                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9281                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9282                 .field_opr1 = {
9283                 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
9284                 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
9285                 }
9286         },
9287         {
9288         .field_info_mask = {
9289                 .description = "sparif",
9290                 .field_bit_size = 4,
9291                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9292                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9293                 },
9294         .field_info_spec = {
9295                 .description = "sparif",
9296                 .field_bit_size = 4,
9297                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9298                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9299                 }
9300         },
9301         {
9302         .field_info_mask = {
9303                 .description = "tl2_ivlan_vid",
9304                 .field_bit_size = 12,
9305                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9306                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9307                 },
9308         .field_info_spec = {
9309                 .description = "tl2_ivlan_vid",
9310                 .field_bit_size = 12,
9311                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9312                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9313                 }
9314         },
9315         {
9316         .field_info_mask = {
9317                 .description = "tl2_ovlan_vid",
9318                 .field_bit_size = 12,
9319                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9320                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9321                 },
9322         .field_info_spec = {
9323                 .description = "tl2_ovlan_vid",
9324                 .field_bit_size = 12,
9325                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9326                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9327                 }
9328         },
9329         {
9330         .field_info_mask = {
9331                 .description = "mac1_addr",
9332                 .field_bit_size = 48,
9333                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9334                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9335                 },
9336         .field_info_spec = {
9337                 .description = "mac1_addr",
9338                 .field_bit_size = 48,
9339                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9340                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9341                 }
9342         },
9343         {
9344         .field_info_mask = {
9345                 .description = "l2_num_vtags",
9346                 .field_bit_size = 2,
9347                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9348                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9349                 },
9350         .field_info_spec = {
9351                 .description = "l2_num_vtags",
9352                 .field_bit_size = 2,
9353                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9354                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9355                 }
9356         },
9357         {
9358         .field_info_mask = {
9359                 .description = "tl2_num_vtags",
9360                 .field_bit_size = 2,
9361                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9362                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9363                 },
9364         .field_info_spec = {
9365                 .description = "tl2_num_vtags",
9366                 .field_bit_size = 2,
9367                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9368                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9369                 }
9370         },
9371         {
9372         .field_info_mask = {
9373                 .description = "tun_hdr_type",
9374                 .field_bit_size = 4,
9375                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9376                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9377                 .field_opr1 = {
9378                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
9379                 },
9380         .field_info_spec = {
9381                 .description = "tun_hdr_type",
9382                 .field_bit_size = 4,
9383                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9384                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9385                 .field_opr1 = {
9386                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
9387                 }
9388         },
9389         {
9390         .field_info_mask = {
9391                 .description = "key_type",
9392                 .field_bit_size = 2,
9393                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9394                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9395                 },
9396         .field_info_spec = {
9397                 .description = "key_type",
9398                 .field_bit_size = 2,
9399                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9400                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9401                 }
9402         },
9403         {
9404         .field_info_mask = {
9405                 .description = "valid",
9406                 .field_bit_size = 1,
9407                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9408                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9409                 .field_opr1 = {
9410                 1}
9411                 },
9412         .field_info_spec = {
9413                 .description = "valid",
9414                 .field_bit_size = 1,
9415                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9416                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9417                 .field_opr1 = {
9418                 1}
9419                 }
9420         },
9421         /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vf_egr_wr */
9422         {
9423         .field_info_mask = {
9424                 .description = "svif",
9425                 .field_bit_size = 8,
9426                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9427                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9428                 .field_opr1 = {
9429                         0xff}
9430                 },
9431         .field_info_spec = {
9432                 .description = "svif",
9433                 .field_bit_size = 8,
9434                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9435                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9436                 .field_opr1 = {
9437                 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
9438                 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
9439                 }
9440         },
9441         /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.vf_ing */
9442         {
9443         .field_info_mask = {
9444                 .description = "l2_ivlan_vid",
9445                 .field_bit_size = 12,
9446                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9447                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9448                 },
9449         .field_info_spec = {
9450                 .description = "l2_ivlan_vid",
9451                 .field_bit_size = 12,
9452                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9453                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9454                 }
9455         },
9456         {
9457         .field_info_mask = {
9458                 .description = "l2_ovlan_vid",
9459                 .field_bit_size = 12,
9460                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9461                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9462                 },
9463         .field_info_spec = {
9464                 .description = "l2_ovlan_vid",
9465                 .field_bit_size = 12,
9466                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9467                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9468                 }
9469         },
9470         {
9471         .field_info_mask = {
9472                 .description = "mac0_addr",
9473                 .field_bit_size = 48,
9474                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9475                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9476                 },
9477         .field_info_spec = {
9478                 .description = "mac0_addr",
9479                 .field_bit_size = 48,
9480                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9481                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9482                 }
9483         },
9484         {
9485         .field_info_mask = {
9486                 .description = "svif",
9487                 .field_bit_size = 8,
9488                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9489                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9490                 .field_opr1 = {
9491                         0xff}
9492                 },
9493         .field_info_spec = {
9494                 .description = "svif",
9495                 .field_bit_size = 8,
9496                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9497                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9498                 .field_opr1 = {
9499                 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
9500                 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
9501                 }
9502         },
9503         {
9504         .field_info_mask = {
9505                 .description = "sparif",
9506                 .field_bit_size = 4,
9507                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9508                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9509                 },
9510         .field_info_spec = {
9511                 .description = "sparif",
9512                 .field_bit_size = 4,
9513                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9514                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9515                 }
9516         },
9517         {
9518         .field_info_mask = {
9519                 .description = "tl2_ivlan_vid",
9520                 .field_bit_size = 12,
9521                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9522                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9523                 },
9524         .field_info_spec = {
9525                 .description = "tl2_ivlan_vid",
9526                 .field_bit_size = 12,
9527                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9528                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9529                 }
9530         },
9531         {
9532         .field_info_mask = {
9533                 .description = "tl2_ovlan_vid",
9534                 .field_bit_size = 12,
9535                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9536                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9537                 },
9538         .field_info_spec = {
9539                 .description = "tl2_ovlan_vid",
9540                 .field_bit_size = 12,
9541                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9542                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9543                 }
9544         },
9545         {
9546         .field_info_mask = {
9547                 .description = "mac1_addr",
9548                 .field_bit_size = 48,
9549                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9550                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9551                 },
9552         .field_info_spec = {
9553                 .description = "mac1_addr",
9554                 .field_bit_size = 48,
9555                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9556                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9557                 }
9558         },
9559         {
9560         .field_info_mask = {
9561                 .description = "l2_num_vtags",
9562                 .field_bit_size = 2,
9563                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9564                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9565                 },
9566         .field_info_spec = {
9567                 .description = "l2_num_vtags",
9568                 .field_bit_size = 2,
9569                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9570                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9571                 }
9572         },
9573         {
9574         .field_info_mask = {
9575                 .description = "tl2_num_vtags",
9576                 .field_bit_size = 2,
9577                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9578                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9579                 },
9580         .field_info_spec = {
9581                 .description = "tl2_num_vtags",
9582                 .field_bit_size = 2,
9583                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9584                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9585                 }
9586         },
9587         {
9588         .field_info_mask = {
9589                 .description = "tun_hdr_type",
9590                 .field_bit_size = 4,
9591                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9592                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9593                 .field_opr1 = {
9594                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
9595                 },
9596         .field_info_spec = {
9597                 .description = "tun_hdr_type",
9598                 .field_bit_size = 4,
9599                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9600                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9601                 .field_opr1 = {
9602                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
9603                 }
9604         },
9605         {
9606         .field_info_mask = {
9607                 .description = "key_type",
9608                 .field_bit_size = 2,
9609                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9610                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9611                 },
9612         .field_info_spec = {
9613                 .description = "key_type",
9614                 .field_bit_size = 2,
9615                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9616                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9617                 }
9618         },
9619         {
9620         .field_info_mask = {
9621                 .description = "valid",
9622                 .field_bit_size = 1,
9623                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9624                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9625                 .field_opr1 = {
9626                 1}
9627                 },
9628         .field_info_spec = {
9629                 .description = "valid",
9630                 .field_bit_size = 1,
9631                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9632                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9633                 .field_opr1 = {
9634                 1}
9635                 }
9636         },
9637         /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vfr_rd_egr0 */
9638         {
9639         .field_info_mask = {
9640                 .description = "svif",
9641                 .field_bit_size = 8,
9642                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9643                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9644                 .field_opr1 = {
9645                         0xff}
9646                 },
9647         .field_info_spec = {
9648                 .description = "svif",
9649                 .field_bit_size = 8,
9650                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9651                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9652                 .field_opr1 = {
9653                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
9654                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
9655                 }
9656         },
9657         /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.vfr_egr0 */
9658         {
9659         .field_info_mask = {
9660                 .description = "l2_ivlan_vid",
9661                 .field_bit_size = 12,
9662                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9663                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9664                 },
9665         .field_info_spec = {
9666                 .description = "l2_ivlan_vid",
9667                 .field_bit_size = 12,
9668                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9669                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9670                 }
9671         },
9672         {
9673         .field_info_mask = {
9674                 .description = "l2_ovlan_vid",
9675                 .field_bit_size = 12,
9676                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9677                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9678                 },
9679         .field_info_spec = {
9680                 .description = "l2_ovlan_vid",
9681                 .field_bit_size = 12,
9682                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9683                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9684                 }
9685         },
9686         {
9687         .field_info_mask = {
9688                 .description = "mac0_addr",
9689                 .field_bit_size = 48,
9690                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9691                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9692                 },
9693         .field_info_spec = {
9694                 .description = "mac0_addr",
9695                 .field_bit_size = 48,
9696                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9697                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9698                 }
9699         },
9700         {
9701         .field_info_mask = {
9702                 .description = "svif",
9703                 .field_bit_size = 8,
9704                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9705                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9706                 .field_opr1 = {
9707                         0xff}
9708                 },
9709         .field_info_spec = {
9710                 .description = "svif",
9711                 .field_bit_size = 8,
9712                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9713                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9714                 .field_opr1 = {
9715                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
9716                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
9717                 }
9718         },
9719         {
9720         .field_info_mask = {
9721                 .description = "sparif",
9722                 .field_bit_size = 4,
9723                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9724                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9725                 },
9726         .field_info_spec = {
9727                 .description = "sparif",
9728                 .field_bit_size = 4,
9729                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9730                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9731                 }
9732         },
9733         {
9734         .field_info_mask = {
9735                 .description = "tl2_ivlan_vid",
9736                 .field_bit_size = 12,
9737                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9738                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9739                 },
9740         .field_info_spec = {
9741                 .description = "tl2_ivlan_vid",
9742                 .field_bit_size = 12,
9743                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9744                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9745                 }
9746         },
9747         {
9748         .field_info_mask = {
9749                 .description = "tl2_ovlan_vid",
9750                 .field_bit_size = 12,
9751                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9752                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9753                 },
9754         .field_info_spec = {
9755                 .description = "tl2_ovlan_vid",
9756                 .field_bit_size = 12,
9757                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9758                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9759                 }
9760         },
9761         {
9762         .field_info_mask = {
9763                 .description = "mac1_addr",
9764                 .field_bit_size = 48,
9765                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9766                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9767                 },
9768         .field_info_spec = {
9769                 .description = "mac1_addr",
9770                 .field_bit_size = 48,
9771                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9772                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9773                 }
9774         },
9775         {
9776         .field_info_mask = {
9777                 .description = "l2_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         .field_info_spec = {
9783                 .description = "l2_num_vtags",
9784                 .field_bit_size = 2,
9785                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9786                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9787                 }
9788         },
9789         {
9790         .field_info_mask = {
9791                 .description = "tl2_num_vtags",
9792                 .field_bit_size = 2,
9793                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9794                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9795                 },
9796         .field_info_spec = {
9797                 .description = "tl2_num_vtags",
9798                 .field_bit_size = 2,
9799                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9800                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9801                 }
9802         },
9803         {
9804         .field_info_mask = {
9805                 .description = "tun_hdr_type",
9806                 .field_bit_size = 4,
9807                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9808                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9809                 .field_opr1 = {
9810                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
9811                 },
9812         .field_info_spec = {
9813                 .description = "tun_hdr_type",
9814                 .field_bit_size = 4,
9815                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9816                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9817                 .field_opr1 = {
9818                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
9819                 }
9820         },
9821         {
9822         .field_info_mask = {
9823                 .description = "key_type",
9824                 .field_bit_size = 2,
9825                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9826                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9827                 },
9828         .field_info_spec = {
9829                 .description = "key_type",
9830                 .field_bit_size = 2,
9831                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9832                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9833                 }
9834         },
9835         {
9836         .field_info_mask = {
9837                 .description = "valid",
9838                 .field_bit_size = 1,
9839                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9840                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9841                 .field_opr1 = {
9842                 1}
9843                 },
9844         .field_info_spec = {
9845                 .description = "valid",
9846                 .field_bit_size = 1,
9847                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9848                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9849                 .field_opr1 = {
9850                 1}
9851                 }
9852         },
9853         /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vfr_wr_egr0 */
9854         {
9855         .field_info_mask = {
9856                 .description = "svif",
9857                 .field_bit_size = 8,
9858                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9859                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9860                 .field_opr1 = {
9861                         0xff}
9862                 },
9863         .field_info_spec = {
9864                 .description = "svif",
9865                 .field_bit_size = 8,
9866                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9867                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9868                 .field_opr1 = {
9869                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
9870                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
9871                 }
9872         },
9873         /* class_tid: 4, table: l2_cntxt_tcam_bypass.vfr_dtagged_ing0 */
9874         {
9875         .field_info_mask = {
9876                 .description = "l2_ivlan_vid",
9877                 .field_bit_size = 12,
9878                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9879                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9880                 },
9881         .field_info_spec = {
9882                 .description = "l2_ivlan_vid",
9883                 .field_bit_size = 12,
9884                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9885                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9886                 }
9887         },
9888         {
9889         .field_info_mask = {
9890                 .description = "l2_ovlan_vid",
9891                 .field_bit_size = 12,
9892                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9893                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9894                 .field_opr1 = {
9895                         0xff,
9896                         0xff}
9897                 },
9898         .field_info_spec = {
9899                 .description = "l2_ovlan_vid",
9900                 .field_bit_size = 12,
9901                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9902                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9903                 .field_opr1 = {
9904                 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
9905                 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
9906                 }
9907         },
9908         {
9909         .field_info_mask = {
9910                 .description = "mac0_addr",
9911                 .field_bit_size = 48,
9912                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9913                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9914                 },
9915         .field_info_spec = {
9916                 .description = "mac0_addr",
9917                 .field_bit_size = 48,
9918                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9919                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9920                 }
9921         },
9922         {
9923         .field_info_mask = {
9924                 .description = "svif",
9925                 .field_bit_size = 8,
9926                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9927                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9928                 .field_opr1 = {
9929                         0xff}
9930                 },
9931         .field_info_spec = {
9932                 .description = "svif",
9933                 .field_bit_size = 8,
9934                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9935                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9936                 .field_opr1 = {
9937                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
9938                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
9939                 }
9940         },
9941         {
9942         .field_info_mask = {
9943                 .description = "sparif",
9944                 .field_bit_size = 4,
9945                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9946                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9947                 },
9948         .field_info_spec = {
9949                 .description = "sparif",
9950                 .field_bit_size = 4,
9951                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9952                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9953                 }
9954         },
9955         {
9956         .field_info_mask = {
9957                 .description = "tl2_ivlan_vid",
9958                 .field_bit_size = 12,
9959                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9960                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9961                 },
9962         .field_info_spec = {
9963                 .description = "tl2_ivlan_vid",
9964                 .field_bit_size = 12,
9965                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9966                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9967                 }
9968         },
9969         {
9970         .field_info_mask = {
9971                 .description = "tl2_ovlan_vid",
9972                 .field_bit_size = 12,
9973                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9974                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9975                 },
9976         .field_info_spec = {
9977                 .description = "tl2_ovlan_vid",
9978                 .field_bit_size = 12,
9979                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9980                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9981                 }
9982         },
9983         {
9984         .field_info_mask = {
9985                 .description = "mac1_addr",
9986                 .field_bit_size = 48,
9987                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9988                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9989                 },
9990         .field_info_spec = {
9991                 .description = "mac1_addr",
9992                 .field_bit_size = 48,
9993                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9994                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9995                 }
9996         },
9997         {
9998         .field_info_mask = {
9999                 .description = "l2_num_vtags",
10000                 .field_bit_size = 2,
10001                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10002                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10003                 .field_opr1 = {
10004                         0xff}
10005                 },
10006         .field_info_spec = {
10007                 .description = "l2_num_vtags",
10008                 .field_bit_size = 2,
10009                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10010                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10011                 .field_opr1 = {
10012                 2}
10013                 }
10014         },
10015         {
10016         .field_info_mask = {
10017                 .description = "tl2_num_vtags",
10018                 .field_bit_size = 2,
10019                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10020                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10021                 },
10022         .field_info_spec = {
10023                 .description = "tl2_num_vtags",
10024                 .field_bit_size = 2,
10025                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10026                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10027                 }
10028         },
10029         {
10030         .field_info_mask = {
10031                 .description = "tun_hdr_type",
10032                 .field_bit_size = 4,
10033                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10034                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10035                 .field_opr1 = {
10036                         0xff}
10037                 },
10038         .field_info_spec = {
10039                 .description = "tun_hdr_type",
10040                 .field_bit_size = 4,
10041                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10042                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10043                 .field_opr1 = {
10044                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
10045                 }
10046         },
10047         {
10048         .field_info_mask = {
10049                 .description = "key_type",
10050                 .field_bit_size = 2,
10051                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10052                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10053                 },
10054         .field_info_spec = {
10055                 .description = "key_type",
10056                 .field_bit_size = 2,
10057                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10058                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10059                 }
10060         },
10061         {
10062         .field_info_mask = {
10063                 .description = "valid",
10064                 .field_bit_size = 1,
10065                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10066                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10067                 .field_opr1 = {
10068                 1}
10069                 },
10070         .field_info_spec = {
10071                 .description = "valid",
10072                 .field_bit_size = 1,
10073                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10074                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10075                 .field_opr1 = {
10076                 1}
10077                 }
10078         },
10079         /* class_tid: 4,  table: l2_cntxt_tcam_bypass.vfr_stagged_ing0 */
10080         {
10081         .field_info_mask = {
10082                 .description = "l2_ivlan_vid",
10083                 .field_bit_size = 12,
10084                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10085                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10086                 .field_opr1 = {
10087                         0xff,
10088                         0xff}
10089                 },
10090         .field_info_spec = {
10091                 .description = "l2_ivlan_vid",
10092                 .field_bit_size = 12,
10093                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10094                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10095                 .field_opr1 = {
10096                 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
10097                 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
10098                 }
10099         },
10100         {
10101         .field_info_mask = {
10102                 .description = "l2_ovlan_vid",
10103                 .field_bit_size = 12,
10104                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10105                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10106                 },
10107         .field_info_spec = {
10108                 .description = "l2_ovlan_vid",
10109                 .field_bit_size = 12,
10110                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10111                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10112                 }
10113         },
10114         {
10115         .field_info_mask = {
10116                 .description = "mac0_addr",
10117                 .field_bit_size = 48,
10118                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10119                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10120                 },
10121         .field_info_spec = {
10122                 .description = "mac0_addr",
10123                 .field_bit_size = 48,
10124                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10125                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10126                 }
10127         },
10128         {
10129         .field_info_mask = {
10130                 .description = "svif",
10131                 .field_bit_size = 8,
10132                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10133                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10134                 .field_opr1 = {
10135                         0xff}
10136                 },
10137         .field_info_spec = {
10138                 .description = "svif",
10139                 .field_bit_size = 8,
10140                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10141                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10142                 .field_opr1 = {
10143                 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
10144                 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
10145                 }
10146         },
10147         {
10148         .field_info_mask = {
10149                 .description = "sparif",
10150                 .field_bit_size = 4,
10151                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10152                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10153                 },
10154         .field_info_spec = {
10155                 .description = "sparif",
10156                 .field_bit_size = 4,
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 = "tl2_ivlan_vid",
10164                 .field_bit_size = 12,
10165                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10166                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10167                 },
10168         .field_info_spec = {
10169                 .description = "tl2_ivlan_vid",
10170                 .field_bit_size = 12,
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 = "tl2_ovlan_vid",
10178                 .field_bit_size = 12,
10179                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10180                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10181                 },
10182         .field_info_spec = {
10183                 .description = "tl2_ovlan_vid",
10184                 .field_bit_size = 12,
10185                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10186                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10187                 }
10188         },
10189         {
10190         .field_info_mask = {
10191                 .description = "mac1_addr",
10192                 .field_bit_size = 48,
10193                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10194                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10195                 },
10196         .field_info_spec = {
10197                 .description = "mac1_addr",
10198                 .field_bit_size = 48,
10199                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10200                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10201                 }
10202         },
10203         {
10204         .field_info_mask = {
10205                 .description = "l2_num_vtags",
10206                 .field_bit_size = 2,
10207                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10208                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10209                 .field_opr1 = {
10210                         0xff}
10211                 },
10212         .field_info_spec = {
10213                 .description = "l2_num_vtags",
10214                 .field_bit_size = 2,
10215                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10216                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10217                 .field_opr1 = {
10218                 1}
10219                 }
10220         },
10221         {
10222         .field_info_mask = {
10223                 .description = "tl2_num_vtags",
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 = "tl2_num_vtags",
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 = "tun_hdr_type",
10238                 .field_bit_size = 4,
10239                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10240                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10241                 .field_opr1 = {
10242                         0xff}
10243                 },
10244         .field_info_spec = {
10245                 .description = "tun_hdr_type",
10246                 .field_bit_size = 4,
10247                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10248                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10249                 .field_opr1 = {
10250                 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
10251                 }
10252         },
10253         {
10254         .field_info_mask = {
10255                 .description = "key_type",
10256                 .field_bit_size = 2,
10257                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10258                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10259                 },
10260         .field_info_spec = {
10261                 .description = "key_type",
10262                 .field_bit_size = 2,
10263                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10264                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10265                 }
10266         },
10267         {
10268         .field_info_mask = {
10269                 .description = "valid",
10270                 .field_bit_size = 1,
10271                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10272                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10273                 .field_opr1 = {
10274                 1}
10275                 },
10276         .field_info_spec = {
10277                 .description = "valid",
10278                 .field_bit_size = 1,
10279                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10280                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10281                 .field_opr1 = {
10282                 1}
10283                 }
10284         }
10285 };
10286
10287 struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
10288         /* class_tid: 1, wh_plus, table: l2_cntxt_tcam.0 */
10289         {
10290         .description = "l2_cntxt_id",
10291         .field_bit_size = 10,
10292         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10293         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10294         .field_opr1 = {
10295         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
10296         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
10297         },
10298         {
10299         .description = "prof_func_id",
10300         .field_bit_size = 7,
10301         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10302         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
10303         .field_opr1 = {
10304         (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
10305         BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}
10306         },
10307         {
10308         .description = "l2_byp_lkup_en",
10309         .field_bit_size = 1,
10310         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10311         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10312         },
10313         {
10314         .description = "parif",
10315         .field_bit_size = 4,
10316         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10317         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10318         .field_opr1 = {
10319         (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
10320         BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
10321         },
10322         {
10323         .description = "allowed_pri",
10324         .field_bit_size = 8,
10325         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10326         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10327         },
10328         {
10329         .description = "default_pri",
10330         .field_bit_size = 3,
10331         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10332         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10333         },
10334         {
10335         .description = "allowed_tpid",
10336         .field_bit_size = 6,
10337         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10338         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10339         },
10340         {
10341         .description = "default_tpid",
10342         .field_bit_size = 3,
10343         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10344         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10345         },
10346         {
10347         .description = "bd_act_en",
10348         .field_bit_size = 1,
10349         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10350         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10351         },
10352         {
10353         .description = "sp_rec_ptr",
10354         .field_bit_size = 16,
10355         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10356         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10357         },
10358         {
10359         .description = "byp_sp_lkup",
10360         .field_bit_size = 1,
10361         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10362         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10363         .field_opr1 = {
10364         1}
10365         },
10366         {
10367         .description = "pri_anti_spoof_ctl",
10368         .field_bit_size = 2,
10369         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10370         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10371         },
10372         {
10373         .description = "tpid_anti_spoof_ctl",
10374         .field_bit_size = 2,
10375         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10376         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10377         },
10378         /* class_tid: 1, wh_plus, table: mac_addr_cache.wr */
10379         {
10380         .description = "rid",
10381         .field_bit_size = 32,
10382         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10383         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10384         .field_opr1 = {
10385         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
10386         BNXT_ULP_RF_IDX_RID & 0xff}
10387         },
10388         {
10389         .description = "l2_cntxt_tcam_index",
10390         .field_bit_size = 10,
10391         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10392         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10393         },
10394         {
10395         .description = "l2_cntxt_id",
10396         .field_bit_size = 10,
10397         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10398         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10399         .field_opr1 = {
10400         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
10401         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
10402         },
10403         {
10404         .description = "src_property_ptr",
10405         .field_bit_size = 10,
10406         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10407         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10408         },
10409         /* class_tid: 1, wh_plus, table: profile_tcam.ipv4 */
10410         {
10411         .description = "wc_key_id",
10412         .field_bit_size = 4,
10413         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10414         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10415         },
10416         {
10417         .description = "wc_profile_id",
10418         .field_bit_size = 8,
10419         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10420         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10421         },
10422         {
10423         .description = "wc_search_en",
10424         .field_bit_size = 1,
10425         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10426         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10427         },
10428         {
10429         .description = "em_key_mask.0",
10430         .field_bit_size = 1,
10431         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10432         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10433         .field_opr1 = {
10434         1}
10435         },
10436         {
10437         .description = "em_key_mask.1",
10438         .field_bit_size = 1,
10439         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10440         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10441         .field_opr1 = {
10442         (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
10443         BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
10444         },
10445         {
10446         .description = "em_key_mask.2",
10447         .field_bit_size = 1,
10448         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10449         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10450         .field_opr1 = {
10451         (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
10452         BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
10453         },
10454         {
10455         .description = "em_key_mask.3",
10456         .field_bit_size = 1,
10457         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10458         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10459         .field_opr1 = {
10460         (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
10461         BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
10462         },
10463         {
10464         .description = "em_key_mask.4",
10465         .field_bit_size = 1,
10466         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10467         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10468         .field_opr1 = {
10469         (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
10470         BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}
10471         },
10472         {
10473         .description = "em_key_mask.5",
10474         .field_bit_size = 1,
10475         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
10476         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10477         .field_opr1 = {
10478         (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
10479         BNXT_ULP_CF_IDX_O_L4 & 0xff},
10480         .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10481         .field_opr2 = {
10482                 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
10483                 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
10484         .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10485         .field_opr3 = {
10486         (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
10487         BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}
10488         },
10489         {
10490         .description = "em_key_mask.6",
10491         .field_bit_size = 1,
10492         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
10493         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10494         .field_opr1 = {
10495         (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
10496         BNXT_ULP_CF_IDX_O_L4 & 0xff},
10497         .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10498         .field_opr2 = {
10499                 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
10500                 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
10501         .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10502         .field_opr3 = {
10503         (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
10504         BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}
10505         },
10506         {
10507         .description = "em_key_mask.7",
10508         .field_bit_size = 1,
10509         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10510         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10511         },
10512         {
10513         .description = "em_key_mask.8",
10514         .field_bit_size = 1,
10515         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10516         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10517         },
10518         {
10519         .description = "em_key_mask.9",
10520         .field_bit_size = 1,
10521         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10522         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10523         },
10524         {
10525         .description = "em_key_id",
10526         .field_bit_size = 5,
10527         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10528         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10529         .field_opr1 = {
10530         3}
10531         },
10532         {
10533         .description = "em_profile_id",
10534         .field_bit_size = 8,
10535         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10536         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10537         .field_opr1 = {
10538         (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
10539         BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
10540         },
10541         {
10542         .description = "em_search_en",
10543         .field_bit_size = 1,
10544         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10545         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10546         .field_opr1 = {
10547         1}
10548         },
10549         {
10550         .description = "pl_byp_lkup_en",
10551         .field_bit_size = 1,
10552         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10553         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10554         },
10555         /* class_tid: 1, wh_plus, table: profile_tcam.ipv6 */
10556         {
10557         .description = "wc_key_id",
10558         .field_bit_size = 4,
10559         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10560         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10561         },
10562         {
10563         .description = "wc_profile_id",
10564         .field_bit_size = 8,
10565         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10566         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10567         },
10568         {
10569         .description = "wc_search_en",
10570         .field_bit_size = 1,
10571         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10572         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10573         },
10574         {
10575         .description = "em_key_mask.0",
10576         .field_bit_size = 1,
10577         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10578         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10579         .field_opr1 = {
10580         1}
10581         },
10582         {
10583         .description = "em_key_mask.1",
10584         .field_bit_size = 1,
10585         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10586         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10587         },
10588         {
10589         .description = "em_key_mask.2",
10590         .field_bit_size = 1,
10591         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10592         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10593         .field_opr1 = {
10594         (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
10595         BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
10596         },
10597         {
10598         .description = "em_key_mask.3",
10599         .field_bit_size = 1,
10600         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10601         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10602         .field_opr1 = {
10603         (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
10604         BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
10605         },
10606         {
10607         .description = "em_key_mask.4",
10608         .field_bit_size = 1,
10609         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10610         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10611         .field_opr1 = {
10612         (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
10613         BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
10614         },
10615         {
10616         .description = "em_key_mask.5",
10617         .field_bit_size = 1,
10618         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10619         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10620         .field_opr1 = {
10621         (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
10622         BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}
10623         },
10624         {
10625         .description = "em_key_mask.6",
10626         .field_bit_size = 1,
10627         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
10628         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10629         .field_opr1 = {
10630         (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
10631         BNXT_ULP_CF_IDX_O_L4 & 0xff},
10632         .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10633         .field_opr2 = {
10634                 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
10635                 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
10636         .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10637         .field_opr3 = {
10638         (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
10639         BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}
10640         },
10641         {
10642         .description = "em_key_mask.7",
10643         .field_bit_size = 1,
10644         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
10645         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10646         .field_opr1 = {
10647         (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
10648         BNXT_ULP_CF_IDX_O_L4 & 0xff},
10649         .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10650         .field_opr2 = {
10651                 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
10652                 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
10653         .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10654         .field_opr3 = {
10655         (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
10656         BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}
10657         },
10658         {
10659         .description = "em_key_mask.8",
10660         .field_bit_size = 1,
10661         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10662         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10663         },
10664         {
10665         .description = "em_key_mask.9",
10666         .field_bit_size = 1,
10667         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10668         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10669         },
10670         {
10671         .description = "em_key_id",
10672         .field_bit_size = 5,
10673         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10674         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10675         .field_opr1 = {
10676         7}
10677         },
10678         {
10679         .description = "em_profile_id",
10680         .field_bit_size = 8,
10681         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10682         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10683         .field_opr1 = {
10684         (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
10685         BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
10686         },
10687         {
10688         .description = "em_search_en",
10689         .field_bit_size = 1,
10690         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10691         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10692         .field_opr1 = {
10693         1}
10694         },
10695         {
10696         .description = "pl_byp_lkup_en",
10697         .field_bit_size = 1,
10698         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10699         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10700         },
10701         /* class_tid: 1, wh_plus, table: profile_tcam.ipv4_vxlan */
10702         {
10703         .description = "wc_key_id",
10704         .field_bit_size = 4,
10705         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10706         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10707         },
10708         {
10709         .description = "wc_profile_id",
10710         .field_bit_size = 8,
10711         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10712         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10713         },
10714         {
10715         .description = "wc_search_en",
10716         .field_bit_size = 1,
10717         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10718         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10719         },
10720         {
10721         .description = "em_key_mask.0",
10722         .field_bit_size = 1,
10723         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10724         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10725         .field_opr1 = {
10726         1}
10727         },
10728         {
10729         .description = "em_key_mask.1",
10730         .field_bit_size = 1,
10731         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10732         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10733         },
10734         {
10735         .description = "em_key_mask.2",
10736         .field_bit_size = 1,
10737         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10738         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10739         },
10740         {
10741         .description = "em_key_mask.3",
10742         .field_bit_size = 1,
10743         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10744         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10745         },
10746         {
10747         .description = "em_key_mask.4",
10748         .field_bit_size = 1,
10749         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10750         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10751         .field_opr1 = {
10752         1}
10753         },
10754         {
10755         .description = "em_key_mask.5",
10756         .field_bit_size = 1,
10757         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10758         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10759         .field_opr1 = {
10760         1}
10761         },
10762         {
10763         .description = "em_key_mask.6",
10764         .field_bit_size = 1,
10765         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10766         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10767         .field_opr1 = {
10768         1}
10769         },
10770         {
10771         .description = "em_key_mask.7",
10772         .field_bit_size = 1,
10773         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10774         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10775         },
10776         {
10777         .description = "em_key_mask.8",
10778         .field_bit_size = 1,
10779         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10780         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10781         },
10782         {
10783         .description = "em_key_mask.9",
10784         .field_bit_size = 1,
10785         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10786         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10787         },
10788         {
10789         .description = "em_key_id",
10790         .field_bit_size = 5,
10791         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10792         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10793         .field_opr1 = {
10794         20}
10795         },
10796         {
10797         .description = "em_profile_id",
10798         .field_bit_size = 8,
10799         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10800         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10801         .field_opr1 = {
10802         (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
10803         BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
10804         },
10805         {
10806         .description = "em_search_en",
10807         .field_bit_size = 1,
10808         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10809         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10810         .field_opr1 = {
10811         1}
10812         },
10813         {
10814         .description = "pl_byp_lkup_en",
10815         .field_bit_size = 1,
10816         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10817         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10818         },
10819         /* class_tid: 1, wh_plus, table: profile_tcam_cache.wr */
10820         {
10821         .description = "rid",
10822         .field_bit_size = 32,
10823         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10824         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10825         .field_opr1 = {
10826         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
10827         BNXT_ULP_RF_IDX_RID & 0xff}
10828         },
10829         {
10830         .description = "profile_tcam_index",
10831         .field_bit_size = 10,
10832         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10833         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10834         .field_opr1 = {
10835         (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
10836         BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff}
10837         },
10838         {
10839         .description = "em_profile_id",
10840         .field_bit_size = 8,
10841         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10842         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10843         .field_opr1 = {
10844         (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
10845         BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
10846         },
10847         {
10848         .description = "wc_profile_id",
10849         .field_bit_size = 8,
10850         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10851         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10852         },
10853         {
10854         .description = "flow_sig_id",
10855         .field_bit_size = 32,
10856         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10857         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10858         .field_opr1 = {
10859         (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff,
10860         BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff}
10861         },
10862         /* class_tid: 1, wh_plus, table: em.ipv4 */
10863         {
10864         .description = "act_rec_ptr",
10865         .field_bit_size = 33,
10866         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10867         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10868         .field_opr1 = {
10869         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
10870         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
10871         },
10872         {
10873         .description = "ext_flow_cntr",
10874         .field_bit_size = 1,
10875         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10876         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10877         },
10878         {
10879         .description = "act_rec_int",
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 = "act_rec_size",
10886         .field_bit_size = 5,
10887         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10888         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10889         },
10890         {
10891         .description = "key_size",
10892         .field_bit_size = 9,
10893         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10894         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10895         },
10896         {
10897         .description = "reserved",
10898         .field_bit_size = 11,
10899         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10900         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10901         },
10902         {
10903         .description = "strength",
10904         .field_bit_size = 2,
10905         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10906         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10907         .field_opr1 = {
10908         3}
10909         },
10910         {
10911         .description = "l1_cacheable",
10912         .field_bit_size = 1,
10913         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10914         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10915         },
10916         {
10917         .description = "valid",
10918         .field_bit_size = 1,
10919         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10920         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10921         .field_opr1 = {
10922         1}
10923         },
10924         /* class_tid: 1, wh_plus, table: eem.ipv4 */
10925         {
10926         .description = "act_rec_ptr",
10927         .field_bit_size = 33,
10928         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10929         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10930         .field_opr1 = {
10931         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
10932         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
10933         },
10934         {
10935         .description = "ext_flow_cntr",
10936         .field_bit_size = 1,
10937         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10938         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10939         },
10940         {
10941         .description = "act_rec_int",
10942         .field_bit_size = 1,
10943         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10944         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10945         },
10946         {
10947         .description = "act_rec_size",
10948         .field_bit_size = 5,
10949         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10950         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10951         .field_opr1 = {
10952         (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
10953         BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
10954         },
10955         {
10956         .description = "key_size",
10957         .field_bit_size = 9,
10958         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10959         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10960         .field_opr1 = {
10961         (173 >> 8) & 0xff,
10962         173 & 0xff}
10963         },
10964         {
10965         .description = "reserved",
10966         .field_bit_size = 11,
10967         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10968         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10969         },
10970         {
10971         .description = "strength",
10972         .field_bit_size = 2,
10973         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10974         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10975         .field_opr1 = {
10976         3}
10977         },
10978         {
10979         .description = "l1_cacheable",
10980         .field_bit_size = 1,
10981         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10982         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10983         },
10984         {
10985         .description = "valid",
10986         .field_bit_size = 1,
10987         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10988         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10989         .field_opr1 = {
10990         1}
10991         },
10992         /* class_tid: 1, wh_plus, table: em.ipv6 */
10993         {
10994         .description = "act_rec_ptr",
10995         .field_bit_size = 33,
10996         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10997         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10998         .field_opr1 = {
10999         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
11000         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
11001         },
11002         {
11003         .description = "ext_flow_cntr",
11004         .field_bit_size = 1,
11005         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11006         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11007         },
11008         {
11009         .description = "act_rec_int",
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 = "act_rec_size",
11016         .field_bit_size = 5,
11017         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11018         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11019         },
11020         {
11021         .description = "key_size",
11022         .field_bit_size = 9,
11023         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11024         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11025         },
11026         {
11027         .description = "reserved",
11028         .field_bit_size = 11,
11029         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11030         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11031         },
11032         {
11033         .description = "strength",
11034         .field_bit_size = 2,
11035         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11036         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11037         .field_opr1 = {
11038         3}
11039         },
11040         {
11041         .description = "l1_cacheable",
11042         .field_bit_size = 1,
11043         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11044         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11045         },
11046         {
11047         .description = "valid",
11048         .field_bit_size = 1,
11049         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11050         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11051         .field_opr1 = {
11052         1}
11053         },
11054         /* class_tid: 1, wh_plus, table: eem.ipv6 */
11055         {
11056         .description = "act_rec_ptr",
11057         .field_bit_size = 33,
11058         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11059         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11060         .field_opr1 = {
11061         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
11062         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
11063         },
11064         {
11065         .description = "ext_flow_cntr",
11066         .field_bit_size = 1,
11067         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11068         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11069         },
11070         {
11071         .description = "act_rec_int",
11072         .field_bit_size = 1,
11073         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11074         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11075         },
11076         {
11077         .description = "act_rec_size",
11078         .field_bit_size = 5,
11079         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11080         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11081         .field_opr1 = {
11082         (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
11083         BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
11084         },
11085         {
11086         .description = "key_size",
11087         .field_bit_size = 9,
11088         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11089         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11090         .field_opr1 = {
11091         (413 >> 8) & 0xff,
11092         413 & 0xff}
11093         },
11094         {
11095         .description = "reserved",
11096         .field_bit_size = 11,
11097         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11098         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11099         },
11100         {
11101         .description = "strength",
11102         .field_bit_size = 2,
11103         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11104         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11105         .field_opr1 = {
11106         3}
11107         },
11108         {
11109         .description = "l1_cacheable",
11110         .field_bit_size = 1,
11111         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11112         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11113         },
11114         {
11115         .description = "valid",
11116         .field_bit_size = 1,
11117         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11118         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11119         .field_opr1 = {
11120         1}
11121         },
11122         /* class_tid: 1, wh_plus, table: em.vxlan */
11123         {
11124         .description = "act_rec_ptr",
11125         .field_bit_size = 33,
11126         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11127         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11128         .field_opr1 = {
11129         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
11130         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
11131         },
11132         {
11133         .description = "ext_flow_cntr",
11134         .field_bit_size = 1,
11135         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11136         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11137         },
11138         {
11139         .description = "act_rec_int",
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 = "act_rec_size",
11146         .field_bit_size = 5,
11147         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11148         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11149         },
11150         {
11151         .description = "key_size",
11152         .field_bit_size = 9,
11153         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11154         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11155         },
11156         {
11157         .description = "reserved",
11158         .field_bit_size = 11,
11159         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11160         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11161         },
11162         {
11163         .description = "strength",
11164         .field_bit_size = 2,
11165         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11166         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11167         .field_opr1 = {
11168         3}
11169         },
11170         {
11171         .description = "l1_cacheable",
11172         .field_bit_size = 1,
11173         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11174         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11175         },
11176         {
11177         .description = "valid",
11178         .field_bit_size = 1,
11179         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11180         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11181         .field_opr1 = {
11182         1}
11183         },
11184         /* class_tid: 1, wh_plus, table: eem.vxlan */
11185         {
11186         .description = "act_rec_ptr",
11187         .field_bit_size = 33,
11188         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11189         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11190         .field_opr1 = {
11191         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
11192         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
11193         },
11194         {
11195         .description = "ext_flow_cntr",
11196         .field_bit_size = 1,
11197         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11198         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11199         },
11200         {
11201         .description = "act_rec_int",
11202         .field_bit_size = 1,
11203         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11204         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11205         },
11206         {
11207         .description = "act_rec_size",
11208         .field_bit_size = 5,
11209         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11210         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11211         .field_opr1 = {
11212         (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
11213         BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
11214         },
11215         {
11216         .description = "key_size",
11217         .field_bit_size = 9,
11218         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11219         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11220         .field_opr1 = {
11221         (197 >> 8) & 0xff,
11222         197 & 0xff}
11223         },
11224         {
11225         .description = "reserved",
11226         .field_bit_size = 11,
11227         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11228         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11229         },
11230         {
11231         .description = "strength",
11232         .field_bit_size = 2,
11233         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11234         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11235         .field_opr1 = {
11236         3}
11237         },
11238         {
11239         .description = "l1_cacheable",
11240         .field_bit_size = 1,
11241         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11242         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11243         },
11244         {
11245         .description = "valid",
11246         .field_bit_size = 1,
11247         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11248         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11249         .field_opr1 = {
11250         1}
11251         },
11252         /* class_tid: 2, wh_plus, table: l2_cntxt_tcam.0 */
11253         {
11254         .description = "l2_cntxt_id",
11255         .field_bit_size = 10,
11256         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11257         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11258         .field_opr1 = {
11259         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
11260         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
11261         },
11262         {
11263         .description = "prof_func_id",
11264         .field_bit_size = 7,
11265         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11266         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
11267         .field_opr1 = {
11268         (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
11269         BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}
11270         },
11271         {
11272         .description = "l2_byp_lkup_en",
11273         .field_bit_size = 1,
11274         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11275         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11276         },
11277         {
11278         .description = "parif",
11279         .field_bit_size = 4,
11280         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
11281         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11282         .field_opr1 = {
11283         (BNXT_ULP_CF_IDX_MATCH_PORT_IS_VFREP >> 8) & 0xff,
11284         BNXT_ULP_CF_IDX_MATCH_PORT_IS_VFREP & 0xff},
11285         .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
11286         .field_opr2 = {
11287                 ULP_WP_SYM_LOOPBACK_PARIF},
11288         .field_src3 = BNXT_ULP_FIELD_SRC_CF,
11289         .field_opr3 = {
11290         (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
11291         BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
11292         },
11293         {
11294         .description = "allowed_pri",
11295         .field_bit_size = 8,
11296         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11297         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11298         },
11299         {
11300         .description = "default_pri",
11301         .field_bit_size = 3,
11302         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11303         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11304         },
11305         {
11306         .description = "allowed_tpid",
11307         .field_bit_size = 6,
11308         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11309         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11310         },
11311         {
11312         .description = "default_tpid",
11313         .field_bit_size = 3,
11314         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11315         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11316         },
11317         {
11318         .description = "bd_act_en",
11319         .field_bit_size = 1,
11320         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11321         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11322         },
11323         {
11324         .description = "sp_rec_ptr",
11325         .field_bit_size = 16,
11326         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11327         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11328         .field_opr1 = {
11329         (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff,
11330         BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff}
11331         },
11332         {
11333         .description = "byp_sp_lkup",
11334         .field_bit_size = 1,
11335         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11336         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11337         .field_opr1 = {
11338         1}
11339         },
11340         {
11341         .description = "pri_anti_spoof_ctl",
11342         .field_bit_size = 2,
11343         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11344         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11345         },
11346         {
11347         .description = "tpid_anti_spoof_ctl",
11348         .field_bit_size = 2,
11349         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11350         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11351         },
11352         /* class_tid: 2, wh_plus, table: mac_addr_cache.wr */
11353         {
11354         .description = "rid",
11355         .field_bit_size = 32,
11356         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11357         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11358         .field_opr1 = {
11359         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
11360         BNXT_ULP_RF_IDX_RID & 0xff}
11361         },
11362         {
11363         .description = "l2_cntxt_tcam_index",
11364         .field_bit_size = 10,
11365         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11366         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11367         .field_opr1 = {
11368         (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
11369         BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
11370         },
11371         {
11372         .description = "l2_cntxt_id",
11373         .field_bit_size = 10,
11374         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11375         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11376         .field_opr1 = {
11377         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
11378         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
11379         },
11380         {
11381         .description = "src_property_ptr",
11382         .field_bit_size = 10,
11383         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11384         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11385         },
11386         /* class_tid: 2, wh_plus, table: profile_tcam.ipv4 */
11387         {
11388         .description = "wc_key_id",
11389         .field_bit_size = 4,
11390         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11391         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11392         },
11393         {
11394         .description = "wc_profile_id",
11395         .field_bit_size = 8,
11396         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11397         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11398         },
11399         {
11400         .description = "wc_search_en",
11401         .field_bit_size = 1,
11402         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11403         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11404         },
11405         {
11406         .description = "em_key_mask.0",
11407         .field_bit_size = 1,
11408         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11409         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11410         .field_opr1 = {
11411         1}
11412         },
11413         {
11414         .description = "em_key_mask.1",
11415         .field_bit_size = 1,
11416         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11417         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11418         .field_opr1 = {
11419         (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
11420         BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
11421         },
11422         {
11423         .description = "em_key_mask.2",
11424         .field_bit_size = 1,
11425         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11426         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11427         .field_opr1 = {
11428         (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
11429         BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
11430         },
11431         {
11432         .description = "em_key_mask.3",
11433         .field_bit_size = 1,
11434         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11435         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11436         .field_opr1 = {
11437         (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
11438         BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
11439         },
11440         {
11441         .description = "em_key_mask.4",
11442         .field_bit_size = 1,
11443         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11444         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11445         .field_opr1 = {
11446         (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
11447         BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}
11448         },
11449         {
11450         .description = "em_key_mask.5",
11451         .field_bit_size = 1,
11452         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
11453         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11454         .field_opr1 = {
11455         (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
11456         BNXT_ULP_CF_IDX_O_L4 & 0xff},
11457         .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11458         .field_opr2 = {
11459                 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
11460                 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
11461         .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11462         .field_opr3 = {
11463         (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
11464         BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}
11465         },
11466         {
11467         .description = "em_key_mask.6",
11468         .field_bit_size = 1,
11469         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
11470         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11471         .field_opr1 = {
11472         (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
11473         BNXT_ULP_CF_IDX_O_L4 & 0xff},
11474         .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11475         .field_opr2 = {
11476                 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
11477                 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
11478         .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11479         .field_opr3 = {
11480         (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
11481         BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}
11482         },
11483         {
11484         .description = "em_key_mask.7",
11485         .field_bit_size = 1,
11486         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11487         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11488         },
11489         {
11490         .description = "em_key_mask.8",
11491         .field_bit_size = 1,
11492         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11493         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11494         },
11495         {
11496         .description = "em_key_mask.9",
11497         .field_bit_size = 1,
11498         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11499         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11500         },
11501         {
11502         .description = "em_key_id",
11503         .field_bit_size = 5,
11504         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11505         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11506         .field_opr1 = {
11507         4}
11508         },
11509         {
11510         .description = "em_profile_id",
11511         .field_bit_size = 8,
11512         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11513         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11514         .field_opr1 = {
11515         (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
11516         BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
11517         },
11518         {
11519         .description = "em_search_en",
11520         .field_bit_size = 1,
11521         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11522         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11523         .field_opr1 = {
11524         1}
11525         },
11526         {
11527         .description = "pl_byp_lkup_en",
11528         .field_bit_size = 1,
11529         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11530         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11531         },
11532         /* class_tid: 2, wh_plus, table: profile_tcam.ipv6 */
11533         {
11534         .description = "wc_key_id",
11535         .field_bit_size = 4,
11536         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11537         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11538         },
11539         {
11540         .description = "wc_profile_id",
11541         .field_bit_size = 8,
11542         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11543         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11544         },
11545         {
11546         .description = "wc_search_en",
11547         .field_bit_size = 1,
11548         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11549         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11550         },
11551         {
11552         .description = "em_key_mask.0",
11553         .field_bit_size = 1,
11554         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11555         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11556         .field_opr1 = {
11557         1}
11558         },
11559         {
11560         .description = "em_key_mask.1",
11561         .field_bit_size = 1,
11562         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11563         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11564         .field_opr1 = {
11565         (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
11566         BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
11567         },
11568         {
11569         .description = "em_key_mask.2",
11570         .field_bit_size = 1,
11571         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11572         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11573         },
11574         {
11575         .description = "em_key_mask.3",
11576         .field_bit_size = 1,
11577         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11578         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11579         .field_opr1 = {
11580         (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
11581         BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
11582         },
11583         {
11584         .description = "em_key_mask.4",
11585         .field_bit_size = 1,
11586         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11587         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11588         .field_opr1 = {
11589         (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
11590         BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
11591         },
11592         {
11593         .description = "em_key_mask.5",
11594         .field_bit_size = 1,
11595         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11596         .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11597         .field_opr1 = {
11598         (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
11599         BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}
11600         },
11601         {
11602         .description = "em_key_mask.6",
11603         .field_bit_size = 1,
11604         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
11605         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11606         .field_opr1 = {
11607         (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
11608         BNXT_ULP_CF_IDX_O_L4 & 0xff},
11609         .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11610         .field_opr2 = {
11611                 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
11612                 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
11613         .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11614         .field_opr3 = {
11615         (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
11616         BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}
11617         },
11618         {
11619         .description = "em_key_mask.7",
11620         .field_bit_size = 1,
11621         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
11622         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11623         .field_opr1 = {
11624         (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
11625         BNXT_ULP_CF_IDX_O_L4 & 0xff},
11626         .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11627         .field_opr2 = {
11628                 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
11629                 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
11630         .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11631         .field_opr3 = {
11632         (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
11633         BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}
11634         },
11635         {
11636         .description = "em_key_mask.8",
11637         .field_bit_size = 1,
11638         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11639         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11640         },
11641         {
11642         .description = "em_key_mask.9",
11643         .field_bit_size = 1,
11644         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11645         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11646         },
11647         {
11648         .description = "em_key_id",
11649         .field_bit_size = 5,
11650         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11651         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11652         .field_opr1 = {
11653         7}
11654         },
11655         {
11656         .description = "em_profile_id",
11657         .field_bit_size = 8,
11658         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11659         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11660         .field_opr1 = {
11661         (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
11662         BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
11663         },
11664         {
11665         .description = "em_search_en",
11666         .field_bit_size = 1,
11667         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11668         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11669         .field_opr1 = {
11670         1}
11671         },
11672         {
11673         .description = "pl_byp_lkup_en",
11674         .field_bit_size = 1,
11675         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11676         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11677         },
11678         /* class_tid: 2, wh_plus, table: profile_tcam_cache.wr */
11679         {
11680         .description = "rid",
11681         .field_bit_size = 32,
11682         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11683         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11684         .field_opr1 = {
11685         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
11686         BNXT_ULP_RF_IDX_RID & 0xff}
11687         },
11688         {
11689         .description = "profile_tcam_index",
11690         .field_bit_size = 10,
11691         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11692         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11693         .field_opr1 = {
11694         (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
11695         BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff}
11696         },
11697         {
11698         .description = "em_profile_id",
11699         .field_bit_size = 8,
11700         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11701         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11702         .field_opr1 = {
11703         (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
11704         BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
11705         },
11706         {
11707         .description = "wc_profile_id",
11708         .field_bit_size = 8,
11709         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11710         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11711         },
11712         {
11713         .description = "flow_sig_id",
11714         .field_bit_size = 32,
11715         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11716         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11717         .field_opr1 = {
11718         (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff,
11719         BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff}
11720         },
11721         /* class_tid: 2, wh_plus, table: em.ipv4 */
11722         {
11723         .description = "act_rec_ptr",
11724         .field_bit_size = 33,
11725         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11726         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11727         .field_opr1 = {
11728         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
11729         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
11730         },
11731         {
11732         .description = "ext_flow_cntr",
11733         .field_bit_size = 1,
11734         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11735         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11736         },
11737         {
11738         .description = "act_rec_int",
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 = "act_rec_size",
11745         .field_bit_size = 5,
11746         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11747         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11748         },
11749         {
11750         .description = "key_size",
11751         .field_bit_size = 9,
11752         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11753         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11754         },
11755         {
11756         .description = "reserved",
11757         .field_bit_size = 11,
11758         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11759         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11760         },
11761         {
11762         .description = "strength",
11763         .field_bit_size = 2,
11764         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11765         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11766         .field_opr1 = {
11767         3}
11768         },
11769         {
11770         .description = "l1_cacheable",
11771         .field_bit_size = 1,
11772         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11773         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11774         },
11775         {
11776         .description = "valid",
11777         .field_bit_size = 1,
11778         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11779         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11780         .field_opr1 = {
11781         1}
11782         },
11783         /* class_tid: 2, wh_plus, table: eem.ipv4 */
11784         {
11785         .description = "act_rec_ptr",
11786         .field_bit_size = 33,
11787         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11788         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11789         .field_opr1 = {
11790         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
11791         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
11792         },
11793         {
11794         .description = "ext_flow_cntr",
11795         .field_bit_size = 1,
11796         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11797         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11798         },
11799         {
11800         .description = "act_rec_int",
11801         .field_bit_size = 1,
11802         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11803         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11804         },
11805         {
11806         .description = "act_rec_size",
11807         .field_bit_size = 5,
11808         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11809         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11810         .field_opr1 = {
11811         (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
11812         BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
11813         },
11814         {
11815         .description = "key_size",
11816         .field_bit_size = 9,
11817         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11818         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11819         .field_opr1 = {
11820         (173 >> 8) & 0xff,
11821         173 & 0xff}
11822         },
11823         {
11824         .description = "reserved",
11825         .field_bit_size = 11,
11826         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11827         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11828         },
11829         {
11830         .description = "strength",
11831         .field_bit_size = 2,
11832         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11833         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11834         .field_opr1 = {
11835         3}
11836         },
11837         {
11838         .description = "l1_cacheable",
11839         .field_bit_size = 1,
11840         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11841         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11842         },
11843         {
11844         .description = "valid",
11845         .field_bit_size = 1,
11846         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11847         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11848         .field_opr1 = {
11849         1}
11850         },
11851         /* class_tid: 2, wh_plus, table: em.ipv6 */
11852         {
11853         .description = "act_rec_ptr",
11854         .field_bit_size = 33,
11855         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11856         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11857         .field_opr1 = {
11858         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
11859         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
11860         },
11861         {
11862         .description = "ext_flow_cntr",
11863         .field_bit_size = 1,
11864         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11865         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11866         },
11867         {
11868         .description = "act_rec_int",
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 = "act_rec_size",
11875         .field_bit_size = 5,
11876         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11877         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11878         },
11879         {
11880         .description = "key_size",
11881         .field_bit_size = 9,
11882         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11883         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11884         },
11885         {
11886         .description = "reserved",
11887         .field_bit_size = 11,
11888         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11889         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11890         },
11891         {
11892         .description = "strength",
11893         .field_bit_size = 2,
11894         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11895         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11896         .field_opr1 = {
11897         3}
11898         },
11899         {
11900         .description = "l1_cacheable",
11901         .field_bit_size = 1,
11902         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11903         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11904         },
11905         {
11906         .description = "valid",
11907         .field_bit_size = 1,
11908         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11909         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11910         .field_opr1 = {
11911         1}
11912         },
11913         /* class_tid: 2, wh_plus, table: eem.ipv6 */
11914         {
11915         .description = "act_rec_ptr",
11916         .field_bit_size = 33,
11917         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11918         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11919         .field_opr1 = {
11920         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
11921         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
11922         },
11923         {
11924         .description = "ext_flow_cntr",
11925         .field_bit_size = 1,
11926         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11927         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11928         },
11929         {
11930         .description = "act_rec_int",
11931         .field_bit_size = 1,
11932         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11933         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11934         },
11935         {
11936         .description = "act_rec_size",
11937         .field_bit_size = 5,
11938         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11939         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11940         .field_opr1 = {
11941         (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
11942         BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
11943         },
11944         {
11945         .description = "key_size",
11946         .field_bit_size = 9,
11947         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11948         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11949         .field_opr1 = {
11950         (413 >> 8) & 0xff,
11951         413 & 0xff}
11952         },
11953         {
11954         .description = "reserved",
11955         .field_bit_size = 11,
11956         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11957         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11958         },
11959         {
11960         .description = "strength",
11961         .field_bit_size = 2,
11962         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11963         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11964         .field_opr1 = {
11965         3}
11966         },
11967         {
11968         .description = "l1_cacheable",
11969         .field_bit_size = 1,
11970         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11971         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11972         },
11973         {
11974         .description = "valid",
11975         .field_bit_size = 1,
11976         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11977         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11978         .field_opr1 = {
11979         1}
11980         },
11981         /* class_tid: 3, wh_plus, table: int_full_act_record.ing_0 */
11982         {
11983         .description = "flow_cntr_ptr",
11984         .field_bit_size = 14,
11985         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11986         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11987         },
11988         {
11989         .description = "age_enable",
11990         .field_bit_size = 1,
11991         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11992         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11993         },
11994         {
11995         .description = "agg_cntr_en",
11996         .field_bit_size = 1,
11997         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11998         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11999         },
12000         {
12001         .description = "rate_cntr_en",
12002         .field_bit_size = 1,
12003         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12004         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12005         },
12006         {
12007         .description = "flow_cntr_en",
12008         .field_bit_size = 1,
12009         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12010         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12011         },
12012         {
12013         .description = "tcpflags_key",
12014         .field_bit_size = 8,
12015         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12016         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12017         },
12018         {
12019         .description = "tcpflags_mir",
12020         .field_bit_size = 1,
12021         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12022         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12023         },
12024         {
12025         .description = "tcpflags_match",
12026         .field_bit_size = 1,
12027         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12028         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12029         },
12030         {
12031         .description = "encap_ptr",
12032         .field_bit_size = 11,
12033         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12034         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12035         },
12036         {
12037         .description = "dst_ip_ptr",
12038         .field_bit_size = 10,
12039         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12040         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12041         },
12042         {
12043         .description = "tcp_dst_port",
12044         .field_bit_size = 16,
12045         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12046         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12047         },
12048         {
12049         .description = "src_ip_ptr",
12050         .field_bit_size = 10,
12051         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12052         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12053         },
12054         {
12055         .description = "tcp_src_port",
12056         .field_bit_size = 16,
12057         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12058         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12059         },
12060         {
12061         .description = "meter_id",
12062         .field_bit_size = 10,
12063         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12064         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12065         },
12066         {
12067         .description = "l3_rdir",
12068         .field_bit_size = 1,
12069         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12070         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12071         },
12072         {
12073         .description = "tl3_rdir",
12074         .field_bit_size = 1,
12075         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12076         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12077         },
12078         {
12079         .description = "l3_ttl_dec",
12080         .field_bit_size = 1,
12081         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12082         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12083         },
12084         {
12085         .description = "tl3_ttl_dec",
12086         .field_bit_size = 1,
12087         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12088         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12089         },
12090         {
12091         .description = "decap_func",
12092         .field_bit_size = 4,
12093         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12094         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12095         },
12096         {
12097         .description = "vnic_or_vport",
12098         .field_bit_size = 12,
12099         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12100         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12101         .field_opr1 = {
12102         (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
12103         BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}
12104         },
12105         {
12106         .description = "pop_vlan",
12107         .field_bit_size = 1,
12108         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12109         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12110         },
12111         {
12112         .description = "meter",
12113         .field_bit_size = 1,
12114         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12115         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12116         },
12117         {
12118         .description = "mirror",
12119         .field_bit_size = 2,
12120         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12121         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12122         },
12123         {
12124         .description = "drop",
12125         .field_bit_size = 1,
12126         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12127         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12128         },
12129         {
12130         .description = "hit",
12131         .field_bit_size = 1,
12132         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12133         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12134         },
12135         {
12136         .description = "type",
12137         .field_bit_size = 1,
12138         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12139         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12140         },
12141         /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.ing_0 */
12142         {
12143         .description = "l2_cntxt_id",
12144         .field_bit_size = 10,
12145         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12146         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12147         .field_opr1 = {
12148         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
12149         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
12150         },
12151         {
12152         .description = "prof_func_id",
12153         .field_bit_size = 7,
12154         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12155         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
12156         .field_opr1 = {
12157         (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
12158         BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
12159         },
12160         {
12161         .description = "l2_byp_lkup_en",
12162         .field_bit_size = 1,
12163         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12164         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12165         },
12166         {
12167         .description = "parif",
12168         .field_bit_size = 4,
12169         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12170         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12171         .field_opr1 = {
12172         (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
12173         BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
12174         },
12175         {
12176         .description = "allowed_pri",
12177         .field_bit_size = 8,
12178         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12179         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12180         },
12181         {
12182         .description = "default_pri",
12183         .field_bit_size = 3,
12184         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12185         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12186         },
12187         {
12188         .description = "allowed_tpid",
12189         .field_bit_size = 6,
12190         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12191         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12192         },
12193         {
12194         .description = "default_tpid",
12195         .field_bit_size = 3,
12196         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12197         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12198         },
12199         {
12200         .description = "bd_act_en",
12201         .field_bit_size = 1,
12202         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12203         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12204         },
12205         {
12206         .description = "sp_rec_ptr",
12207         .field_bit_size = 16,
12208         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12209         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12210         },
12211         {
12212         .description = "byp_sp_lkup",
12213         .field_bit_size = 1,
12214         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12215         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12216         .field_opr1 = {
12217         1}
12218         },
12219         {
12220         .description = "pri_anti_spoof_ctl",
12221         .field_bit_size = 2,
12222         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12223         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12224         },
12225         {
12226         .description = "tpid_anti_spoof_ctl",
12227         .field_bit_size = 2,
12228         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12229         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12230         },
12231         /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.ing_wr */
12232         {
12233         .description = "rid",
12234         .field_bit_size = 32,
12235         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12236         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12237         .field_opr1 = {
12238         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
12239         BNXT_ULP_RF_IDX_RID & 0xff}
12240         },
12241         {
12242         .description = "l2_cntxt_tcam_index",
12243         .field_bit_size = 10,
12244         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12245         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12246         .field_opr1 = {
12247         (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
12248         BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
12249         },
12250         {
12251         .description = "l2_cntxt_id",
12252         .field_bit_size = 10,
12253         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12254         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12255         .field_opr1 = {
12256         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
12257         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
12258         },
12259         {
12260         .description = "src_property_ptr",
12261         .field_bit_size = 10,
12262         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12263         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12264         },
12265         /* class_tid: 3, wh_plus, table: parif_def_lkup_arec_ptr.ing_0 */
12266         {
12267         .description = "act_rec_ptr",
12268         .field_bit_size = 32,
12269         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12270         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12271         .field_opr1 = {
12272         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
12273         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
12274         },
12275         /* class_tid: 3, wh_plus, table: parif_def_arec_ptr.ing_0 */
12276         {
12277         .description = "act_rec_ptr",
12278         .field_bit_size = 32,
12279         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12280         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12281         .field_opr1 = {
12282         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
12283         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
12284         },
12285         /* class_tid: 3, wh_plus, table: parif_def_err_arec_ptr.ing_0 */
12286         {
12287         .description = "act_rec_ptr",
12288         .field_bit_size = 32,
12289         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12290         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12291         .field_opr1 = {
12292         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
12293         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
12294         },
12295         /* class_tid: 3, wh_plus, table: int_full_act_record.egr_vfr */
12296         {
12297         .description = "flow_cntr_ptr",
12298         .field_bit_size = 14,
12299         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12300         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12301         },
12302         {
12303         .description = "age_enable",
12304         .field_bit_size = 1,
12305         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12306         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12307         },
12308         {
12309         .description = "agg_cntr_en",
12310         .field_bit_size = 1,
12311         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12312         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12313         },
12314         {
12315         .description = "rate_cntr_en",
12316         .field_bit_size = 1,
12317         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12318         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12319         },
12320         {
12321         .description = "flow_cntr_en",
12322         .field_bit_size = 1,
12323         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12324         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12325         },
12326         {
12327         .description = "tcpflags_key",
12328         .field_bit_size = 8,
12329         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12330         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12331         },
12332         {
12333         .description = "tcpflags_mir",
12334         .field_bit_size = 1,
12335         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12336         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12337         },
12338         {
12339         .description = "tcpflags_match",
12340         .field_bit_size = 1,
12341         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12342         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12343         },
12344         {
12345         .description = "encap_ptr",
12346         .field_bit_size = 11,
12347         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12348         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12349         },
12350         {
12351         .description = "dst_ip_ptr",
12352         .field_bit_size = 10,
12353         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12354         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12355         },
12356         {
12357         .description = "tcp_dst_port",
12358         .field_bit_size = 16,
12359         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12360         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12361         },
12362         {
12363         .description = "src_ip_ptr",
12364         .field_bit_size = 10,
12365         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12366         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12367         },
12368         {
12369         .description = "tcp_src_port",
12370         .field_bit_size = 16,
12371         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12372         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12373         },
12374         {
12375         .description = "meter_id",
12376         .field_bit_size = 10,
12377         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12378         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12379         },
12380         {
12381         .description = "l3_rdir",
12382         .field_bit_size = 1,
12383         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12384         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12385         },
12386         {
12387         .description = "tl3_rdir",
12388         .field_bit_size = 1,
12389         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12390         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12391         },
12392         {
12393         .description = "l3_ttl_dec",
12394         .field_bit_size = 1,
12395         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12396         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12397         },
12398         {
12399         .description = "tl3_ttl_dec",
12400         .field_bit_size = 1,
12401         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12402         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12403         },
12404         {
12405         .description = "decap_func",
12406         .field_bit_size = 4,
12407         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12408         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12409         },
12410         {
12411         .description = "vnic_or_vport",
12412         .field_bit_size = 12,
12413         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12414         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12415         .field_opr1 = {
12416         (BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff,
12417         BNXT_ULP_CF_IDX_PHY_PORT_VPORT & 0xff}
12418         },
12419         {
12420         .description = "pop_vlan",
12421         .field_bit_size = 1,
12422         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12423         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12424         },
12425         {
12426         .description = "meter",
12427         .field_bit_size = 1,
12428         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12429         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12430         },
12431         {
12432         .description = "mirror",
12433         .field_bit_size = 2,
12434         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12435         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12436         },
12437         {
12438         .description = "drop",
12439         .field_bit_size = 1,
12440         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12441         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12442         },
12443         {
12444         .description = "hit",
12445         .field_bit_size = 1,
12446         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12447         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12448         },
12449         {
12450         .description = "type",
12451         .field_bit_size = 1,
12452         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12453         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12454         },
12455         /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_bypass.egr_vfr */
12456         {
12457         .description = "act_record_ptr",
12458         .field_bit_size = 16,
12459         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12460         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12461         },
12462         {
12463         .description = "reserved",
12464         .field_bit_size = 1,
12465         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12466         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12467         },
12468         {
12469         .description = "l2_byp_lkup_en",
12470         .field_bit_size = 1,
12471         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12472         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12473         .field_opr1 = {
12474         1}
12475         },
12476         {
12477         .description = "parif",
12478         .field_bit_size = 4,
12479         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12480         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12481         .field_opr1 = {
12482         (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
12483         BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
12484         },
12485         {
12486         .description = "allowed_pri",
12487         .field_bit_size = 8,
12488         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12489         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12490         },
12491         {
12492         .description = "default_pri",
12493         .field_bit_size = 3,
12494         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12495         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12496         },
12497         {
12498         .description = "allowed_tpid",
12499         .field_bit_size = 6,
12500         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12501         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12502         },
12503         {
12504         .description = "default_tpid",
12505         .field_bit_size = 3,
12506         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12507         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12508         },
12509         {
12510         .description = "bd_act_en",
12511         .field_bit_size = 1,
12512         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12513         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12514         .field_opr1 = {
12515         1}
12516         },
12517         {
12518         .description = "sp_rec_ptr",
12519         .field_bit_size = 16,
12520         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12521         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12522         },
12523         {
12524         .description = "byp_sp_lkup",
12525         .field_bit_size = 1,
12526         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12527         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12528         .field_opr1 = {
12529         1}
12530         },
12531         {
12532         .description = "pri_anti_spoof_ctl",
12533         .field_bit_size = 2,
12534         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12535         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12536         },
12537         {
12538         .description = "tpid_anti_spoof_ctl",
12539         .field_bit_size = 2,
12540         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12541         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12542         },
12543         /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_wr_vfr */
12544         {
12545         .description = "rid",
12546         .field_bit_size = 32,
12547         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12548         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12549         .field_opr1 = {
12550         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
12551         BNXT_ULP_RF_IDX_RID & 0xff}
12552         },
12553         {
12554         .description = "l2_cntxt_tcam_index",
12555         .field_bit_size = 10,
12556         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12557         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12558         .field_opr1 = {
12559         (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
12560         BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
12561         },
12562         {
12563         .description = "l2_cntxt_id",
12564         .field_bit_size = 10,
12565         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12566         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12567         },
12568         {
12569         .description = "src_property_ptr",
12570         .field_bit_size = 10,
12571         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12572         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12573         },
12574         /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.egr_0 */
12575         {
12576         .description = "l2_cntxt_id",
12577         .field_bit_size = 10,
12578         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12579         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12580         .field_opr1 = {
12581         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
12582         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
12583         },
12584         {
12585         .description = "prof_func_id",
12586         .field_bit_size = 7,
12587         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12588         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
12589         .field_opr1 = {
12590         (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
12591         BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
12592         },
12593         {
12594         .description = "l2_byp_lkup_en",
12595         .field_bit_size = 1,
12596         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12597         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12598         },
12599         {
12600         .description = "parif",
12601         .field_bit_size = 4,
12602         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12603         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12604         .field_opr1 = {
12605         (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
12606         BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
12607         },
12608         {
12609         .description = "allowed_pri",
12610         .field_bit_size = 8,
12611         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12612         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12613         },
12614         {
12615         .description = "default_pri",
12616         .field_bit_size = 3,
12617         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12618         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12619         },
12620         {
12621         .description = "allowed_tpid",
12622         .field_bit_size = 6,
12623         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12624         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12625         },
12626         {
12627         .description = "default_tpid",
12628         .field_bit_size = 3,
12629         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12630         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12631         },
12632         {
12633         .description = "bd_act_en",
12634         .field_bit_size = 1,
12635         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12636         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12637         },
12638         {
12639         .description = "sp_rec_ptr",
12640         .field_bit_size = 16,
12641         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12642         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12643         },
12644         {
12645         .description = "byp_sp_lkup",
12646         .field_bit_size = 1,
12647         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12648         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12649         .field_opr1 = {
12650         1}
12651         },
12652         {
12653         .description = "pri_anti_spoof_ctl",
12654         .field_bit_size = 2,
12655         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12656         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12657         },
12658         {
12659         .description = "tpid_anti_spoof_ctl",
12660         .field_bit_size = 2,
12661         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12662         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12663         },
12664         /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_wr */
12665         {
12666         .description = "rid",
12667         .field_bit_size = 32,
12668         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12669         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12670         .field_opr1 = {
12671         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
12672         BNXT_ULP_RF_IDX_RID & 0xff}
12673         },
12674         {
12675         .description = "l2_cntxt_tcam_index",
12676         .field_bit_size = 10,
12677         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12678         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12679         .field_opr1 = {
12680         (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
12681         BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
12682         },
12683         {
12684         .description = "l2_cntxt_id",
12685         .field_bit_size = 10,
12686         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12687         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12688         .field_opr1 = {
12689         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
12690         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
12691         },
12692         {
12693         .description = "src_property_ptr",
12694         .field_bit_size = 10,
12695         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12696         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12697         },
12698         /* class_tid: 3, wh_plus, table: int_full_act_record.egr_0 */
12699         {
12700         .description = "flow_cntr_ptr",
12701         .field_bit_size = 14,
12702         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12703         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12704         },
12705         {
12706         .description = "age_enable",
12707         .field_bit_size = 1,
12708         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12709         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12710         },
12711         {
12712         .description = "agg_cntr_en",
12713         .field_bit_size = 1,
12714         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12715         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12716         },
12717         {
12718         .description = "rate_cntr_en",
12719         .field_bit_size = 1,
12720         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12721         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12722         },
12723         {
12724         .description = "flow_cntr_en",
12725         .field_bit_size = 1,
12726         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12727         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12728         },
12729         {
12730         .description = "tcpflags_key",
12731         .field_bit_size = 8,
12732         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12733         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12734         },
12735         {
12736         .description = "tcpflags_mir",
12737         .field_bit_size = 1,
12738         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12739         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12740         },
12741         {
12742         .description = "tcpflags_match",
12743         .field_bit_size = 1,
12744         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12745         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12746         },
12747         {
12748         .description = "encap_ptr",
12749         .field_bit_size = 11,
12750         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12751         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12752         },
12753         {
12754         .description = "dst_ip_ptr",
12755         .field_bit_size = 10,
12756         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12757         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12758         },
12759         {
12760         .description = "tcp_dst_port",
12761         .field_bit_size = 16,
12762         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12763         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12764         },
12765         {
12766         .description = "src_ip_ptr",
12767         .field_bit_size = 10,
12768         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12769         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12770         },
12771         {
12772         .description = "tcp_src_port",
12773         .field_bit_size = 16,
12774         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12775         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12776         },
12777         {
12778         .description = "meter_id",
12779         .field_bit_size = 10,
12780         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12781         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12782         },
12783         {
12784         .description = "l3_rdir",
12785         .field_bit_size = 1,
12786         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12787         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12788         },
12789         {
12790         .description = "tl3_rdir",
12791         .field_bit_size = 1,
12792         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12793         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12794         },
12795         {
12796         .description = "l3_ttl_dec",
12797         .field_bit_size = 1,
12798         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12799         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12800         },
12801         {
12802         .description = "tl3_ttl_dec",
12803         .field_bit_size = 1,
12804         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12805         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12806         },
12807         {
12808         .description = "decap_func",
12809         .field_bit_size = 4,
12810         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12811         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12812         },
12813         {
12814         .description = "vnic_or_vport",
12815         .field_bit_size = 12,
12816         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12817         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12818         .field_opr1 = {
12819         (BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff,
12820         BNXT_ULP_CF_IDX_PHY_PORT_VPORT & 0xff}
12821         },
12822         {
12823         .description = "pop_vlan",
12824         .field_bit_size = 1,
12825         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12826         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12827         },
12828         {
12829         .description = "meter",
12830         .field_bit_size = 1,
12831         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12832         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12833         },
12834         {
12835         .description = "mirror",
12836         .field_bit_size = 2,
12837         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12838         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12839         },
12840         {
12841         .description = "drop",
12842         .field_bit_size = 1,
12843         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12844         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12845         },
12846         {
12847         .description = "hit",
12848         .field_bit_size = 1,
12849         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12850         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12851         },
12852         {
12853         .description = "type",
12854         .field_bit_size = 1,
12855         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12856         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12857         },
12858         /* class_tid: 3, wh_plus, table: parif_def_lkup_arec_ptr.egr_0 */
12859         {
12860         .description = "act_rec_ptr",
12861         .field_bit_size = 32,
12862         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12863         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12864         .field_opr1 = {
12865         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
12866         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
12867         },
12868         /* class_tid: 3, wh_plus, table: parif_def_arec_ptr.egr_0 */
12869         {
12870         .description = "act_rec_ptr",
12871         .field_bit_size = 32,
12872         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12873         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12874         .field_opr1 = {
12875         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
12876         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
12877         },
12878         /* class_tid: 3, wh_plus, table: parif_def_err_arec_ptr.egr_0 */
12879         {
12880         .description = "act_rec_ptr",
12881         .field_bit_size = 32,
12882         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12883         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12884         .field_opr1 = {
12885         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
12886         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
12887         },
12888         /* class_tid: 4, wh_plus, table: int_full_act_record.loopback */
12889         {
12890         .description = "flow_cntr_ptr",
12891         .field_bit_size = 14,
12892         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12893         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12894         },
12895         {
12896         .description = "age_enable",
12897         .field_bit_size = 1,
12898         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12899         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12900         },
12901         {
12902         .description = "agg_cntr_en",
12903         .field_bit_size = 1,
12904         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12905         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12906         },
12907         {
12908         .description = "rate_cntr_en",
12909         .field_bit_size = 1,
12910         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12911         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12912         },
12913         {
12914         .description = "flow_cntr_en",
12915         .field_bit_size = 1,
12916         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12917         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12918         },
12919         {
12920         .description = "tcpflags_key",
12921         .field_bit_size = 8,
12922         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12923         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12924         },
12925         {
12926         .description = "tcpflags_mir",
12927         .field_bit_size = 1,
12928         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12929         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12930         },
12931         {
12932         .description = "tcpflags_match",
12933         .field_bit_size = 1,
12934         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12935         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12936         },
12937         {
12938         .description = "encap_ptr",
12939         .field_bit_size = 11,
12940         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12941         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12942         },
12943         {
12944         .description = "dst_ip_ptr",
12945         .field_bit_size = 10,
12946         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12947         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12948         },
12949         {
12950         .description = "tcp_dst_port",
12951         .field_bit_size = 16,
12952         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12953         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12954         },
12955         {
12956         .description = "src_ip_ptr",
12957         .field_bit_size = 10,
12958         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12959         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12960         },
12961         {
12962         .description = "tcp_src_port",
12963         .field_bit_size = 16,
12964         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12965         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12966         },
12967         {
12968         .description = "meter_id",
12969         .field_bit_size = 10,
12970         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12971         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12972         },
12973         {
12974         .description = "l3_rdir",
12975         .field_bit_size = 1,
12976         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12977         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12978         },
12979         {
12980         .description = "tl3_rdir",
12981         .field_bit_size = 1,
12982         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12983         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12984         },
12985         {
12986         .description = "l3_ttl_dec",
12987         .field_bit_size = 1,
12988         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12989         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12990         },
12991         {
12992         .description = "tl3_ttl_dec",
12993         .field_bit_size = 1,
12994         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12995         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12996         },
12997         {
12998         .description = "decap_func",
12999         .field_bit_size = 4,
13000         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13001         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13002         },
13003         {
13004         .description = "vnic_or_vport",
13005         .field_bit_size = 12,
13006         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13007         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13008         .field_opr1 = {
13009         (ULP_WP_SYM_LOOPBACK_PORT >> 8) & 0xff,
13010         ULP_WP_SYM_LOOPBACK_PORT & 0xff}
13011         },
13012         {
13013         .description = "pop_vlan",
13014         .field_bit_size = 1,
13015         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13016         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13017         },
13018         {
13019         .description = "meter",
13020         .field_bit_size = 1,
13021         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13022         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13023         },
13024         {
13025         .description = "mirror",
13026         .field_bit_size = 2,
13027         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13028         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13029         },
13030         {
13031         .description = "drop",
13032         .field_bit_size = 1,
13033         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13034         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13035         },
13036         {
13037         .description = "hit",
13038         .field_bit_size = 1,
13039         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13040         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13041         },
13042         {
13043         .description = "type",
13044         .field_bit_size = 1,
13045         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13046         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13047         },
13048         /* class_tid: 4, wh_plus, table: l2_cntxt_tcam.vf_egr */
13049         {
13050         .description = "l2_cntxt_id",
13051         .field_bit_size = 10,
13052         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13053         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13054         .field_opr1 = {
13055         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
13056         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
13057         },
13058         {
13059         .description = "prof_func_id",
13060         .field_bit_size = 7,
13061         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13062         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
13063         .field_opr1 = {
13064         (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
13065         BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
13066         },
13067         {
13068         .description = "l2_byp_lkup_en",
13069         .field_bit_size = 1,
13070         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13071         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13072         },
13073         {
13074         .description = "parif",
13075         .field_bit_size = 4,
13076         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13077         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13078         .field_opr1 = {
13079         ULP_WP_SYM_LOOPBACK_PARIF}
13080         },
13081         {
13082         .description = "allowed_pri",
13083         .field_bit_size = 8,
13084         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13085         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13086         },
13087         {
13088         .description = "default_pri",
13089         .field_bit_size = 3,
13090         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13091         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13092         },
13093         {
13094         .description = "allowed_tpid",
13095         .field_bit_size = 6,
13096         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13097         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13098         },
13099         {
13100         .description = "default_tpid",
13101         .field_bit_size = 3,
13102         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13103         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13104         },
13105         {
13106         .description = "bd_act_en",
13107         .field_bit_size = 1,
13108         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13109         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13110         },
13111         {
13112         .description = "sp_rec_ptr",
13113         .field_bit_size = 16,
13114         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13115         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13116         },
13117         {
13118         .description = "byp_sp_lkup",
13119         .field_bit_size = 1,
13120         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13121         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13122         .field_opr1 = {
13123         1}
13124         },
13125         {
13126         .description = "pri_anti_spoof_ctl",
13127         .field_bit_size = 2,
13128         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13129         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13130         },
13131         {
13132         .description = "tpid_anti_spoof_ctl",
13133         .field_bit_size = 2,
13134         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13135         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13136         },
13137         /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vf_egr_wr */
13138         {
13139         .description = "rid",
13140         .field_bit_size = 32,
13141         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13142         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13143         .field_opr1 = {
13144         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
13145         BNXT_ULP_RF_IDX_RID & 0xff}
13146         },
13147         {
13148         .description = "l2_cntxt_tcam_index",
13149         .field_bit_size = 10,
13150         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13151         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13152         .field_opr1 = {
13153         (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
13154         BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
13155         },
13156         {
13157         .description = "l2_cntxt_id",
13158         .field_bit_size = 10,
13159         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13160         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13161         .field_opr1 = {
13162         (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
13163         BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
13164         },
13165         {
13166         .description = "src_property_ptr",
13167         .field_bit_size = 10,
13168         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13169         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13170         },
13171         /* class_tid: 4, wh_plus, table: parif_def_lkup_arec_ptr.vf_egr */
13172         {
13173         .description = "act_rec_ptr",
13174         .field_bit_size = 32,
13175         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13176         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
13177         .field_opr1 = {
13178         (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
13179         BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
13180         },
13181         /* class_tid: 4, wh_plus, table: parif_def_arec_ptr.vf_egr */
13182         {
13183         .description = "act_rec_ptr",
13184         .field_bit_size = 32,
13185         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13186         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
13187         .field_opr1 = {
13188         (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
13189         BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
13190         },
13191         /* class_tid: 4, wh_plus, table: parif_def_err_arec_ptr.vf_egr */
13192         {
13193         .description = "act_rec_ptr",
13194         .field_bit_size = 32,
13195         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13196         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
13197         .field_opr1 = {
13198         (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
13199         BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
13200         },
13201         /* class_tid: 4, wh_plus, table: int_full_act_record.vf_ing */
13202         {
13203         .description = "flow_cntr_ptr",
13204         .field_bit_size = 14,
13205         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13206         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13207         },
13208         {
13209         .description = "age_enable",
13210         .field_bit_size = 1,
13211         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13212         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13213         },
13214         {
13215         .description = "agg_cntr_en",
13216         .field_bit_size = 1,
13217         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13218         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13219         },
13220         {
13221         .description = "rate_cntr_en",
13222         .field_bit_size = 1,
13223         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13224         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13225         },
13226         {
13227         .description = "flow_cntr_en",
13228         .field_bit_size = 1,
13229         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13230         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13231         },
13232         {
13233         .description = "tcpflags_key",
13234         .field_bit_size = 8,
13235         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13236         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13237         },
13238         {
13239         .description = "tcpflags_mir",
13240         .field_bit_size = 1,
13241         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13242         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13243         },
13244         {
13245         .description = "tcpflags_match",
13246         .field_bit_size = 1,
13247         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13248         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13249         },
13250         {
13251         .description = "encap_ptr",
13252         .field_bit_size = 11,
13253         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13254         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13255         },
13256         {
13257         .description = "dst_ip_ptr",
13258         .field_bit_size = 10,
13259         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13260         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13261         },
13262         {
13263         .description = "tcp_dst_port",
13264         .field_bit_size = 16,
13265         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13266         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13267         },
13268         {
13269         .description = "src_ip_ptr",
13270         .field_bit_size = 10,
13271         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13272         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13273         },
13274         {
13275         .description = "tcp_src_port",
13276         .field_bit_size = 16,
13277         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13278         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13279         },
13280         {
13281         .description = "meter_id",
13282         .field_bit_size = 10,
13283         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13284         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13285         },
13286         {
13287         .description = "l3_rdir",
13288         .field_bit_size = 1,
13289         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13290         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13291         },
13292         {
13293         .description = "tl3_rdir",
13294         .field_bit_size = 1,
13295         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13296         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13297         },
13298         {
13299         .description = "l3_ttl_dec",
13300         .field_bit_size = 1,
13301         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13302         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13303         },
13304         {
13305         .description = "tl3_ttl_dec",
13306         .field_bit_size = 1,
13307         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13308         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13309         },
13310         {
13311         .description = "decap_func",
13312         .field_bit_size = 4,
13313         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13314         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13315         },
13316         {
13317         .description = "vnic_or_vport",
13318         .field_bit_size = 12,
13319         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13320         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
13321         .field_opr1 = {
13322         (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
13323         BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}
13324         },
13325         {
13326         .description = "pop_vlan",
13327         .field_bit_size = 1,
13328         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13329         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13330         },
13331         {
13332         .description = "meter",
13333         .field_bit_size = 1,
13334         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13335         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13336         },
13337         {
13338         .description = "mirror",
13339         .field_bit_size = 2,
13340         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13341         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13342         },
13343         {
13344         .description = "drop",
13345         .field_bit_size = 1,
13346         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13347         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13348         },
13349         {
13350         .description = "hit",
13351         .field_bit_size = 1,
13352         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13353         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13354         },
13355         {
13356         .description = "type",
13357         .field_bit_size = 1,
13358         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13359         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13360         },
13361         /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.vf_ing */
13362         {
13363         .description = "act_record_ptr",
13364         .field_bit_size = 16,
13365         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13366         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13367         .field_opr1 = {
13368         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
13369         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
13370         },
13371         {
13372         .description = "reserved",
13373         .field_bit_size = 1,
13374         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13375         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13376         },
13377         {
13378         .description = "l2_byp_lkup_en",
13379         .field_bit_size = 1,
13380         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13381         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13382         .field_opr1 = {
13383         1}
13384         },
13385         {
13386         .description = "parif",
13387         .field_bit_size = 4,
13388         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13389         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13390         },
13391         {
13392         .description = "allowed_pri",
13393         .field_bit_size = 8,
13394         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13395         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13396         },
13397         {
13398         .description = "default_pri",
13399         .field_bit_size = 3,
13400         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13401         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13402         },
13403         {
13404         .description = "allowed_tpid",
13405         .field_bit_size = 6,
13406         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13407         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13408         },
13409         {
13410         .description = "default_tpid",
13411         .field_bit_size = 3,
13412         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13413         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13414         },
13415         {
13416         .description = "bd_act_en",
13417         .field_bit_size = 1,
13418         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13419         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13420         },
13421         {
13422         .description = "sp_rec_ptr",
13423         .field_bit_size = 16,
13424         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13425         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13426         },
13427         {
13428         .description = "byp_sp_lkup",
13429         .field_bit_size = 1,
13430         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13431         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13432         .field_opr1 = {
13433         1}
13434         },
13435         {
13436         .description = "pri_anti_spoof_ctl",
13437         .field_bit_size = 2,
13438         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13439         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13440         },
13441         {
13442         .description = "tpid_anti_spoof_ctl",
13443         .field_bit_size = 2,
13444         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13445         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13446         },
13447         /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.vfr_egr0 */
13448         {
13449         .description = "act_record_ptr",
13450         .field_bit_size = 16,
13451         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13452         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13453         },
13454         {
13455         .description = "reserved",
13456         .field_bit_size = 1,
13457         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13458         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13459         },
13460         {
13461         .description = "l2_byp_lkup_en",
13462         .field_bit_size = 1,
13463         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13464         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13465         .field_opr1 = {
13466         1}
13467         },
13468         {
13469         .description = "parif",
13470         .field_bit_size = 4,
13471         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13472         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13473         },
13474         {
13475         .description = "allowed_pri",
13476         .field_bit_size = 8,
13477         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13478         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13479         },
13480         {
13481         .description = "default_pri",
13482         .field_bit_size = 3,
13483         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13484         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13485         },
13486         {
13487         .description = "allowed_tpid",
13488         .field_bit_size = 6,
13489         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13490         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13491         },
13492         {
13493         .description = "default_tpid",
13494         .field_bit_size = 3,
13495         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13496         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13497         },
13498         {
13499         .description = "bd_act_en",
13500         .field_bit_size = 1,
13501         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13502         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13503         .field_opr1 = {
13504         1}
13505         },
13506         {
13507         .description = "sp_rec_ptr",
13508         .field_bit_size = 16,
13509         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13510         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13511         },
13512         {
13513         .description = "byp_sp_lkup",
13514         .field_bit_size = 1,
13515         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13516         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13517         .field_opr1 = {
13518         1}
13519         },
13520         {
13521         .description = "pri_anti_spoof_ctl",
13522         .field_bit_size = 2,
13523         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13524         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13525         },
13526         {
13527         .description = "tpid_anti_spoof_ctl",
13528         .field_bit_size = 2,
13529         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13530         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13531         },
13532         /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vfr_wr_egr0 */
13533         {
13534         .description = "rid",
13535         .field_bit_size = 32,
13536         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13537         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13538         .field_opr1 = {
13539         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
13540         BNXT_ULP_RF_IDX_RID & 0xff}
13541         },
13542         {
13543         .description = "l2_cntxt_tcam_index",
13544         .field_bit_size = 10,
13545         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13546         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13547         .field_opr1 = {
13548         (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
13549         BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
13550         },
13551         {
13552         .description = "l2_cntxt_id",
13553         .field_bit_size = 10,
13554         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13555         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13556         },
13557         {
13558         .description = "src_property_ptr",
13559         .field_bit_size = 10,
13560         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13561         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13562         },
13563         /* class_tid: 4, wh_plus, table: int_vtag_encap_record.vfr_egr0 */
13564         {
13565         .description = "ecv_tun_type",
13566         .field_bit_size = 3,
13567         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13568         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13569         },
13570         {
13571         .description = "ecv_l4_type",
13572         .field_bit_size = 3,
13573         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13574         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13575         },
13576         {
13577         .description = "ecv_l3_type",
13578         .field_bit_size = 3,
13579         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13580         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13581         },
13582         {
13583         .description = "ecv_l2_en",
13584         .field_bit_size = 1,
13585         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13586         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13587         },
13588         {
13589         .description = "ecv_vtag_type",
13590         .field_bit_size = 4,
13591         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13592         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13593         .field_opr1 = {
13594         ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
13595         },
13596         {
13597         .description = "ecv_custom_en",
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 = "ecv_valid",
13604         .field_bit_size = 1,
13605         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13606         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13607         .field_opr1 = {
13608         1}
13609         },
13610         {
13611         .description = "vtag_tpid",
13612         .field_bit_size = 16,
13613         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13614         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13615         .field_opr1 = {
13616                 0x81,
13617                 0x00}
13618         },
13619         {
13620         .description = "vtag_vid",
13621         .field_bit_size = 12,
13622         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13623         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
13624         .field_opr1 = {
13625         (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
13626         BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
13627         },
13628         {
13629         .description = "vtag_de",
13630         .field_bit_size = 1,
13631         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13632         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13633         },
13634         {
13635         .description = "vtag_pcp",
13636         .field_bit_size = 3,
13637         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13638         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13639         },
13640         {
13641         .description = "spare",
13642         .field_bit_size = 80,
13643         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13644         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13645         },
13646         /* class_tid: 4, wh_plus, table: int_full_act_record.vfr_egr0 */
13647         {
13648         .description = "flow_cntr_ptr",
13649         .field_bit_size = 14,
13650         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13651         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13652         },
13653         {
13654         .description = "age_enable",
13655         .field_bit_size = 1,
13656         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13657         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13658         },
13659         {
13660         .description = "agg_cntr_en",
13661         .field_bit_size = 1,
13662         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13663         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13664         },
13665         {
13666         .description = "rate_cntr_en",
13667         .field_bit_size = 1,
13668         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13669         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13670         },
13671         {
13672         .description = "flow_cntr_en",
13673         .field_bit_size = 1,
13674         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13675         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13676         },
13677         {
13678         .description = "tcpflags_key",
13679         .field_bit_size = 8,
13680         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13681         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13682         },
13683         {
13684         .description = "tcpflags_mir",
13685         .field_bit_size = 1,
13686         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13687         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13688         },
13689         {
13690         .description = "tcpflags_match",
13691         .field_bit_size = 1,
13692         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13693         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13694         },
13695         {
13696         .description = "encap_ptr",
13697         .field_bit_size = 11,
13698         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13699         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13700         .field_opr1 = {
13701         (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
13702         BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
13703         },
13704         {
13705         .description = "dst_ip_ptr",
13706         .field_bit_size = 10,
13707         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13708         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13709         },
13710         {
13711         .description = "tcp_dst_port",
13712         .field_bit_size = 16,
13713         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13714         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13715         },
13716         {
13717         .description = "src_ip_ptr",
13718         .field_bit_size = 10,
13719         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13720         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13721         },
13722         {
13723         .description = "tcp_src_port",
13724         .field_bit_size = 16,
13725         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13726         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13727         },
13728         {
13729         .description = "meter_id",
13730         .field_bit_size = 10,
13731         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13732         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13733         },
13734         {
13735         .description = "l3_rdir",
13736         .field_bit_size = 1,
13737         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13738         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13739         },
13740         {
13741         .description = "tl3_rdir",
13742         .field_bit_size = 1,
13743         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13744         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13745         },
13746         {
13747         .description = "l3_ttl_dec",
13748         .field_bit_size = 1,
13749         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13750         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13751         },
13752         {
13753         .description = "tl3_ttl_dec",
13754         .field_bit_size = 1,
13755         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13756         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13757         },
13758         {
13759         .description = "decap_func",
13760         .field_bit_size = 4,
13761         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13762         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13763         },
13764         {
13765         .description = "vnic_or_vport",
13766         .field_bit_size = 12,
13767         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13768         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13769         .field_opr1 = {
13770         (ULP_WP_SYM_LOOPBACK_PORT >> 8) & 0xff,
13771         ULP_WP_SYM_LOOPBACK_PORT & 0xff}
13772         },
13773         {
13774         .description = "pop_vlan",
13775         .field_bit_size = 1,
13776         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13777         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13778         },
13779         {
13780         .description = "meter",
13781         .field_bit_size = 1,
13782         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13783         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13784         },
13785         {
13786         .description = "mirror",
13787         .field_bit_size = 2,
13788         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13789         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13790         },
13791         {
13792         .description = "drop",
13793         .field_bit_size = 1,
13794         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13795         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13796         },
13797         {
13798         .description = "hit",
13799         .field_bit_size = 1,
13800         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13801         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13802         },
13803         {
13804         .description = "type",
13805         .field_bit_size = 1,
13806         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13807         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13808         },
13809         /* class_tid: 4, wh_plus, table: int_full_act_record.vfr_ing0 */
13810         {
13811         .description = "flow_cntr_ptr",
13812         .field_bit_size = 14,
13813         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13814         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13815         },
13816         {
13817         .description = "age_enable",
13818         .field_bit_size = 1,
13819         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13820         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13821         },
13822         {
13823         .description = "agg_cntr_en",
13824         .field_bit_size = 1,
13825         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13826         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13827         },
13828         {
13829         .description = "rate_cntr_en",
13830         .field_bit_size = 1,
13831         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13832         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13833         },
13834         {
13835         .description = "flow_cntr_en",
13836         .field_bit_size = 1,
13837         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13838         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13839         },
13840         {
13841         .description = "tcpflags_key",
13842         .field_bit_size = 8,
13843         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13844         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13845         },
13846         {
13847         .description = "tcpflags_mir",
13848         .field_bit_size = 1,
13849         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13850         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13851         },
13852         {
13853         .description = "tcpflags_match",
13854         .field_bit_size = 1,
13855         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13856         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13857         },
13858         {
13859         .description = "encap_ptr",
13860         .field_bit_size = 11,
13861         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13862         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13863         },
13864         {
13865         .description = "dst_ip_ptr",
13866         .field_bit_size = 10,
13867         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13868         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13869         },
13870         {
13871         .description = "tcp_dst_port",
13872         .field_bit_size = 16,
13873         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13874         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13875         },
13876         {
13877         .description = "src_ip_ptr",
13878         .field_bit_size = 10,
13879         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13880         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13881         },
13882         {
13883         .description = "tcp_src_port",
13884         .field_bit_size = 16,
13885         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13886         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13887         },
13888         {
13889         .description = "meter_id",
13890         .field_bit_size = 10,
13891         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13892         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13893         },
13894         {
13895         .description = "l3_rdir",
13896         .field_bit_size = 1,
13897         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13898         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13899         },
13900         {
13901         .description = "tl3_rdir",
13902         .field_bit_size = 1,
13903         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13904         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13905         },
13906         {
13907         .description = "l3_ttl_dec",
13908         .field_bit_size = 1,
13909         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13910         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13911         },
13912         {
13913         .description = "tl3_ttl_dec",
13914         .field_bit_size = 1,
13915         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13916         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13917         },
13918         {
13919         .description = "decap_func",
13920         .field_bit_size = 4,
13921         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13922         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13923         },
13924         {
13925         .description = "vnic_or_vport",
13926         .field_bit_size = 12,
13927         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13928         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
13929         .field_opr1 = {
13930         (BNXT_ULP_CF_IDX_VF_FUNC_VNIC >> 8) & 0xff,
13931         BNXT_ULP_CF_IDX_VF_FUNC_VNIC & 0xff}
13932         },
13933         {
13934         .description = "pop_vlan",
13935         .field_bit_size = 1,
13936         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13937         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13938         .field_opr1 = {
13939         1}
13940         },
13941         {
13942         .description = "meter",
13943         .field_bit_size = 1,
13944         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13945         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13946         },
13947         {
13948         .description = "mirror",
13949         .field_bit_size = 2,
13950         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13951         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13952         },
13953         {
13954         .description = "drop",
13955         .field_bit_size = 1,
13956         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13957         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13958         },
13959         {
13960         .description = "hit",
13961         .field_bit_size = 1,
13962         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13963         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13964         },
13965         {
13966         .description = "type",
13967         .field_bit_size = 1,
13968         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13969         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13970         },
13971         /* class_tid: 4, table: l2_cntxt_tcam_bypass.vfr_dtagged_ing0 */
13972         {
13973         .description = "act_record_ptr",
13974         .field_bit_size = 16,
13975         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13976         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13977         .field_opr1 = {
13978         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
13979         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
13980         },
13981         {
13982         .description = "reserved",
13983         .field_bit_size = 1,
13984         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13985         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13986         },
13987         {
13988         .description = "l2_byp_lkup_en",
13989         .field_bit_size = 1,
13990         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13991         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13992         .field_opr1 = {
13993         1}
13994         },
13995         {
13996         .description = "parif",
13997         .field_bit_size = 4,
13998         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13999         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14000         },
14001         {
14002         .description = "allowed_pri",
14003         .field_bit_size = 8,
14004         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14005         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14006         },
14007         {
14008         .description = "default_pri",
14009         .field_bit_size = 3,
14010         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14011         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14012         },
14013         {
14014         .description = "allowed_tpid",
14015         .field_bit_size = 6,
14016         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14017         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14018         },
14019         {
14020         .description = "default_tpid",
14021         .field_bit_size = 3,
14022         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14023         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14024         },
14025         {
14026         .description = "bd_act_en",
14027         .field_bit_size = 1,
14028         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14029         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14030         },
14031         {
14032         .description = "sp_rec_ptr",
14033         .field_bit_size = 16,
14034         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14035         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14036         },
14037         {
14038         .description = "byp_sp_lkup",
14039         .field_bit_size = 1,
14040         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14041         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14042         .field_opr1 = {
14043         1}
14044         },
14045         {
14046         .description = "pri_anti_spoof_ctl",
14047         .field_bit_size = 2,
14048         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14049         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14050         },
14051         {
14052         .description = "tpid_anti_spoof_ctl",
14053         .field_bit_size = 2,
14054         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14055         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14056         },
14057         /* class_tid: 4, table: l2_cntxt_tcam_bypass.vfr_stagged_ing0 */
14058         {
14059         .description = "act_record_ptr",
14060         .field_bit_size = 16,
14061         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14062         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14063         .field_opr1 = {
14064         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
14065         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
14066         },
14067         {
14068         .description = "reserved",
14069         .field_bit_size = 1,
14070         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14071         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14072         },
14073         {
14074         .description = "l2_byp_lkup_en",
14075         .field_bit_size = 1,
14076         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14077         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14078         .field_opr1 = {
14079         1}
14080         },
14081         {
14082         .description = "parif",
14083         .field_bit_size = 4,
14084         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14085         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14086         },
14087         {
14088         .description = "allowed_pri",
14089         .field_bit_size = 8,
14090         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14091         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14092         },
14093         {
14094         .description = "default_pri",
14095         .field_bit_size = 3,
14096         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14097         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14098         },
14099         {
14100         .description = "allowed_tpid",
14101         .field_bit_size = 6,
14102         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14103         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14104         },
14105         {
14106         .description = "default_tpid",
14107         .field_bit_size = 3,
14108         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14109         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14110         },
14111         {
14112         .description = "bd_act_en",
14113         .field_bit_size = 1,
14114         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14115         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14116         },
14117         {
14118         .description = "sp_rec_ptr",
14119         .field_bit_size = 16,
14120         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14121         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14122         },
14123         {
14124         .description = "byp_sp_lkup",
14125         .field_bit_size = 1,
14126         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14127         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14128         .field_opr1 = {
14129         1}
14130         },
14131         {
14132         .description = "pri_anti_spoof_ctl",
14133         .field_bit_size = 2,
14134         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14135         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14136         },
14137         {
14138         .description = "tpid_anti_spoof_ctl",
14139         .field_bit_size = 2,
14140         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14141         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14142         }
14143 };
14144
14145 struct bnxt_ulp_mapper_ident_info ulp_wh_plus_class_ident_list[] = {
14146         /* class_tid: 1, wh_plus, table: l2_cntxt_tcam_cache.rd */
14147         {
14148         .description = "l2_cntxt_id",
14149         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14150         .ident_bit_size = 10,
14151         .ident_bit_pos = 42
14152         },
14153         /* class_tid: 1, wh_plus, table: mac_addr_cache.rd */
14154         {
14155         .description = "l2_cntxt_id",
14156         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14157         .ident_bit_size = 10,
14158         .ident_bit_pos = 42
14159         },
14160         /* class_tid: 1, wh_plus, table: l2_cntxt_tcam.0 */
14161         {
14162         .description = "l2_cntxt_id",
14163         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14164         .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
14165         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14166         .ident_bit_size = 10,
14167         .ident_bit_pos = 0
14168         },
14169         /* class_tid: 1, wh_plus, table: profile_tcam_cache.rd */
14170         {
14171         .description = "em_profile_id",
14172         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
14173         .ident_bit_size = 8,
14174         .ident_bit_pos = 42
14175         },
14176         {
14177         .description = "flow_sig_id",
14178         .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
14179         .ident_bit_size = 32,
14180         .ident_bit_pos = 58
14181         },
14182         {
14183         .description = "profile_tcam_index",
14184         .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
14185         .ident_bit_size = 10,
14186         .ident_bit_pos = 32
14187         },
14188         /* class_tid: 1, wh_plus, table: profile_tcam.ipv4 */
14189         {
14190         .description = "em_profile_id",
14191         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14192         .ident_type = TF_IDENT_TYPE_EM_PROF,
14193         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
14194         .ident_bit_size = 8,
14195         .ident_bit_pos = 28
14196         },
14197         /* class_tid: 1, wh_plus, table: profile_tcam.ipv6 */
14198         {
14199         .description = "em_profile_id",
14200         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14201         .ident_type = TF_IDENT_TYPE_EM_PROF,
14202         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
14203         .ident_bit_size = 8,
14204         .ident_bit_pos = 28
14205         },
14206         /* class_tid: 1, wh_plus, table: profile_tcam.ipv4_vxlan */
14207         {
14208         .description = "em_profile_id",
14209         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14210         .ident_type = TF_IDENT_TYPE_EM_PROF,
14211         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
14212         .ident_bit_size = 8,
14213         .ident_bit_pos = 28
14214         },
14215         /* class_tid: 2, wh_plus, table: l2_cntxt_tcam_cache.rd */
14216         {
14217         .description = "l2_cntxt_id",
14218         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14219         .ident_bit_size = 10,
14220         .ident_bit_pos = 42
14221         },
14222         /* class_tid: 2, wh_plus, table: mac_addr_cache.rd */
14223         {
14224         .description = "l2_cntxt_id",
14225         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14226         .ident_bit_size = 10,
14227         .ident_bit_pos = 42
14228         },
14229         /* class_tid: 2, wh_plus, table: l2_cntxt_tcam.0 */
14230         {
14231         .description = "l2_cntxt_id",
14232         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14233         .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
14234         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14235         .ident_bit_size = 10,
14236         .ident_bit_pos = 0
14237         },
14238         /* class_tid: 2, wh_plus, table: profile_tcam_cache.rd */
14239         {
14240         .description = "em_profile_id",
14241         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
14242         .ident_bit_size = 8,
14243         .ident_bit_pos = 42
14244         },
14245         {
14246         .description = "flow_sig_id",
14247         .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
14248         .ident_bit_size = 32,
14249         .ident_bit_pos = 58
14250         },
14251         {
14252         .description = "profile_tcam_index",
14253         .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
14254         .ident_bit_size = 10,
14255         .ident_bit_pos = 32
14256         },
14257         /* class_tid: 2, wh_plus, table: profile_tcam.ipv4 */
14258         {
14259         .description = "em_profile_id",
14260         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14261         .ident_type = TF_IDENT_TYPE_EM_PROF,
14262         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
14263         .ident_bit_size = 8,
14264         .ident_bit_pos = 28
14265         },
14266         /* class_tid: 2, wh_plus, table: profile_tcam.ipv6 */
14267         {
14268         .description = "em_profile_id",
14269         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14270         .ident_type = TF_IDENT_TYPE_EM_PROF,
14271         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
14272         .ident_bit_size = 8,
14273         .ident_bit_pos = 28
14274         },
14275         /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.ing_0 */
14276         {
14277         .description = "l2_cntxt_id",
14278         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14279         .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
14280         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14281         .ident_bit_size = 10,
14282         .ident_bit_pos = 0
14283         },
14284         /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.egr_0 */
14285         {
14286         .description = "l2_cntxt_id",
14287         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14288         .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
14289         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14290         .ident_bit_size = 10,
14291         .ident_bit_pos = 0
14292         },
14293         /* class_tid: 4, wh_plus, table: l2_cntxt_tcam.vf_egr */
14294         {
14295         .description = "l2_cntxt_id",
14296         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14297         .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
14298         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14299         .ident_bit_size = 10,
14300         .ident_bit_pos = 0
14301         }
14302 };