45025733fc9d81c823e9a21874b46bc47376a64b
[dpdk.git] / drivers / net / bnxt / tf_ulp / generic_templates / ulp_template_db_thor_class.c
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2014-2021 Broadcom
3  * All rights reserved.
4  */
5
6 /* date: Mon Apr  5 11:35:38 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_thor_class_tmpl_list[] = {
15         /* class_tid: 1, thor, ingress */
16         [1] = {
17         .device_name = BNXT_ULP_DEVICE_ID_THOR,
18         .num_tbls = 47,
19         .start_tbl_idx = 0,
20         .reject_info = {
21                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
22                 .cond_start_idx = 0,
23                 .cond_nums = 0 }
24         },
25         /* class_tid: 2, thor, ingress */
26         [2] = {
27         .device_name = BNXT_ULP_DEVICE_ID_THOR,
28         .num_tbls = 13,
29         .start_tbl_idx = 47,
30         .reject_info = {
31                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
32                 .cond_start_idx = 17,
33                 .cond_nums = 0 }
34         },
35         /* class_tid: 3, thor, ingress */
36         [3] = {
37         .device_name = BNXT_ULP_DEVICE_ID_THOR,
38         .num_tbls = 1,
39         .start_tbl_idx = 60,
40         .reject_info = {
41                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
42                 .cond_start_idx = 20,
43                 .cond_nums = 0 }
44         },
45         /* class_tid: 4, thor, ingress */
46         [4] = {
47         .device_name = BNXT_ULP_DEVICE_ID_THOR,
48         .num_tbls = 9,
49         .start_tbl_idx = 61,
50         .reject_info = {
51                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
52                 .cond_start_idx = 20,
53                 .cond_nums = 0 }
54         }
55 };
56
57 struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
58         { /* class_tid: 1, thor, table: port_table.rd */
59         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
60         .resource_sub_type =
61                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,
62         .direction = TF_DIR_RX,
63         .execute_info = {
64                 .cond_true_goto  = 1,
65                 .cond_false_goto = 1,
66                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
67                 .cond_start_idx = 0,
68                 .cond_nums = 0 },
69         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
70         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
71         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
72         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
73         .key_start_idx = 0,
74         .blob_key_bit_size = 10,
75         .key_bit_size = 10,
76         .key_num_fields = 1,
77         .ident_start_idx = 0,
78         .ident_nums = 3
79         },
80         { /* class_tid: 1, thor, table: control.check_gre */
81         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
82         .direction = TF_DIR_RX,
83         .execute_info = {
84                 .cond_true_goto  = 1,
85                 .cond_false_goto = 17,
86                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
87                 .cond_start_idx = 0,
88                 .cond_nums = 1 },
89         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
90         .byte_order = BNXT_ULP_BYTE_ORDER_LE
91         },
92         { /* class_tid: 1, thor, table: l2_cntxt_tcam_cache.gre_rd */
93         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
94         .resource_sub_type =
95                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
96         .direction = TF_DIR_RX,
97         .execute_info = {
98                 .cond_true_goto  = 1,
99                 .cond_false_goto = 1,
100                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
101                 .cond_start_idx = 1,
102                 .cond_nums = 0 },
103         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
104         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
105         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
106         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
107         .key_start_idx = 1,
108         .blob_key_bit_size = 8,
109         .key_bit_size = 8,
110         .key_num_fields = 1,
111         .ident_start_idx = 3,
112         .ident_nums = 0
113         },
114         { /* class_tid: 1, thor, table: control.gre_hit */
115         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
116         .direction = TF_DIR_RX,
117         .execute_info = {
118                 .cond_true_goto  = 1,
119                 .cond_false_goto = 42,
120                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
121                 .cond_start_idx = 1,
122                 .cond_nums = 1 },
123         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
124         .fdb_operand = BNXT_ULP_RF_IDX_RID,
125         .byte_order = BNXT_ULP_BYTE_ORDER_LE
126         },
127         { /* class_tid: 1, thor, table: l2_cntxt_tcam.gre */
128         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
129         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
130         .direction = TF_DIR_RX,
131         .execute_info = {
132                 .cond_true_goto  = 1,
133                 .cond_false_goto = 1,
134                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
135                 .cond_start_idx = 2,
136                 .cond_nums = 0 },
137         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
138         .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
139         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
140         .fdb_operand = BNXT_ULP_RF_IDX_RID,
141         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
142         .pri_operand = 0,
143         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
144         .key_start_idx = 2,
145         .blob_key_bit_size = 213,
146         .key_bit_size = 213,
147         .key_num_fields = 21,
148         .result_start_idx = 0,
149         .result_bit_size = 43,
150         .result_num_fields = 6,
151         .ident_start_idx = 3,
152         .ident_nums = 1
153         },
154         { /* class_tid: 1, thor, table: l2_cntxt_tcam_cache.gre_wr */
155         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
156         .resource_sub_type =
157                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
158         .direction = TF_DIR_RX,
159         .execute_info = {
160                 .cond_true_goto  = 1,
161                 .cond_false_goto = 1,
162                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
163                 .cond_start_idx = 2,
164                 .cond_nums = 0 },
165         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
166         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
167         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
168         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
169         .key_start_idx = 23,
170         .blob_key_bit_size = 8,
171         .key_bit_size = 8,
172         .key_num_fields = 1,
173         .result_start_idx = 6,
174         .result_bit_size = 62,
175         .result_num_fields = 4
176         },
177         { /* class_tid: 1, thor, table: fkb_select.gre */
178         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
179         .resource_type = TF_TBL_TYPE_WC_FKB,
180         .direction = TF_DIR_RX,
181         .execute_info = {
182                 .cond_true_goto  = 1,
183                 .cond_false_goto = 1,
184                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
185                 .cond_start_idx = 2,
186                 .cond_nums = 0 },
187         .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
188         .tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
189         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
190         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
191         .result_start_idx = 10,
192         .result_bit_size = 106,
193         .result_num_fields = 106
194         },
195         { /* class_tid: 1, thor, table: profile_tcam.gre */
196         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
197         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
198         .direction = TF_DIR_RX,
199         .execute_info = {
200                 .cond_true_goto  = 1,
201                 .cond_false_goto = 1,
202                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
203                 .cond_start_idx = 2,
204                 .cond_nums = 0 },
205         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
206         .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
207         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
208         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
209         .pri_operand = 0,
210         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
211         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
212         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
213         .key_start_idx = 24,
214         .blob_key_bit_size = 94,
215         .key_bit_size = 94,
216         .key_num_fields = 43,
217         .result_start_idx = 116,
218         .result_bit_size = 33,
219         .result_num_fields = 8,
220         .ident_start_idx = 4,
221         .ident_nums = 0
222         },
223         { /* class_tid: 1, thor, table: wm.gre */
224         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
225         .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH,
226         .direction = TF_DIR_RX,
227         .execute_info = {
228                 .cond_true_goto  = 2,
229                 .cond_false_goto = 1,
230                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
231                 .cond_start_idx = 2,
232                 .cond_nums = 1 },
233         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
234         .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
235         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
236         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
237         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
238         .shared_session = BNXT_ULP_SHARED_SESSION_YES,
239         .byte_order = BNXT_ULP_BYTE_ORDER_BE,
240         .key_start_idx = 67,
241         .blob_key_bit_size = 0,
242         .key_bit_size = 0,
243         .key_num_fields = 114,
244         .result_start_idx = 124,
245         .result_bit_size = 38,
246         .result_num_fields = 5
247         },
248         { /* class_tid: 1, thor, table: wm.gre_low */
249         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
250         .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_LOW,
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_TRUE,
256                 .cond_start_idx = 3,
257                 .cond_nums = 0 },
258         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
259         .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
260         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
261         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
262         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
263         .shared_session = BNXT_ULP_SHARED_SESSION_YES,
264         .byte_order = BNXT_ULP_BYTE_ORDER_BE,
265         .key_start_idx = 181,
266         .blob_key_bit_size = 0,
267         .key_bit_size = 0,
268         .key_num_fields = 114,
269         .result_start_idx = 129,
270         .result_bit_size = 38,
271         .result_num_fields = 5
272         },
273         { /* class_tid: 1, thor, table: mac_addr_cache.gre_frag_rd */
274         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
275         .resource_sub_type =
276                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
277         .direction = TF_DIR_RX,
278         .execute_info = {
279                 .cond_true_goto  = 1,
280                 .cond_false_goto = 1,
281                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
282                 .cond_start_idx = 3,
283                 .cond_nums = 0 },
284         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
285         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
286         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
287         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
288         .key_start_idx = 295,
289         .blob_key_bit_size = 73,
290         .key_bit_size = 73,
291         .key_num_fields = 5,
292         .ident_start_idx = 4,
293         .ident_nums = 0
294         },
295         { /* class_tid: 1, thor, table: control.gre_frag_mac_hit */
296         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
297         .direction = TF_DIR_RX,
298         .execute_info = {
299                 .cond_true_goto  = 1,
300                 .cond_false_goto = 4,
301                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
302                 .cond_start_idx = 3,
303                 .cond_nums = 1 },
304         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
305         .fdb_operand = BNXT_ULP_RF_IDX_RID,
306         .byte_order = BNXT_ULP_BYTE_ORDER_LE
307         },
308         { /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */
309         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
310         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
311         .direction = TF_DIR_RX,
312         .execute_info = {
313                 .cond_true_goto  = 1,
314                 .cond_false_goto = 1,
315                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
316                 .cond_start_idx = 4,
317                 .cond_nums = 0 },
318         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
319         .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
320         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
321         .fdb_operand = BNXT_ULP_RF_IDX_RID,
322         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
323         .pri_operand = 0,
324         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
325         .key_start_idx = 300,
326         .blob_key_bit_size = 213,
327         .key_bit_size = 213,
328         .key_num_fields = 21,
329         .result_start_idx = 134,
330         .result_bit_size = 43,
331         .result_num_fields = 6,
332         .ident_start_idx = 4,
333         .ident_nums = 0
334         },
335         { /* class_tid: 1, thor, table: mac_addr_cache.gre_frag_wr */
336         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
337         .resource_sub_type =
338                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
339         .direction = TF_DIR_RX,
340         .execute_info = {
341                 .cond_true_goto  = 1,
342                 .cond_false_goto = 1,
343                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
344                 .cond_start_idx = 4,
345                 .cond_nums = 0 },
346         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
347         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
348         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
349         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
350         .key_start_idx = 321,
351         .blob_key_bit_size = 73,
352         .key_bit_size = 73,
353         .key_num_fields = 5,
354         .result_start_idx = 140,
355         .result_bit_size = 62,
356         .result_num_fields = 4
357         },
358         { /* class_tid: 1, thor, table: fkb_select.gre_frag */
359         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
360         .resource_type = TF_TBL_TYPE_WC_FKB,
361         .direction = TF_DIR_RX,
362         .execute_info = {
363                 .cond_true_goto  = 1,
364                 .cond_false_goto = 1,
365                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
366                 .cond_start_idx = 4,
367                 .cond_nums = 0 },
368         .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
369         .tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
370         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
371         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
372         .result_start_idx = 144,
373         .result_bit_size = 106,
374         .result_num_fields = 106
375         },
376         { /* class_tid: 1, thor, table: profile_tcam.gre_frag */
377         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
378         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
379         .direction = TF_DIR_RX,
380         .execute_info = {
381                 .cond_true_goto  = 1,
382                 .cond_false_goto = 1,
383                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
384                 .cond_start_idx = 4,
385                 .cond_nums = 0 },
386         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
387         .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
388         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
389         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
390         .pri_operand = 0,
391         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
392         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
393         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
394         .key_start_idx = 326,
395         .blob_key_bit_size = 94,
396         .key_bit_size = 94,
397         .key_num_fields = 43,
398         .result_start_idx = 250,
399         .result_bit_size = 33,
400         .result_num_fields = 8,
401         .ident_start_idx = 4,
402         .ident_nums = 0
403         },
404         { /* class_tid: 1, thor, table: wm.gre_frag */
405         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
406         .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH,
407         .direction = TF_DIR_RX,
408         .execute_info = {
409                 .cond_true_goto  = 29,
410                 .cond_false_goto = 1,
411                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
412                 .cond_start_idx = 4,
413                 .cond_nums = 1 },
414         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
415         .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
416         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
417         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
418         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
419         .shared_session = BNXT_ULP_SHARED_SESSION_YES,
420         .byte_order = BNXT_ULP_BYTE_ORDER_BE,
421         .key_start_idx = 369,
422         .blob_key_bit_size = 0,
423         .key_bit_size = 0,
424         .key_num_fields = 114,
425         .result_start_idx = 258,
426         .result_bit_size = 38,
427         .result_num_fields = 5
428         },
429         { /* class_tid: 1, thor, table: wm.gre_frag_low */
430         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
431         .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_LOW,
432         .direction = TF_DIR_RX,
433         .execute_info = {
434                 .cond_true_goto  = 28,
435                 .cond_false_goto = 1,
436                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
437                 .cond_start_idx = 5,
438                 .cond_nums = 0 },
439         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
440         .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
441         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
442         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
443         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
444         .shared_session = BNXT_ULP_SHARED_SESSION_YES,
445         .byte_order = BNXT_ULP_BYTE_ORDER_BE,
446         .key_start_idx = 483,
447         .blob_key_bit_size = 0,
448         .key_bit_size = 0,
449         .key_num_fields = 114,
450         .result_start_idx = 263,
451         .result_bit_size = 38,
452         .result_num_fields = 5
453         },
454         { /* class_tid: 1, thor, table: mac_addr_cache.non_gre_rd */
455         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
456         .resource_sub_type =
457                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
458         .direction = TF_DIR_RX,
459         .execute_info = {
460                 .cond_true_goto  = 1,
461                 .cond_false_goto = 1,
462                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
463                 .cond_start_idx = 5,
464                 .cond_nums = 0 },
465         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
466         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
467         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
468         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
469         .key_start_idx = 597,
470         .blob_key_bit_size = 73,
471         .key_bit_size = 73,
472         .key_num_fields = 5,
473         .ident_start_idx = 4,
474         .ident_nums = 0
475         },
476         { /* class_tid: 1, thor, table: control.non_gre_mac */
477         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
478         .direction = TF_DIR_RX,
479         .execute_info = {
480                 .cond_true_goto  = 1,
481                 .cond_false_goto = 3,
482                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
483                 .cond_start_idx = 5,
484                 .cond_nums = 1 },
485         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
486         .fdb_operand = BNXT_ULP_RF_IDX_RID,
487         .byte_order = BNXT_ULP_BYTE_ORDER_LE
488         },
489         { /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */
490         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
491         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
492         .direction = TF_DIR_RX,
493         .execute_info = {
494                 .cond_true_goto  = 1,
495                 .cond_false_goto = 1,
496                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
497                 .cond_start_idx = 6,
498                 .cond_nums = 0 },
499         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
500         .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
501         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
502         .fdb_operand = BNXT_ULP_RF_IDX_RID,
503         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
504         .pri_operand = 0,
505         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
506         .key_start_idx = 602,
507         .blob_key_bit_size = 213,
508         .key_bit_size = 213,
509         .key_num_fields = 21,
510         .result_start_idx = 268,
511         .result_bit_size = 43,
512         .result_num_fields = 6,
513         .ident_start_idx = 4,
514         .ident_nums = 0
515         },
516         { /* class_tid: 1, thor, table: mac_addr_cache.wr */
517         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
518         .resource_sub_type =
519                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
520         .direction = TF_DIR_RX,
521         .execute_info = {
522                 .cond_true_goto  = 1,
523                 .cond_false_goto = 1,
524                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
525                 .cond_start_idx = 6,
526                 .cond_nums = 0 },
527         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
528         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
529         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
530         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
531         .key_start_idx = 623,
532         .blob_key_bit_size = 73,
533         .key_bit_size = 73,
534         .key_num_fields = 5,
535         .result_start_idx = 274,
536         .result_bit_size = 62,
537         .result_num_fields = 4
538         },
539         { /* class_tid: 1, thor, table: control.icmpv4_test */
540         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
541         .direction = TF_DIR_RX,
542         .execute_info = {
543                 .cond_true_goto  = 1,
544                 .cond_false_goto = 8,
545                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
546                 .cond_start_idx = 6,
547                 .cond_nums = 2 },
548         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
549         .byte_order = BNXT_ULP_BYTE_ORDER_LE
550         },
551         { /* class_tid: 1, thor, table: profile_tcam_cache.icmpv4_rd */
552         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
553         .resource_sub_type =
554                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
555         .direction = TF_DIR_RX,
556         .execute_info = {
557                 .cond_true_goto  = 1,
558                 .cond_false_goto = 1,
559                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
560                 .cond_start_idx = 8,
561                 .cond_nums = 0 },
562         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
563         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
564         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
565         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
566         .key_start_idx = 628,
567         .blob_key_bit_size = 14,
568         .key_bit_size = 14,
569         .key_num_fields = 3,
570         .ident_start_idx = 4,
571         .ident_nums = 0
572         },
573         { /* class_tid: 1, thor, table: control.icmpv4 */
574         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
575         .direction = TF_DIR_RX,
576         .execute_info = {
577                 .cond_true_goto  = 1,
578                 .cond_false_goto = 4,
579                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
580                 .cond_start_idx = 8,
581                 .cond_nums = 1 },
582         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
583         .fdb_operand = BNXT_ULP_RF_IDX_RID,
584         .byte_order = BNXT_ULP_BYTE_ORDER_LE
585         },
586         { /* class_tid: 1, thor, table: fkb_select.icmpv4 */
587         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
588         .resource_type = TF_TBL_TYPE_WC_FKB,
589         .direction = TF_DIR_RX,
590         .execute_info = {
591                 .cond_true_goto  = 1,
592                 .cond_false_goto = 1,
593                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
594                 .cond_start_idx = 9,
595                 .cond_nums = 0 },
596         .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
597         .tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
598         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
599         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
600         .result_start_idx = 278,
601         .result_bit_size = 106,
602         .result_num_fields = 106
603         },
604         { /* class_tid: 1, thor, table: profile_tcam.icmpv4 */
605         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
606         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
607         .direction = TF_DIR_RX,
608         .execute_info = {
609                 .cond_true_goto  = 1,
610                 .cond_false_goto = 1,
611                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
612                 .cond_start_idx = 9,
613                 .cond_nums = 0 },
614         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
615         .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
616         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
617         .fdb_operand = BNXT_ULP_RF_IDX_RID,
618         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
619         .pri_operand = 0,
620         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
621         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
622         .key_start_idx = 631,
623         .blob_key_bit_size = 94,
624         .key_bit_size = 94,
625         .key_num_fields = 43,
626         .result_start_idx = 384,
627         .result_bit_size = 33,
628         .result_num_fields = 8,
629         .ident_start_idx = 4,
630         .ident_nums = 1
631         },
632         { /* class_tid: 1, thor, table: profile_tcam_cache.icmpv4_wr */
633         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
634         .resource_sub_type =
635                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
636         .direction = TF_DIR_RX,
637         .execute_info = {
638                 .cond_true_goto  = 1,
639                 .cond_false_goto = 1,
640                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
641                 .cond_start_idx = 9,
642                 .cond_nums = 0 },
643         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
644         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
645         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
646         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
647         .key_start_idx = 674,
648         .blob_key_bit_size = 14,
649         .key_bit_size = 14,
650         .key_num_fields = 3,
651         .result_start_idx = 392,
652         .result_bit_size = 82,
653         .result_num_fields = 7
654         },
655         { /* class_tid: 1, thor, table: wm.icmpv4 */
656         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
657         .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH,
658         .direction = TF_DIR_RX,
659         .execute_info = {
660                 .cond_true_goto  = 17,
661                 .cond_false_goto = 1,
662                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
663                 .cond_start_idx = 9,
664                 .cond_nums = 1 },
665         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
666         .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
667         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
668         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
669         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
670         .shared_session = BNXT_ULP_SHARED_SESSION_YES,
671         .byte_order = BNXT_ULP_BYTE_ORDER_BE,
672         .key_start_idx = 677,
673         .blob_key_bit_size = 0,
674         .key_bit_size = 0,
675         .key_num_fields = 114,
676         .result_start_idx = 399,
677         .result_bit_size = 38,
678         .result_num_fields = 5
679         },
680         { /* class_tid: 1, thor, table: wm.icmpv4_low */
681         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
682         .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_LOW,
683         .direction = TF_DIR_RX,
684         .execute_info = {
685                 .cond_true_goto  = 16,
686                 .cond_false_goto = 1,
687                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
688                 .cond_start_idx = 10,
689                 .cond_nums = 0 },
690         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
691         .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
692         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
693         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
694         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
695         .shared_session = BNXT_ULP_SHARED_SESSION_YES,
696         .byte_order = BNXT_ULP_BYTE_ORDER_BE,
697         .key_start_idx = 791,
698         .blob_key_bit_size = 0,
699         .key_bit_size = 0,
700         .key_num_fields = 114,
701         .result_start_idx = 404,
702         .result_bit_size = 38,
703         .result_num_fields = 5
704         },
705         { /* class_tid: 1, thor, table: control.icmpv6_test */
706         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
707         .direction = TF_DIR_RX,
708         .execute_info = {
709                 .cond_true_goto  = 1,
710                 .cond_false_goto = 8,
711                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
712                 .cond_start_idx = 10,
713                 .cond_nums = 2 },
714         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
715         .byte_order = BNXT_ULP_BYTE_ORDER_LE
716         },
717         { /* class_tid: 1, thor, table: profile_tcam_cache.icmpv6_rd */
718         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
719         .resource_sub_type =
720                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
721         .direction = TF_DIR_RX,
722         .execute_info = {
723                 .cond_true_goto  = 1,
724                 .cond_false_goto = 1,
725                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
726                 .cond_start_idx = 12,
727                 .cond_nums = 0 },
728         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
729         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
730         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
731         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
732         .key_start_idx = 905,
733         .blob_key_bit_size = 14,
734         .key_bit_size = 14,
735         .key_num_fields = 3,
736         .ident_start_idx = 5,
737         .ident_nums = 0
738         },
739         { /* class_tid: 1, thor, table: control.icmpv6 */
740         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
741         .direction = TF_DIR_RX,
742         .execute_info = {
743                 .cond_true_goto  = 1,
744                 .cond_false_goto = 4,
745                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
746                 .cond_start_idx = 12,
747                 .cond_nums = 1 },
748         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
749         .fdb_operand = BNXT_ULP_RF_IDX_RID,
750         .byte_order = BNXT_ULP_BYTE_ORDER_LE
751         },
752         { /* class_tid: 1, thor, table: fkb_select.icmpv6 */
753         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
754         .resource_type = TF_TBL_TYPE_WC_FKB,
755         .direction = TF_DIR_RX,
756         .execute_info = {
757                 .cond_true_goto  = 1,
758                 .cond_false_goto = 1,
759                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
760                 .cond_start_idx = 13,
761                 .cond_nums = 0 },
762         .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
763         .tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
764         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
765         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
766         .result_start_idx = 409,
767         .result_bit_size = 106,
768         .result_num_fields = 106
769         },
770         { /* class_tid: 1, thor, table: profile_tcam.icmpv6 */
771         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
772         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
773         .direction = TF_DIR_RX,
774         .execute_info = {
775                 .cond_true_goto  = 1,
776                 .cond_false_goto = 1,
777                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
778                 .cond_start_idx = 13,
779                 .cond_nums = 0 },
780         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
781         .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
782         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
783         .fdb_operand = BNXT_ULP_RF_IDX_RID,
784         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
785         .pri_operand = 0,
786         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
787         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
788         .key_start_idx = 908,
789         .blob_key_bit_size = 94,
790         .key_bit_size = 94,
791         .key_num_fields = 43,
792         .result_start_idx = 515,
793         .result_bit_size = 33,
794         .result_num_fields = 8,
795         .ident_start_idx = 5,
796         .ident_nums = 1
797         },
798         { /* class_tid: 1, thor, table: profile_tcam_cache.icmpv6_wr */
799         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
800         .resource_sub_type =
801                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
802         .direction = TF_DIR_RX,
803         .execute_info = {
804                 .cond_true_goto  = 1,
805                 .cond_false_goto = 1,
806                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
807                 .cond_start_idx = 13,
808                 .cond_nums = 0 },
809         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
810         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
811         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
812         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
813         .key_start_idx = 951,
814         .blob_key_bit_size = 14,
815         .key_bit_size = 14,
816         .key_num_fields = 3,
817         .result_start_idx = 523,
818         .result_bit_size = 82,
819         .result_num_fields = 7
820         },
821         { /* class_tid: 1, thor, table: wm.icmpv6 */
822         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
823         .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH,
824         .direction = TF_DIR_RX,
825         .execute_info = {
826                 .cond_true_goto  = 9,
827                 .cond_false_goto = 1,
828                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
829                 .cond_start_idx = 13,
830                 .cond_nums = 1 },
831         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
832         .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
833         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
834         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
835         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
836         .shared_session = BNXT_ULP_SHARED_SESSION_YES,
837         .byte_order = BNXT_ULP_BYTE_ORDER_BE,
838         .key_start_idx = 954,
839         .blob_key_bit_size = 0,
840         .key_bit_size = 0,
841         .key_num_fields = 114,
842         .result_start_idx = 530,
843         .result_bit_size = 38,
844         .result_num_fields = 5
845         },
846         { /* class_tid: 1, thor, table: wm.icmpv6_low */
847         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
848         .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_LOW,
849         .direction = TF_DIR_RX,
850         .execute_info = {
851                 .cond_true_goto  = 8,
852                 .cond_false_goto = 1,
853                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
854                 .cond_start_idx = 14,
855                 .cond_nums = 0 },
856         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
857         .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
858         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
859         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
860         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
861         .shared_session = BNXT_ULP_SHARED_SESSION_YES,
862         .byte_order = BNXT_ULP_BYTE_ORDER_BE,
863         .key_start_idx = 1068,
864         .blob_key_bit_size = 0,
865         .key_bit_size = 0,
866         .key_num_fields = 114,
867         .result_start_idx = 535,
868         .result_bit_size = 38,
869         .result_num_fields = 5
870         },
871         { /* class_tid: 1, thor, table: profile_tcam_cache.l3_l4_rd */
872         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
873         .resource_sub_type =
874                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
875         .direction = TF_DIR_RX,
876         .execute_info = {
877                 .cond_true_goto  = 1,
878                 .cond_false_goto = 1,
879                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
880                 .cond_start_idx = 14,
881                 .cond_nums = 0 },
882         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
883         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
884         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
885         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
886         .key_start_idx = 1182,
887         .blob_key_bit_size = 14,
888         .key_bit_size = 14,
889         .key_num_fields = 3,
890         .ident_start_idx = 6,
891         .ident_nums = 0
892         },
893         { /* class_tid: 1, thor, table: control.l3_l4 */
894         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
895         .direction = TF_DIR_RX,
896         .execute_info = {
897                 .cond_true_goto  = 1,
898                 .cond_false_goto = 4,
899                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
900                 .cond_start_idx = 14,
901                 .cond_nums = 1 },
902         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
903         .fdb_operand = BNXT_ULP_RF_IDX_RID,
904         .byte_order = BNXT_ULP_BYTE_ORDER_LE
905         },
906         { /* class_tid: 1, thor, table: fkb_select.l3_l4_wm */
907         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
908         .resource_type = TF_TBL_TYPE_WC_FKB,
909         .direction = TF_DIR_RX,
910         .execute_info = {
911                 .cond_true_goto  = 1,
912                 .cond_false_goto = 1,
913                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
914                 .cond_start_idx = 15,
915                 .cond_nums = 0 },
916         .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
917         .tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
918         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
919         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
920         .result_start_idx = 540,
921         .result_bit_size = 106,
922         .result_num_fields = 106
923         },
924         { /* class_tid: 1, thor, table: profile_tcam.l3_l4 */
925         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
926         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
927         .direction = TF_DIR_RX,
928         .execute_info = {
929                 .cond_true_goto  = 1,
930                 .cond_false_goto = 1,
931                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
932                 .cond_start_idx = 15,
933                 .cond_nums = 0 },
934         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
935         .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
936         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
937         .fdb_operand = BNXT_ULP_RF_IDX_RID,
938         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
939         .pri_operand = 0,
940         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
941         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
942         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
943         .key_start_idx = 1185,
944         .blob_key_bit_size = 94,
945         .key_bit_size = 94,
946         .key_num_fields = 43,
947         .result_start_idx = 646,
948         .result_bit_size = 33,
949         .result_num_fields = 8,
950         .ident_start_idx = 6,
951         .ident_nums = 0
952         },
953         { /* class_tid: 1, thor, table: profile_tcam_cache.wr */
954         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
955         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
956         .resource_sub_type =
957                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
958         .direction = TF_DIR_RX,
959         .execute_info = {
960                 .cond_true_goto  = 1,
961                 .cond_false_goto = 1,
962                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
963                 .cond_start_idx = 15,
964                 .cond_nums = 0 },
965         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
966         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
967         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
968         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
969         .key_start_idx = 1228,
970         .blob_key_bit_size = 14,
971         .key_bit_size = 14,
972         .key_num_fields = 3,
973         .result_start_idx = 654,
974         .result_bit_size = 82,
975         .result_num_fields = 7
976         },
977         { /* class_tid: 1, thor, table: wm.l4 */
978         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
979         .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_HIGH,
980         .direction = TF_DIR_RX,
981         .execute_info = {
982                 .cond_true_goto  = 2,
983                 .cond_false_goto = 1,
984                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
985                 .cond_start_idx = 15,
986                 .cond_nums = 1 },
987         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
988         .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
989         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
990         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
991         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
992         .shared_session = BNXT_ULP_SHARED_SESSION_YES,
993         .byte_order = BNXT_ULP_BYTE_ORDER_BE,
994         .key_start_idx = 1231,
995         .blob_key_bit_size = 0,
996         .key_bit_size = 0,
997         .key_num_fields = 114,
998         .result_start_idx = 661,
999         .result_bit_size = 38,
1000         .result_num_fields = 5
1001         },
1002         { /* class_tid: 1, thor, table: wm.l4_low */
1003         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1004         .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM_LOW,
1005         .direction = TF_DIR_RX,
1006         .execute_info = {
1007                 .cond_true_goto  = 1,
1008                 .cond_false_goto = 1,
1009                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1010                 .cond_start_idx = 16,
1011                 .cond_nums = 0 },
1012         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1013         .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
1014         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1015         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1016         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
1017         .shared_session = BNXT_ULP_SHARED_SESSION_YES,
1018         .byte_order = BNXT_ULP_BYTE_ORDER_BE,
1019         .key_start_idx = 1345,
1020         .blob_key_bit_size = 0,
1021         .key_bit_size = 0,
1022         .key_num_fields = 114,
1023         .result_start_idx = 666,
1024         .result_bit_size = 38,
1025         .result_num_fields = 5
1026         },
1027         { /* class_tid: 1, thor, table: control.check_rss_action */
1028         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1029         .direction = TF_DIR_RX,
1030         .execute_info = {
1031                 .cond_true_goto  = 1,
1032                 .cond_false_goto = 0,
1033                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1034                 .cond_start_idx = 16,
1035                 .cond_nums = 1 },
1036         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
1037         .byte_order = BNXT_ULP_BYTE_ORDER_LE
1038         },
1039         { /* class_tid: 1, thor, table: control.rss_config */
1040         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1041         .direction = TF_DIR_RX,
1042         .execute_info = {
1043                 .cond_true_goto  = 0,
1044                 .cond_false_goto = 0,
1045                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1046                 .cond_start_idx = 17,
1047                 .cond_nums = 0 },
1048         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
1049         .func_info = {
1050                 .func_opc = BNXT_ULP_FUNC_OPC_RSS_CONFIG,
1051                 .func_dst_opr = BNXT_ULP_RF_IDX_CC },
1052         .byte_order = BNXT_ULP_BYTE_ORDER_LE
1053         },
1054         { /* class_tid: 2, thor, table: port_table.rd */
1055         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1056         .resource_sub_type =
1057                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,
1058         .direction = TF_DIR_RX,
1059         .execute_info = {
1060                 .cond_true_goto  = 1,
1061                 .cond_false_goto = 1,
1062                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1063                 .cond_start_idx = 17,
1064                 .cond_nums = 0 },
1065         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
1066         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1067         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
1068         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1069         .key_start_idx = 1459,
1070         .blob_key_bit_size = 10,
1071         .key_bit_size = 10,
1072         .key_num_fields = 1,
1073         .ident_start_idx = 6,
1074         .ident_nums = 3
1075         },
1076         { /* class_tid: 2, thor, table: mac_addr_cache.rd */
1077         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1078         .resource_sub_type =
1079                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
1080         .direction = TF_DIR_RX,
1081         .execute_info = {
1082                 .cond_true_goto  = 1,
1083                 .cond_false_goto = 1,
1084                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1085                 .cond_start_idx = 17,
1086                 .cond_nums = 0 },
1087         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
1088         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
1089         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1090         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1091         .key_start_idx = 1460,
1092         .blob_key_bit_size = 73,
1093         .key_bit_size = 73,
1094         .key_num_fields = 5,
1095         .ident_start_idx = 9,
1096         .ident_nums = 0
1097         },
1098         { /* class_tid: 2, thor, table: control.0 */
1099         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1100         .direction = TF_DIR_RX,
1101         .execute_info = {
1102                 .cond_true_goto  = 1,
1103                 .cond_false_goto = 3,
1104                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1105                 .cond_start_idx = 17,
1106                 .cond_nums = 1 },
1107         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
1108         .fdb_operand = BNXT_ULP_RF_IDX_RID,
1109         .byte_order = BNXT_ULP_BYTE_ORDER_LE
1110         },
1111         { /* class_tid: 2, thor, table: l2_cntxt_tcam.0 */
1112         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1113         .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1114         .direction = TF_DIR_RX,
1115         .execute_info = {
1116                 .cond_true_goto  = 1,
1117                 .cond_false_goto = 1,
1118                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1119                 .cond_start_idx = 18,
1120                 .cond_nums = 0 },
1121         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1122         .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
1123         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
1124         .fdb_operand = BNXT_ULP_RF_IDX_RID,
1125         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
1126         .pri_operand = 0,
1127         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1128         .key_start_idx = 1465,
1129         .blob_key_bit_size = 213,
1130         .key_bit_size = 213,
1131         .key_num_fields = 21,
1132         .result_start_idx = 671,
1133         .result_bit_size = 43,
1134         .result_num_fields = 6,
1135         .ident_start_idx = 9,
1136         .ident_nums = 1
1137         },
1138         { /* class_tid: 2, thor, table: mac_addr_cache.wr */
1139         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1140         .resource_sub_type =
1141                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
1142         .direction = TF_DIR_RX,
1143         .execute_info = {
1144                 .cond_true_goto  = 1,
1145                 .cond_false_goto = 1,
1146                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1147                 .cond_start_idx = 18,
1148                 .cond_nums = 0 },
1149         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
1150         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
1151         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1152         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1153         .key_start_idx = 1486,
1154         .blob_key_bit_size = 73,
1155         .key_bit_size = 73,
1156         .key_num_fields = 5,
1157         .result_start_idx = 677,
1158         .result_bit_size = 62,
1159         .result_num_fields = 4
1160         },
1161         { /* class_tid: 2, thor, table: profile_tcam_cache.l3_l4_rd */
1162         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1163         .resource_sub_type =
1164                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
1165         .direction = TF_DIR_RX,
1166         .execute_info = {
1167                 .cond_true_goto  = 1,
1168                 .cond_false_goto = 1,
1169                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1170                 .cond_start_idx = 18,
1171                 .cond_nums = 0 },
1172         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
1173         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1174         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1175         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1176         .key_start_idx = 1491,
1177         .blob_key_bit_size = 14,
1178         .key_bit_size = 14,
1179         .key_num_fields = 3,
1180         .ident_start_idx = 10,
1181         .ident_nums = 0
1182         },
1183         { /* class_tid: 2, thor, table: control.l3_l4 */
1184         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1185         .direction = TF_DIR_RX,
1186         .execute_info = {
1187                 .cond_true_goto  = 1,
1188                 .cond_false_goto = 4,
1189                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1190                 .cond_start_idx = 18,
1191                 .cond_nums = 1 },
1192         .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
1193         .fdb_operand = BNXT_ULP_RF_IDX_RID,
1194         .byte_order = BNXT_ULP_BYTE_ORDER_LE
1195         },
1196         { /* class_tid: 2, thor, table: fkb_select.l3_l4_wm */
1197         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1198         .resource_type = TF_TBL_TYPE_WC_FKB,
1199         .direction = TF_DIR_RX,
1200         .execute_info = {
1201                 .cond_true_goto  = 1,
1202                 .cond_false_goto = 1,
1203                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1204                 .cond_start_idx = 19,
1205                 .cond_nums = 0 },
1206         .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
1207         .tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0,
1208         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
1209         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1210         .result_start_idx = 681,
1211         .result_bit_size = 106,
1212         .result_num_fields = 106
1213         },
1214         { /* class_tid: 2, thor, table: profile_tcam.l3_l4 */
1215         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1216         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1217         .direction = TF_DIR_RX,
1218         .execute_info = {
1219                 .cond_true_goto  = 1,
1220                 .cond_false_goto = 1,
1221                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1222                 .cond_start_idx = 19,
1223                 .cond_nums = 0 },
1224         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1225         .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
1226         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
1227         .fdb_operand = BNXT_ULP_RF_IDX_RID,
1228         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
1229         .pri_operand = 0,
1230         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1231         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
1232         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1233         .key_start_idx = 1494,
1234         .blob_key_bit_size = 94,
1235         .key_bit_size = 94,
1236         .key_num_fields = 43,
1237         .result_start_idx = 787,
1238         .result_bit_size = 33,
1239         .result_num_fields = 8,
1240         .ident_start_idx = 10,
1241         .ident_nums = 0
1242         },
1243         { /* class_tid: 2, thor, table: profile_tcam_cache.wr */
1244         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1245         .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
1246         .resource_sub_type =
1247                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
1248         .direction = TF_DIR_RX,
1249         .execute_info = {
1250                 .cond_true_goto  = 1,
1251                 .cond_false_goto = 1,
1252                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1253                 .cond_start_idx = 19,
1254                 .cond_nums = 0 },
1255         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
1256         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1257         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1258         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1259         .key_start_idx = 1537,
1260         .blob_key_bit_size = 14,
1261         .key_bit_size = 14,
1262         .key_num_fields = 3,
1263         .result_start_idx = 795,
1264         .result_bit_size = 82,
1265         .result_num_fields = 7
1266         },
1267         { /* class_tid: 2, thor, table: wm.l4 */
1268         .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1269         .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
1270         .direction = TF_DIR_RX,
1271         .execute_info = {
1272                 .cond_true_goto  = 1,
1273                 .cond_false_goto = 1,
1274                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1275                 .cond_start_idx = 19,
1276                 .cond_nums = 0 },
1277         .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1278         .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
1279         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1280         .pri_opcode  = BNXT_ULP_PRI_OPC_CONST,
1281         .pri_operand = 0,
1282         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1283         .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
1284         .byte_order = BNXT_ULP_BYTE_ORDER_BE,
1285         .key_start_idx = 1540,
1286         .blob_key_bit_size = 0,
1287         .key_bit_size = 0,
1288         .key_num_fields = 114,
1289         .result_start_idx = 802,
1290         .result_bit_size = 38,
1291         .result_num_fields = 5
1292         },
1293         { /* class_tid: 2, thor, table: control.check_rss_action */
1294         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1295         .direction = TF_DIR_RX,
1296         .execute_info = {
1297                 .cond_true_goto  = 1,
1298                 .cond_false_goto = 0,
1299                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1300                 .cond_start_idx = 19,
1301                 .cond_nums = 1 },
1302         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
1303         .byte_order = BNXT_ULP_BYTE_ORDER_LE
1304         },
1305         { /* class_tid: 2, thor, table: control.rss_config */
1306         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1307         .direction = TF_DIR_RX,
1308         .execute_info = {
1309                 .cond_true_goto  = 0,
1310                 .cond_false_goto = 0,
1311                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1312                 .cond_start_idx = 20,
1313                 .cond_nums = 0 },
1314         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
1315         .func_info = {
1316                 .func_opc = BNXT_ULP_FUNC_OPC_RSS_CONFIG,
1317                 .func_dst_opr = BNXT_ULP_RF_IDX_CC },
1318         .byte_order = BNXT_ULP_BYTE_ORDER_LE
1319         },
1320         { /* class_tid: 3, thor, table: control.0 */
1321         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1322         .direction = TF_DIR_RX,
1323         .execute_info = {
1324                 .cond_true_goto  = 0,
1325                 .cond_false_goto = 0,
1326                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1327                 .cond_start_idx = 20,
1328                 .cond_nums = 0 },
1329         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
1330         .byte_order = BNXT_ULP_BYTE_ORDER_LE
1331         },
1332         { /* class_tid: 4, thor, table: control.get_parent_mac_addr */
1333         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1334         .direction = TF_DIR_RX,
1335         .execute_info = {
1336                 .cond_true_goto  = 1,
1337                 .cond_false_goto = 1,
1338                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1339                 .cond_start_idx = 20,
1340                 .cond_nums = 0 },
1341         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
1342         .func_info = {
1343                 .func_opc = BNXT_ULP_FUNC_OPC_GET_PARENT_MAC_ADDR,
1344                 .func_dst_opr = BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC },
1345         .byte_order = BNXT_ULP_BYTE_ORDER_LE
1346         },
1347         { /* class_tid: 4, thor, table: control.0 */
1348         .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1349         .direction = TF_DIR_RX,
1350         .execute_info = {
1351                 .cond_true_goto  = 1,
1352                 .cond_false_goto = 3,
1353                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1354                 .cond_start_idx = 20,
1355                 .cond_nums = 1 },
1356         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
1357         .func_info = {
1358                 .func_opc = BNXT_ULP_FUNC_OPC_EQ,
1359                 .func_src1 = BNXT_ULP_FUNC_SRC_COMP_FIELD,
1360                 .func_opr1 = BNXT_ULP_CF_IDX_PHY_PORT_VPORT,
1361                 .func_src2 = BNXT_ULP_FUNC_SRC_CONST,
1362                 .func_opr2 = 1,
1363                 .func_dst_opr = BNXT_ULP_RF_IDX_CC },
1364         .byte_order = BNXT_ULP_BYTE_ORDER_LE
1365         },
1366         { /* class_tid: 4, thor, table: int_full_act_record.0 */
1367         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1368         .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1369         .resource_sub_type =
1370                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
1371         .direction = TF_DIR_RX,
1372         .execute_info = {
1373                 .cond_true_goto  = 1,
1374                 .cond_false_goto = 1,
1375                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1376                 .cond_start_idx = 21,
1377                 .cond_nums = 0 },
1378         .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
1379         .tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0,
1380         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
1381         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1382         .shared_session = BNXT_ULP_SHARED_SESSION_YES,
1383         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1384         .result_start_idx = 807,
1385         .result_bit_size = 128,
1386         .result_num_fields = 17
1387         },
1388         { /* class_tid: 4, thor, table: port_table.wr_0 */
1389         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1390         .resource_sub_type =
1391                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,
1392         .direction = TF_DIR_RX,
1393         .execute_info = {
1394                 .cond_true_goto  = 3,
1395                 .cond_false_goto = 1,
1396                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1397                 .cond_start_idx = 21,
1398                 .cond_nums = 0 },
1399         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
1400         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1401         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1402         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1403         .key_start_idx = 1654,
1404         .blob_key_bit_size = 10,
1405         .key_bit_size = 10,
1406         .key_num_fields = 1,
1407         .result_start_idx = 824,
1408         .result_bit_size = 152,
1409         .result_num_fields = 5
1410         },
1411         { /* class_tid: 4, thor, table: int_full_act_record.1 */
1412         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1413         .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1414         .resource_sub_type =
1415                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
1416         .direction = TF_DIR_RX,
1417         .execute_info = {
1418                 .cond_true_goto  = 1,
1419                 .cond_false_goto = 1,
1420                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1421                 .cond_start_idx = 21,
1422                 .cond_nums = 0 },
1423         .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
1424         .tbl_operand = BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1,
1425         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
1426         .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1427         .shared_session = BNXT_ULP_SHARED_SESSION_YES,
1428         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1429         .result_start_idx = 829,
1430         .result_bit_size = 128,
1431         .result_num_fields = 17
1432         },
1433         { /* class_tid: 4, thor, table: port_table.wr_1 */
1434         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1435         .resource_sub_type =
1436                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,
1437         .direction = TF_DIR_RX,
1438         .execute_info = {
1439                 .cond_true_goto  = 1,
1440                 .cond_false_goto = 1,
1441                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1442                 .cond_start_idx = 21,
1443                 .cond_nums = 0 },
1444         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
1445         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1446         .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1447         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1448         .key_start_idx = 1655,
1449         .blob_key_bit_size = 10,
1450         .key_bit_size = 10,
1451         .key_num_fields = 1,
1452         .result_start_idx = 846,
1453         .result_bit_size = 152,
1454         .result_num_fields = 5
1455         },
1456         { /* class_tid: 4, thor, table: port_table.rd */
1457         .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1458         .resource_sub_type =
1459                 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,
1460         .direction = TF_DIR_RX,
1461         .execute_info = {
1462                 .cond_true_goto  = 1,
1463                 .cond_false_goto = 1,
1464                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1465                 .cond_start_idx = 21,
1466                 .cond_nums = 0 },
1467         .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
1468         .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1469         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
1470         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1471         .key_start_idx = 1656,
1472         .blob_key_bit_size = 10,
1473         .key_bit_size = 10,
1474         .key_num_fields = 1,
1475         .ident_start_idx = 10,
1476         .ident_nums = 1
1477         },
1478         { /* class_tid: 4, thor, table: parif_def_arec_ptr.ing_0 */
1479         .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1480         .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
1481         .direction = TF_DIR_RX,
1482         .execute_info = {
1483                 .cond_true_goto  = 1,
1484                 .cond_false_goto = 1,
1485                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1486                 .cond_start_idx = 21,
1487                 .cond_nums = 0 },
1488         .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
1489         .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
1490         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
1491         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1492         .result_start_idx = 851,
1493         .result_bit_size = 32,
1494         .result_num_fields = 1
1495         },
1496         { /* class_tid: 4, thor, table: parif_def_err_arec_ptr.ing_0 */
1497         .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1498         .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
1499         .direction = TF_DIR_RX,
1500         .execute_info = {
1501                 .cond_true_goto  = 0,
1502                 .cond_false_goto = 0,
1503                 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1504                 .cond_start_idx = 21,
1505                 .cond_nums = 0 },
1506         .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
1507         .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
1508         .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
1509         .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1510         .result_start_idx = 852,
1511         .result_bit_size = 32,
1512         .result_num_fields = 1
1513         }
1514 };
1515
1516 struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
1517         /* cond_execute: class_tid: 1, control.check_gre */
1518         {
1519         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1520         .cond_operand = BNXT_ULP_HDR_BIT_T_GRE
1521         },
1522         /* cond_execute: class_tid: 1, control.gre_hit */
1523         {
1524         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1525         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1526         },
1527         /* cond_execute: class_tid: 1, wm.gre */
1528         {
1529         .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
1530         .cond_operand = BNXT_ULP_CF_IDX_WC_IS_HA_HIGH_REG
1531         },
1532         /* cond_execute: class_tid: 1, control.gre_frag_mac_hit */
1533         {
1534         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1535         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1536         },
1537         /* cond_execute: class_tid: 1, wm.gre_frag */
1538         {
1539         .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
1540         .cond_operand = BNXT_ULP_CF_IDX_WC_IS_HA_HIGH_REG
1541         },
1542         /* cond_execute: class_tid: 1, control.non_gre_mac */
1543         {
1544         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1545         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1546         },
1547         /* cond_execute: class_tid: 1, control.icmpv4_test */
1548         {
1549         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1550         .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
1551         },
1552         {
1553         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1554         .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP
1555         },
1556         /* cond_execute: class_tid: 1, control.icmpv4 */
1557         {
1558         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1559         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1560         },
1561         /* cond_execute: class_tid: 1, wm.icmpv4 */
1562         {
1563         .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
1564         .cond_operand = BNXT_ULP_CF_IDX_WC_IS_HA_HIGH_REG
1565         },
1566         /* cond_execute: class_tid: 1, control.icmpv6_test */
1567         {
1568         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1569         .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
1570         },
1571         {
1572         .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1573         .cond_operand = BNXT_ULP_HDR_BIT_O_ICMP
1574         },
1575         /* cond_execute: class_tid: 1, control.icmpv6 */
1576         {
1577         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1578         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1579         },
1580         /* cond_execute: class_tid: 1, wm.icmpv6 */
1581         {
1582         .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
1583         .cond_operand = BNXT_ULP_CF_IDX_WC_IS_HA_HIGH_REG
1584         },
1585         /* cond_execute: class_tid: 1, control.l3_l4 */
1586         {
1587         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1588         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1589         },
1590         /* cond_execute: class_tid: 1, wm.l4 */
1591         {
1592         .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
1593         .cond_operand = BNXT_ULP_CF_IDX_WC_IS_HA_HIGH_REG
1594         },
1595         /* cond_execute: class_tid: 1, control.check_rss_action */
1596         {
1597         .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
1598         .cond_operand = BNXT_ULP_ACT_BIT_RSS
1599         },
1600         /* cond_execute: class_tid: 2, control.0 */
1601         {
1602         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1603         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1604         },
1605         /* cond_execute: class_tid: 2, control.l3_l4 */
1606         {
1607         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1608         .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1609         },
1610         /* cond_execute: class_tid: 2, control.check_rss_action */
1611         {
1612         .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
1613         .cond_operand = BNXT_ULP_ACT_BIT_RSS
1614         },
1615         /* cond_execute: class_tid: 4, control.0 */
1616         {
1617         .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1618         .cond_operand = BNXT_ULP_RF_IDX_CC
1619         }
1620 };
1621
1622 struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
1623         /* class_tid: 1, thor, table: port_table.rd */
1624         {
1625         .field_info_mask = {
1626                 .description = "dev.port_id",
1627                 .field_bit_size = 10,
1628                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1629                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1630                 .field_opr1 = {
1631                         0xff,
1632                         0xff}
1633                 },
1634         .field_info_spec = {
1635                 .description = "dev.port_id",
1636                 .field_bit_size = 10,
1637                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1638                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1639                 .field_opr1 = {
1640                 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
1641                 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
1642                 }
1643         },
1644         /* class_tid: 1, thor, table: l2_cntxt_tcam_cache.gre_rd */
1645         {
1646         .field_info_mask = {
1647                 .description = "svif",
1648                 .field_bit_size = 8,
1649                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1650                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1651                 .field_opr1 = {
1652                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
1653                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
1654                 },
1655         .field_info_spec = {
1656                 .description = "svif",
1657                 .field_bit_size = 8,
1658                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1659                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1660                 .field_opr1 = {
1661                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
1662                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
1663                 }
1664         },
1665         /* class_tid: 1, thor, table: l2_cntxt_tcam.gre */
1666         {
1667         .field_info_mask = {
1668                 .description = "etype",
1669                 .field_bit_size = 16,
1670                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1671                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1672                 },
1673         .field_info_spec = {
1674                 .description = "etype",
1675                 .field_bit_size = 16,
1676                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1677                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1678                 }
1679         },
1680         {
1681         .field_info_mask = {
1682                 .description = "l2_ivlan_tpid_sel",
1683                 .field_bit_size = 3,
1684                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1685                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1686                 },
1687         .field_info_spec = {
1688                 .description = "l2_ivlan_tpid_sel",
1689                 .field_bit_size = 3,
1690                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1691                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1692                 }
1693         },
1694         {
1695         .field_info_mask = {
1696                 .description = "l2_ivlan_vid",
1697                 .field_bit_size = 12,
1698                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1699                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1700                 },
1701         .field_info_spec = {
1702                 .description = "l2_ivlan_vid",
1703                 .field_bit_size = 12,
1704                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1705                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1706                 }
1707         },
1708         {
1709         .field_info_mask = {
1710                 .description = "l2_ovlan_tpid_sel",
1711                 .field_bit_size = 3,
1712                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1713                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1714                 },
1715         .field_info_spec = {
1716                 .description = "l2_ovlan_tpid_sel",
1717                 .field_bit_size = 3,
1718                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1719                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1720                 }
1721         },
1722         {
1723         .field_info_mask = {
1724                 .description = "l2_ovlan_vid",
1725                 .field_bit_size = 12,
1726                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1727                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1728                 },
1729         .field_info_spec = {
1730                 .description = "l2_ovlan_vid",
1731                 .field_bit_size = 12,
1732                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1733                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1734                 }
1735         },
1736         {
1737         .field_info_mask = {
1738                 .description = "two_vtags",
1739                 .field_bit_size = 1,
1740                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1741                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1742                 },
1743         .field_info_spec = {
1744                 .description = "two_vtags",
1745                 .field_bit_size = 1,
1746                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1747                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1748                 }
1749         },
1750         {
1751         .field_info_mask = {
1752                 .description = "vtag_present",
1753                 .field_bit_size = 1,
1754                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1755                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1756                 },
1757         .field_info_spec = {
1758                 .description = "vtag_present",
1759                 .field_bit_size = 1,
1760                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1761                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1762                 }
1763         },
1764         {
1765         .field_info_mask = {
1766                 .description = "mac1_addr",
1767                 .field_bit_size = 48,
1768                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1769                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1770                 },
1771         .field_info_spec = {
1772                 .description = "mac1_addr",
1773                 .field_bit_size = 48,
1774                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1775                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1776                 }
1777         },
1778         {
1779         .field_info_mask = {
1780                 .description = "mac0_addr",
1781                 .field_bit_size = 48,
1782                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1783                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1784                 },
1785         .field_info_spec = {
1786                 .description = "mac0_addr",
1787                 .field_bit_size = 48,
1788                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1789                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1790                 }
1791         },
1792         {
1793         .field_info_mask = {
1794                 .description = "tunnel_id",
1795                 .field_bit_size = 24,
1796                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1797                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1798                 },
1799         .field_info_spec = {
1800                 .description = "tunnel_id",
1801                 .field_bit_size = 24,
1802                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1803                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1804                 }
1805         },
1806         {
1807         .field_info_mask = {
1808                 .description = "tun_hdr_type",
1809                 .field_bit_size = 4,
1810                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1811                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1812                 .field_opr1 = {
1813                         0xff}
1814                 },
1815         .field_info_spec = {
1816                 .description = "tun_hdr_type",
1817                 .field_bit_size = 4,
1818                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1819                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1820                 .field_opr1 = {
1821                 ULP_THOR_SYM_TUN_HDR_TYPE_GRE}
1822                 }
1823         },
1824         {
1825         .field_info_mask = {
1826                 .description = "llc",
1827                 .field_bit_size = 1,
1828                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1829                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1830                 },
1831         .field_info_spec = {
1832                 .description = "llc",
1833                 .field_bit_size = 1,
1834                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1835                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1836                 }
1837         },
1838         {
1839         .field_info_mask = {
1840                 .description = "roce",
1841                 .field_bit_size = 1,
1842                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1843                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1844                 },
1845         .field_info_spec = {
1846                 .description = "roce",
1847                 .field_bit_size = 1,
1848                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1849                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1850                 }
1851         },
1852         {
1853         .field_info_mask = {
1854                 .description = "metadata",
1855                 .field_bit_size = 16,
1856                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1857                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1858                 },
1859         .field_info_spec = {
1860                 .description = "metadata",
1861                 .field_bit_size = 16,
1862                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1863                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1864                 }
1865         },
1866         {
1867         .field_info_mask = {
1868                 .description = "svif",
1869                 .field_bit_size = 11,
1870                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1871                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1872                 .field_opr1 = {
1873                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
1874                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
1875                 },
1876         .field_info_spec = {
1877                 .description = "svif",
1878                 .field_bit_size = 11,
1879                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1880                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1881                 .field_opr1 = {
1882                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
1883                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
1884                 }
1885         },
1886         {
1887         .field_info_mask = {
1888                 .description = "parif",
1889                 .field_bit_size = 4,
1890                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1891                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1892                 },
1893         .field_info_spec = {
1894                 .description = "parif",
1895                 .field_bit_size = 4,
1896                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1897                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1898                 }
1899         },
1900         {
1901         .field_info_mask = {
1902                 .description = "spif",
1903                 .field_bit_size = 2,
1904                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1905                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1906                 },
1907         .field_info_spec = {
1908                 .description = "spif",
1909                 .field_bit_size = 2,
1910                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1911                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1912                 }
1913         },
1914         {
1915         .field_info_mask = {
1916                 .description = "loopback",
1917                 .field_bit_size = 1,
1918                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1919                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1920                 },
1921         .field_info_spec = {
1922                 .description = "loopback",
1923                 .field_bit_size = 1,
1924                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1925                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1926                 }
1927         },
1928         {
1929         .field_info_mask = {
1930                 .description = "recycle_cnt",
1931                 .field_bit_size = 2,
1932                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1933                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1934                 },
1935         .field_info_spec = {
1936                 .description = "recycle_cnt",
1937                 .field_bit_size = 2,
1938                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1939                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1940                 }
1941         },
1942         {
1943         .field_info_mask = {
1944                 .description = "mpass_cnt",
1945                 .field_bit_size = 2,
1946                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1947                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1948                 },
1949         .field_info_spec = {
1950                 .description = "mpass_cnt",
1951                 .field_bit_size = 2,
1952                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1953                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1954                 }
1955         },
1956         {
1957         .field_info_mask = {
1958                 .description = "valid",
1959                 .field_bit_size = 1,
1960                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1961                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1962                 .field_opr1 = {
1963                 1}
1964                 },
1965         .field_info_spec = {
1966                 .description = "valid",
1967                 .field_bit_size = 1,
1968                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1969                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1970                 .field_opr1 = {
1971                 1}
1972                 }
1973         },
1974         /* class_tid: 1, thor, table: l2_cntxt_tcam_cache.gre_wr */
1975         {
1976         .field_info_mask = {
1977                 .description = "svif",
1978                 .field_bit_size = 8,
1979                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1980                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1981                 .field_opr1 = {
1982                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
1983                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
1984                 },
1985         .field_info_spec = {
1986                 .description = "svif",
1987                 .field_bit_size = 8,
1988                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1989                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1990                 .field_opr1 = {
1991                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
1992                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
1993                 }
1994         },
1995         /* class_tid: 1, thor, table: profile_tcam.gre */
1996         {
1997         .field_info_mask = {
1998                 .description = "l4_hdr_is_udp_tcp",
1999                 .field_bit_size = 1,
2000                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2001                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2002                 },
2003         .field_info_spec = {
2004                 .description = "l4_hdr_is_udp_tcp",
2005                 .field_bit_size = 1,
2006                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2007                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2008                 }
2009         },
2010         {
2011         .field_info_mask = {
2012                 .description = "l4_hdr_type",
2013                 .field_bit_size = 4,
2014                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2015                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2016                 },
2017         .field_info_spec = {
2018                 .description = "l4_hdr_type",
2019                 .field_bit_size = 4,
2020                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2021                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2022                 }
2023         },
2024         {
2025         .field_info_mask = {
2026                 .description = "l4_hdr_error",
2027                 .field_bit_size = 1,
2028                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2029                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2030                 },
2031         .field_info_spec = {
2032                 .description = "l4_hdr_error",
2033                 .field_bit_size = 1,
2034                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2035                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2036                 }
2037         },
2038         {
2039         .field_info_mask = {
2040                 .description = "l4_hdr_valid",
2041                 .field_bit_size = 1,
2042                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2043                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2044                 },
2045         .field_info_spec = {
2046                 .description = "l4_hdr_valid",
2047                 .field_bit_size = 1,
2048                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2049                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2050                 }
2051         },
2052         {
2053         .field_info_mask = {
2054                 .description = "ieh",
2055                 .field_bit_size = 8,
2056                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2057                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2058                 },
2059         .field_info_spec = {
2060                 .description = "ieh",
2061                 .field_bit_size = 8,
2062                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2063                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2064                 }
2065         },
2066         {
2067         .field_info_mask = {
2068                 .description = "l3_ipv6_cmp_dst",
2069                 .field_bit_size = 1,
2070                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2071                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2072                 },
2073         .field_info_spec = {
2074                 .description = "l3_ipv6_cmp_dst",
2075                 .field_bit_size = 1,
2076                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2077                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2078                 }
2079         },
2080         {
2081         .field_info_mask = {
2082                 .description = "l3_ipv6_cmp_src",
2083                 .field_bit_size = 1,
2084                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2085                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2086                 },
2087         .field_info_spec = {
2088                 .description = "l3_ipv6_cmp_src",
2089                 .field_bit_size = 1,
2090                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2091                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2092                 }
2093         },
2094         {
2095         .field_info_mask = {
2096                 .description = "l3_hdr_isIP",
2097                 .field_bit_size = 1,
2098                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2099                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2100                 },
2101         .field_info_spec = {
2102                 .description = "l3_hdr_isIP",
2103                 .field_bit_size = 1,
2104                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2105                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2106                 }
2107         },
2108         {
2109         .field_info_mask = {
2110                 .description = "l3_hdr_type",
2111                 .field_bit_size = 4,
2112                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2113                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2114                 },
2115         .field_info_spec = {
2116                 .description = "l3_hdr_type",
2117                 .field_bit_size = 4,
2118                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2119                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2120                 }
2121         },
2122         {
2123         .field_info_mask = {
2124                 .description = "l3_hdr_error",
2125                 .field_bit_size = 1,
2126                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2127                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2128                 },
2129         .field_info_spec = {
2130                 .description = "l3_hdr_error",
2131                 .field_bit_size = 1,
2132                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2133                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2134                 }
2135         },
2136         {
2137         .field_info_mask = {
2138                 .description = "l3_hdr_valid",
2139                 .field_bit_size = 1,
2140                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2141                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2142                 },
2143         .field_info_spec = {
2144                 .description = "l3_hdr_valid",
2145                 .field_bit_size = 1,
2146                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2147                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2148                 }
2149         },
2150         {
2151         .field_info_mask = {
2152                 .description = "l2_two_vtags",
2153                 .field_bit_size = 1,
2154                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2155                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2156                 },
2157         .field_info_spec = {
2158                 .description = "l2_two_vtags",
2159                 .field_bit_size = 1,
2160                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2161                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2162                 }
2163         },
2164         {
2165         .field_info_mask = {
2166                 .description = "l2_vtag_present",
2167                 .field_bit_size = 1,
2168                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2169                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2170                 },
2171         .field_info_spec = {
2172                 .description = "l2_vtag_present",
2173                 .field_bit_size = 1,
2174                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2175                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2176                 }
2177         },
2178         {
2179         .field_info_mask = {
2180                 .description = "l2_uc_mc_bc",
2181                 .field_bit_size = 2,
2182                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2183                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2184                 },
2185         .field_info_spec = {
2186                 .description = "l2_uc_mc_bc",
2187                 .field_bit_size = 2,
2188                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2189                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2190                 }
2191         },
2192         {
2193         .field_info_mask = {
2194                 .description = "l2_hdr_type",
2195                 .field_bit_size = 2,
2196                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2197                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2198                 },
2199         .field_info_spec = {
2200                 .description = "l2_hdr_type",
2201                 .field_bit_size = 2,
2202                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2203                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2204                 }
2205         },
2206         {
2207         .field_info_mask = {
2208                 .description = "l2_hdr_error",
2209                 .field_bit_size = 1,
2210                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2211                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2212                 },
2213         .field_info_spec = {
2214                 .description = "l2_hdr_error",
2215                 .field_bit_size = 1,
2216                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2217                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2218                 }
2219         },
2220         {
2221         .field_info_mask = {
2222                 .description = "l2_hdr_valid",
2223                 .field_bit_size = 1,
2224                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2225                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2226                 },
2227         .field_info_spec = {
2228                 .description = "l2_hdr_valid",
2229                 .field_bit_size = 1,
2230                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2231                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2232                 }
2233         },
2234         {
2235         .field_info_mask = {
2236                 .description = "tun_hdr_flags",
2237                 .field_bit_size = 3,
2238                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2239                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2240                 },
2241         .field_info_spec = {
2242                 .description = "tun_hdr_flags",
2243                 .field_bit_size = 3,
2244                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2245                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2246                 }
2247         },
2248         {
2249         .field_info_mask = {
2250                 .description = "tun_hdr_type",
2251                 .field_bit_size = 4,
2252                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2253                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2254                 },
2255         .field_info_spec = {
2256                 .description = "tun_hdr_type",
2257                 .field_bit_size = 4,
2258                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2259                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2260                 }
2261         },
2262         {
2263         .field_info_mask = {
2264                 .description = "tun_hdr_err",
2265                 .field_bit_size = 1,
2266                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2267                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2268                 },
2269         .field_info_spec = {
2270                 .description = "tun_hdr_err",
2271                 .field_bit_size = 1,
2272                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2273                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2274                 }
2275         },
2276         {
2277         .field_info_mask = {
2278                 .description = "tun_hdr_valid",
2279                 .field_bit_size = 1,
2280                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2281                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2282                 },
2283         .field_info_spec = {
2284                 .description = "tun_hdr_valid",
2285                 .field_bit_size = 1,
2286                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2287                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2288                 }
2289         },
2290         {
2291         .field_info_mask = {
2292                 .description = "tl4_hdr_is_udp_tcp",
2293                 .field_bit_size = 1,
2294                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2295                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2296                 },
2297         .field_info_spec = {
2298                 .description = "tl4_hdr_is_udp_tcp",
2299                 .field_bit_size = 1,
2300                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2301                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2302                 }
2303         },
2304         {
2305         .field_info_mask = {
2306                 .description = "tl4_hdr_type",
2307                 .field_bit_size = 4,
2308                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2309                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2310                 },
2311         .field_info_spec = {
2312                 .description = "tl4_hdr_type",
2313                 .field_bit_size = 4,
2314                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2315                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2316                 }
2317         },
2318         {
2319         .field_info_mask = {
2320                 .description = "tl4_hdr_error",
2321                 .field_bit_size = 1,
2322                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2323                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2324                 },
2325         .field_info_spec = {
2326                 .description = "tl4_hdr_error",
2327                 .field_bit_size = 1,
2328                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2329                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2330                 }
2331         },
2332         {
2333         .field_info_mask = {
2334                 .description = "tl4_hdr_valid",
2335                 .field_bit_size = 1,
2336                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2337                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2338                 },
2339         .field_info_spec = {
2340                 .description = "tl4_hdr_valid",
2341                 .field_bit_size = 1,
2342                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2343                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2344                 }
2345         },
2346         {
2347         .field_info_mask = {
2348                 .description = "tl3_ipv6_cmp_dst",
2349                 .field_bit_size = 1,
2350                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2351                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2352                 },
2353         .field_info_spec = {
2354                 .description = "tl3_ipv6_cmp_dst",
2355                 .field_bit_size = 1,
2356                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2357                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2358                 }
2359         },
2360         {
2361         .field_info_mask = {
2362                 .description = "tl3_ipv6_cmp_src",
2363                 .field_bit_size = 1,
2364                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2365                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2366                 },
2367         .field_info_spec = {
2368                 .description = "tl3_ipv6_cmp_src",
2369                 .field_bit_size = 1,
2370                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2371                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2372                 }
2373         },
2374         {
2375         .field_info_mask = {
2376                 .description = "tl3_hdr_isIP",
2377                 .field_bit_size = 1,
2378                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2379                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2380                 },
2381         .field_info_spec = {
2382                 .description = "tl3_hdr_isIP",
2383                 .field_bit_size = 1,
2384                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2385                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2386                 }
2387         },
2388         {
2389         .field_info_mask = {
2390                 .description = "tl3_hdr_type",
2391                 .field_bit_size = 4,
2392                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2393                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2394                 },
2395         .field_info_spec = {
2396                 .description = "tl3_hdr_type",
2397                 .field_bit_size = 4,
2398                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2399                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2400                 }
2401         },
2402         {
2403         .field_info_mask = {
2404                 .description = "tl3_hdr_error",
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 = "tl3_hdr_error",
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 = "tl3_hdr_valid",
2419                 .field_bit_size = 1,
2420                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2421                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2422                 },
2423         .field_info_spec = {
2424                 .description = "tl3_hdr_valid",
2425                 .field_bit_size = 1,
2426                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2427                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2428                 }
2429         },
2430         {
2431         .field_info_mask = {
2432                 .description = "tl2_two_vtags",
2433                 .field_bit_size = 1,
2434                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2435                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2436                 },
2437         .field_info_spec = {
2438                 .description = "tl2_two_vtags",
2439                 .field_bit_size = 1,
2440                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2441                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2442                 }
2443         },
2444         {
2445         .field_info_mask = {
2446                 .description = "tl2_vtag_present",
2447                 .field_bit_size = 1,
2448                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2449                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2450                 },
2451         .field_info_spec = {
2452                 .description = "tl2_vtag_present",
2453                 .field_bit_size = 1,
2454                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2455                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2456                 }
2457         },
2458         {
2459         .field_info_mask = {
2460                 .description = "tl2_uc_mc_bc",
2461                 .field_bit_size = 2,
2462                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2463                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2464                 },
2465         .field_info_spec = {
2466                 .description = "tl2_uc_mc_bc",
2467                 .field_bit_size = 2,
2468                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2469                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2470                 }
2471         },
2472         {
2473         .field_info_mask = {
2474                 .description = "tl2_hdr_type",
2475                 .field_bit_size = 2,
2476                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2477                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2478                 },
2479         .field_info_spec = {
2480                 .description = "tl2_hdr_type",
2481                 .field_bit_size = 2,
2482                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2483                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2484                 }
2485         },
2486         {
2487         .field_info_mask = {
2488                 .description = "tl2_hdr_valid",
2489                 .field_bit_size = 1,
2490                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2491                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2492                 },
2493         .field_info_spec = {
2494                 .description = "tl2_hdr_valid",
2495                 .field_bit_size = 1,
2496                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2497                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2498                 }
2499         },
2500         {
2501         .field_info_mask = {
2502                 .description = "hrec_next",
2503                 .field_bit_size = 1,
2504                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2505                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2506                 },
2507         .field_info_spec = {
2508                 .description = "hrec_next",
2509                 .field_bit_size = 1,
2510                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2511                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2512                 }
2513         },
2514         {
2515         .field_info_mask = {
2516                 .description = "prof_func_id",
2517                 .field_bit_size = 7,
2518                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2519                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2520                 .field_opr1 = {
2521                         0xff}
2522                 },
2523         .field_info_spec = {
2524                 .description = "prof_func_id",
2525                 .field_bit_size = 7,
2526                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2527                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
2528                 .field_opr1 = {
2529                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1 >> 8) & 0xff,
2530                 BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1 & 0xff}
2531                 }
2532         },
2533         {
2534         .field_info_mask = {
2535                 .description = "agg_error",
2536                 .field_bit_size = 1,
2537                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2538                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2539                 },
2540         .field_info_spec = {
2541                 .description = "agg_error",
2542                 .field_bit_size = 1,
2543                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2544                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2545                 }
2546         },
2547         {
2548         .field_info_mask = {
2549                 .description = "metadata",
2550                 .field_bit_size = 16,
2551                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2552                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2553                 },
2554         .field_info_spec = {
2555                 .description = "metadata",
2556                 .field_bit_size = 16,
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 = "pkt_type_0",
2564                 .field_bit_size = 2,
2565                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2566                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2567                 },
2568         .field_info_spec = {
2569                 .description = "pkt_type_0",
2570                 .field_bit_size = 2,
2571                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2572                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2573                 }
2574         },
2575         {
2576         .field_info_mask = {
2577                 .description = "pkt_type_1",
2578                 .field_bit_size = 2,
2579                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2580                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2581                 },
2582         .field_info_spec = {
2583                 .description = "pkt_type_1",
2584                 .field_bit_size = 2,
2585                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2586                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2587                 }
2588         },
2589         {
2590         .field_info_mask = {
2591                 .description = "valid",
2592                 .field_bit_size = 1,
2593                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2594                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2595                 .field_opr1 = {
2596                 1}
2597                 },
2598         .field_info_spec = {
2599                 .description = "valid",
2600                 .field_bit_size = 1,
2601                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2602                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2603                 .field_opr1 = {
2604                 1}
2605                 }
2606         },
2607         /* class_tid: 1, thor, table: wm.gre */
2608         {
2609         .field_info_mask = {
2610                 .description = "wc_profile_id",
2611                 .field_bit_size = 8,
2612                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2613                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2614                 .field_opr1 = {
2615                         0xff}
2616                 },
2617         .field_info_spec = {
2618                 .description = "wc_profile_id",
2619                 .field_bit_size = 8,
2620                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2621                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
2622                 .field_opr1 = {
2623                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 >> 8) & 0xff,
2624                 BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 & 0xff}
2625                 }
2626         },
2627         {
2628         .field_info_mask = {
2629                 .description = "l2_cntxt_id",
2630                 .field_bit_size = 10,
2631                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2632                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2633                 .field_opr1 = {
2634                         0xff,
2635                         0xff}
2636                 },
2637         .field_info_spec = {
2638                 .description = "l2_cntxt_id",
2639                 .field_bit_size = 10,
2640                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2641                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2642                 .field_opr1 = {
2643                 (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
2644                 BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
2645                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
2646                 .field_opr2 = {
2647                         (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
2648                         BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
2649                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
2650                 .field_opr3 = {
2651                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
2652                 BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
2653                 }
2654         },
2655         {
2656         .field_info_mask = {
2657                 .description = "parif",
2658                 .field_bit_size = 4,
2659                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2660                 },
2661         .field_info_spec = {
2662                 .description = "parif",
2663                 .field_bit_size = 4,
2664                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2665                 }
2666         },
2667         {
2668         .field_info_mask = {
2669                 .description = "spif",
2670                 .field_bit_size = 2,
2671                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2672                 },
2673         .field_info_spec = {
2674                 .description = "spif",
2675                 .field_bit_size = 2,
2676                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2677                 }
2678         },
2679         {
2680         .field_info_mask = {
2681                 .description = "svif",
2682                 .field_bit_size = 11,
2683                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2684                 },
2685         .field_info_spec = {
2686                 .description = "svif",
2687                 .field_bit_size = 11,
2688                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2689                 }
2690         },
2691         {
2692         .field_info_mask = {
2693                 .description = "lcos",
2694                 .field_bit_size = 3,
2695                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2696                 },
2697         .field_info_spec = {
2698                 .description = "lcos",
2699                 .field_bit_size = 3,
2700                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2701                 }
2702         },
2703         {
2704         .field_info_mask = {
2705                 .description = "meta",
2706                 .field_bit_size = 16,
2707                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2708                 },
2709         .field_info_spec = {
2710                 .description = "meta",
2711                 .field_bit_size = 16,
2712                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2713                 }
2714         },
2715         {
2716         .field_info_mask = {
2717                 .description = "rcyc_cnt",
2718                 .field_bit_size = 2,
2719                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2720                 },
2721         .field_info_spec = {
2722                 .description = "rcyc_cnt",
2723                 .field_bit_size = 2,
2724                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2725                 }
2726         },
2727         {
2728         .field_info_mask = {
2729                 .description = "loopback",
2730                 .field_bit_size = 1,
2731                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2732                 },
2733         .field_info_spec = {
2734                 .description = "loopback",
2735                 .field_bit_size = 1,
2736                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2737                 }
2738         },
2739         {
2740         .field_info_mask = {
2741                 .description = "tl2_l2type",
2742                 .field_bit_size = 2,
2743                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2744                 },
2745         .field_info_spec = {
2746                 .description = "tl2_l2type",
2747                 .field_bit_size = 2,
2748                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2749                 }
2750         },
2751         {
2752         .field_info_mask = {
2753                 .description = "tl2_dmac",
2754                 .field_bit_size = 48,
2755                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2756                 },
2757         .field_info_spec = {
2758                 .description = "tl2_dmac",
2759                 .field_bit_size = 48,
2760                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2761                 }
2762         },
2763         {
2764         .field_info_mask = {
2765                 .description = "tl2_smac",
2766                 .field_bit_size = 48,
2767                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2768                 },
2769         .field_info_spec = {
2770                 .description = "tl2_smac",
2771                 .field_bit_size = 48,
2772                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2773                 }
2774         },
2775         {
2776         .field_info_mask = {
2777                 .description = "tl2_dt",
2778                 .field_bit_size = 2,
2779                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2780                 },
2781         .field_info_spec = {
2782                 .description = "tl2_dt",
2783                 .field_bit_size = 2,
2784                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2785                 }
2786         },
2787         {
2788         .field_info_mask = {
2789                 .description = "tl2_sa",
2790                 .field_bit_size = 1,
2791                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2792                 },
2793         .field_info_spec = {
2794                 .description = "tl2_sa",
2795                 .field_bit_size = 1,
2796                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2797                 }
2798         },
2799         {
2800         .field_info_mask = {
2801                 .description = "tl2_nvt",
2802                 .field_bit_size = 2,
2803                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2804                 },
2805         .field_info_spec = {
2806                 .description = "tl2_nvt",
2807                 .field_bit_size = 2,
2808                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2809                 }
2810         },
2811         {
2812         .field_info_mask = {
2813                 .description = "tl2_ovp",
2814                 .field_bit_size = 3,
2815                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2816                 },
2817         .field_info_spec = {
2818                 .description = "tl2_ovp",
2819                 .field_bit_size = 3,
2820                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2821                 }
2822         },
2823         {
2824         .field_info_mask = {
2825                 .description = "tl2_ovd",
2826                 .field_bit_size = 1,
2827                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2828                 },
2829         .field_info_spec = {
2830                 .description = "tl2_ovd",
2831                 .field_bit_size = 1,
2832                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2833                 }
2834         },
2835         {
2836         .field_info_mask = {
2837                 .description = "tl2_ovv",
2838                 .field_bit_size = 12,
2839                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2840                 },
2841         .field_info_spec = {
2842                 .description = "tl2_ovv",
2843                 .field_bit_size = 12,
2844                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2845                 }
2846         },
2847         {
2848         .field_info_mask = {
2849                 .description = "tl2_ovt",
2850                 .field_bit_size = 3,
2851                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2852                 },
2853         .field_info_spec = {
2854                 .description = "tl2_ovt",
2855                 .field_bit_size = 3,
2856                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2857                 }
2858         },
2859         {
2860         .field_info_mask = {
2861                 .description = "tl2_ivp",
2862                 .field_bit_size = 3,
2863                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2864                 },
2865         .field_info_spec = {
2866                 .description = "tl2_ivp",
2867                 .field_bit_size = 3,
2868                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2869                 }
2870         },
2871         {
2872         .field_info_mask = {
2873                 .description = "tl2_ivd",
2874                 .field_bit_size = 1,
2875                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2876                 },
2877         .field_info_spec = {
2878                 .description = "tl2_ivd",
2879                 .field_bit_size = 1,
2880                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2881                 }
2882         },
2883         {
2884         .field_info_mask = {
2885                 .description = "tl2_ivv",
2886                 .field_bit_size = 12,
2887                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2888                 },
2889         .field_info_spec = {
2890                 .description = "tl2_ivv",
2891                 .field_bit_size = 12,
2892                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2893                 }
2894         },
2895         {
2896         .field_info_mask = {
2897                 .description = "tl2_ivt",
2898                 .field_bit_size = 3,
2899                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2900                 },
2901         .field_info_spec = {
2902                 .description = "tl2_ivt",
2903                 .field_bit_size = 3,
2904                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2905                 }
2906         },
2907         {
2908         .field_info_mask = {
2909                 .description = "tl2_etype",
2910                 .field_bit_size = 16,
2911                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2912                 },
2913         .field_info_spec = {
2914                 .description = "tl2_etype",
2915                 .field_bit_size = 16,
2916                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2917                 }
2918         },
2919         {
2920         .field_info_mask = {
2921                 .description = "tl3.l3type",
2922                 .field_bit_size = 4,
2923                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2924                 },
2925         .field_info_spec = {
2926                 .description = "tl3.l3type",
2927                 .field_bit_size = 4,
2928                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2929                 }
2930         },
2931         {
2932         .field_info_mask = {
2933                 .description = "tl3.sip.ipv4",
2934                 .field_bit_size = 32,
2935                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2936                 },
2937         .field_info_spec = {
2938                 .description = "tl3.sip.ipv4",
2939                 .field_bit_size = 32,
2940                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2941                 }
2942         },
2943         {
2944         .field_info_mask = {
2945                 .description = "tl3.sip.ipv6",
2946                 .field_bit_size = 128,
2947                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2948                 },
2949         .field_info_spec = {
2950                 .description = "tl3.sip.ipv6",
2951                 .field_bit_size = 128,
2952                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2953                 }
2954         },
2955         {
2956         .field_info_mask = {
2957                 .description = "tl3.sip_selcmp.ipv6",
2958                 .field_bit_size = 72,
2959                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2960                 },
2961         .field_info_spec = {
2962                 .description = "tl3.sip_selcmp.ipv6",
2963                 .field_bit_size = 72,
2964                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2965                 }
2966         },
2967         {
2968         .field_info_mask = {
2969                 .description = "tl3.dip.ipv4",
2970                 .field_bit_size = 32,
2971                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2972                 },
2973         .field_info_spec = {
2974                 .description = "tl3.dip.ipv4",
2975                 .field_bit_size = 32,
2976                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2977                 }
2978         },
2979         {
2980         .field_info_mask = {
2981                 .description = "tl3.dip.ipv6",
2982                 .field_bit_size = 128,
2983                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2984                 },
2985         .field_info_spec = {
2986                 .description = "tl3.dip.ipv6",
2987                 .field_bit_size = 128,
2988                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2989                 }
2990         },
2991         {
2992         .field_info_mask = {
2993                 .description = "tl3.dip_selcmp.ipv6",
2994                 .field_bit_size = 72,
2995                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2996                 },
2997         .field_info_spec = {
2998                 .description = "tl3.dip_selcmp.ipv6",
2999                 .field_bit_size = 72,
3000                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3001                 }
3002         },
3003         {
3004         .field_info_mask = {
3005                 .description = "tl3.ttl",
3006                 .field_bit_size = 8,
3007                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3008                 },
3009         .field_info_spec = {
3010                 .description = "tl3.ttl",
3011                 .field_bit_size = 8,
3012                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3013                 }
3014         },
3015         {
3016         .field_info_mask = {
3017                 .description = "tl3.prot",
3018                 .field_bit_size = 8,
3019                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3020                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3021                 .field_opr1 = {
3022                         0xff}
3023                 },
3024         .field_info_spec = {
3025                 .description = "tl3.prot",
3026                 .field_bit_size = 8,
3027                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3028                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3029                 .field_opr1 = {
3030                 47}
3031                 }
3032         },
3033         {
3034         .field_info_mask = {
3035                 .description = "tl3.fid.ipv4",
3036                 .field_bit_size = 16,
3037                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3038                 },
3039         .field_info_spec = {
3040                 .description = "tl3.fid.ipv4",
3041                 .field_bit_size = 16,
3042                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3043                 }
3044         },
3045         {
3046         .field_info_mask = {
3047                 .description = "tl3.fid.ipv6",
3048                 .field_bit_size = 20,
3049                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3050                 },
3051         .field_info_spec = {
3052                 .description = "tl3.fid.ipv6",
3053                 .field_bit_size = 20,
3054                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3055                 }
3056         },
3057         {
3058         .field_info_mask = {
3059                 .description = "tl3.qos",
3060                 .field_bit_size = 8,
3061                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3062                 },
3063         .field_info_spec = {
3064                 .description = "tl3.qos",
3065                 .field_bit_size = 8,
3066                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3067                 }
3068         },
3069         {
3070         .field_info_mask = {
3071                 .description = "tl3.ieh_nonext",
3072                 .field_bit_size = 1,
3073                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3074                 },
3075         .field_info_spec = {
3076                 .description = "tl3.ieh_nonext",
3077                 .field_bit_size = 1,
3078                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3079                 }
3080         },
3081         {
3082         .field_info_mask = {
3083                 .description = "tl3.ieh_esp",
3084                 .field_bit_size = 1,
3085                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3086                 },
3087         .field_info_spec = {
3088                 .description = "tl3.ieh_esp",
3089                 .field_bit_size = 1,
3090                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3091                 }
3092         },
3093         {
3094         .field_info_mask = {
3095                 .description = "tl3.ieh_auth",
3096                 .field_bit_size = 1,
3097                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3098                 },
3099         .field_info_spec = {
3100                 .description = "tl3.ieh_auth",
3101                 .field_bit_size = 1,
3102                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3103                 }
3104         },
3105         {
3106         .field_info_mask = {
3107                 .description = "tl3.ieh_dest",
3108                 .field_bit_size = 1,
3109                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3110                 },
3111         .field_info_spec = {
3112                 .description = "tl3.ieh_dest",
3113                 .field_bit_size = 1,
3114                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3115                 }
3116         },
3117         {
3118         .field_info_mask = {
3119                 .description = "tl3.ieh_frag",
3120                 .field_bit_size = 1,
3121                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3122                 },
3123         .field_info_spec = {
3124                 .description = "tl3.ieh_frag",
3125                 .field_bit_size = 1,
3126                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3127                 }
3128         },
3129         {
3130         .field_info_mask = {
3131                 .description = "tl3.ieh_rthdr",
3132                 .field_bit_size = 1,
3133                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3134                 },
3135         .field_info_spec = {
3136                 .description = "tl3.ieh_rthdr",
3137                 .field_bit_size = 1,
3138                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3139                 }
3140         },
3141         {
3142         .field_info_mask = {
3143                 .description = "tl3.ieh_hop",
3144                 .field_bit_size = 1,
3145                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3146                 },
3147         .field_info_spec = {
3148                 .description = "tl3.ieh_hop",
3149                 .field_bit_size = 1,
3150                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3151                 }
3152         },
3153         {
3154         .field_info_mask = {
3155                 .description = "tl3.ieh_1frag",
3156                 .field_bit_size = 1,
3157                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3158                 },
3159         .field_info_spec = {
3160                 .description = "tl3.ieh_1frag",
3161                 .field_bit_size = 1,
3162                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3163                 }
3164         },
3165         {
3166         .field_info_mask = {
3167                 .description = "tl3.df",
3168                 .field_bit_size = 1,
3169                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3170                 },
3171         .field_info_spec = {
3172                 .description = "tl3.df",
3173                 .field_bit_size = 1,
3174                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3175                 }
3176         },
3177         {
3178         .field_info_mask = {
3179                 .description = "tl3.l3err",
3180                 .field_bit_size = 4,
3181                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3182                 },
3183         .field_info_spec = {
3184                 .description = "tl3.l3err",
3185                 .field_bit_size = 4,
3186                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3187                 }
3188         },
3189         {
3190         .field_info_mask = {
3191                 .description = "tl4.l4type",
3192                 .field_bit_size = 4,
3193                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3194                 },
3195         .field_info_spec = {
3196                 .description = "tl4.l4type",
3197                 .field_bit_size = 4,
3198                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3199                 }
3200         },
3201         {
3202         .field_info_mask = {
3203                 .description = "tl4.src",
3204                 .field_bit_size = 16,
3205                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3206                 },
3207         .field_info_spec = {
3208                 .description = "tl4.src",
3209                 .field_bit_size = 16,
3210                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3211                 }
3212         },
3213         {
3214         .field_info_mask = {
3215                 .description = "tl4.dst",
3216                 .field_bit_size = 16,
3217                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3218                 },
3219         .field_info_spec = {
3220                 .description = "tl4.dst",
3221                 .field_bit_size = 16,
3222                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3223                 }
3224         },
3225         {
3226         .field_info_mask = {
3227                 .description = "tl4.flags",
3228                 .field_bit_size = 9,
3229                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3230                 },
3231         .field_info_spec = {
3232                 .description = "tl4.flags",
3233                 .field_bit_size = 9,
3234                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3235                 }
3236         },
3237         {
3238         .field_info_mask = {
3239                 .description = "tl4.seq",
3240                 .field_bit_size = 32,
3241                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3242                 },
3243         .field_info_spec = {
3244                 .description = "tl4.seq",
3245                 .field_bit_size = 32,
3246                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3247                 }
3248         },
3249         {
3250         .field_info_mask = {
3251                 .description = "tl4.pa",
3252                 .field_bit_size = 1,
3253                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3254                 },
3255         .field_info_spec = {
3256                 .description = "tl4.pa",
3257                 .field_bit_size = 1,
3258                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3259                 }
3260         },
3261         {
3262         .field_info_mask = {
3263                 .description = "tl4.opt",
3264                 .field_bit_size = 1,
3265                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3266                 },
3267         .field_info_spec = {
3268                 .description = "tl4.opt",
3269                 .field_bit_size = 1,
3270                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3271                 }
3272         },
3273         {
3274         .field_info_mask = {
3275                 .description = "tl4.tcpts",
3276                 .field_bit_size = 1,
3277                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3278                 },
3279         .field_info_spec = {
3280                 .description = "tl4.tcpts",
3281                 .field_bit_size = 1,
3282                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3283                 }
3284         },
3285         {
3286         .field_info_mask = {
3287                 .description = "tl4.err",
3288                 .field_bit_size = 4,
3289                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3290                 },
3291         .field_info_spec = {
3292                 .description = "tl4.err",
3293                 .field_bit_size = 4,
3294                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3295                 }
3296         },
3297         {
3298         .field_info_mask = {
3299                 .description = "tuntype",
3300                 .field_bit_size = 4,
3301                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3302                 },
3303         .field_info_spec = {
3304                 .description = "tuntype",
3305                 .field_bit_size = 4,
3306                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3307                 }
3308         },
3309         {
3310         .field_info_mask = {
3311                 .description = "tflags",
3312                 .field_bit_size = 3,
3313                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3314                 },
3315         .field_info_spec = {
3316                 .description = "tflags",
3317                 .field_bit_size = 3,
3318                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3319                 }
3320         },
3321         {
3322         .field_info_mask = {
3323                 .description = "tids",
3324                 .field_bit_size = 24,
3325                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3326                 },
3327         .field_info_spec = {
3328                 .description = "tids",
3329                 .field_bit_size = 24,
3330                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3331                 }
3332         },
3333         {
3334         .field_info_mask = {
3335                 .description = "tid",
3336                 .field_bit_size = 32,
3337                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3338                 },
3339         .field_info_spec = {
3340                 .description = "tid",
3341                 .field_bit_size = 32,
3342                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3343                 }
3344         },
3345         {
3346         .field_info_mask = {
3347                 .description = "tctxts",
3348                 .field_bit_size = 24,
3349                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3350                 },
3351         .field_info_spec = {
3352                 .description = "tctxts",
3353                 .field_bit_size = 24,
3354                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3355                 }
3356         },
3357         {
3358         .field_info_mask = {
3359                 .description = "tctxt",
3360                 .field_bit_size = 32,
3361                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3362                 },
3363         .field_info_spec = {
3364                 .description = "tctxt",
3365                 .field_bit_size = 32,
3366                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3367                 }
3368         },
3369         {
3370         .field_info_mask = {
3371                 .description = "tqos",
3372                 .field_bit_size = 3,
3373                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3374                 },
3375         .field_info_spec = {
3376                 .description = "tqos",
3377                 .field_bit_size = 3,
3378                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3379                 }
3380         },
3381         {
3382         .field_info_mask = {
3383                 .description = "terr",
3384                 .field_bit_size = 4,
3385                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3386                 },
3387         .field_info_spec = {
3388                 .description = "terr",
3389                 .field_bit_size = 4,
3390                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3391                 }
3392         },
3393         {
3394         .field_info_mask = {
3395                 .description = "l2_l2type",
3396                 .field_bit_size = 2,
3397                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3398                 },
3399         .field_info_spec = {
3400                 .description = "l2_l2type",
3401                 .field_bit_size = 2,
3402                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3403                 }
3404         },
3405         {
3406         .field_info_mask = {
3407                 .description = "l2_dmac",
3408                 .field_bit_size = 48,
3409                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3410                 },
3411         .field_info_spec = {
3412                 .description = "l2_dmac",
3413                 .field_bit_size = 48,
3414                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3415                 }
3416         },
3417         {
3418         .field_info_mask = {
3419                 .description = "l2_smac",
3420                 .field_bit_size = 48,
3421                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3422                 },
3423         .field_info_spec = {
3424                 .description = "l2_smac",
3425                 .field_bit_size = 48,
3426                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3427                 }
3428         },
3429         {
3430         .field_info_mask = {
3431                 .description = "l2_dt",
3432                 .field_bit_size = 2,
3433                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3434                 },
3435         .field_info_spec = {
3436                 .description = "l2_dt",
3437                 .field_bit_size = 2,
3438                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3439                 }
3440         },
3441         {
3442         .field_info_mask = {
3443                 .description = "l2_sa",
3444                 .field_bit_size = 1,
3445                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3446                 },
3447         .field_info_spec = {
3448                 .description = "l2_sa",
3449                 .field_bit_size = 1,
3450                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3451                 }
3452         },
3453         {
3454         .field_info_mask = {
3455                 .description = "l2_nvt",
3456                 .field_bit_size = 2,
3457                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3458                 },
3459         .field_info_spec = {
3460                 .description = "l2_nvt",
3461                 .field_bit_size = 2,
3462                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3463                 }
3464         },
3465         {
3466         .field_info_mask = {
3467                 .description = "l2_ovp",
3468                 .field_bit_size = 3,
3469                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3470                 },
3471         .field_info_spec = {
3472                 .description = "l2_ovp",
3473                 .field_bit_size = 3,
3474                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3475                 }
3476         },
3477         {
3478         .field_info_mask = {
3479                 .description = "l2_ovd",
3480                 .field_bit_size = 1,
3481                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3482                 },
3483         .field_info_spec = {
3484                 .description = "l2_ovd",
3485                 .field_bit_size = 1,
3486                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3487                 }
3488         },
3489         {
3490         .field_info_mask = {
3491                 .description = "l2_ovv",
3492                 .field_bit_size = 12,
3493                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3494                 },
3495         .field_info_spec = {
3496                 .description = "l2_ovv",
3497                 .field_bit_size = 12,
3498                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3499                 }
3500         },
3501         {
3502         .field_info_mask = {
3503                 .description = "l2_ovt",
3504                 .field_bit_size = 3,
3505                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3506                 },
3507         .field_info_spec = {
3508                 .description = "l2_ovt",
3509                 .field_bit_size = 3,
3510                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3511                 }
3512         },
3513         {
3514         .field_info_mask = {
3515                 .description = "l2_ivp",
3516                 .field_bit_size = 3,
3517                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3518                 },
3519         .field_info_spec = {
3520                 .description = "l2_ivp",
3521                 .field_bit_size = 3,
3522                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3523                 }
3524         },
3525         {
3526         .field_info_mask = {
3527                 .description = "l2_ivd",
3528                 .field_bit_size = 1,
3529                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3530                 },
3531         .field_info_spec = {
3532                 .description = "l2_ivd",
3533                 .field_bit_size = 1,
3534                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3535                 }
3536         },
3537         {
3538         .field_info_mask = {
3539                 .description = "l2_ivv",
3540                 .field_bit_size = 12,
3541                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3542                 },
3543         .field_info_spec = {
3544                 .description = "l2_ivv",
3545                 .field_bit_size = 12,
3546                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3547                 }
3548         },
3549         {
3550         .field_info_mask = {
3551                 .description = "l2_ivt",
3552                 .field_bit_size = 3,
3553                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3554                 },
3555         .field_info_spec = {
3556                 .description = "l2_ivt",
3557                 .field_bit_size = 3,
3558                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3559                 }
3560         },
3561         {
3562         .field_info_mask = {
3563                 .description = "l2_etype",
3564                 .field_bit_size = 16,
3565                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3566                 },
3567         .field_info_spec = {
3568                 .description = "l2_etype",
3569                 .field_bit_size = 16,
3570                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3571                 }
3572         },
3573         {
3574         .field_info_mask = {
3575                 .description = "l3.l3type",
3576                 .field_bit_size = 4,
3577                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3578                 },
3579         .field_info_spec = {
3580                 .description = "l3.l3type",
3581                 .field_bit_size = 4,
3582                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3583                 }
3584         },
3585         {
3586         .field_info_mask = {
3587                 .description = "l3.sip.ipv4",
3588                 .field_bit_size = 32,
3589                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3590                 },
3591         .field_info_spec = {
3592                 .description = "l3.sip.ipv4",
3593                 .field_bit_size = 32,
3594                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3595                 }
3596         },
3597         {
3598         .field_info_mask = {
3599                 .description = "l3.sip.ipv6",
3600                 .field_bit_size = 128,
3601                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3602                 },
3603         .field_info_spec = {
3604                 .description = "l3.sip.ipv6",
3605                 .field_bit_size = 128,
3606                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3607                 }
3608         },
3609         {
3610         .field_info_mask = {
3611                 .description = "l3.sip_selcmp.ipv6",
3612                 .field_bit_size = 72,
3613                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3614                 },
3615         .field_info_spec = {
3616                 .description = "l3.sip_selcmp.ipv6",
3617                 .field_bit_size = 72,
3618                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3619                 }
3620         },
3621         {
3622         .field_info_mask = {
3623                 .description = "l3.dip.ipv4",
3624                 .field_bit_size = 32,
3625                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3626                 },
3627         .field_info_spec = {
3628                 .description = "l3.dip.ipv4",
3629                 .field_bit_size = 32,
3630                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3631                 }
3632         },
3633         {
3634         .field_info_mask = {
3635                 .description = "l3.dip.ipv6",
3636                 .field_bit_size = 128,
3637                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3638                 },
3639         .field_info_spec = {
3640                 .description = "l3.dip.ipv6",
3641                 .field_bit_size = 128,
3642                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3643                 }
3644         },
3645         {
3646         .field_info_mask = {
3647                 .description = "l3.dip_selcmp.ipv6",
3648                 .field_bit_size = 72,
3649                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3650                 },
3651         .field_info_spec = {
3652                 .description = "l3.dip_selcmp.ipv6",
3653                 .field_bit_size = 72,
3654                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3655                 }
3656         },
3657         {
3658         .field_info_mask = {
3659                 .description = "l3.ttl",
3660                 .field_bit_size = 8,
3661                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3662                 },
3663         .field_info_spec = {
3664                 .description = "l3.ttl",
3665                 .field_bit_size = 8,
3666                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3667                 }
3668         },
3669         {
3670         .field_info_mask = {
3671                 .description = "l3.prot",
3672                 .field_bit_size = 8,
3673                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3674                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3675                 },
3676         .field_info_spec = {
3677                 .description = "l3.prot",
3678                 .field_bit_size = 8,
3679                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3680                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3681                 }
3682         },
3683         {
3684         .field_info_mask = {
3685                 .description = "l3.fid.ipv4",
3686                 .field_bit_size = 16,
3687                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3688                 },
3689         .field_info_spec = {
3690                 .description = "l3.fid.ipv4",
3691                 .field_bit_size = 16,
3692                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3693                 }
3694         },
3695         {
3696         .field_info_mask = {
3697                 .description = "l3.fid.ipv6",
3698                 .field_bit_size = 20,
3699                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3700                 },
3701         .field_info_spec = {
3702                 .description = "l3.fid.ipv6",
3703                 .field_bit_size = 20,
3704                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3705                 }
3706         },
3707         {
3708         .field_info_mask = {
3709                 .description = "l3.qos",
3710                 .field_bit_size = 8,
3711                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3712                 },
3713         .field_info_spec = {
3714                 .description = "l3.qos",
3715                 .field_bit_size = 8,
3716                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3717                 }
3718         },
3719         {
3720         .field_info_mask = {
3721                 .description = "l3.ieh_nonext",
3722                 .field_bit_size = 1,
3723                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3724                 },
3725         .field_info_spec = {
3726                 .description = "l3.ieh_nonext",
3727                 .field_bit_size = 1,
3728                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3729                 }
3730         },
3731         {
3732         .field_info_mask = {
3733                 .description = "l3.ieh_esp",
3734                 .field_bit_size = 1,
3735                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3736                 },
3737         .field_info_spec = {
3738                 .description = "l3.ieh_esp",
3739                 .field_bit_size = 1,
3740                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3741                 }
3742         },
3743         {
3744         .field_info_mask = {
3745                 .description = "l3.ieh_auth",
3746                 .field_bit_size = 1,
3747                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3748                 },
3749         .field_info_spec = {
3750                 .description = "l3.ieh_auth",
3751                 .field_bit_size = 1,
3752                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3753                 }
3754         },
3755         {
3756         .field_info_mask = {
3757                 .description = "l3.ieh_dest",
3758                 .field_bit_size = 1,
3759                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3760                 },
3761         .field_info_spec = {
3762                 .description = "l3.ieh_dest",
3763                 .field_bit_size = 1,
3764                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3765                 }
3766         },
3767         {
3768         .field_info_mask = {
3769                 .description = "l3.ieh_frag",
3770                 .field_bit_size = 1,
3771                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3772                 },
3773         .field_info_spec = {
3774                 .description = "l3.ieh_frag",
3775                 .field_bit_size = 1,
3776                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3777                 }
3778         },
3779         {
3780         .field_info_mask = {
3781                 .description = "l3.ieh_rthdr",
3782                 .field_bit_size = 1,
3783                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3784                 },
3785         .field_info_spec = {
3786                 .description = "l3.ieh_rthdr",
3787                 .field_bit_size = 1,
3788                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3789                 }
3790         },
3791         {
3792         .field_info_mask = {
3793                 .description = "l3.ieh_hop",
3794                 .field_bit_size = 1,
3795                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3796                 },
3797         .field_info_spec = {
3798                 .description = "l3.ieh_hop",
3799                 .field_bit_size = 1,
3800                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3801                 }
3802         },
3803         {
3804         .field_info_mask = {
3805                 .description = "l3.ieh_1frag",
3806                 .field_bit_size = 1,
3807                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3808                 },
3809         .field_info_spec = {
3810                 .description = "l3.ieh_1frag",
3811                 .field_bit_size = 1,
3812                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3813                 }
3814         },
3815         {
3816         .field_info_mask = {
3817                 .description = "l3.df",
3818                 .field_bit_size = 1,
3819                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3820                 },
3821         .field_info_spec = {
3822                 .description = "l3.df",
3823                 .field_bit_size = 1,
3824                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3825                 }
3826         },
3827         {
3828         .field_info_mask = {
3829                 .description = "l3.l3err.ipv4",
3830                 .field_bit_size = 4,
3831                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3832                 },
3833         .field_info_spec = {
3834                 .description = "l3.l3err.ipv4",
3835                 .field_bit_size = 4,
3836                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3837                 }
3838         },
3839         {
3840         .field_info_mask = {
3841                 .description = "l3.l3err.ipv6",
3842                 .field_bit_size = 4,
3843                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3844                 },
3845         .field_info_spec = {
3846                 .description = "l3.l3err.ipv6",
3847                 .field_bit_size = 4,
3848                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3849                 }
3850         },
3851         {
3852         .field_info_mask = {
3853                 .description = "l4.l4type",
3854                 .field_bit_size = 4,
3855                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3856                 },
3857         .field_info_spec = {
3858                 .description = "l4.l4type",
3859                 .field_bit_size = 4,
3860                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3861                 }
3862         },
3863         {
3864         .field_info_mask = {
3865                 .description = "l4.src",
3866                 .field_bit_size = 16,
3867                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3868                 },
3869         .field_info_spec = {
3870                 .description = "l4.src",
3871                 .field_bit_size = 16,
3872                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3873                 }
3874         },
3875         {
3876         .field_info_mask = {
3877                 .description = "l4.dst",
3878                 .field_bit_size = 16,
3879                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3880                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3881                 },
3882         .field_info_spec = {
3883                 .description = "l4.dst",
3884                 .field_bit_size = 16,
3885                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3886                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3887                 }
3888         },
3889         {
3890         .field_info_mask = {
3891                 .description = "l4.flags",
3892                 .field_bit_size = 9,
3893                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3894                 },
3895         .field_info_spec = {
3896                 .description = "l4.flags",
3897                 .field_bit_size = 9,
3898                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3899                 }
3900         },
3901         {
3902         .field_info_mask = {
3903                 .description = "l4.seq",
3904                 .field_bit_size = 32,
3905                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3906                 },
3907         .field_info_spec = {
3908                 .description = "l4.seq",
3909                 .field_bit_size = 32,
3910                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3911                 }
3912         },
3913         {
3914         .field_info_mask = {
3915                 .description = "l4.ack",
3916                 .field_bit_size = 32,
3917                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3918                 },
3919         .field_info_spec = {
3920                 .description = "l4.ack",
3921                 .field_bit_size = 32,
3922                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3923                 }
3924         },
3925         {
3926         .field_info_mask = {
3927                 .description = "l4.win",
3928                 .field_bit_size = 16,
3929                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3930                 },
3931         .field_info_spec = {
3932                 .description = "l4.win",
3933                 .field_bit_size = 16,
3934                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3935                 }
3936         },
3937         {
3938         .field_info_mask = {
3939                 .description = "l4.pa",
3940                 .field_bit_size = 1,
3941                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3942                 },
3943         .field_info_spec = {
3944                 .description = "l4.pa",
3945                 .field_bit_size = 1,
3946                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3947                 }
3948         },
3949         {
3950         .field_info_mask = {
3951                 .description = "l4.opt",
3952                 .field_bit_size = 1,
3953                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3954                 },
3955         .field_info_spec = {
3956                 .description = "l4.opt",
3957                 .field_bit_size = 1,
3958                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3959                 }
3960         },
3961         {
3962         .field_info_mask = {
3963                 .description = "l4.tcpts",
3964                 .field_bit_size = 1,
3965                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3966                 },
3967         .field_info_spec = {
3968                 .description = "l4.tcpts",
3969                 .field_bit_size = 1,
3970                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3971                 }
3972         },
3973         {
3974         .field_info_mask = {
3975                 .description = "l4.tsval",
3976                 .field_bit_size = 32,
3977                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3978                 },
3979         .field_info_spec = {
3980                 .description = "l4.tsval",
3981                 .field_bit_size = 32,
3982                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3983                 }
3984         },
3985         {
3986         .field_info_mask = {
3987                 .description = "l4.txecr",
3988                 .field_bit_size = 32,
3989                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3990                 },
3991         .field_info_spec = {
3992                 .description = "l4.txecr",
3993                 .field_bit_size = 32,
3994                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3995                 }
3996         },
3997         {
3998         .field_info_mask = {
3999                 .description = "l4.err",
4000                 .field_bit_size = 4,
4001                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4002                 },
4003         .field_info_spec = {
4004                 .description = "l4.err",
4005                 .field_bit_size = 4,
4006                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4007                 }
4008         },
4009         /* class_tid: 1, thor, table: wm.gre_low */
4010         {
4011         .field_info_mask = {
4012                 .description = "wc_profile_id",
4013                 .field_bit_size = 8,
4014                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4015                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4016                 .field_opr1 = {
4017                         0xff}
4018                 },
4019         .field_info_spec = {
4020                 .description = "wc_profile_id",
4021                 .field_bit_size = 8,
4022                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4023                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
4024                 .field_opr1 = {
4025                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 >> 8) & 0xff,
4026                 BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 & 0xff}
4027                 }
4028         },
4029         {
4030         .field_info_mask = {
4031                 .description = "l2_cntxt_id",
4032                 .field_bit_size = 10,
4033                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4034                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4035                 .field_opr1 = {
4036                         0xff,
4037                         0xff}
4038                 },
4039         .field_info_spec = {
4040                 .description = "l2_cntxt_id",
4041                 .field_bit_size = 10,
4042                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4043                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4044                 .field_opr1 = {
4045                 (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
4046                 BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
4047                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
4048                 .field_opr2 = {
4049                         (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
4050                         BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
4051                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
4052                 .field_opr3 = {
4053                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
4054                 BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
4055                 }
4056         },
4057         {
4058         .field_info_mask = {
4059                 .description = "parif",
4060                 .field_bit_size = 4,
4061                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4062                 },
4063         .field_info_spec = {
4064                 .description = "parif",
4065                 .field_bit_size = 4,
4066                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4067                 }
4068         },
4069         {
4070         .field_info_mask = {
4071                 .description = "spif",
4072                 .field_bit_size = 2,
4073                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4074                 },
4075         .field_info_spec = {
4076                 .description = "spif",
4077                 .field_bit_size = 2,
4078                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4079                 }
4080         },
4081         {
4082         .field_info_mask = {
4083                 .description = "svif",
4084                 .field_bit_size = 11,
4085                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4086                 },
4087         .field_info_spec = {
4088                 .description = "svif",
4089                 .field_bit_size = 11,
4090                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4091                 }
4092         },
4093         {
4094         .field_info_mask = {
4095                 .description = "lcos",
4096                 .field_bit_size = 3,
4097                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4098                 },
4099         .field_info_spec = {
4100                 .description = "lcos",
4101                 .field_bit_size = 3,
4102                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4103                 }
4104         },
4105         {
4106         .field_info_mask = {
4107                 .description = "meta",
4108                 .field_bit_size = 16,
4109                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4110                 },
4111         .field_info_spec = {
4112                 .description = "meta",
4113                 .field_bit_size = 16,
4114                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4115                 }
4116         },
4117         {
4118         .field_info_mask = {
4119                 .description = "rcyc_cnt",
4120                 .field_bit_size = 2,
4121                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4122                 },
4123         .field_info_spec = {
4124                 .description = "rcyc_cnt",
4125                 .field_bit_size = 2,
4126                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4127                 }
4128         },
4129         {
4130         .field_info_mask = {
4131                 .description = "loopback",
4132                 .field_bit_size = 1,
4133                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4134                 },
4135         .field_info_spec = {
4136                 .description = "loopback",
4137                 .field_bit_size = 1,
4138                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4139                 }
4140         },
4141         {
4142         .field_info_mask = {
4143                 .description = "tl2_l2type",
4144                 .field_bit_size = 2,
4145                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4146                 },
4147         .field_info_spec = {
4148                 .description = "tl2_l2type",
4149                 .field_bit_size = 2,
4150                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4151                 }
4152         },
4153         {
4154         .field_info_mask = {
4155                 .description = "tl2_dmac",
4156                 .field_bit_size = 48,
4157                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4158                 },
4159         .field_info_spec = {
4160                 .description = "tl2_dmac",
4161                 .field_bit_size = 48,
4162                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4163                 }
4164         },
4165         {
4166         .field_info_mask = {
4167                 .description = "tl2_smac",
4168                 .field_bit_size = 48,
4169                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4170                 },
4171         .field_info_spec = {
4172                 .description = "tl2_smac",
4173                 .field_bit_size = 48,
4174                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4175                 }
4176         },
4177         {
4178         .field_info_mask = {
4179                 .description = "tl2_dt",
4180                 .field_bit_size = 2,
4181                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4182                 },
4183         .field_info_spec = {
4184                 .description = "tl2_dt",
4185                 .field_bit_size = 2,
4186                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4187                 }
4188         },
4189         {
4190         .field_info_mask = {
4191                 .description = "tl2_sa",
4192                 .field_bit_size = 1,
4193                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4194                 },
4195         .field_info_spec = {
4196                 .description = "tl2_sa",
4197                 .field_bit_size = 1,
4198                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4199                 }
4200         },
4201         {
4202         .field_info_mask = {
4203                 .description = "tl2_nvt",
4204                 .field_bit_size = 2,
4205                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4206                 },
4207         .field_info_spec = {
4208                 .description = "tl2_nvt",
4209                 .field_bit_size = 2,
4210                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4211                 }
4212         },
4213         {
4214         .field_info_mask = {
4215                 .description = "tl2_ovp",
4216                 .field_bit_size = 3,
4217                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4218                 },
4219         .field_info_spec = {
4220                 .description = "tl2_ovp",
4221                 .field_bit_size = 3,
4222                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4223                 }
4224         },
4225         {
4226         .field_info_mask = {
4227                 .description = "tl2_ovd",
4228                 .field_bit_size = 1,
4229                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4230                 },
4231         .field_info_spec = {
4232                 .description = "tl2_ovd",
4233                 .field_bit_size = 1,
4234                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4235                 }
4236         },
4237         {
4238         .field_info_mask = {
4239                 .description = "tl2_ovv",
4240                 .field_bit_size = 12,
4241                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4242                 },
4243         .field_info_spec = {
4244                 .description = "tl2_ovv",
4245                 .field_bit_size = 12,
4246                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4247                 }
4248         },
4249         {
4250         .field_info_mask = {
4251                 .description = "tl2_ovt",
4252                 .field_bit_size = 3,
4253                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4254                 },
4255         .field_info_spec = {
4256                 .description = "tl2_ovt",
4257                 .field_bit_size = 3,
4258                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4259                 }
4260         },
4261         {
4262         .field_info_mask = {
4263                 .description = "tl2_ivp",
4264                 .field_bit_size = 3,
4265                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4266                 },
4267         .field_info_spec = {
4268                 .description = "tl2_ivp",
4269                 .field_bit_size = 3,
4270                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4271                 }
4272         },
4273         {
4274         .field_info_mask = {
4275                 .description = "tl2_ivd",
4276                 .field_bit_size = 1,
4277                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4278                 },
4279         .field_info_spec = {
4280                 .description = "tl2_ivd",
4281                 .field_bit_size = 1,
4282                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4283                 }
4284         },
4285         {
4286         .field_info_mask = {
4287                 .description = "tl2_ivv",
4288                 .field_bit_size = 12,
4289                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4290                 },
4291         .field_info_spec = {
4292                 .description = "tl2_ivv",
4293                 .field_bit_size = 12,
4294                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4295                 }
4296         },
4297         {
4298         .field_info_mask = {
4299                 .description = "tl2_ivt",
4300                 .field_bit_size = 3,
4301                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4302                 },
4303         .field_info_spec = {
4304                 .description = "tl2_ivt",
4305                 .field_bit_size = 3,
4306                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4307                 }
4308         },
4309         {
4310         .field_info_mask = {
4311                 .description = "tl2_etype",
4312                 .field_bit_size = 16,
4313                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4314                 },
4315         .field_info_spec = {
4316                 .description = "tl2_etype",
4317                 .field_bit_size = 16,
4318                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4319                 }
4320         },
4321         {
4322         .field_info_mask = {
4323                 .description = "tl3.l3type",
4324                 .field_bit_size = 4,
4325                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4326                 },
4327         .field_info_spec = {
4328                 .description = "tl3.l3type",
4329                 .field_bit_size = 4,
4330                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4331                 }
4332         },
4333         {
4334         .field_info_mask = {
4335                 .description = "tl3.sip.ipv4",
4336                 .field_bit_size = 32,
4337                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4338                 },
4339         .field_info_spec = {
4340                 .description = "tl3.sip.ipv4",
4341                 .field_bit_size = 32,
4342                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4343                 }
4344         },
4345         {
4346         .field_info_mask = {
4347                 .description = "tl3.sip.ipv6",
4348                 .field_bit_size = 128,
4349                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4350                 },
4351         .field_info_spec = {
4352                 .description = "tl3.sip.ipv6",
4353                 .field_bit_size = 128,
4354                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4355                 }
4356         },
4357         {
4358         .field_info_mask = {
4359                 .description = "tl3.sip_selcmp.ipv6",
4360                 .field_bit_size = 72,
4361                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4362                 },
4363         .field_info_spec = {
4364                 .description = "tl3.sip_selcmp.ipv6",
4365                 .field_bit_size = 72,
4366                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4367                 }
4368         },
4369         {
4370         .field_info_mask = {
4371                 .description = "tl3.dip.ipv4",
4372                 .field_bit_size = 32,
4373                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4374                 },
4375         .field_info_spec = {
4376                 .description = "tl3.dip.ipv4",
4377                 .field_bit_size = 32,
4378                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4379                 }
4380         },
4381         {
4382         .field_info_mask = {
4383                 .description = "tl3.dip.ipv6",
4384                 .field_bit_size = 128,
4385                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4386                 },
4387         .field_info_spec = {
4388                 .description = "tl3.dip.ipv6",
4389                 .field_bit_size = 128,
4390                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4391                 }
4392         },
4393         {
4394         .field_info_mask = {
4395                 .description = "tl3.dip_selcmp.ipv6",
4396                 .field_bit_size = 72,
4397                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4398                 },
4399         .field_info_spec = {
4400                 .description = "tl3.dip_selcmp.ipv6",
4401                 .field_bit_size = 72,
4402                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4403                 }
4404         },
4405         {
4406         .field_info_mask = {
4407                 .description = "tl3.ttl",
4408                 .field_bit_size = 8,
4409                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4410                 },
4411         .field_info_spec = {
4412                 .description = "tl3.ttl",
4413                 .field_bit_size = 8,
4414                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4415                 }
4416         },
4417         {
4418         .field_info_mask = {
4419                 .description = "tl3.prot",
4420                 .field_bit_size = 8,
4421                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4422                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4423                 .field_opr1 = {
4424                         0xff}
4425                 },
4426         .field_info_spec = {
4427                 .description = "tl3.prot",
4428                 .field_bit_size = 8,
4429                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4430                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4431                 .field_opr1 = {
4432                 47}
4433                 }
4434         },
4435         {
4436         .field_info_mask = {
4437                 .description = "tl3.fid.ipv4",
4438                 .field_bit_size = 16,
4439                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4440                 },
4441         .field_info_spec = {
4442                 .description = "tl3.fid.ipv4",
4443                 .field_bit_size = 16,
4444                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4445                 }
4446         },
4447         {
4448         .field_info_mask = {
4449                 .description = "tl3.fid.ipv6",
4450                 .field_bit_size = 20,
4451                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4452                 },
4453         .field_info_spec = {
4454                 .description = "tl3.fid.ipv6",
4455                 .field_bit_size = 20,
4456                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4457                 }
4458         },
4459         {
4460         .field_info_mask = {
4461                 .description = "tl3.qos",
4462                 .field_bit_size = 8,
4463                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4464                 },
4465         .field_info_spec = {
4466                 .description = "tl3.qos",
4467                 .field_bit_size = 8,
4468                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4469                 }
4470         },
4471         {
4472         .field_info_mask = {
4473                 .description = "tl3.ieh_nonext",
4474                 .field_bit_size = 1,
4475                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4476                 },
4477         .field_info_spec = {
4478                 .description = "tl3.ieh_nonext",
4479                 .field_bit_size = 1,
4480                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4481                 }
4482         },
4483         {
4484         .field_info_mask = {
4485                 .description = "tl3.ieh_esp",
4486                 .field_bit_size = 1,
4487                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4488                 },
4489         .field_info_spec = {
4490                 .description = "tl3.ieh_esp",
4491                 .field_bit_size = 1,
4492                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4493                 }
4494         },
4495         {
4496         .field_info_mask = {
4497                 .description = "tl3.ieh_auth",
4498                 .field_bit_size = 1,
4499                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4500                 },
4501         .field_info_spec = {
4502                 .description = "tl3.ieh_auth",
4503                 .field_bit_size = 1,
4504                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4505                 }
4506         },
4507         {
4508         .field_info_mask = {
4509                 .description = "tl3.ieh_dest",
4510                 .field_bit_size = 1,
4511                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4512                 },
4513         .field_info_spec = {
4514                 .description = "tl3.ieh_dest",
4515                 .field_bit_size = 1,
4516                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4517                 }
4518         },
4519         {
4520         .field_info_mask = {
4521                 .description = "tl3.ieh_frag",
4522                 .field_bit_size = 1,
4523                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4524                 },
4525         .field_info_spec = {
4526                 .description = "tl3.ieh_frag",
4527                 .field_bit_size = 1,
4528                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4529                 }
4530         },
4531         {
4532         .field_info_mask = {
4533                 .description = "tl3.ieh_rthdr",
4534                 .field_bit_size = 1,
4535                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4536                 },
4537         .field_info_spec = {
4538                 .description = "tl3.ieh_rthdr",
4539                 .field_bit_size = 1,
4540                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4541                 }
4542         },
4543         {
4544         .field_info_mask = {
4545                 .description = "tl3.ieh_hop",
4546                 .field_bit_size = 1,
4547                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4548                 },
4549         .field_info_spec = {
4550                 .description = "tl3.ieh_hop",
4551                 .field_bit_size = 1,
4552                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4553                 }
4554         },
4555         {
4556         .field_info_mask = {
4557                 .description = "tl3.ieh_1frag",
4558                 .field_bit_size = 1,
4559                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4560                 },
4561         .field_info_spec = {
4562                 .description = "tl3.ieh_1frag",
4563                 .field_bit_size = 1,
4564                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4565                 }
4566         },
4567         {
4568         .field_info_mask = {
4569                 .description = "tl3.df",
4570                 .field_bit_size = 1,
4571                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4572                 },
4573         .field_info_spec = {
4574                 .description = "tl3.df",
4575                 .field_bit_size = 1,
4576                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4577                 }
4578         },
4579         {
4580         .field_info_mask = {
4581                 .description = "tl3.l3err",
4582                 .field_bit_size = 4,
4583                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4584                 },
4585         .field_info_spec = {
4586                 .description = "tl3.l3err",
4587                 .field_bit_size = 4,
4588                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4589                 }
4590         },
4591         {
4592         .field_info_mask = {
4593                 .description = "tl4.l4type",
4594                 .field_bit_size = 4,
4595                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4596                 },
4597         .field_info_spec = {
4598                 .description = "tl4.l4type",
4599                 .field_bit_size = 4,
4600                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4601                 }
4602         },
4603         {
4604         .field_info_mask = {
4605                 .description = "tl4.src",
4606                 .field_bit_size = 16,
4607                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4608                 },
4609         .field_info_spec = {
4610                 .description = "tl4.src",
4611                 .field_bit_size = 16,
4612                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4613                 }
4614         },
4615         {
4616         .field_info_mask = {
4617                 .description = "tl4.dst",
4618                 .field_bit_size = 16,
4619                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4620                 },
4621         .field_info_spec = {
4622                 .description = "tl4.dst",
4623                 .field_bit_size = 16,
4624                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4625                 }
4626         },
4627         {
4628         .field_info_mask = {
4629                 .description = "tl4.flags",
4630                 .field_bit_size = 9,
4631                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4632                 },
4633         .field_info_spec = {
4634                 .description = "tl4.flags",
4635                 .field_bit_size = 9,
4636                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4637                 }
4638         },
4639         {
4640         .field_info_mask = {
4641                 .description = "tl4.seq",
4642                 .field_bit_size = 32,
4643                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4644                 },
4645         .field_info_spec = {
4646                 .description = "tl4.seq",
4647                 .field_bit_size = 32,
4648                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4649                 }
4650         },
4651         {
4652         .field_info_mask = {
4653                 .description = "tl4.pa",
4654                 .field_bit_size = 1,
4655                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4656                 },
4657         .field_info_spec = {
4658                 .description = "tl4.pa",
4659                 .field_bit_size = 1,
4660                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4661                 }
4662         },
4663         {
4664         .field_info_mask = {
4665                 .description = "tl4.opt",
4666                 .field_bit_size = 1,
4667                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4668                 },
4669         .field_info_spec = {
4670                 .description = "tl4.opt",
4671                 .field_bit_size = 1,
4672                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4673                 }
4674         },
4675         {
4676         .field_info_mask = {
4677                 .description = "tl4.tcpts",
4678                 .field_bit_size = 1,
4679                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4680                 },
4681         .field_info_spec = {
4682                 .description = "tl4.tcpts",
4683                 .field_bit_size = 1,
4684                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4685                 }
4686         },
4687         {
4688         .field_info_mask = {
4689                 .description = "tl4.err",
4690                 .field_bit_size = 4,
4691                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4692                 },
4693         .field_info_spec = {
4694                 .description = "tl4.err",
4695                 .field_bit_size = 4,
4696                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4697                 }
4698         },
4699         {
4700         .field_info_mask = {
4701                 .description = "tuntype",
4702                 .field_bit_size = 4,
4703                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4704                 },
4705         .field_info_spec = {
4706                 .description = "tuntype",
4707                 .field_bit_size = 4,
4708                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4709                 }
4710         },
4711         {
4712         .field_info_mask = {
4713                 .description = "tflags",
4714                 .field_bit_size = 3,
4715                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4716                 },
4717         .field_info_spec = {
4718                 .description = "tflags",
4719                 .field_bit_size = 3,
4720                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4721                 }
4722         },
4723         {
4724         .field_info_mask = {
4725                 .description = "tids",
4726                 .field_bit_size = 24,
4727                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4728                 },
4729         .field_info_spec = {
4730                 .description = "tids",
4731                 .field_bit_size = 24,
4732                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4733                 }
4734         },
4735         {
4736         .field_info_mask = {
4737                 .description = "tid",
4738                 .field_bit_size = 32,
4739                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4740                 },
4741         .field_info_spec = {
4742                 .description = "tid",
4743                 .field_bit_size = 32,
4744                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4745                 }
4746         },
4747         {
4748         .field_info_mask = {
4749                 .description = "tctxts",
4750                 .field_bit_size = 24,
4751                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4752                 },
4753         .field_info_spec = {
4754                 .description = "tctxts",
4755                 .field_bit_size = 24,
4756                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4757                 }
4758         },
4759         {
4760         .field_info_mask = {
4761                 .description = "tctxt",
4762                 .field_bit_size = 32,
4763                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4764                 },
4765         .field_info_spec = {
4766                 .description = "tctxt",
4767                 .field_bit_size = 32,
4768                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4769                 }
4770         },
4771         {
4772         .field_info_mask = {
4773                 .description = "tqos",
4774                 .field_bit_size = 3,
4775                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4776                 },
4777         .field_info_spec = {
4778                 .description = "tqos",
4779                 .field_bit_size = 3,
4780                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4781                 }
4782         },
4783         {
4784         .field_info_mask = {
4785                 .description = "terr",
4786                 .field_bit_size = 4,
4787                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4788                 },
4789         .field_info_spec = {
4790                 .description = "terr",
4791                 .field_bit_size = 4,
4792                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4793                 }
4794         },
4795         {
4796         .field_info_mask = {
4797                 .description = "l2_l2type",
4798                 .field_bit_size = 2,
4799                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4800                 },
4801         .field_info_spec = {
4802                 .description = "l2_l2type",
4803                 .field_bit_size = 2,
4804                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4805                 }
4806         },
4807         {
4808         .field_info_mask = {
4809                 .description = "l2_dmac",
4810                 .field_bit_size = 48,
4811                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4812                 },
4813         .field_info_spec = {
4814                 .description = "l2_dmac",
4815                 .field_bit_size = 48,
4816                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4817                 }
4818         },
4819         {
4820         .field_info_mask = {
4821                 .description = "l2_smac",
4822                 .field_bit_size = 48,
4823                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4824                 },
4825         .field_info_spec = {
4826                 .description = "l2_smac",
4827                 .field_bit_size = 48,
4828                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4829                 }
4830         },
4831         {
4832         .field_info_mask = {
4833                 .description = "l2_dt",
4834                 .field_bit_size = 2,
4835                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4836                 },
4837         .field_info_spec = {
4838                 .description = "l2_dt",
4839                 .field_bit_size = 2,
4840                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4841                 }
4842         },
4843         {
4844         .field_info_mask = {
4845                 .description = "l2_sa",
4846                 .field_bit_size = 1,
4847                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4848                 },
4849         .field_info_spec = {
4850                 .description = "l2_sa",
4851                 .field_bit_size = 1,
4852                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4853                 }
4854         },
4855         {
4856         .field_info_mask = {
4857                 .description = "l2_nvt",
4858                 .field_bit_size = 2,
4859                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4860                 },
4861         .field_info_spec = {
4862                 .description = "l2_nvt",
4863                 .field_bit_size = 2,
4864                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4865                 }
4866         },
4867         {
4868         .field_info_mask = {
4869                 .description = "l2_ovp",
4870                 .field_bit_size = 3,
4871                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4872                 },
4873         .field_info_spec = {
4874                 .description = "l2_ovp",
4875                 .field_bit_size = 3,
4876                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4877                 }
4878         },
4879         {
4880         .field_info_mask = {
4881                 .description = "l2_ovd",
4882                 .field_bit_size = 1,
4883                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4884                 },
4885         .field_info_spec = {
4886                 .description = "l2_ovd",
4887                 .field_bit_size = 1,
4888                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4889                 }
4890         },
4891         {
4892         .field_info_mask = {
4893                 .description = "l2_ovv",
4894                 .field_bit_size = 12,
4895                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4896                 },
4897         .field_info_spec = {
4898                 .description = "l2_ovv",
4899                 .field_bit_size = 12,
4900                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4901                 }
4902         },
4903         {
4904         .field_info_mask = {
4905                 .description = "l2_ovt",
4906                 .field_bit_size = 3,
4907                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4908                 },
4909         .field_info_spec = {
4910                 .description = "l2_ovt",
4911                 .field_bit_size = 3,
4912                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4913                 }
4914         },
4915         {
4916         .field_info_mask = {
4917                 .description = "l2_ivp",
4918                 .field_bit_size = 3,
4919                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4920                 },
4921         .field_info_spec = {
4922                 .description = "l2_ivp",
4923                 .field_bit_size = 3,
4924                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4925                 }
4926         },
4927         {
4928         .field_info_mask = {
4929                 .description = "l2_ivd",
4930                 .field_bit_size = 1,
4931                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4932                 },
4933         .field_info_spec = {
4934                 .description = "l2_ivd",
4935                 .field_bit_size = 1,
4936                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4937                 }
4938         },
4939         {
4940         .field_info_mask = {
4941                 .description = "l2_ivv",
4942                 .field_bit_size = 12,
4943                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4944                 },
4945         .field_info_spec = {
4946                 .description = "l2_ivv",
4947                 .field_bit_size = 12,
4948                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4949                 }
4950         },
4951         {
4952         .field_info_mask = {
4953                 .description = "l2_ivt",
4954                 .field_bit_size = 3,
4955                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4956                 },
4957         .field_info_spec = {
4958                 .description = "l2_ivt",
4959                 .field_bit_size = 3,
4960                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4961                 }
4962         },
4963         {
4964         .field_info_mask = {
4965                 .description = "l2_etype",
4966                 .field_bit_size = 16,
4967                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4968                 },
4969         .field_info_spec = {
4970                 .description = "l2_etype",
4971                 .field_bit_size = 16,
4972                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4973                 }
4974         },
4975         {
4976         .field_info_mask = {
4977                 .description = "l3.l3type",
4978                 .field_bit_size = 4,
4979                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4980                 },
4981         .field_info_spec = {
4982                 .description = "l3.l3type",
4983                 .field_bit_size = 4,
4984                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4985                 }
4986         },
4987         {
4988         .field_info_mask = {
4989                 .description = "l3.sip.ipv4",
4990                 .field_bit_size = 32,
4991                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4992                 },
4993         .field_info_spec = {
4994                 .description = "l3.sip.ipv4",
4995                 .field_bit_size = 32,
4996                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4997                 }
4998         },
4999         {
5000         .field_info_mask = {
5001                 .description = "l3.sip.ipv6",
5002                 .field_bit_size = 128,
5003                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5004                 },
5005         .field_info_spec = {
5006                 .description = "l3.sip.ipv6",
5007                 .field_bit_size = 128,
5008                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5009                 }
5010         },
5011         {
5012         .field_info_mask = {
5013                 .description = "l3.sip_selcmp.ipv6",
5014                 .field_bit_size = 72,
5015                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5016                 },
5017         .field_info_spec = {
5018                 .description = "l3.sip_selcmp.ipv6",
5019                 .field_bit_size = 72,
5020                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5021                 }
5022         },
5023         {
5024         .field_info_mask = {
5025                 .description = "l3.dip.ipv4",
5026                 .field_bit_size = 32,
5027                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5028                 },
5029         .field_info_spec = {
5030                 .description = "l3.dip.ipv4",
5031                 .field_bit_size = 32,
5032                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5033                 }
5034         },
5035         {
5036         .field_info_mask = {
5037                 .description = "l3.dip.ipv6",
5038                 .field_bit_size = 128,
5039                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5040                 },
5041         .field_info_spec = {
5042                 .description = "l3.dip.ipv6",
5043                 .field_bit_size = 128,
5044                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5045                 }
5046         },
5047         {
5048         .field_info_mask = {
5049                 .description = "l3.dip_selcmp.ipv6",
5050                 .field_bit_size = 72,
5051                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5052                 },
5053         .field_info_spec = {
5054                 .description = "l3.dip_selcmp.ipv6",
5055                 .field_bit_size = 72,
5056                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5057                 }
5058         },
5059         {
5060         .field_info_mask = {
5061                 .description = "l3.ttl",
5062                 .field_bit_size = 8,
5063                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5064                 },
5065         .field_info_spec = {
5066                 .description = "l3.ttl",
5067                 .field_bit_size = 8,
5068                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5069                 }
5070         },
5071         {
5072         .field_info_mask = {
5073                 .description = "l3.prot",
5074                 .field_bit_size = 8,
5075                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5076                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5077                 },
5078         .field_info_spec = {
5079                 .description = "l3.prot",
5080                 .field_bit_size = 8,
5081                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5082                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5083                 }
5084         },
5085         {
5086         .field_info_mask = {
5087                 .description = "l3.fid.ipv4",
5088                 .field_bit_size = 16,
5089                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5090                 },
5091         .field_info_spec = {
5092                 .description = "l3.fid.ipv4",
5093                 .field_bit_size = 16,
5094                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5095                 }
5096         },
5097         {
5098         .field_info_mask = {
5099                 .description = "l3.fid.ipv6",
5100                 .field_bit_size = 20,
5101                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5102                 },
5103         .field_info_spec = {
5104                 .description = "l3.fid.ipv6",
5105                 .field_bit_size = 20,
5106                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5107                 }
5108         },
5109         {
5110         .field_info_mask = {
5111                 .description = "l3.qos",
5112                 .field_bit_size = 8,
5113                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5114                 },
5115         .field_info_spec = {
5116                 .description = "l3.qos",
5117                 .field_bit_size = 8,
5118                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5119                 }
5120         },
5121         {
5122         .field_info_mask = {
5123                 .description = "l3.ieh_nonext",
5124                 .field_bit_size = 1,
5125                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5126                 },
5127         .field_info_spec = {
5128                 .description = "l3.ieh_nonext",
5129                 .field_bit_size = 1,
5130                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5131                 }
5132         },
5133         {
5134         .field_info_mask = {
5135                 .description = "l3.ieh_esp",
5136                 .field_bit_size = 1,
5137                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5138                 },
5139         .field_info_spec = {
5140                 .description = "l3.ieh_esp",
5141                 .field_bit_size = 1,
5142                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5143                 }
5144         },
5145         {
5146         .field_info_mask = {
5147                 .description = "l3.ieh_auth",
5148                 .field_bit_size = 1,
5149                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5150                 },
5151         .field_info_spec = {
5152                 .description = "l3.ieh_auth",
5153                 .field_bit_size = 1,
5154                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5155                 }
5156         },
5157         {
5158         .field_info_mask = {
5159                 .description = "l3.ieh_dest",
5160                 .field_bit_size = 1,
5161                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5162                 },
5163         .field_info_spec = {
5164                 .description = "l3.ieh_dest",
5165                 .field_bit_size = 1,
5166                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5167                 }
5168         },
5169         {
5170         .field_info_mask = {
5171                 .description = "l3.ieh_frag",
5172                 .field_bit_size = 1,
5173                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5174                 },
5175         .field_info_spec = {
5176                 .description = "l3.ieh_frag",
5177                 .field_bit_size = 1,
5178                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5179                 }
5180         },
5181         {
5182         .field_info_mask = {
5183                 .description = "l3.ieh_rthdr",
5184                 .field_bit_size = 1,
5185                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5186                 },
5187         .field_info_spec = {
5188                 .description = "l3.ieh_rthdr",
5189                 .field_bit_size = 1,
5190                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5191                 }
5192         },
5193         {
5194         .field_info_mask = {
5195                 .description = "l3.ieh_hop",
5196                 .field_bit_size = 1,
5197                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5198                 },
5199         .field_info_spec = {
5200                 .description = "l3.ieh_hop",
5201                 .field_bit_size = 1,
5202                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5203                 }
5204         },
5205         {
5206         .field_info_mask = {
5207                 .description = "l3.ieh_1frag",
5208                 .field_bit_size = 1,
5209                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5210                 },
5211         .field_info_spec = {
5212                 .description = "l3.ieh_1frag",
5213                 .field_bit_size = 1,
5214                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5215                 }
5216         },
5217         {
5218         .field_info_mask = {
5219                 .description = "l3.df",
5220                 .field_bit_size = 1,
5221                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5222                 },
5223         .field_info_spec = {
5224                 .description = "l3.df",
5225                 .field_bit_size = 1,
5226                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5227                 }
5228         },
5229         {
5230         .field_info_mask = {
5231                 .description = "l3.l3err.ipv4",
5232                 .field_bit_size = 4,
5233                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5234                 },
5235         .field_info_spec = {
5236                 .description = "l3.l3err.ipv4",
5237                 .field_bit_size = 4,
5238                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5239                 }
5240         },
5241         {
5242         .field_info_mask = {
5243                 .description = "l3.l3err.ipv6",
5244                 .field_bit_size = 4,
5245                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5246                 },
5247         .field_info_spec = {
5248                 .description = "l3.l3err.ipv6",
5249                 .field_bit_size = 4,
5250                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5251                 }
5252         },
5253         {
5254         .field_info_mask = {
5255                 .description = "l4.l4type",
5256                 .field_bit_size = 4,
5257                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5258                 },
5259         .field_info_spec = {
5260                 .description = "l4.l4type",
5261                 .field_bit_size = 4,
5262                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5263                 }
5264         },
5265         {
5266         .field_info_mask = {
5267                 .description = "l4.src",
5268                 .field_bit_size = 16,
5269                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5270                 },
5271         .field_info_spec = {
5272                 .description = "l4.src",
5273                 .field_bit_size = 16,
5274                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5275                 }
5276         },
5277         {
5278         .field_info_mask = {
5279                 .description = "l4.dst",
5280                 .field_bit_size = 16,
5281                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5282                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5283                 },
5284         .field_info_spec = {
5285                 .description = "l4.dst",
5286                 .field_bit_size = 16,
5287                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5288                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5289                 }
5290         },
5291         {
5292         .field_info_mask = {
5293                 .description = "l4.flags",
5294                 .field_bit_size = 9,
5295                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5296                 },
5297         .field_info_spec = {
5298                 .description = "l4.flags",
5299                 .field_bit_size = 9,
5300                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5301                 }
5302         },
5303         {
5304         .field_info_mask = {
5305                 .description = "l4.seq",
5306                 .field_bit_size = 32,
5307                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5308                 },
5309         .field_info_spec = {
5310                 .description = "l4.seq",
5311                 .field_bit_size = 32,
5312                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5313                 }
5314         },
5315         {
5316         .field_info_mask = {
5317                 .description = "l4.ack",
5318                 .field_bit_size = 32,
5319                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5320                 },
5321         .field_info_spec = {
5322                 .description = "l4.ack",
5323                 .field_bit_size = 32,
5324                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5325                 }
5326         },
5327         {
5328         .field_info_mask = {
5329                 .description = "l4.win",
5330                 .field_bit_size = 16,
5331                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5332                 },
5333         .field_info_spec = {
5334                 .description = "l4.win",
5335                 .field_bit_size = 16,
5336                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5337                 }
5338         },
5339         {
5340         .field_info_mask = {
5341                 .description = "l4.pa",
5342                 .field_bit_size = 1,
5343                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5344                 },
5345         .field_info_spec = {
5346                 .description = "l4.pa",
5347                 .field_bit_size = 1,
5348                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5349                 }
5350         },
5351         {
5352         .field_info_mask = {
5353                 .description = "l4.opt",
5354                 .field_bit_size = 1,
5355                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5356                 },
5357         .field_info_spec = {
5358                 .description = "l4.opt",
5359                 .field_bit_size = 1,
5360                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5361                 }
5362         },
5363         {
5364         .field_info_mask = {
5365                 .description = "l4.tcpts",
5366                 .field_bit_size = 1,
5367                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5368                 },
5369         .field_info_spec = {
5370                 .description = "l4.tcpts",
5371                 .field_bit_size = 1,
5372                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5373                 }
5374         },
5375         {
5376         .field_info_mask = {
5377                 .description = "l4.tsval",
5378                 .field_bit_size = 32,
5379                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5380                 },
5381         .field_info_spec = {
5382                 .description = "l4.tsval",
5383                 .field_bit_size = 32,
5384                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5385                 }
5386         },
5387         {
5388         .field_info_mask = {
5389                 .description = "l4.txecr",
5390                 .field_bit_size = 32,
5391                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5392                 },
5393         .field_info_spec = {
5394                 .description = "l4.txecr",
5395                 .field_bit_size = 32,
5396                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5397                 }
5398         },
5399         {
5400         .field_info_mask = {
5401                 .description = "l4.err",
5402                 .field_bit_size = 4,
5403                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5404                 },
5405         .field_info_spec = {
5406                 .description = "l4.err",
5407                 .field_bit_size = 4,
5408                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
5409                 }
5410         },
5411         /* class_tid: 1, thor, table: mac_addr_cache.gre_frag_rd */
5412         {
5413         .field_info_mask = {
5414                 .description = "svif",
5415                 .field_bit_size = 8,
5416                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5417                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5418                 .field_opr1 = {
5419                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
5420                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
5421                 },
5422         .field_info_spec = {
5423                 .description = "svif",
5424                 .field_bit_size = 8,
5425                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5426                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5427                 .field_opr1 = {
5428                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
5429                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
5430                 }
5431         },
5432         {
5433         .field_info_mask = {
5434                 .description = "tun_hdr",
5435                 .field_bit_size = 4,
5436                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5437                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5438                 .field_opr1 = {
5439                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
5440                 },
5441         .field_info_spec = {
5442                 .description = "tun_hdr",
5443                 .field_bit_size = 4,
5444                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5445                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5446                 .field_opr1 = {
5447                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
5448                 }
5449         },
5450         {
5451         .field_info_mask = {
5452                 .description = "one_tag",
5453                 .field_bit_size = 1,
5454                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5455                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5456                 },
5457         .field_info_spec = {
5458                 .description = "one_tag",
5459                 .field_bit_size = 1,
5460                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5461                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5462                 }
5463         },
5464         {
5465         .field_info_mask = {
5466                 .description = "vid",
5467                 .field_bit_size = 12,
5468                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5469                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5470                 },
5471         .field_info_spec = {
5472                 .description = "vid",
5473                 .field_bit_size = 12,
5474                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5475                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5476                 }
5477         },
5478         {
5479         .field_info_mask = {
5480                 .description = "mac_addr",
5481                 .field_bit_size = 48,
5482                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5483                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5484                 .field_opr1 = {
5485                         0xff,
5486                         0xff,
5487                         0xff,
5488                         0xff,
5489                         0xff,
5490                         0xff}
5491                 },
5492         .field_info_spec = {
5493                 .description = "mac_addr",
5494                 .field_bit_size = 48,
5495                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5496                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5497                 .field_opr1 = {
5498                 (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
5499                 BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
5500                 }
5501         },
5502         /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */
5503         {
5504         .field_info_mask = {
5505                 .description = "etype",
5506                 .field_bit_size = 16,
5507                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5508                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5509                 },
5510         .field_info_spec = {
5511                 .description = "etype",
5512                 .field_bit_size = 16,
5513                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5514                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5515                 }
5516         },
5517         {
5518         .field_info_mask = {
5519                 .description = "l2_ivlan_tpid_sel",
5520                 .field_bit_size = 3,
5521                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5522                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5523                 },
5524         .field_info_spec = {
5525                 .description = "l2_ivlan_tpid_sel",
5526                 .field_bit_size = 3,
5527                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5528                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5529                 }
5530         },
5531         {
5532         .field_info_mask = {
5533                 .description = "l2_ivlan_vid",
5534                 .field_bit_size = 12,
5535                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5536                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5537                 },
5538         .field_info_spec = {
5539                 .description = "l2_ivlan_vid",
5540                 .field_bit_size = 12,
5541                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5542                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5543                 }
5544         },
5545         {
5546         .field_info_mask = {
5547                 .description = "l2_ovlan_tpid_sel",
5548                 .field_bit_size = 3,
5549                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5550                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5551                 },
5552         .field_info_spec = {
5553                 .description = "l2_ovlan_tpid_sel",
5554                 .field_bit_size = 3,
5555                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5556                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5557                 }
5558         },
5559         {
5560         .field_info_mask = {
5561                 .description = "l2_ovlan_vid",
5562                 .field_bit_size = 12,
5563                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5564                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5565                 },
5566         .field_info_spec = {
5567                 .description = "l2_ovlan_vid",
5568                 .field_bit_size = 12,
5569                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5570                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5571                 }
5572         },
5573         {
5574         .field_info_mask = {
5575                 .description = "two_vtags",
5576                 .field_bit_size = 1,
5577                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5578                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5579                 },
5580         .field_info_spec = {
5581                 .description = "two_vtags",
5582                 .field_bit_size = 1,
5583                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5584                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5585                 }
5586         },
5587         {
5588         .field_info_mask = {
5589                 .description = "vtag_present",
5590                 .field_bit_size = 1,
5591                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5592                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5593                 },
5594         .field_info_spec = {
5595                 .description = "vtag_present",
5596                 .field_bit_size = 1,
5597                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5598                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5599                 }
5600         },
5601         {
5602         .field_info_mask = {
5603                 .description = "mac1_addr",
5604                 .field_bit_size = 48,
5605                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5606                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5607                 },
5608         .field_info_spec = {
5609                 .description = "mac1_addr",
5610                 .field_bit_size = 48,
5611                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5612                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5613                 }
5614         },
5615         {
5616         .field_info_mask = {
5617                 .description = "mac0_addr",
5618                 .field_bit_size = 48,
5619                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5620                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5621                 .field_opr1 = {
5622                         0xff,
5623                         0xff,
5624                         0xff,
5625                         0xff,
5626                         0xff,
5627                         0xff}
5628                 },
5629         .field_info_spec = {
5630                 .description = "mac0_addr",
5631                 .field_bit_size = 48,
5632                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5633                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
5634                 .field_opr1 = {
5635                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
5636                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
5637                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
5638                 .field_opr2 = {
5639                         (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
5640                         BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
5641                 .field_src3 = BNXT_ULP_FIELD_SRC_RF,
5642                 .field_opr3 = {
5643                 (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
5644                 BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
5645                 }
5646         },
5647         {
5648         .field_info_mask = {
5649                 .description = "tunnel_id",
5650                 .field_bit_size = 24,
5651                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5652                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5653                 },
5654         .field_info_spec = {
5655                 .description = "tunnel_id",
5656                 .field_bit_size = 24,
5657                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5658                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5659                 }
5660         },
5661         {
5662         .field_info_mask = {
5663                 .description = "tun_hdr_type",
5664                 .field_bit_size = 4,
5665                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5666                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5667                 .field_opr1 = {
5668                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
5669                 },
5670         .field_info_spec = {
5671                 .description = "tun_hdr_type",
5672                 .field_bit_size = 4,
5673                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5674                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5675                 .field_opr1 = {
5676                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
5677                 }
5678         },
5679         {
5680         .field_info_mask = {
5681                 .description = "llc",
5682                 .field_bit_size = 1,
5683                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5684                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5685                 },
5686         .field_info_spec = {
5687                 .description = "llc",
5688                 .field_bit_size = 1,
5689                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5690                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5691                 }
5692         },
5693         {
5694         .field_info_mask = {
5695                 .description = "roce",
5696                 .field_bit_size = 1,
5697                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5698                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5699                 },
5700         .field_info_spec = {
5701                 .description = "roce",
5702                 .field_bit_size = 1,
5703                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5704                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5705                 }
5706         },
5707         {
5708         .field_info_mask = {
5709                 .description = "metadata",
5710                 .field_bit_size = 16,
5711                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5712                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5713                 },
5714         .field_info_spec = {
5715                 .description = "metadata",
5716                 .field_bit_size = 16,
5717                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5718                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5719                 }
5720         },
5721         {
5722         .field_info_mask = {
5723                 .description = "svif",
5724                 .field_bit_size = 11,
5725                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5726                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5727                 .field_opr1 = {
5728                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
5729                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
5730                 },
5731         .field_info_spec = {
5732                 .description = "svif",
5733                 .field_bit_size = 11,
5734                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5735                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5736                 .field_opr1 = {
5737                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
5738                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
5739                 }
5740         },
5741         {
5742         .field_info_mask = {
5743                 .description = "parif",
5744                 .field_bit_size = 4,
5745                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5746                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5747                 },
5748         .field_info_spec = {
5749                 .description = "parif",
5750                 .field_bit_size = 4,
5751                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5752                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5753                 }
5754         },
5755         {
5756         .field_info_mask = {
5757                 .description = "spif",
5758                 .field_bit_size = 2,
5759                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5760                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5761                 },
5762         .field_info_spec = {
5763                 .description = "spif",
5764                 .field_bit_size = 2,
5765                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5766                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5767                 }
5768         },
5769         {
5770         .field_info_mask = {
5771                 .description = "loopback",
5772                 .field_bit_size = 1,
5773                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5774                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5775                 },
5776         .field_info_spec = {
5777                 .description = "loopback",
5778                 .field_bit_size = 1,
5779                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5780                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5781                 }
5782         },
5783         {
5784         .field_info_mask = {
5785                 .description = "recycle_cnt",
5786                 .field_bit_size = 2,
5787                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5788                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5789                 },
5790         .field_info_spec = {
5791                 .description = "recycle_cnt",
5792                 .field_bit_size = 2,
5793                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5794                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5795                 }
5796         },
5797         {
5798         .field_info_mask = {
5799                 .description = "mpass_cnt",
5800                 .field_bit_size = 2,
5801                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5802                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5803                 .field_opr1 = {
5804                 2}
5805                 },
5806         .field_info_spec = {
5807                 .description = "mpass_cnt",
5808                 .field_bit_size = 2,
5809                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5810                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5811                 }
5812         },
5813         {
5814         .field_info_mask = {
5815                 .description = "valid",
5816                 .field_bit_size = 1,
5817                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5818                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5819                 .field_opr1 = {
5820                 1}
5821                 },
5822         .field_info_spec = {
5823                 .description = "valid",
5824                 .field_bit_size = 1,
5825                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5826                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5827                 .field_opr1 = {
5828                 1}
5829                 }
5830         },
5831         /* class_tid: 1, thor, table: mac_addr_cache.gre_frag_wr */
5832         {
5833         .field_info_mask = {
5834                 .description = "svif",
5835                 .field_bit_size = 8,
5836                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5837                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5838                 .field_opr1 = {
5839                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
5840                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
5841                 },
5842         .field_info_spec = {
5843                 .description = "svif",
5844                 .field_bit_size = 8,
5845                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5846                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5847                 .field_opr1 = {
5848                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
5849                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
5850                 }
5851         },
5852         {
5853         .field_info_mask = {
5854                 .description = "tun_hdr",
5855                 .field_bit_size = 4,
5856                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5857                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5858                 .field_opr1 = {
5859                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
5860                 },
5861         .field_info_spec = {
5862                 .description = "tun_hdr",
5863                 .field_bit_size = 4,
5864                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5865                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5866                 .field_opr1 = {
5867                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
5868                 }
5869         },
5870         {
5871         .field_info_mask = {
5872                 .description = "one_tag",
5873                 .field_bit_size = 1,
5874                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5875                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5876                 },
5877         .field_info_spec = {
5878                 .description = "one_tag",
5879                 .field_bit_size = 1,
5880                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5881                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5882                 }
5883         },
5884         {
5885         .field_info_mask = {
5886                 .description = "vid",
5887                 .field_bit_size = 12,
5888                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5889                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5890                 },
5891         .field_info_spec = {
5892                 .description = "vid",
5893                 .field_bit_size = 12,
5894                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5895                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5896                 }
5897         },
5898         {
5899         .field_info_mask = {
5900                 .description = "mac_addr",
5901                 .field_bit_size = 48,
5902                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5903                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5904                 .field_opr1 = {
5905                         0xff,
5906                         0xff,
5907                         0xff,
5908                         0xff,
5909                         0xff,
5910                         0xff}
5911                 },
5912         .field_info_spec = {
5913                 .description = "mac_addr",
5914                 .field_bit_size = 48,
5915                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5916                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5917                 .field_opr1 = {
5918                 (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
5919                 BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
5920                 }
5921         },
5922         /* class_tid: 1, thor, table: profile_tcam.gre_frag */
5923         {
5924         .field_info_mask = {
5925                 .description = "l4_hdr_is_udp_tcp",
5926                 .field_bit_size = 1,
5927                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5928                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5929                 },
5930         .field_info_spec = {
5931                 .description = "l4_hdr_is_udp_tcp",
5932                 .field_bit_size = 1,
5933                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5934                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5935                 }
5936         },
5937         {
5938         .field_info_mask = {
5939                 .description = "l4_hdr_type",
5940                 .field_bit_size = 4,
5941                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5942                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5943                 },
5944         .field_info_spec = {
5945                 .description = "l4_hdr_type",
5946                 .field_bit_size = 4,
5947                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5948                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5949                 }
5950         },
5951         {
5952         .field_info_mask = {
5953                 .description = "l4_hdr_error",
5954                 .field_bit_size = 1,
5955                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5956                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5957                 },
5958         .field_info_spec = {
5959                 .description = "l4_hdr_error",
5960                 .field_bit_size = 1,
5961                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5962                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5963                 }
5964         },
5965         {
5966         .field_info_mask = {
5967                 .description = "l4_hdr_valid",
5968                 .field_bit_size = 1,
5969                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5970                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5971                 },
5972         .field_info_spec = {
5973                 .description = "l4_hdr_valid",
5974                 .field_bit_size = 1,
5975                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5976                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5977                 }
5978         },
5979         {
5980         .field_info_mask = {
5981                 .description = "ieh",
5982                 .field_bit_size = 8,
5983                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5984                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5985                 .field_opr1 = {
5986                 16}
5987                 },
5988         .field_info_spec = {
5989                 .description = "ieh",
5990                 .field_bit_size = 8,
5991                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5992                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5993                 .field_opr1 = {
5994                 16}
5995                 }
5996         },
5997         {
5998         .field_info_mask = {
5999                 .description = "l3_ipv6_cmp_dst",
6000                 .field_bit_size = 1,
6001                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6002                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6003                 },
6004         .field_info_spec = {
6005                 .description = "l3_ipv6_cmp_dst",
6006                 .field_bit_size = 1,
6007                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6008                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6009                 }
6010         },
6011         {
6012         .field_info_mask = {
6013                 .description = "l3_ipv6_cmp_src",
6014                 .field_bit_size = 1,
6015                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6016                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6017                 },
6018         .field_info_spec = {
6019                 .description = "l3_ipv6_cmp_src",
6020                 .field_bit_size = 1,
6021                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6022                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6023                 }
6024         },
6025         {
6026         .field_info_mask = {
6027                 .description = "l3_hdr_isIP",
6028                 .field_bit_size = 1,
6029                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6030                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6031                 },
6032         .field_info_spec = {
6033                 .description = "l3_hdr_isIP",
6034                 .field_bit_size = 1,
6035                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6036                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6037                 }
6038         },
6039         {
6040         .field_info_mask = {
6041                 .description = "l3_hdr_type",
6042                 .field_bit_size = 4,
6043                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6044                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6045                 },
6046         .field_info_spec = {
6047                 .description = "l3_hdr_type",
6048                 .field_bit_size = 4,
6049                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6050                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6051                 }
6052         },
6053         {
6054         .field_info_mask = {
6055                 .description = "l3_hdr_error",
6056                 .field_bit_size = 1,
6057                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6058                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6059                 },
6060         .field_info_spec = {
6061                 .description = "l3_hdr_error",
6062                 .field_bit_size = 1,
6063                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6064                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6065                 }
6066         },
6067         {
6068         .field_info_mask = {
6069                 .description = "l3_hdr_valid",
6070                 .field_bit_size = 1,
6071                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6072                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6073                 },
6074         .field_info_spec = {
6075                 .description = "l3_hdr_valid",
6076                 .field_bit_size = 1,
6077                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6078                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6079                 }
6080         },
6081         {
6082         .field_info_mask = {
6083                 .description = "l2_two_vtags",
6084                 .field_bit_size = 1,
6085                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6086                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6087                 },
6088         .field_info_spec = {
6089                 .description = "l2_two_vtags",
6090                 .field_bit_size = 1,
6091                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6092                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6093                 }
6094         },
6095         {
6096         .field_info_mask = {
6097                 .description = "l2_vtag_present",
6098                 .field_bit_size = 1,
6099                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6100                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6101                 },
6102         .field_info_spec = {
6103                 .description = "l2_vtag_present",
6104                 .field_bit_size = 1,
6105                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6106                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6107                 }
6108         },
6109         {
6110         .field_info_mask = {
6111                 .description = "l2_uc_mc_bc",
6112                 .field_bit_size = 2,
6113                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6114                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6115                 },
6116         .field_info_spec = {
6117                 .description = "l2_uc_mc_bc",
6118                 .field_bit_size = 2,
6119                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6120                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6121                 }
6122         },
6123         {
6124         .field_info_mask = {
6125                 .description = "l2_hdr_type",
6126                 .field_bit_size = 2,
6127                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6128                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6129                 },
6130         .field_info_spec = {
6131                 .description = "l2_hdr_type",
6132                 .field_bit_size = 2,
6133                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6134                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6135                 }
6136         },
6137         {
6138         .field_info_mask = {
6139                 .description = "l2_hdr_error",
6140                 .field_bit_size = 1,
6141                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6142                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6143                 },
6144         .field_info_spec = {
6145                 .description = "l2_hdr_error",
6146                 .field_bit_size = 1,
6147                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6148                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6149                 }
6150         },
6151         {
6152         .field_info_mask = {
6153                 .description = "l2_hdr_valid",
6154                 .field_bit_size = 1,
6155                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6156                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6157                 .field_opr1 = {
6158                         0xff}
6159                 },
6160         .field_info_spec = {
6161                 .description = "l2_hdr_valid",
6162                 .field_bit_size = 1,
6163                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6164                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6165                 .field_opr1 = {
6166                 ULP_THOR_SYM_L2_HDR_VALID_YES}
6167                 }
6168         },
6169         {
6170         .field_info_mask = {
6171                 .description = "tun_hdr_flags",
6172                 .field_bit_size = 3,
6173                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6174                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6175                 },
6176         .field_info_spec = {
6177                 .description = "tun_hdr_flags",
6178                 .field_bit_size = 3,
6179                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6180                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6181                 }
6182         },
6183         {
6184         .field_info_mask = {
6185                 .description = "tun_hdr_type",
6186                 .field_bit_size = 4,
6187                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6188                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6189                 },
6190         .field_info_spec = {
6191                 .description = "tun_hdr_type",
6192                 .field_bit_size = 4,
6193                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6194                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6195                 }
6196         },
6197         {
6198         .field_info_mask = {
6199                 .description = "tun_hdr_err",
6200                 .field_bit_size = 1,
6201                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6202                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6203                 },
6204         .field_info_spec = {
6205                 .description = "tun_hdr_err",
6206                 .field_bit_size = 1,
6207                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6208                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6209                 }
6210         },
6211         {
6212         .field_info_mask = {
6213                 .description = "tun_hdr_valid",
6214                 .field_bit_size = 1,
6215                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6216                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6217                 .field_opr1 = {
6218                         0xff}
6219                 },
6220         .field_info_spec = {
6221                 .description = "tun_hdr_valid",
6222                 .field_bit_size = 1,
6223                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6224                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6225                 }
6226         },
6227         {
6228         .field_info_mask = {
6229                 .description = "tl4_hdr_is_udp_tcp",
6230                 .field_bit_size = 1,
6231                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6232                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6233                 },
6234         .field_info_spec = {
6235                 .description = "tl4_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         },
6241         {
6242         .field_info_mask = {
6243                 .description = "tl4_hdr_type",
6244                 .field_bit_size = 4,
6245                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6246                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6247                 },
6248         .field_info_spec = {
6249                 .description = "tl4_hdr_type",
6250                 .field_bit_size = 4,
6251                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6252                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6253                 }
6254         },
6255         {
6256         .field_info_mask = {
6257                 .description = "tl4_hdr_error",
6258                 .field_bit_size = 1,
6259                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6260                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6261                 },
6262         .field_info_spec = {
6263                 .description = "tl4_hdr_error",
6264                 .field_bit_size = 1,
6265                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6266                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6267                 }
6268         },
6269         {
6270         .field_info_mask = {
6271                 .description = "tl4_hdr_valid",
6272                 .field_bit_size = 1,
6273                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6274                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6275                 .field_opr1 = {
6276                         0xff}
6277                 },
6278         .field_info_spec = {
6279                 .description = "tl4_hdr_valid",
6280                 .field_bit_size = 1,
6281                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6282                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6283                 }
6284         },
6285         {
6286         .field_info_mask = {
6287                 .description = "tl3_ipv6_cmp_dst",
6288                 .field_bit_size = 1,
6289                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6290                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6291                 },
6292         .field_info_spec = {
6293                 .description = "tl3_ipv6_cmp_dst",
6294                 .field_bit_size = 1,
6295                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6296                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6297                 }
6298         },
6299         {
6300         .field_info_mask = {
6301                 .description = "tl3_ipv6_cmp_src",
6302                 .field_bit_size = 1,
6303                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6304                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6305                 },
6306         .field_info_spec = {
6307                 .description = "tl3_ipv6_cmp_src",
6308                 .field_bit_size = 1,
6309                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6310                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6311                 }
6312         },
6313         {
6314         .field_info_mask = {
6315                 .description = "tl3_hdr_isIP",
6316                 .field_bit_size = 1,
6317                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6318                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6319                 },
6320         .field_info_spec = {
6321                 .description = "tl3_hdr_isIP",
6322                 .field_bit_size = 1,
6323                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6324                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6325                 }
6326         },
6327         {
6328         .field_info_mask = {
6329                 .description = "tl3_hdr_type",
6330                 .field_bit_size = 4,
6331                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6332                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6333                 },
6334         .field_info_spec = {
6335                 .description = "tl3_hdr_type",
6336                 .field_bit_size = 4,
6337                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6338                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6339                 }
6340         },
6341         {
6342         .field_info_mask = {
6343                 .description = "tl3_hdr_error",
6344                 .field_bit_size = 1,
6345                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6346                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6347                 },
6348         .field_info_spec = {
6349                 .description = "tl3_hdr_error",
6350                 .field_bit_size = 1,
6351                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6352                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6353                 }
6354         },
6355         {
6356         .field_info_mask = {
6357                 .description = "tl3_hdr_valid",
6358                 .field_bit_size = 1,
6359                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6360                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6361                 .field_opr1 = {
6362                         0xff}
6363                 },
6364         .field_info_spec = {
6365                 .description = "tl3_hdr_valid",
6366                 .field_bit_size = 1,
6367                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6368                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6369                 }
6370         },
6371         {
6372         .field_info_mask = {
6373                 .description = "tl2_two_vtags",
6374                 .field_bit_size = 1,
6375                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6376                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6377                 },
6378         .field_info_spec = {
6379                 .description = "tl2_two_vtags",
6380                 .field_bit_size = 1,
6381                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6382                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6383                 }
6384         },
6385         {
6386         .field_info_mask = {
6387                 .description = "tl2_vtag_present",
6388                 .field_bit_size = 1,
6389                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6390                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6391                 },
6392         .field_info_spec = {
6393                 .description = "tl2_vtag_present",
6394                 .field_bit_size = 1,
6395                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6396                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6397                 }
6398         },
6399         {
6400         .field_info_mask = {
6401                 .description = "tl2_uc_mc_bc",
6402                 .field_bit_size = 2,
6403                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6404                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6405                 },
6406         .field_info_spec = {
6407                 .description = "tl2_uc_mc_bc",
6408                 .field_bit_size = 2,
6409                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6410                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6411                 }
6412         },
6413         {
6414         .field_info_mask = {
6415                 .description = "tl2_hdr_type",
6416                 .field_bit_size = 2,
6417                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6418                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6419                 },
6420         .field_info_spec = {
6421                 .description = "tl2_hdr_type",
6422                 .field_bit_size = 2,
6423                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6424                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6425                 }
6426         },
6427         {
6428         .field_info_mask = {
6429                 .description = "tl2_hdr_valid",
6430                 .field_bit_size = 1,
6431                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6432                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6433                 .field_opr1 = {
6434                         0xff}
6435                 },
6436         .field_info_spec = {
6437                 .description = "tl2_hdr_valid",
6438                 .field_bit_size = 1,
6439                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6440                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6441                 }
6442         },
6443         {
6444         .field_info_mask = {
6445                 .description = "hrec_next",
6446                 .field_bit_size = 1,
6447                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6448                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6449                 },
6450         .field_info_spec = {
6451                 .description = "hrec_next",
6452                 .field_bit_size = 1,
6453                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6454                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6455                 }
6456         },
6457         {
6458         .field_info_mask = {
6459                 .description = "prof_func_id",
6460                 .field_bit_size = 7,
6461                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6462                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6463                 .field_opr1 = {
6464                         0xff}
6465                 },
6466         .field_info_spec = {
6467                 .description = "prof_func_id",
6468                 .field_bit_size = 7,
6469                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6470                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
6471                 .field_opr1 = {
6472                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
6473                 BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
6474                 }
6475         },
6476         {
6477         .field_info_mask = {
6478                 .description = "agg_error",
6479                 .field_bit_size = 1,
6480                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6481                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6482                 },
6483         .field_info_spec = {
6484                 .description = "agg_error",
6485                 .field_bit_size = 1,
6486                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6487                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6488                 }
6489         },
6490         {
6491         .field_info_mask = {
6492                 .description = "metadata",
6493                 .field_bit_size = 16,
6494                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6495                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6496                 },
6497         .field_info_spec = {
6498                 .description = "metadata",
6499                 .field_bit_size = 16,
6500                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6501                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6502                 }
6503         },
6504         {
6505         .field_info_mask = {
6506                 .description = "pkt_type_0",
6507                 .field_bit_size = 2,
6508                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6509                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6510                 },
6511         .field_info_spec = {
6512                 .description = "pkt_type_0",
6513                 .field_bit_size = 2,
6514                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6515                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6516                 }
6517         },
6518         {
6519         .field_info_mask = {
6520                 .description = "pkt_type_1",
6521                 .field_bit_size = 2,
6522                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6523                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6524                 },
6525         .field_info_spec = {
6526                 .description = "pkt_type_1",
6527                 .field_bit_size = 2,
6528                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6529                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6530                 }
6531         },
6532         {
6533         .field_info_mask = {
6534                 .description = "valid",
6535                 .field_bit_size = 1,
6536                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6537                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6538                 .field_opr1 = {
6539                 1}
6540                 },
6541         .field_info_spec = {
6542                 .description = "valid",
6543                 .field_bit_size = 1,
6544                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6545                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6546                 .field_opr1 = {
6547                 1}
6548                 }
6549         },
6550         /* class_tid: 1, thor, table: wm.gre_frag */
6551         {
6552         .field_info_mask = {
6553                 .description = "wc_profile_id",
6554                 .field_bit_size = 8,
6555                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6556                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6557                 .field_opr1 = {
6558                         0xff}
6559                 },
6560         .field_info_spec = {
6561                 .description = "wc_profile_id",
6562                 .field_bit_size = 8,
6563                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6564                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
6565                 .field_opr1 = {
6566                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
6567                 BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
6568                 }
6569         },
6570         {
6571         .field_info_mask = {
6572                 .description = "l2_cntxt_id",
6573                 .field_bit_size = 10,
6574                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6575                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6576                 .field_opr1 = {
6577                         0xff,
6578                         0xff}
6579                 },
6580         .field_info_spec = {
6581                 .description = "l2_cntxt_id",
6582                 .field_bit_size = 10,
6583                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
6584                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
6585                 .field_opr1 = {
6586                 (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
6587                 BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
6588                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
6589                 .field_opr2 = {
6590                         (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
6591                         BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
6592                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
6593                 .field_opr3 = {
6594                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
6595                 BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
6596                 }
6597         },
6598         {
6599         .field_info_mask = {
6600                 .description = "parif",
6601                 .field_bit_size = 4,
6602                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6603                 },
6604         .field_info_spec = {
6605                 .description = "parif",
6606                 .field_bit_size = 4,
6607                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6608                 }
6609         },
6610         {
6611         .field_info_mask = {
6612                 .description = "spif",
6613                 .field_bit_size = 2,
6614                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6615                 },
6616         .field_info_spec = {
6617                 .description = "spif",
6618                 .field_bit_size = 2,
6619                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6620                 }
6621         },
6622         {
6623         .field_info_mask = {
6624                 .description = "svif",
6625                 .field_bit_size = 11,
6626                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6627                 },
6628         .field_info_spec = {
6629                 .description = "svif",
6630                 .field_bit_size = 11,
6631                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6632                 }
6633         },
6634         {
6635         .field_info_mask = {
6636                 .description = "lcos",
6637                 .field_bit_size = 3,
6638                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6639                 },
6640         .field_info_spec = {
6641                 .description = "lcos",
6642                 .field_bit_size = 3,
6643                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6644                 }
6645         },
6646         {
6647         .field_info_mask = {
6648                 .description = "meta",
6649                 .field_bit_size = 16,
6650                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6651                 },
6652         .field_info_spec = {
6653                 .description = "meta",
6654                 .field_bit_size = 16,
6655                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6656                 }
6657         },
6658         {
6659         .field_info_mask = {
6660                 .description = "rcyc_cnt",
6661                 .field_bit_size = 2,
6662                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6663                 },
6664         .field_info_spec = {
6665                 .description = "rcyc_cnt",
6666                 .field_bit_size = 2,
6667                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6668                 }
6669         },
6670         {
6671         .field_info_mask = {
6672                 .description = "loopback",
6673                 .field_bit_size = 1,
6674                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6675                 },
6676         .field_info_spec = {
6677                 .description = "loopback",
6678                 .field_bit_size = 1,
6679                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6680                 }
6681         },
6682         {
6683         .field_info_mask = {
6684                 .description = "tl2_l2type",
6685                 .field_bit_size = 2,
6686                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6687                 },
6688         .field_info_spec = {
6689                 .description = "tl2_l2type",
6690                 .field_bit_size = 2,
6691                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6692                 }
6693         },
6694         {
6695         .field_info_mask = {
6696                 .description = "tl2_dmac",
6697                 .field_bit_size = 48,
6698                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6699                 },
6700         .field_info_spec = {
6701                 .description = "tl2_dmac",
6702                 .field_bit_size = 48,
6703                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6704                 }
6705         },
6706         {
6707         .field_info_mask = {
6708                 .description = "tl2_smac",
6709                 .field_bit_size = 48,
6710                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6711                 },
6712         .field_info_spec = {
6713                 .description = "tl2_smac",
6714                 .field_bit_size = 48,
6715                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6716                 }
6717         },
6718         {
6719         .field_info_mask = {
6720                 .description = "tl2_dt",
6721                 .field_bit_size = 2,
6722                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6723                 },
6724         .field_info_spec = {
6725                 .description = "tl2_dt",
6726                 .field_bit_size = 2,
6727                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6728                 }
6729         },
6730         {
6731         .field_info_mask = {
6732                 .description = "tl2_sa",
6733                 .field_bit_size = 1,
6734                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6735                 },
6736         .field_info_spec = {
6737                 .description = "tl2_sa",
6738                 .field_bit_size = 1,
6739                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6740                 }
6741         },
6742         {
6743         .field_info_mask = {
6744                 .description = "tl2_nvt",
6745                 .field_bit_size = 2,
6746                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6747                 },
6748         .field_info_spec = {
6749                 .description = "tl2_nvt",
6750                 .field_bit_size = 2,
6751                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6752                 }
6753         },
6754         {
6755         .field_info_mask = {
6756                 .description = "tl2_ovp",
6757                 .field_bit_size = 3,
6758                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6759                 },
6760         .field_info_spec = {
6761                 .description = "tl2_ovp",
6762                 .field_bit_size = 3,
6763                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6764                 }
6765         },
6766         {
6767         .field_info_mask = {
6768                 .description = "tl2_ovd",
6769                 .field_bit_size = 1,
6770                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6771                 },
6772         .field_info_spec = {
6773                 .description = "tl2_ovd",
6774                 .field_bit_size = 1,
6775                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6776                 }
6777         },
6778         {
6779         .field_info_mask = {
6780                 .description = "tl2_ovv",
6781                 .field_bit_size = 12,
6782                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6783                 },
6784         .field_info_spec = {
6785                 .description = "tl2_ovv",
6786                 .field_bit_size = 12,
6787                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6788                 }
6789         },
6790         {
6791         .field_info_mask = {
6792                 .description = "tl2_ovt",
6793                 .field_bit_size = 3,
6794                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6795                 },
6796         .field_info_spec = {
6797                 .description = "tl2_ovt",
6798                 .field_bit_size = 3,
6799                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6800                 }
6801         },
6802         {
6803         .field_info_mask = {
6804                 .description = "tl2_ivp",
6805                 .field_bit_size = 3,
6806                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6807                 },
6808         .field_info_spec = {
6809                 .description = "tl2_ivp",
6810                 .field_bit_size = 3,
6811                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6812                 }
6813         },
6814         {
6815         .field_info_mask = {
6816                 .description = "tl2_ivd",
6817                 .field_bit_size = 1,
6818                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6819                 },
6820         .field_info_spec = {
6821                 .description = "tl2_ivd",
6822                 .field_bit_size = 1,
6823                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6824                 }
6825         },
6826         {
6827         .field_info_mask = {
6828                 .description = "tl2_ivv",
6829                 .field_bit_size = 12,
6830                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6831                 },
6832         .field_info_spec = {
6833                 .description = "tl2_ivv",
6834                 .field_bit_size = 12,
6835                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6836                 }
6837         },
6838         {
6839         .field_info_mask = {
6840                 .description = "tl2_ivt",
6841                 .field_bit_size = 3,
6842                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6843                 },
6844         .field_info_spec = {
6845                 .description = "tl2_ivt",
6846                 .field_bit_size = 3,
6847                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6848                 }
6849         },
6850         {
6851         .field_info_mask = {
6852                 .description = "tl2_etype",
6853                 .field_bit_size = 16,
6854                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6855                 },
6856         .field_info_spec = {
6857                 .description = "tl2_etype",
6858                 .field_bit_size = 16,
6859                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6860                 }
6861         },
6862         {
6863         .field_info_mask = {
6864                 .description = "tl3.l3type",
6865                 .field_bit_size = 4,
6866                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6867                 },
6868         .field_info_spec = {
6869                 .description = "tl3.l3type",
6870                 .field_bit_size = 4,
6871                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6872                 }
6873         },
6874         {
6875         .field_info_mask = {
6876                 .description = "tl3.sip.ipv4",
6877                 .field_bit_size = 32,
6878                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6879                 },
6880         .field_info_spec = {
6881                 .description = "tl3.sip.ipv4",
6882                 .field_bit_size = 32,
6883                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6884                 }
6885         },
6886         {
6887         .field_info_mask = {
6888                 .description = "tl3.sip.ipv6",
6889                 .field_bit_size = 128,
6890                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6891                 },
6892         .field_info_spec = {
6893                 .description = "tl3.sip.ipv6",
6894                 .field_bit_size = 128,
6895                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6896                 }
6897         },
6898         {
6899         .field_info_mask = {
6900                 .description = "tl3.sip_selcmp.ipv6",
6901                 .field_bit_size = 72,
6902                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6903                 },
6904         .field_info_spec = {
6905                 .description = "tl3.sip_selcmp.ipv6",
6906                 .field_bit_size = 72,
6907                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6908                 }
6909         },
6910         {
6911         .field_info_mask = {
6912                 .description = "tl3.dip.ipv4",
6913                 .field_bit_size = 32,
6914                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6915                 },
6916         .field_info_spec = {
6917                 .description = "tl3.dip.ipv4",
6918                 .field_bit_size = 32,
6919                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6920                 }
6921         },
6922         {
6923         .field_info_mask = {
6924                 .description = "tl3.dip.ipv6",
6925                 .field_bit_size = 128,
6926                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6927                 },
6928         .field_info_spec = {
6929                 .description = "tl3.dip.ipv6",
6930                 .field_bit_size = 128,
6931                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6932                 }
6933         },
6934         {
6935         .field_info_mask = {
6936                 .description = "tl3.dip_selcmp.ipv6",
6937                 .field_bit_size = 72,
6938                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6939                 },
6940         .field_info_spec = {
6941                 .description = "tl3.dip_selcmp.ipv6",
6942                 .field_bit_size = 72,
6943                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6944                 }
6945         },
6946         {
6947         .field_info_mask = {
6948                 .description = "tl3.ttl",
6949                 .field_bit_size = 8,
6950                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6951                 },
6952         .field_info_spec = {
6953                 .description = "tl3.ttl",
6954                 .field_bit_size = 8,
6955                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6956                 }
6957         },
6958         {
6959         .field_info_mask = {
6960                 .description = "tl3.prot",
6961                 .field_bit_size = 8,
6962                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6963                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6964                 },
6965         .field_info_spec = {
6966                 .description = "tl3.prot",
6967                 .field_bit_size = 8,
6968                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6969                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6970                 }
6971         },
6972         {
6973         .field_info_mask = {
6974                 .description = "tl3.fid.ipv4",
6975                 .field_bit_size = 16,
6976                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6977                 },
6978         .field_info_spec = {
6979                 .description = "tl3.fid.ipv4",
6980                 .field_bit_size = 16,
6981                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6982                 }
6983         },
6984         {
6985         .field_info_mask = {
6986                 .description = "tl3.fid.ipv6",
6987                 .field_bit_size = 20,
6988                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6989                 },
6990         .field_info_spec = {
6991                 .description = "tl3.fid.ipv6",
6992                 .field_bit_size = 20,
6993                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
6994                 }
6995         },
6996         {
6997         .field_info_mask = {
6998                 .description = "tl3.qos",
6999                 .field_bit_size = 8,
7000                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7001                 },
7002         .field_info_spec = {
7003                 .description = "tl3.qos",
7004                 .field_bit_size = 8,
7005                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7006                 }
7007         },
7008         {
7009         .field_info_mask = {
7010                 .description = "tl3.ieh_nonext",
7011                 .field_bit_size = 1,
7012                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7013                 },
7014         .field_info_spec = {
7015                 .description = "tl3.ieh_nonext",
7016                 .field_bit_size = 1,
7017                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7018                 }
7019         },
7020         {
7021         .field_info_mask = {
7022                 .description = "tl3.ieh_esp",
7023                 .field_bit_size = 1,
7024                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7025                 },
7026         .field_info_spec = {
7027                 .description = "tl3.ieh_esp",
7028                 .field_bit_size = 1,
7029                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7030                 }
7031         },
7032         {
7033         .field_info_mask = {
7034                 .description = "tl3.ieh_auth",
7035                 .field_bit_size = 1,
7036                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7037                 },
7038         .field_info_spec = {
7039                 .description = "tl3.ieh_auth",
7040                 .field_bit_size = 1,
7041                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7042                 }
7043         },
7044         {
7045         .field_info_mask = {
7046                 .description = "tl3.ieh_dest",
7047                 .field_bit_size = 1,
7048                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7049                 },
7050         .field_info_spec = {
7051                 .description = "tl3.ieh_dest",
7052                 .field_bit_size = 1,
7053                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7054                 }
7055         },
7056         {
7057         .field_info_mask = {
7058                 .description = "tl3.ieh_frag",
7059                 .field_bit_size = 1,
7060                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7061                 },
7062         .field_info_spec = {
7063                 .description = "tl3.ieh_frag",
7064                 .field_bit_size = 1,
7065                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7066                 }
7067         },
7068         {
7069         .field_info_mask = {
7070                 .description = "tl3.ieh_rthdr",
7071                 .field_bit_size = 1,
7072                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7073                 },
7074         .field_info_spec = {
7075                 .description = "tl3.ieh_rthdr",
7076                 .field_bit_size = 1,
7077                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7078                 }
7079         },
7080         {
7081         .field_info_mask = {
7082                 .description = "tl3.ieh_hop",
7083                 .field_bit_size = 1,
7084                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7085                 },
7086         .field_info_spec = {
7087                 .description = "tl3.ieh_hop",
7088                 .field_bit_size = 1,
7089                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7090                 }
7091         },
7092         {
7093         .field_info_mask = {
7094                 .description = "tl3.ieh_1frag",
7095                 .field_bit_size = 1,
7096                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7097                 },
7098         .field_info_spec = {
7099                 .description = "tl3.ieh_1frag",
7100                 .field_bit_size = 1,
7101                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7102                 }
7103         },
7104         {
7105         .field_info_mask = {
7106                 .description = "tl3.df",
7107                 .field_bit_size = 1,
7108                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7109                 },
7110         .field_info_spec = {
7111                 .description = "tl3.df",
7112                 .field_bit_size = 1,
7113                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7114                 }
7115         },
7116         {
7117         .field_info_mask = {
7118                 .description = "tl3.l3err",
7119                 .field_bit_size = 4,
7120                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7121                 },
7122         .field_info_spec = {
7123                 .description = "tl3.l3err",
7124                 .field_bit_size = 4,
7125                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7126                 }
7127         },
7128         {
7129         .field_info_mask = {
7130                 .description = "tl4.l4type",
7131                 .field_bit_size = 4,
7132                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7133                 },
7134         .field_info_spec = {
7135                 .description = "tl4.l4type",
7136                 .field_bit_size = 4,
7137                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7138                 }
7139         },
7140         {
7141         .field_info_mask = {
7142                 .description = "tl4.src",
7143                 .field_bit_size = 16,
7144                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7145                 },
7146         .field_info_spec = {
7147                 .description = "tl4.src",
7148                 .field_bit_size = 16,
7149                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7150                 }
7151         },
7152         {
7153         .field_info_mask = {
7154                 .description = "tl4.dst",
7155                 .field_bit_size = 16,
7156                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7157                 },
7158         .field_info_spec = {
7159                 .description = "tl4.dst",
7160                 .field_bit_size = 16,
7161                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7162                 }
7163         },
7164         {
7165         .field_info_mask = {
7166                 .description = "tl4.flags",
7167                 .field_bit_size = 9,
7168                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7169                 },
7170         .field_info_spec = {
7171                 .description = "tl4.flags",
7172                 .field_bit_size = 9,
7173                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7174                 }
7175         },
7176         {
7177         .field_info_mask = {
7178                 .description = "tl4.seq",
7179                 .field_bit_size = 32,
7180                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7181                 },
7182         .field_info_spec = {
7183                 .description = "tl4.seq",
7184                 .field_bit_size = 32,
7185                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7186                 }
7187         },
7188         {
7189         .field_info_mask = {
7190                 .description = "tl4.pa",
7191                 .field_bit_size = 1,
7192                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7193                 },
7194         .field_info_spec = {
7195                 .description = "tl4.pa",
7196                 .field_bit_size = 1,
7197                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7198                 }
7199         },
7200         {
7201         .field_info_mask = {
7202                 .description = "tl4.opt",
7203                 .field_bit_size = 1,
7204                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7205                 },
7206         .field_info_spec = {
7207                 .description = "tl4.opt",
7208                 .field_bit_size = 1,
7209                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7210                 }
7211         },
7212         {
7213         .field_info_mask = {
7214                 .description = "tl4.tcpts",
7215                 .field_bit_size = 1,
7216                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7217                 },
7218         .field_info_spec = {
7219                 .description = "tl4.tcpts",
7220                 .field_bit_size = 1,
7221                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7222                 }
7223         },
7224         {
7225         .field_info_mask = {
7226                 .description = "tl4.err",
7227                 .field_bit_size = 4,
7228                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7229                 },
7230         .field_info_spec = {
7231                 .description = "tl4.err",
7232                 .field_bit_size = 4,
7233                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7234                 }
7235         },
7236         {
7237         .field_info_mask = {
7238                 .description = "tuntype",
7239                 .field_bit_size = 4,
7240                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7241                 },
7242         .field_info_spec = {
7243                 .description = "tuntype",
7244                 .field_bit_size = 4,
7245                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7246                 }
7247         },
7248         {
7249         .field_info_mask = {
7250                 .description = "tflags",
7251                 .field_bit_size = 3,
7252                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7253                 },
7254         .field_info_spec = {
7255                 .description = "tflags",
7256                 .field_bit_size = 3,
7257                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7258                 }
7259         },
7260         {
7261         .field_info_mask = {
7262                 .description = "tids",
7263                 .field_bit_size = 24,
7264                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7265                 },
7266         .field_info_spec = {
7267                 .description = "tids",
7268                 .field_bit_size = 24,
7269                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7270                 }
7271         },
7272         {
7273         .field_info_mask = {
7274                 .description = "tid",
7275                 .field_bit_size = 32,
7276                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7277                 },
7278         .field_info_spec = {
7279                 .description = "tid",
7280                 .field_bit_size = 32,
7281                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7282                 }
7283         },
7284         {
7285         .field_info_mask = {
7286                 .description = "tctxts",
7287                 .field_bit_size = 24,
7288                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7289                 },
7290         .field_info_spec = {
7291                 .description = "tctxts",
7292                 .field_bit_size = 24,
7293                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7294                 }
7295         },
7296         {
7297         .field_info_mask = {
7298                 .description = "tctxt",
7299                 .field_bit_size = 32,
7300                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7301                 },
7302         .field_info_spec = {
7303                 .description = "tctxt",
7304                 .field_bit_size = 32,
7305                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7306                 }
7307         },
7308         {
7309         .field_info_mask = {
7310                 .description = "tqos",
7311                 .field_bit_size = 3,
7312                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7313                 },
7314         .field_info_spec = {
7315                 .description = "tqos",
7316                 .field_bit_size = 3,
7317                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7318                 }
7319         },
7320         {
7321         .field_info_mask = {
7322                 .description = "terr",
7323                 .field_bit_size = 4,
7324                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7325                 },
7326         .field_info_spec = {
7327                 .description = "terr",
7328                 .field_bit_size = 4,
7329                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7330                 }
7331         },
7332         {
7333         .field_info_mask = {
7334                 .description = "l2_l2type",
7335                 .field_bit_size = 2,
7336                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7337                 },
7338         .field_info_spec = {
7339                 .description = "l2_l2type",
7340                 .field_bit_size = 2,
7341                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7342                 }
7343         },
7344         {
7345         .field_info_mask = {
7346                 .description = "l2_dmac",
7347                 .field_bit_size = 48,
7348                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7349                 },
7350         .field_info_spec = {
7351                 .description = "l2_dmac",
7352                 .field_bit_size = 48,
7353                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7354                 }
7355         },
7356         {
7357         .field_info_mask = {
7358                 .description = "l2_smac",
7359                 .field_bit_size = 48,
7360                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7361                 },
7362         .field_info_spec = {
7363                 .description = "l2_smac",
7364                 .field_bit_size = 48,
7365                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7366                 }
7367         },
7368         {
7369         .field_info_mask = {
7370                 .description = "l2_dt",
7371                 .field_bit_size = 2,
7372                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7373                 },
7374         .field_info_spec = {
7375                 .description = "l2_dt",
7376                 .field_bit_size = 2,
7377                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7378                 }
7379         },
7380         {
7381         .field_info_mask = {
7382                 .description = "l2_sa",
7383                 .field_bit_size = 1,
7384                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7385                 },
7386         .field_info_spec = {
7387                 .description = "l2_sa",
7388                 .field_bit_size = 1,
7389                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7390                 }
7391         },
7392         {
7393         .field_info_mask = {
7394                 .description = "l2_nvt",
7395                 .field_bit_size = 2,
7396                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7397                 },
7398         .field_info_spec = {
7399                 .description = "l2_nvt",
7400                 .field_bit_size = 2,
7401                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7402                 }
7403         },
7404         {
7405         .field_info_mask = {
7406                 .description = "l2_ovp",
7407                 .field_bit_size = 3,
7408                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7409                 },
7410         .field_info_spec = {
7411                 .description = "l2_ovp",
7412                 .field_bit_size = 3,
7413                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7414                 }
7415         },
7416         {
7417         .field_info_mask = {
7418                 .description = "l2_ovd",
7419                 .field_bit_size = 1,
7420                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7421                 },
7422         .field_info_spec = {
7423                 .description = "l2_ovd",
7424                 .field_bit_size = 1,
7425                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7426                 }
7427         },
7428         {
7429         .field_info_mask = {
7430                 .description = "l2_ovv",
7431                 .field_bit_size = 12,
7432                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7433                 },
7434         .field_info_spec = {
7435                 .description = "l2_ovv",
7436                 .field_bit_size = 12,
7437                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7438                 }
7439         },
7440         {
7441         .field_info_mask = {
7442                 .description = "l2_ovt",
7443                 .field_bit_size = 3,
7444                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7445                 },
7446         .field_info_spec = {
7447                 .description = "l2_ovt",
7448                 .field_bit_size = 3,
7449                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7450                 }
7451         },
7452         {
7453         .field_info_mask = {
7454                 .description = "l2_ivp",
7455                 .field_bit_size = 3,
7456                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7457                 },
7458         .field_info_spec = {
7459                 .description = "l2_ivp",
7460                 .field_bit_size = 3,
7461                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7462                 }
7463         },
7464         {
7465         .field_info_mask = {
7466                 .description = "l2_ivd",
7467                 .field_bit_size = 1,
7468                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7469                 },
7470         .field_info_spec = {
7471                 .description = "l2_ivd",
7472                 .field_bit_size = 1,
7473                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7474                 }
7475         },
7476         {
7477         .field_info_mask = {
7478                 .description = "l2_ivv",
7479                 .field_bit_size = 12,
7480                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7481                 },
7482         .field_info_spec = {
7483                 .description = "l2_ivv",
7484                 .field_bit_size = 12,
7485                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7486                 }
7487         },
7488         {
7489         .field_info_mask = {
7490                 .description = "l2_ivt",
7491                 .field_bit_size = 3,
7492                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7493                 },
7494         .field_info_spec = {
7495                 .description = "l2_ivt",
7496                 .field_bit_size = 3,
7497                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7498                 }
7499         },
7500         {
7501         .field_info_mask = {
7502                 .description = "l2_etype",
7503                 .field_bit_size = 16,
7504                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7505                 },
7506         .field_info_spec = {
7507                 .description = "l2_etype",
7508                 .field_bit_size = 16,
7509                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7510                 }
7511         },
7512         {
7513         .field_info_mask = {
7514                 .description = "l3.l3type",
7515                 .field_bit_size = 4,
7516                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7517                 },
7518         .field_info_spec = {
7519                 .description = "l3.l3type",
7520                 .field_bit_size = 4,
7521                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7522                 }
7523         },
7524         {
7525         .field_info_mask = {
7526                 .description = "l3.sip.ipv4",
7527                 .field_bit_size = 32,
7528                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7529                 },
7530         .field_info_spec = {
7531                 .description = "l3.sip.ipv4",
7532                 .field_bit_size = 32,
7533                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7534                 }
7535         },
7536         {
7537         .field_info_mask = {
7538                 .description = "l3.sip.ipv6",
7539                 .field_bit_size = 128,
7540                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7541                 },
7542         .field_info_spec = {
7543                 .description = "l3.sip.ipv6",
7544                 .field_bit_size = 128,
7545                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7546                 }
7547         },
7548         {
7549         .field_info_mask = {
7550                 .description = "l3.sip_selcmp.ipv6",
7551                 .field_bit_size = 72,
7552                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7553                 },
7554         .field_info_spec = {
7555                 .description = "l3.sip_selcmp.ipv6",
7556                 .field_bit_size = 72,
7557                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7558                 }
7559         },
7560         {
7561         .field_info_mask = {
7562                 .description = "l3.dip.ipv4",
7563                 .field_bit_size = 32,
7564                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7565                 },
7566         .field_info_spec = {
7567                 .description = "l3.dip.ipv4",
7568                 .field_bit_size = 32,
7569                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7570                 }
7571         },
7572         {
7573         .field_info_mask = {
7574                 .description = "l3.dip.ipv6",
7575                 .field_bit_size = 128,
7576                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7577                 },
7578         .field_info_spec = {
7579                 .description = "l3.dip.ipv6",
7580                 .field_bit_size = 128,
7581                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7582                 }
7583         },
7584         {
7585         .field_info_mask = {
7586                 .description = "l3.dip_selcmp.ipv6",
7587                 .field_bit_size = 72,
7588                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7589                 },
7590         .field_info_spec = {
7591                 .description = "l3.dip_selcmp.ipv6",
7592                 .field_bit_size = 72,
7593                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7594                 }
7595         },
7596         {
7597         .field_info_mask = {
7598                 .description = "l3.ttl",
7599                 .field_bit_size = 8,
7600                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7601                 },
7602         .field_info_spec = {
7603                 .description = "l3.ttl",
7604                 .field_bit_size = 8,
7605                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7606                 }
7607         },
7608         {
7609         .field_info_mask = {
7610                 .description = "l3.prot",
7611                 .field_bit_size = 8,
7612                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7613                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7614                 .field_opr1 = {
7615                         0xff}
7616                 },
7617         .field_info_spec = {
7618                 .description = "l3.prot",
7619                 .field_bit_size = 8,
7620                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7621                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
7622                 .field_opr1 = {
7623                 47}
7624                 }
7625         },
7626         {
7627         .field_info_mask = {
7628                 .description = "l3.fid.ipv4",
7629                 .field_bit_size = 16,
7630                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7631                 },
7632         .field_info_spec = {
7633                 .description = "l3.fid.ipv4",
7634                 .field_bit_size = 16,
7635                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7636                 }
7637         },
7638         {
7639         .field_info_mask = {
7640                 .description = "l3.fid.ipv6",
7641                 .field_bit_size = 20,
7642                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7643                 },
7644         .field_info_spec = {
7645                 .description = "l3.fid.ipv6",
7646                 .field_bit_size = 20,
7647                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7648                 }
7649         },
7650         {
7651         .field_info_mask = {
7652                 .description = "l3.qos",
7653                 .field_bit_size = 8,
7654                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7655                 },
7656         .field_info_spec = {
7657                 .description = "l3.qos",
7658                 .field_bit_size = 8,
7659                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7660                 }
7661         },
7662         {
7663         .field_info_mask = {
7664                 .description = "l3.ieh_nonext",
7665                 .field_bit_size = 1,
7666                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7667                 },
7668         .field_info_spec = {
7669                 .description = "l3.ieh_nonext",
7670                 .field_bit_size = 1,
7671                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7672                 }
7673         },
7674         {
7675         .field_info_mask = {
7676                 .description = "l3.ieh_esp",
7677                 .field_bit_size = 1,
7678                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7679                 },
7680         .field_info_spec = {
7681                 .description = "l3.ieh_esp",
7682                 .field_bit_size = 1,
7683                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7684                 }
7685         },
7686         {
7687         .field_info_mask = {
7688                 .description = "l3.ieh_auth",
7689                 .field_bit_size = 1,
7690                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7691                 },
7692         .field_info_spec = {
7693                 .description = "l3.ieh_auth",
7694                 .field_bit_size = 1,
7695                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7696                 }
7697         },
7698         {
7699         .field_info_mask = {
7700                 .description = "l3.ieh_dest",
7701                 .field_bit_size = 1,
7702                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7703                 },
7704         .field_info_spec = {
7705                 .description = "l3.ieh_dest",
7706                 .field_bit_size = 1,
7707                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7708                 }
7709         },
7710         {
7711         .field_info_mask = {
7712                 .description = "l3.ieh_frag",
7713                 .field_bit_size = 1,
7714                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7715                 },
7716         .field_info_spec = {
7717                 .description = "l3.ieh_frag",
7718                 .field_bit_size = 1,
7719                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7720                 }
7721         },
7722         {
7723         .field_info_mask = {
7724                 .description = "l3.ieh_rthdr",
7725                 .field_bit_size = 1,
7726                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7727                 },
7728         .field_info_spec = {
7729                 .description = "l3.ieh_rthdr",
7730                 .field_bit_size = 1,
7731                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7732                 }
7733         },
7734         {
7735         .field_info_mask = {
7736                 .description = "l3.ieh_hop",
7737                 .field_bit_size = 1,
7738                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7739                 },
7740         .field_info_spec = {
7741                 .description = "l3.ieh_hop",
7742                 .field_bit_size = 1,
7743                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7744                 }
7745         },
7746         {
7747         .field_info_mask = {
7748                 .description = "l3.ieh_1frag",
7749                 .field_bit_size = 1,
7750                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7751                 },
7752         .field_info_spec = {
7753                 .description = "l3.ieh_1frag",
7754                 .field_bit_size = 1,
7755                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7756                 }
7757         },
7758         {
7759         .field_info_mask = {
7760                 .description = "l3.df",
7761                 .field_bit_size = 1,
7762                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7763                 },
7764         .field_info_spec = {
7765                 .description = "l3.df",
7766                 .field_bit_size = 1,
7767                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7768                 }
7769         },
7770         {
7771         .field_info_mask = {
7772                 .description = "l3.l3err.ipv4",
7773                 .field_bit_size = 4,
7774                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7775                 },
7776         .field_info_spec = {
7777                 .description = "l3.l3err.ipv4",
7778                 .field_bit_size = 4,
7779                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7780                 }
7781         },
7782         {
7783         .field_info_mask = {
7784                 .description = "l3.l3err.ipv6",
7785                 .field_bit_size = 4,
7786                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7787                 },
7788         .field_info_spec = {
7789                 .description = "l3.l3err.ipv6",
7790                 .field_bit_size = 4,
7791                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7792                 }
7793         },
7794         {
7795         .field_info_mask = {
7796                 .description = "l4.l4type",
7797                 .field_bit_size = 4,
7798                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7799                 },
7800         .field_info_spec = {
7801                 .description = "l4.l4type",
7802                 .field_bit_size = 4,
7803                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7804                 }
7805         },
7806         {
7807         .field_info_mask = {
7808                 .description = "l4.src",
7809                 .field_bit_size = 16,
7810                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7811                 },
7812         .field_info_spec = {
7813                 .description = "l4.src",
7814                 .field_bit_size = 16,
7815                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7816                 }
7817         },
7818         {
7819         .field_info_mask = {
7820                 .description = "l4.dst",
7821                 .field_bit_size = 16,
7822                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7823                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7824                 },
7825         .field_info_spec = {
7826                 .description = "l4.dst",
7827                 .field_bit_size = 16,
7828                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7829                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7830                 }
7831         },
7832         {
7833         .field_info_mask = {
7834                 .description = "l4.flags",
7835                 .field_bit_size = 9,
7836                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7837                 },
7838         .field_info_spec = {
7839                 .description = "l4.flags",
7840                 .field_bit_size = 9,
7841                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7842                 }
7843         },
7844         {
7845         .field_info_mask = {
7846                 .description = "l4.seq",
7847                 .field_bit_size = 32,
7848                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7849                 },
7850         .field_info_spec = {
7851                 .description = "l4.seq",
7852                 .field_bit_size = 32,
7853                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7854                 }
7855         },
7856         {
7857         .field_info_mask = {
7858                 .description = "l4.ack",
7859                 .field_bit_size = 32,
7860                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7861                 },
7862         .field_info_spec = {
7863                 .description = "l4.ack",
7864                 .field_bit_size = 32,
7865                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7866                 }
7867         },
7868         {
7869         .field_info_mask = {
7870                 .description = "l4.win",
7871                 .field_bit_size = 16,
7872                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7873                 },
7874         .field_info_spec = {
7875                 .description = "l4.win",
7876                 .field_bit_size = 16,
7877                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7878                 }
7879         },
7880         {
7881         .field_info_mask = {
7882                 .description = "l4.pa",
7883                 .field_bit_size = 1,
7884                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7885                 },
7886         .field_info_spec = {
7887                 .description = "l4.pa",
7888                 .field_bit_size = 1,
7889                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7890                 }
7891         },
7892         {
7893         .field_info_mask = {
7894                 .description = "l4.opt",
7895                 .field_bit_size = 1,
7896                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7897                 },
7898         .field_info_spec = {
7899                 .description = "l4.opt",
7900                 .field_bit_size = 1,
7901                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7902                 }
7903         },
7904         {
7905         .field_info_mask = {
7906                 .description = "l4.tcpts",
7907                 .field_bit_size = 1,
7908                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7909                 },
7910         .field_info_spec = {
7911                 .description = "l4.tcpts",
7912                 .field_bit_size = 1,
7913                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7914                 }
7915         },
7916         {
7917         .field_info_mask = {
7918                 .description = "l4.tsval",
7919                 .field_bit_size = 32,
7920                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7921                 },
7922         .field_info_spec = {
7923                 .description = "l4.tsval",
7924                 .field_bit_size = 32,
7925                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7926                 }
7927         },
7928         {
7929         .field_info_mask = {
7930                 .description = "l4.txecr",
7931                 .field_bit_size = 32,
7932                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7933                 },
7934         .field_info_spec = {
7935                 .description = "l4.txecr",
7936                 .field_bit_size = 32,
7937                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7938                 }
7939         },
7940         {
7941         .field_info_mask = {
7942                 .description = "l4.err",
7943                 .field_bit_size = 4,
7944                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7945                 },
7946         .field_info_spec = {
7947                 .description = "l4.err",
7948                 .field_bit_size = 4,
7949                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
7950                 }
7951         },
7952         /* class_tid: 1, thor, table: wm.gre_frag_low */
7953         {
7954         .field_info_mask = {
7955                 .description = "wc_profile_id",
7956                 .field_bit_size = 8,
7957                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7958                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7959                 .field_opr1 = {
7960                         0xff}
7961                 },
7962         .field_info_spec = {
7963                 .description = "wc_profile_id",
7964                 .field_bit_size = 8,
7965                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7966                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
7967                 .field_opr1 = {
7968                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
7969                 BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
7970                 }
7971         },
7972         {
7973         .field_info_mask = {
7974                 .description = "l2_cntxt_id",
7975                 .field_bit_size = 10,
7976                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7977                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7978                 .field_opr1 = {
7979                         0xff,
7980                         0xff}
7981                 },
7982         .field_info_spec = {
7983                 .description = "l2_cntxt_id",
7984                 .field_bit_size = 10,
7985                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
7986                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
7987                 .field_opr1 = {
7988                 (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
7989                 BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
7990                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
7991                 .field_opr2 = {
7992                         (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
7993                         BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
7994                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
7995                 .field_opr3 = {
7996                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
7997                 BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
7998                 }
7999         },
8000         {
8001         .field_info_mask = {
8002                 .description = "parif",
8003                 .field_bit_size = 4,
8004                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8005                 },
8006         .field_info_spec = {
8007                 .description = "parif",
8008                 .field_bit_size = 4,
8009                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8010                 }
8011         },
8012         {
8013         .field_info_mask = {
8014                 .description = "spif",
8015                 .field_bit_size = 2,
8016                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8017                 },
8018         .field_info_spec = {
8019                 .description = "spif",
8020                 .field_bit_size = 2,
8021                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8022                 }
8023         },
8024         {
8025         .field_info_mask = {
8026                 .description = "svif",
8027                 .field_bit_size = 11,
8028                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8029                 },
8030         .field_info_spec = {
8031                 .description = "svif",
8032                 .field_bit_size = 11,
8033                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8034                 }
8035         },
8036         {
8037         .field_info_mask = {
8038                 .description = "lcos",
8039                 .field_bit_size = 3,
8040                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8041                 },
8042         .field_info_spec = {
8043                 .description = "lcos",
8044                 .field_bit_size = 3,
8045                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8046                 }
8047         },
8048         {
8049         .field_info_mask = {
8050                 .description = "meta",
8051                 .field_bit_size = 16,
8052                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8053                 },
8054         .field_info_spec = {
8055                 .description = "meta",
8056                 .field_bit_size = 16,
8057                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8058                 }
8059         },
8060         {
8061         .field_info_mask = {
8062                 .description = "rcyc_cnt",
8063                 .field_bit_size = 2,
8064                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8065                 },
8066         .field_info_spec = {
8067                 .description = "rcyc_cnt",
8068                 .field_bit_size = 2,
8069                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8070                 }
8071         },
8072         {
8073         .field_info_mask = {
8074                 .description = "loopback",
8075                 .field_bit_size = 1,
8076                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8077                 },
8078         .field_info_spec = {
8079                 .description = "loopback",
8080                 .field_bit_size = 1,
8081                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8082                 }
8083         },
8084         {
8085         .field_info_mask = {
8086                 .description = "tl2_l2type",
8087                 .field_bit_size = 2,
8088                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8089                 },
8090         .field_info_spec = {
8091                 .description = "tl2_l2type",
8092                 .field_bit_size = 2,
8093                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8094                 }
8095         },
8096         {
8097         .field_info_mask = {
8098                 .description = "tl2_dmac",
8099                 .field_bit_size = 48,
8100                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8101                 },
8102         .field_info_spec = {
8103                 .description = "tl2_dmac",
8104                 .field_bit_size = 48,
8105                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8106                 }
8107         },
8108         {
8109         .field_info_mask = {
8110                 .description = "tl2_smac",
8111                 .field_bit_size = 48,
8112                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8113                 },
8114         .field_info_spec = {
8115                 .description = "tl2_smac",
8116                 .field_bit_size = 48,
8117                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8118                 }
8119         },
8120         {
8121         .field_info_mask = {
8122                 .description = "tl2_dt",
8123                 .field_bit_size = 2,
8124                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8125                 },
8126         .field_info_spec = {
8127                 .description = "tl2_dt",
8128                 .field_bit_size = 2,
8129                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8130                 }
8131         },
8132         {
8133         .field_info_mask = {
8134                 .description = "tl2_sa",
8135                 .field_bit_size = 1,
8136                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8137                 },
8138         .field_info_spec = {
8139                 .description = "tl2_sa",
8140                 .field_bit_size = 1,
8141                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8142                 }
8143         },
8144         {
8145         .field_info_mask = {
8146                 .description = "tl2_nvt",
8147                 .field_bit_size = 2,
8148                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8149                 },
8150         .field_info_spec = {
8151                 .description = "tl2_nvt",
8152                 .field_bit_size = 2,
8153                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8154                 }
8155         },
8156         {
8157         .field_info_mask = {
8158                 .description = "tl2_ovp",
8159                 .field_bit_size = 3,
8160                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8161                 },
8162         .field_info_spec = {
8163                 .description = "tl2_ovp",
8164                 .field_bit_size = 3,
8165                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8166                 }
8167         },
8168         {
8169         .field_info_mask = {
8170                 .description = "tl2_ovd",
8171                 .field_bit_size = 1,
8172                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8173                 },
8174         .field_info_spec = {
8175                 .description = "tl2_ovd",
8176                 .field_bit_size = 1,
8177                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8178                 }
8179         },
8180         {
8181         .field_info_mask = {
8182                 .description = "tl2_ovv",
8183                 .field_bit_size = 12,
8184                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8185                 },
8186         .field_info_spec = {
8187                 .description = "tl2_ovv",
8188                 .field_bit_size = 12,
8189                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8190                 }
8191         },
8192         {
8193         .field_info_mask = {
8194                 .description = "tl2_ovt",
8195                 .field_bit_size = 3,
8196                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8197                 },
8198         .field_info_spec = {
8199                 .description = "tl2_ovt",
8200                 .field_bit_size = 3,
8201                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8202                 }
8203         },
8204         {
8205         .field_info_mask = {
8206                 .description = "tl2_ivp",
8207                 .field_bit_size = 3,
8208                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8209                 },
8210         .field_info_spec = {
8211                 .description = "tl2_ivp",
8212                 .field_bit_size = 3,
8213                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8214                 }
8215         },
8216         {
8217         .field_info_mask = {
8218                 .description = "tl2_ivd",
8219                 .field_bit_size = 1,
8220                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8221                 },
8222         .field_info_spec = {
8223                 .description = "tl2_ivd",
8224                 .field_bit_size = 1,
8225                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8226                 }
8227         },
8228         {
8229         .field_info_mask = {
8230                 .description = "tl2_ivv",
8231                 .field_bit_size = 12,
8232                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8233                 },
8234         .field_info_spec = {
8235                 .description = "tl2_ivv",
8236                 .field_bit_size = 12,
8237                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8238                 }
8239         },
8240         {
8241         .field_info_mask = {
8242                 .description = "tl2_ivt",
8243                 .field_bit_size = 3,
8244                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8245                 },
8246         .field_info_spec = {
8247                 .description = "tl2_ivt",
8248                 .field_bit_size = 3,
8249                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8250                 }
8251         },
8252         {
8253         .field_info_mask = {
8254                 .description = "tl2_etype",
8255                 .field_bit_size = 16,
8256                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8257                 },
8258         .field_info_spec = {
8259                 .description = "tl2_etype",
8260                 .field_bit_size = 16,
8261                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8262                 }
8263         },
8264         {
8265         .field_info_mask = {
8266                 .description = "tl3.l3type",
8267                 .field_bit_size = 4,
8268                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8269                 },
8270         .field_info_spec = {
8271                 .description = "tl3.l3type",
8272                 .field_bit_size = 4,
8273                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8274                 }
8275         },
8276         {
8277         .field_info_mask = {
8278                 .description = "tl3.sip.ipv4",
8279                 .field_bit_size = 32,
8280                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8281                 },
8282         .field_info_spec = {
8283                 .description = "tl3.sip.ipv4",
8284                 .field_bit_size = 32,
8285                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8286                 }
8287         },
8288         {
8289         .field_info_mask = {
8290                 .description = "tl3.sip.ipv6",
8291                 .field_bit_size = 128,
8292                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8293                 },
8294         .field_info_spec = {
8295                 .description = "tl3.sip.ipv6",
8296                 .field_bit_size = 128,
8297                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8298                 }
8299         },
8300         {
8301         .field_info_mask = {
8302                 .description = "tl3.sip_selcmp.ipv6",
8303                 .field_bit_size = 72,
8304                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8305                 },
8306         .field_info_spec = {
8307                 .description = "tl3.sip_selcmp.ipv6",
8308                 .field_bit_size = 72,
8309                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8310                 }
8311         },
8312         {
8313         .field_info_mask = {
8314                 .description = "tl3.dip.ipv4",
8315                 .field_bit_size = 32,
8316                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8317                 },
8318         .field_info_spec = {
8319                 .description = "tl3.dip.ipv4",
8320                 .field_bit_size = 32,
8321                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8322                 }
8323         },
8324         {
8325         .field_info_mask = {
8326                 .description = "tl3.dip.ipv6",
8327                 .field_bit_size = 128,
8328                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8329                 },
8330         .field_info_spec = {
8331                 .description = "tl3.dip.ipv6",
8332                 .field_bit_size = 128,
8333                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8334                 }
8335         },
8336         {
8337         .field_info_mask = {
8338                 .description = "tl3.dip_selcmp.ipv6",
8339                 .field_bit_size = 72,
8340                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8341                 },
8342         .field_info_spec = {
8343                 .description = "tl3.dip_selcmp.ipv6",
8344                 .field_bit_size = 72,
8345                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8346                 }
8347         },
8348         {
8349         .field_info_mask = {
8350                 .description = "tl3.ttl",
8351                 .field_bit_size = 8,
8352                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8353                 },
8354         .field_info_spec = {
8355                 .description = "tl3.ttl",
8356                 .field_bit_size = 8,
8357                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8358                 }
8359         },
8360         {
8361         .field_info_mask = {
8362                 .description = "tl3.prot",
8363                 .field_bit_size = 8,
8364                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8365                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8366                 },
8367         .field_info_spec = {
8368                 .description = "tl3.prot",
8369                 .field_bit_size = 8,
8370                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8371                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8372                 }
8373         },
8374         {
8375         .field_info_mask = {
8376                 .description = "tl3.fid.ipv4",
8377                 .field_bit_size = 16,
8378                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8379                 },
8380         .field_info_spec = {
8381                 .description = "tl3.fid.ipv4",
8382                 .field_bit_size = 16,
8383                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8384                 }
8385         },
8386         {
8387         .field_info_mask = {
8388                 .description = "tl3.fid.ipv6",
8389                 .field_bit_size = 20,
8390                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8391                 },
8392         .field_info_spec = {
8393                 .description = "tl3.fid.ipv6",
8394                 .field_bit_size = 20,
8395                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8396                 }
8397         },
8398         {
8399         .field_info_mask = {
8400                 .description = "tl3.qos",
8401                 .field_bit_size = 8,
8402                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8403                 },
8404         .field_info_spec = {
8405                 .description = "tl3.qos",
8406                 .field_bit_size = 8,
8407                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8408                 }
8409         },
8410         {
8411         .field_info_mask = {
8412                 .description = "tl3.ieh_nonext",
8413                 .field_bit_size = 1,
8414                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8415                 },
8416         .field_info_spec = {
8417                 .description = "tl3.ieh_nonext",
8418                 .field_bit_size = 1,
8419                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8420                 }
8421         },
8422         {
8423         .field_info_mask = {
8424                 .description = "tl3.ieh_esp",
8425                 .field_bit_size = 1,
8426                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8427                 },
8428         .field_info_spec = {
8429                 .description = "tl3.ieh_esp",
8430                 .field_bit_size = 1,
8431                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8432                 }
8433         },
8434         {
8435         .field_info_mask = {
8436                 .description = "tl3.ieh_auth",
8437                 .field_bit_size = 1,
8438                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8439                 },
8440         .field_info_spec = {
8441                 .description = "tl3.ieh_auth",
8442                 .field_bit_size = 1,
8443                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8444                 }
8445         },
8446         {
8447         .field_info_mask = {
8448                 .description = "tl3.ieh_dest",
8449                 .field_bit_size = 1,
8450                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8451                 },
8452         .field_info_spec = {
8453                 .description = "tl3.ieh_dest",
8454                 .field_bit_size = 1,
8455                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8456                 }
8457         },
8458         {
8459         .field_info_mask = {
8460                 .description = "tl3.ieh_frag",
8461                 .field_bit_size = 1,
8462                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8463                 },
8464         .field_info_spec = {
8465                 .description = "tl3.ieh_frag",
8466                 .field_bit_size = 1,
8467                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8468                 }
8469         },
8470         {
8471         .field_info_mask = {
8472                 .description = "tl3.ieh_rthdr",
8473                 .field_bit_size = 1,
8474                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8475                 },
8476         .field_info_spec = {
8477                 .description = "tl3.ieh_rthdr",
8478                 .field_bit_size = 1,
8479                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8480                 }
8481         },
8482         {
8483         .field_info_mask = {
8484                 .description = "tl3.ieh_hop",
8485                 .field_bit_size = 1,
8486                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8487                 },
8488         .field_info_spec = {
8489                 .description = "tl3.ieh_hop",
8490                 .field_bit_size = 1,
8491                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8492                 }
8493         },
8494         {
8495         .field_info_mask = {
8496                 .description = "tl3.ieh_1frag",
8497                 .field_bit_size = 1,
8498                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8499                 },
8500         .field_info_spec = {
8501                 .description = "tl3.ieh_1frag",
8502                 .field_bit_size = 1,
8503                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8504                 }
8505         },
8506         {
8507         .field_info_mask = {
8508                 .description = "tl3.df",
8509                 .field_bit_size = 1,
8510                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8511                 },
8512         .field_info_spec = {
8513                 .description = "tl3.df",
8514                 .field_bit_size = 1,
8515                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8516                 }
8517         },
8518         {
8519         .field_info_mask = {
8520                 .description = "tl3.l3err",
8521                 .field_bit_size = 4,
8522                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8523                 },
8524         .field_info_spec = {
8525                 .description = "tl3.l3err",
8526                 .field_bit_size = 4,
8527                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8528                 }
8529         },
8530         {
8531         .field_info_mask = {
8532                 .description = "tl4.l4type",
8533                 .field_bit_size = 4,
8534                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8535                 },
8536         .field_info_spec = {
8537                 .description = "tl4.l4type",
8538                 .field_bit_size = 4,
8539                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8540                 }
8541         },
8542         {
8543         .field_info_mask = {
8544                 .description = "tl4.src",
8545                 .field_bit_size = 16,
8546                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8547                 },
8548         .field_info_spec = {
8549                 .description = "tl4.src",
8550                 .field_bit_size = 16,
8551                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8552                 }
8553         },
8554         {
8555         .field_info_mask = {
8556                 .description = "tl4.dst",
8557                 .field_bit_size = 16,
8558                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8559                 },
8560         .field_info_spec = {
8561                 .description = "tl4.dst",
8562                 .field_bit_size = 16,
8563                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8564                 }
8565         },
8566         {
8567         .field_info_mask = {
8568                 .description = "tl4.flags",
8569                 .field_bit_size = 9,
8570                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8571                 },
8572         .field_info_spec = {
8573                 .description = "tl4.flags",
8574                 .field_bit_size = 9,
8575                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8576                 }
8577         },
8578         {
8579         .field_info_mask = {
8580                 .description = "tl4.seq",
8581                 .field_bit_size = 32,
8582                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8583                 },
8584         .field_info_spec = {
8585                 .description = "tl4.seq",
8586                 .field_bit_size = 32,
8587                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8588                 }
8589         },
8590         {
8591         .field_info_mask = {
8592                 .description = "tl4.pa",
8593                 .field_bit_size = 1,
8594                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8595                 },
8596         .field_info_spec = {
8597                 .description = "tl4.pa",
8598                 .field_bit_size = 1,
8599                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8600                 }
8601         },
8602         {
8603         .field_info_mask = {
8604                 .description = "tl4.opt",
8605                 .field_bit_size = 1,
8606                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8607                 },
8608         .field_info_spec = {
8609                 .description = "tl4.opt",
8610                 .field_bit_size = 1,
8611                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8612                 }
8613         },
8614         {
8615         .field_info_mask = {
8616                 .description = "tl4.tcpts",
8617                 .field_bit_size = 1,
8618                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8619                 },
8620         .field_info_spec = {
8621                 .description = "tl4.tcpts",
8622                 .field_bit_size = 1,
8623                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8624                 }
8625         },
8626         {
8627         .field_info_mask = {
8628                 .description = "tl4.err",
8629                 .field_bit_size = 4,
8630                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8631                 },
8632         .field_info_spec = {
8633                 .description = "tl4.err",
8634                 .field_bit_size = 4,
8635                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8636                 }
8637         },
8638         {
8639         .field_info_mask = {
8640                 .description = "tuntype",
8641                 .field_bit_size = 4,
8642                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8643                 },
8644         .field_info_spec = {
8645                 .description = "tuntype",
8646                 .field_bit_size = 4,
8647                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8648                 }
8649         },
8650         {
8651         .field_info_mask = {
8652                 .description = "tflags",
8653                 .field_bit_size = 3,
8654                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8655                 },
8656         .field_info_spec = {
8657                 .description = "tflags",
8658                 .field_bit_size = 3,
8659                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8660                 }
8661         },
8662         {
8663         .field_info_mask = {
8664                 .description = "tids",
8665                 .field_bit_size = 24,
8666                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8667                 },
8668         .field_info_spec = {
8669                 .description = "tids",
8670                 .field_bit_size = 24,
8671                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8672                 }
8673         },
8674         {
8675         .field_info_mask = {
8676                 .description = "tid",
8677                 .field_bit_size = 32,
8678                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8679                 },
8680         .field_info_spec = {
8681                 .description = "tid",
8682                 .field_bit_size = 32,
8683                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8684                 }
8685         },
8686         {
8687         .field_info_mask = {
8688                 .description = "tctxts",
8689                 .field_bit_size = 24,
8690                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8691                 },
8692         .field_info_spec = {
8693                 .description = "tctxts",
8694                 .field_bit_size = 24,
8695                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8696                 }
8697         },
8698         {
8699         .field_info_mask = {
8700                 .description = "tctxt",
8701                 .field_bit_size = 32,
8702                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8703                 },
8704         .field_info_spec = {
8705                 .description = "tctxt",
8706                 .field_bit_size = 32,
8707                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8708                 }
8709         },
8710         {
8711         .field_info_mask = {
8712                 .description = "tqos",
8713                 .field_bit_size = 3,
8714                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8715                 },
8716         .field_info_spec = {
8717                 .description = "tqos",
8718                 .field_bit_size = 3,
8719                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8720                 }
8721         },
8722         {
8723         .field_info_mask = {
8724                 .description = "terr",
8725                 .field_bit_size = 4,
8726                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8727                 },
8728         .field_info_spec = {
8729                 .description = "terr",
8730                 .field_bit_size = 4,
8731                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8732                 }
8733         },
8734         {
8735         .field_info_mask = {
8736                 .description = "l2_l2type",
8737                 .field_bit_size = 2,
8738                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8739                 },
8740         .field_info_spec = {
8741                 .description = "l2_l2type",
8742                 .field_bit_size = 2,
8743                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8744                 }
8745         },
8746         {
8747         .field_info_mask = {
8748                 .description = "l2_dmac",
8749                 .field_bit_size = 48,
8750                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8751                 },
8752         .field_info_spec = {
8753                 .description = "l2_dmac",
8754                 .field_bit_size = 48,
8755                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8756                 }
8757         },
8758         {
8759         .field_info_mask = {
8760                 .description = "l2_smac",
8761                 .field_bit_size = 48,
8762                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8763                 },
8764         .field_info_spec = {
8765                 .description = "l2_smac",
8766                 .field_bit_size = 48,
8767                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8768                 }
8769         },
8770         {
8771         .field_info_mask = {
8772                 .description = "l2_dt",
8773                 .field_bit_size = 2,
8774                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8775                 },
8776         .field_info_spec = {
8777                 .description = "l2_dt",
8778                 .field_bit_size = 2,
8779                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8780                 }
8781         },
8782         {
8783         .field_info_mask = {
8784                 .description = "l2_sa",
8785                 .field_bit_size = 1,
8786                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8787                 },
8788         .field_info_spec = {
8789                 .description = "l2_sa",
8790                 .field_bit_size = 1,
8791                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8792                 }
8793         },
8794         {
8795         .field_info_mask = {
8796                 .description = "l2_nvt",
8797                 .field_bit_size = 2,
8798                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8799                 },
8800         .field_info_spec = {
8801                 .description = "l2_nvt",
8802                 .field_bit_size = 2,
8803                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8804                 }
8805         },
8806         {
8807         .field_info_mask = {
8808                 .description = "l2_ovp",
8809                 .field_bit_size = 3,
8810                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8811                 },
8812         .field_info_spec = {
8813                 .description = "l2_ovp",
8814                 .field_bit_size = 3,
8815                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8816                 }
8817         },
8818         {
8819         .field_info_mask = {
8820                 .description = "l2_ovd",
8821                 .field_bit_size = 1,
8822                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8823                 },
8824         .field_info_spec = {
8825                 .description = "l2_ovd",
8826                 .field_bit_size = 1,
8827                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8828                 }
8829         },
8830         {
8831         .field_info_mask = {
8832                 .description = "l2_ovv",
8833                 .field_bit_size = 12,
8834                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8835                 },
8836         .field_info_spec = {
8837                 .description = "l2_ovv",
8838                 .field_bit_size = 12,
8839                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8840                 }
8841         },
8842         {
8843         .field_info_mask = {
8844                 .description = "l2_ovt",
8845                 .field_bit_size = 3,
8846                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8847                 },
8848         .field_info_spec = {
8849                 .description = "l2_ovt",
8850                 .field_bit_size = 3,
8851                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8852                 }
8853         },
8854         {
8855         .field_info_mask = {
8856                 .description = "l2_ivp",
8857                 .field_bit_size = 3,
8858                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8859                 },
8860         .field_info_spec = {
8861                 .description = "l2_ivp",
8862                 .field_bit_size = 3,
8863                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8864                 }
8865         },
8866         {
8867         .field_info_mask = {
8868                 .description = "l2_ivd",
8869                 .field_bit_size = 1,
8870                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8871                 },
8872         .field_info_spec = {
8873                 .description = "l2_ivd",
8874                 .field_bit_size = 1,
8875                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8876                 }
8877         },
8878         {
8879         .field_info_mask = {
8880                 .description = "l2_ivv",
8881                 .field_bit_size = 12,
8882                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8883                 },
8884         .field_info_spec = {
8885                 .description = "l2_ivv",
8886                 .field_bit_size = 12,
8887                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8888                 }
8889         },
8890         {
8891         .field_info_mask = {
8892                 .description = "l2_ivt",
8893                 .field_bit_size = 3,
8894                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8895                 },
8896         .field_info_spec = {
8897                 .description = "l2_ivt",
8898                 .field_bit_size = 3,
8899                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8900                 }
8901         },
8902         {
8903         .field_info_mask = {
8904                 .description = "l2_etype",
8905                 .field_bit_size = 16,
8906                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8907                 },
8908         .field_info_spec = {
8909                 .description = "l2_etype",
8910                 .field_bit_size = 16,
8911                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8912                 }
8913         },
8914         {
8915         .field_info_mask = {
8916                 .description = "l3.l3type",
8917                 .field_bit_size = 4,
8918                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8919                 },
8920         .field_info_spec = {
8921                 .description = "l3.l3type",
8922                 .field_bit_size = 4,
8923                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8924                 }
8925         },
8926         {
8927         .field_info_mask = {
8928                 .description = "l3.sip.ipv4",
8929                 .field_bit_size = 32,
8930                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8931                 },
8932         .field_info_spec = {
8933                 .description = "l3.sip.ipv4",
8934                 .field_bit_size = 32,
8935                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8936                 }
8937         },
8938         {
8939         .field_info_mask = {
8940                 .description = "l3.sip.ipv6",
8941                 .field_bit_size = 128,
8942                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8943                 },
8944         .field_info_spec = {
8945                 .description = "l3.sip.ipv6",
8946                 .field_bit_size = 128,
8947                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8948                 }
8949         },
8950         {
8951         .field_info_mask = {
8952                 .description = "l3.sip_selcmp.ipv6",
8953                 .field_bit_size = 72,
8954                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8955                 },
8956         .field_info_spec = {
8957                 .description = "l3.sip_selcmp.ipv6",
8958                 .field_bit_size = 72,
8959                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8960                 }
8961         },
8962         {
8963         .field_info_mask = {
8964                 .description = "l3.dip.ipv4",
8965                 .field_bit_size = 32,
8966                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8967                 },
8968         .field_info_spec = {
8969                 .description = "l3.dip.ipv4",
8970                 .field_bit_size = 32,
8971                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8972                 }
8973         },
8974         {
8975         .field_info_mask = {
8976                 .description = "l3.dip.ipv6",
8977                 .field_bit_size = 128,
8978                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8979                 },
8980         .field_info_spec = {
8981                 .description = "l3.dip.ipv6",
8982                 .field_bit_size = 128,
8983                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8984                 }
8985         },
8986         {
8987         .field_info_mask = {
8988                 .description = "l3.dip_selcmp.ipv6",
8989                 .field_bit_size = 72,
8990                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8991                 },
8992         .field_info_spec = {
8993                 .description = "l3.dip_selcmp.ipv6",
8994                 .field_bit_size = 72,
8995                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
8996                 }
8997         },
8998         {
8999         .field_info_mask = {
9000                 .description = "l3.ttl",
9001                 .field_bit_size = 8,
9002                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9003                 },
9004         .field_info_spec = {
9005                 .description = "l3.ttl",
9006                 .field_bit_size = 8,
9007                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9008                 }
9009         },
9010         {
9011         .field_info_mask = {
9012                 .description = "l3.prot",
9013                 .field_bit_size = 8,
9014                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9015                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9016                 .field_opr1 = {
9017                         0xff}
9018                 },
9019         .field_info_spec = {
9020                 .description = "l3.prot",
9021                 .field_bit_size = 8,
9022                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9023                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9024                 .field_opr1 = {
9025                 47}
9026                 }
9027         },
9028         {
9029         .field_info_mask = {
9030                 .description = "l3.fid.ipv4",
9031                 .field_bit_size = 16,
9032                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9033                 },
9034         .field_info_spec = {
9035                 .description = "l3.fid.ipv4",
9036                 .field_bit_size = 16,
9037                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9038                 }
9039         },
9040         {
9041         .field_info_mask = {
9042                 .description = "l3.fid.ipv6",
9043                 .field_bit_size = 20,
9044                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9045                 },
9046         .field_info_spec = {
9047                 .description = "l3.fid.ipv6",
9048                 .field_bit_size = 20,
9049                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9050                 }
9051         },
9052         {
9053         .field_info_mask = {
9054                 .description = "l3.qos",
9055                 .field_bit_size = 8,
9056                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9057                 },
9058         .field_info_spec = {
9059                 .description = "l3.qos",
9060                 .field_bit_size = 8,
9061                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9062                 }
9063         },
9064         {
9065         .field_info_mask = {
9066                 .description = "l3.ieh_nonext",
9067                 .field_bit_size = 1,
9068                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9069                 },
9070         .field_info_spec = {
9071                 .description = "l3.ieh_nonext",
9072                 .field_bit_size = 1,
9073                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9074                 }
9075         },
9076         {
9077         .field_info_mask = {
9078                 .description = "l3.ieh_esp",
9079                 .field_bit_size = 1,
9080                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9081                 },
9082         .field_info_spec = {
9083                 .description = "l3.ieh_esp",
9084                 .field_bit_size = 1,
9085                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9086                 }
9087         },
9088         {
9089         .field_info_mask = {
9090                 .description = "l3.ieh_auth",
9091                 .field_bit_size = 1,
9092                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9093                 },
9094         .field_info_spec = {
9095                 .description = "l3.ieh_auth",
9096                 .field_bit_size = 1,
9097                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9098                 }
9099         },
9100         {
9101         .field_info_mask = {
9102                 .description = "l3.ieh_dest",
9103                 .field_bit_size = 1,
9104                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9105                 },
9106         .field_info_spec = {
9107                 .description = "l3.ieh_dest",
9108                 .field_bit_size = 1,
9109                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9110                 }
9111         },
9112         {
9113         .field_info_mask = {
9114                 .description = "l3.ieh_frag",
9115                 .field_bit_size = 1,
9116                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9117                 },
9118         .field_info_spec = {
9119                 .description = "l3.ieh_frag",
9120                 .field_bit_size = 1,
9121                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9122                 }
9123         },
9124         {
9125         .field_info_mask = {
9126                 .description = "l3.ieh_rthdr",
9127                 .field_bit_size = 1,
9128                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9129                 },
9130         .field_info_spec = {
9131                 .description = "l3.ieh_rthdr",
9132                 .field_bit_size = 1,
9133                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9134                 }
9135         },
9136         {
9137         .field_info_mask = {
9138                 .description = "l3.ieh_hop",
9139                 .field_bit_size = 1,
9140                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9141                 },
9142         .field_info_spec = {
9143                 .description = "l3.ieh_hop",
9144                 .field_bit_size = 1,
9145                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9146                 }
9147         },
9148         {
9149         .field_info_mask = {
9150                 .description = "l3.ieh_1frag",
9151                 .field_bit_size = 1,
9152                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9153                 },
9154         .field_info_spec = {
9155                 .description = "l3.ieh_1frag",
9156                 .field_bit_size = 1,
9157                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9158                 }
9159         },
9160         {
9161         .field_info_mask = {
9162                 .description = "l3.df",
9163                 .field_bit_size = 1,
9164                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9165                 },
9166         .field_info_spec = {
9167                 .description = "l3.df",
9168                 .field_bit_size = 1,
9169                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9170                 }
9171         },
9172         {
9173         .field_info_mask = {
9174                 .description = "l3.l3err.ipv4",
9175                 .field_bit_size = 4,
9176                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9177                 },
9178         .field_info_spec = {
9179                 .description = "l3.l3err.ipv4",
9180                 .field_bit_size = 4,
9181                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9182                 }
9183         },
9184         {
9185         .field_info_mask = {
9186                 .description = "l3.l3err.ipv6",
9187                 .field_bit_size = 4,
9188                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9189                 },
9190         .field_info_spec = {
9191                 .description = "l3.l3err.ipv6",
9192                 .field_bit_size = 4,
9193                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9194                 }
9195         },
9196         {
9197         .field_info_mask = {
9198                 .description = "l4.l4type",
9199                 .field_bit_size = 4,
9200                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9201                 },
9202         .field_info_spec = {
9203                 .description = "l4.l4type",
9204                 .field_bit_size = 4,
9205                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9206                 }
9207         },
9208         {
9209         .field_info_mask = {
9210                 .description = "l4.src",
9211                 .field_bit_size = 16,
9212                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9213                 },
9214         .field_info_spec = {
9215                 .description = "l4.src",
9216                 .field_bit_size = 16,
9217                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9218                 }
9219         },
9220         {
9221         .field_info_mask = {
9222                 .description = "l4.dst",
9223                 .field_bit_size = 16,
9224                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9225                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9226                 },
9227         .field_info_spec = {
9228                 .description = "l4.dst",
9229                 .field_bit_size = 16,
9230                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9231                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9232                 }
9233         },
9234         {
9235         .field_info_mask = {
9236                 .description = "l4.flags",
9237                 .field_bit_size = 9,
9238                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9239                 },
9240         .field_info_spec = {
9241                 .description = "l4.flags",
9242                 .field_bit_size = 9,
9243                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9244                 }
9245         },
9246         {
9247         .field_info_mask = {
9248                 .description = "l4.seq",
9249                 .field_bit_size = 32,
9250                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9251                 },
9252         .field_info_spec = {
9253                 .description = "l4.seq",
9254                 .field_bit_size = 32,
9255                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9256                 }
9257         },
9258         {
9259         .field_info_mask = {
9260                 .description = "l4.ack",
9261                 .field_bit_size = 32,
9262                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9263                 },
9264         .field_info_spec = {
9265                 .description = "l4.ack",
9266                 .field_bit_size = 32,
9267                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9268                 }
9269         },
9270         {
9271         .field_info_mask = {
9272                 .description = "l4.win",
9273                 .field_bit_size = 16,
9274                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9275                 },
9276         .field_info_spec = {
9277                 .description = "l4.win",
9278                 .field_bit_size = 16,
9279                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9280                 }
9281         },
9282         {
9283         .field_info_mask = {
9284                 .description = "l4.pa",
9285                 .field_bit_size = 1,
9286                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9287                 },
9288         .field_info_spec = {
9289                 .description = "l4.pa",
9290                 .field_bit_size = 1,
9291                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9292                 }
9293         },
9294         {
9295         .field_info_mask = {
9296                 .description = "l4.opt",
9297                 .field_bit_size = 1,
9298                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9299                 },
9300         .field_info_spec = {
9301                 .description = "l4.opt",
9302                 .field_bit_size = 1,
9303                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9304                 }
9305         },
9306         {
9307         .field_info_mask = {
9308                 .description = "l4.tcpts",
9309                 .field_bit_size = 1,
9310                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9311                 },
9312         .field_info_spec = {
9313                 .description = "l4.tcpts",
9314                 .field_bit_size = 1,
9315                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9316                 }
9317         },
9318         {
9319         .field_info_mask = {
9320                 .description = "l4.tsval",
9321                 .field_bit_size = 32,
9322                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9323                 },
9324         .field_info_spec = {
9325                 .description = "l4.tsval",
9326                 .field_bit_size = 32,
9327                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9328                 }
9329         },
9330         {
9331         .field_info_mask = {
9332                 .description = "l4.txecr",
9333                 .field_bit_size = 32,
9334                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9335                 },
9336         .field_info_spec = {
9337                 .description = "l4.txecr",
9338                 .field_bit_size = 32,
9339                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9340                 }
9341         },
9342         {
9343         .field_info_mask = {
9344                 .description = "l4.err",
9345                 .field_bit_size = 4,
9346                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9347                 },
9348         .field_info_spec = {
9349                 .description = "l4.err",
9350                 .field_bit_size = 4,
9351                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
9352                 }
9353         },
9354         /* class_tid: 1, thor, table: mac_addr_cache.non_gre_rd */
9355         {
9356         .field_info_mask = {
9357                 .description = "svif",
9358                 .field_bit_size = 8,
9359                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9360                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9361                 .field_opr1 = {
9362                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
9363                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
9364                 },
9365         .field_info_spec = {
9366                 .description = "svif",
9367                 .field_bit_size = 8,
9368                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9369                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9370                 .field_opr1 = {
9371                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
9372                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
9373                 }
9374         },
9375         {
9376         .field_info_mask = {
9377                 .description = "tun_hdr",
9378                 .field_bit_size = 4,
9379                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9380                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9381                 .field_opr1 = {
9382                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
9383                 },
9384         .field_info_spec = {
9385                 .description = "tun_hdr",
9386                 .field_bit_size = 4,
9387                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9388                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9389                 .field_opr1 = {
9390                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
9391                 }
9392         },
9393         {
9394         .field_info_mask = {
9395                 .description = "one_tag",
9396                 .field_bit_size = 1,
9397                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9398                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9399                 },
9400         .field_info_spec = {
9401                 .description = "one_tag",
9402                 .field_bit_size = 1,
9403                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9404                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9405                 }
9406         },
9407         {
9408         .field_info_mask = {
9409                 .description = "vid",
9410                 .field_bit_size = 12,
9411                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9412                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9413                 },
9414         .field_info_spec = {
9415                 .description = "vid",
9416                 .field_bit_size = 12,
9417                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9418                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9419                 }
9420         },
9421         {
9422         .field_info_mask = {
9423                 .description = "mac_addr",
9424                 .field_bit_size = 48,
9425                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
9426                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
9427                 .field_opr1 = {
9428                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
9429                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
9430                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
9431                 .field_opr2 = {
9432                         (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
9433                         BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
9434                 .field_src3 = BNXT_ULP_FIELD_SRC_RF,
9435                 .field_opr3 = {
9436                 (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
9437                 BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
9438                 },
9439         .field_info_spec = {
9440                 .description = "mac_addr",
9441                 .field_bit_size = 48,
9442                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
9443                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
9444                 .field_opr1 = {
9445                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
9446                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
9447                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
9448                 .field_opr2 = {
9449                         (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
9450                         BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
9451                 .field_src3 = BNXT_ULP_FIELD_SRC_RF,
9452                 .field_opr3 = {
9453                 (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
9454                 BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
9455                 }
9456         },
9457         /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */
9458         {
9459         .field_info_mask = {
9460                 .description = "etype",
9461                 .field_bit_size = 16,
9462                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9463                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9464                 },
9465         .field_info_spec = {
9466                 .description = "etype",
9467                 .field_bit_size = 16,
9468                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9469                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9470                 }
9471         },
9472         {
9473         .field_info_mask = {
9474                 .description = "l2_ivlan_tpid_sel",
9475                 .field_bit_size = 3,
9476                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9477                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9478                 },
9479         .field_info_spec = {
9480                 .description = "l2_ivlan_tpid_sel",
9481                 .field_bit_size = 3,
9482                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9483                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9484                 }
9485         },
9486         {
9487         .field_info_mask = {
9488                 .description = "l2_ivlan_vid",
9489                 .field_bit_size = 12,
9490                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9491                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9492                 },
9493         .field_info_spec = {
9494                 .description = "l2_ivlan_vid",
9495                 .field_bit_size = 12,
9496                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9497                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9498                 }
9499         },
9500         {
9501         .field_info_mask = {
9502                 .description = "l2_ovlan_tpid_sel",
9503                 .field_bit_size = 3,
9504                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9505                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9506                 },
9507         .field_info_spec = {
9508                 .description = "l2_ovlan_tpid_sel",
9509                 .field_bit_size = 3,
9510                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9511                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9512                 }
9513         },
9514         {
9515         .field_info_mask = {
9516                 .description = "l2_ovlan_vid",
9517                 .field_bit_size = 12,
9518                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9519                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9520                 },
9521         .field_info_spec = {
9522                 .description = "l2_ovlan_vid",
9523                 .field_bit_size = 12,
9524                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9525                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9526                 }
9527         },
9528         {
9529         .field_info_mask = {
9530                 .description = "two_vtags",
9531                 .field_bit_size = 1,
9532                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9533                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9534                 },
9535         .field_info_spec = {
9536                 .description = "two_vtags",
9537                 .field_bit_size = 1,
9538                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9539                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9540                 }
9541         },
9542         {
9543         .field_info_mask = {
9544                 .description = "vtag_present",
9545                 .field_bit_size = 1,
9546                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9547                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9548                 },
9549         .field_info_spec = {
9550                 .description = "vtag_present",
9551                 .field_bit_size = 1,
9552                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9553                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9554                 }
9555         },
9556         {
9557         .field_info_mask = {
9558                 .description = "mac1_addr",
9559                 .field_bit_size = 48,
9560                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9561                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9562                 },
9563         .field_info_spec = {
9564                 .description = "mac1_addr",
9565                 .field_bit_size = 48,
9566                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9567                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9568                 }
9569         },
9570         {
9571         .field_info_mask = {
9572                 .description = "mac0_addr",
9573                 .field_bit_size = 48,
9574                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9575                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9576                 .field_opr1 = {
9577                         0xff,
9578                         0xff,
9579                         0xff,
9580                         0xff,
9581                         0xff,
9582                         0xff}
9583                 },
9584         .field_info_spec = {
9585                 .description = "mac0_addr",
9586                 .field_bit_size = 48,
9587                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
9588                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
9589                 .field_opr1 = {
9590                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
9591                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
9592                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
9593                 .field_opr2 = {
9594                         (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
9595                         BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
9596                 .field_src3 = BNXT_ULP_FIELD_SRC_RF,
9597                 .field_opr3 = {
9598                 (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
9599                 BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
9600                 }
9601         },
9602         {
9603         .field_info_mask = {
9604                 .description = "tunnel_id",
9605                 .field_bit_size = 24,
9606                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9607                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9608                 },
9609         .field_info_spec = {
9610                 .description = "tunnel_id",
9611                 .field_bit_size = 24,
9612                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9613                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9614                 }
9615         },
9616         {
9617         .field_info_mask = {
9618                 .description = "tun_hdr_type",
9619                 .field_bit_size = 4,
9620                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9621                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9622                 .field_opr1 = {
9623                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
9624                 },
9625         .field_info_spec = {
9626                 .description = "tun_hdr_type",
9627                 .field_bit_size = 4,
9628                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9629                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9630                 .field_opr1 = {
9631                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
9632                 }
9633         },
9634         {
9635         .field_info_mask = {
9636                 .description = "llc",
9637                 .field_bit_size = 1,
9638                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9639                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9640                 },
9641         .field_info_spec = {
9642                 .description = "llc",
9643                 .field_bit_size = 1,
9644                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9645                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9646                 }
9647         },
9648         {
9649         .field_info_mask = {
9650                 .description = "roce",
9651                 .field_bit_size = 1,
9652                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9653                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9654                 },
9655         .field_info_spec = {
9656                 .description = "roce",
9657                 .field_bit_size = 1,
9658                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9659                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9660                 }
9661         },
9662         {
9663         .field_info_mask = {
9664                 .description = "metadata",
9665                 .field_bit_size = 16,
9666                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9667                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9668                 },
9669         .field_info_spec = {
9670                 .description = "metadata",
9671                 .field_bit_size = 16,
9672                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9673                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9674                 }
9675         },
9676         {
9677         .field_info_mask = {
9678                 .description = "svif",
9679                 .field_bit_size = 11,
9680                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9681                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9682                 .field_opr1 = {
9683                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
9684                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
9685                 },
9686         .field_info_spec = {
9687                 .description = "svif",
9688                 .field_bit_size = 11,
9689                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9690                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9691                 .field_opr1 = {
9692                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
9693                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
9694                 }
9695         },
9696         {
9697         .field_info_mask = {
9698                 .description = "parif",
9699                 .field_bit_size = 4,
9700                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9701                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9702                 },
9703         .field_info_spec = {
9704                 .description = "parif",
9705                 .field_bit_size = 4,
9706                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9707                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9708                 }
9709         },
9710         {
9711         .field_info_mask = {
9712                 .description = "spif",
9713                 .field_bit_size = 2,
9714                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9715                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9716                 },
9717         .field_info_spec = {
9718                 .description = "spif",
9719                 .field_bit_size = 2,
9720                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9721                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9722                 }
9723         },
9724         {
9725         .field_info_mask = {
9726                 .description = "loopback",
9727                 .field_bit_size = 1,
9728                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9729                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9730                 },
9731         .field_info_spec = {
9732                 .description = "loopback",
9733                 .field_bit_size = 1,
9734                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9735                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9736                 }
9737         },
9738         {
9739         .field_info_mask = {
9740                 .description = "recycle_cnt",
9741                 .field_bit_size = 2,
9742                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9743                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9744                 },
9745         .field_info_spec = {
9746                 .description = "recycle_cnt",
9747                 .field_bit_size = 2,
9748                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9749                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9750                 }
9751         },
9752         {
9753         .field_info_mask = {
9754                 .description = "mpass_cnt",
9755                 .field_bit_size = 2,
9756                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9757                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9758                 .field_opr1 = {
9759                 2}
9760                 },
9761         .field_info_spec = {
9762                 .description = "mpass_cnt",
9763                 .field_bit_size = 2,
9764                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9765                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9766                 }
9767         },
9768         {
9769         .field_info_mask = {
9770                 .description = "valid",
9771                 .field_bit_size = 1,
9772                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9773                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9774                 .field_opr1 = {
9775                 1}
9776                 },
9777         .field_info_spec = {
9778                 .description = "valid",
9779                 .field_bit_size = 1,
9780                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9781                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9782                 .field_opr1 = {
9783                 1}
9784                 }
9785         },
9786         /* class_tid: 1, thor, table: mac_addr_cache.wr */
9787         {
9788         .field_info_mask = {
9789                 .description = "svif",
9790                 .field_bit_size = 8,
9791                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9792                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9793                 .field_opr1 = {
9794                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
9795                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
9796                 },
9797         .field_info_spec = {
9798                 .description = "svif",
9799                 .field_bit_size = 8,
9800                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9801                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
9802                 .field_opr1 = {
9803                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
9804                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
9805                 }
9806         },
9807         {
9808         .field_info_mask = {
9809                 .description = "tun_hdr",
9810                 .field_bit_size = 4,
9811                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9812                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9813                 .field_opr1 = {
9814                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
9815                 },
9816         .field_info_spec = {
9817                 .description = "tun_hdr",
9818                 .field_bit_size = 4,
9819                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9820                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9821                 .field_opr1 = {
9822                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
9823                 }
9824         },
9825         {
9826         .field_info_mask = {
9827                 .description = "one_tag",
9828                 .field_bit_size = 1,
9829                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9830                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9831                 },
9832         .field_info_spec = {
9833                 .description = "one_tag",
9834                 .field_bit_size = 1,
9835                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9836                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9837                 }
9838         },
9839         {
9840         .field_info_mask = {
9841                 .description = "vid",
9842                 .field_bit_size = 12,
9843                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9844                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9845                 },
9846         .field_info_spec = {
9847                 .description = "vid",
9848                 .field_bit_size = 12,
9849                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9850                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9851                 }
9852         },
9853         {
9854         .field_info_mask = {
9855                 .description = "mac_addr",
9856                 .field_bit_size = 48,
9857                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
9858                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
9859                 .field_opr1 = {
9860                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
9861                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
9862                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
9863                 .field_opr2 = {
9864                         (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
9865                         BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
9866                 .field_src3 = BNXT_ULP_FIELD_SRC_RF,
9867                 .field_opr3 = {
9868                 (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
9869                 BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
9870                 },
9871         .field_info_spec = {
9872                 .description = "mac_addr",
9873                 .field_bit_size = 48,
9874                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
9875                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
9876                 .field_opr1 = {
9877                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
9878                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
9879                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
9880                 .field_opr2 = {
9881                         (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
9882                         BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
9883                 .field_src3 = BNXT_ULP_FIELD_SRC_RF,
9884                 .field_opr3 = {
9885                 (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
9886                 BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
9887                 }
9888         },
9889         /* class_tid: 1, thor, table: profile_tcam_cache.icmpv4_rd */
9890         {
9891         .field_info_mask = {
9892                 .description = "recycle_cnt",
9893                 .field_bit_size = 2,
9894                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9895                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9896                 .field_opr1 = {
9897                         0xff}
9898                 },
9899         .field_info_spec = {
9900                 .description = "recycle_cnt",
9901                 .field_bit_size = 2,
9902                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9903                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9904                 }
9905         },
9906         {
9907         .field_info_mask = {
9908                 .description = "prof_func_id",
9909                 .field_bit_size = 7,
9910                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9911                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9912                 .field_opr1 = {
9913                         0xff}
9914                 },
9915         .field_info_spec = {
9916                 .description = "prof_func_id",
9917                 .field_bit_size = 7,
9918                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9919                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
9920                 .field_opr1 = {
9921                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
9922                 BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
9923                 }
9924         },
9925         {
9926         .field_info_mask = {
9927                 .description = "hdr_sig_id",
9928                 .field_bit_size = 5,
9929                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9930                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9931                 .field_opr1 = {
9932                         0xff}
9933                 },
9934         .field_info_spec = {
9935                 .description = "hdr_sig_id",
9936                 .field_bit_size = 5,
9937                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9938                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9939                 .field_opr1 = {
9940                 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
9941                 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
9942                 }
9943         },
9944         /* class_tid: 1, thor, table: profile_tcam.icmpv4 */
9945         {
9946         .field_info_mask = {
9947                 .description = "l4_hdr_is_udp_tcp",
9948                 .field_bit_size = 1,
9949                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9950                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9951                 },
9952         .field_info_spec = {
9953                 .description = "l4_hdr_is_udp_tcp",
9954                 .field_bit_size = 1,
9955                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9956                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9957                 }
9958         },
9959         {
9960         .field_info_mask = {
9961                 .description = "l4_hdr_type",
9962                 .field_bit_size = 4,
9963                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9964                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9965                 .field_opr1 = {
9966                         0xff}
9967                 },
9968         .field_info_spec = {
9969                 .description = "l4_hdr_type",
9970                 .field_bit_size = 4,
9971                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9972                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9973                 .field_opr1 = {
9974                 ULP_THOR_SYM_L4_HDR_TYPE_ICMP}
9975                 }
9976         },
9977         {
9978         .field_info_mask = {
9979                 .description = "l4_hdr_error",
9980                 .field_bit_size = 1,
9981                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9982                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9983                 },
9984         .field_info_spec = {
9985                 .description = "l4_hdr_error",
9986                 .field_bit_size = 1,
9987                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9988                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9989                 }
9990         },
9991         {
9992         .field_info_mask = {
9993                 .description = "l4_hdr_valid",
9994                 .field_bit_size = 1,
9995                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9996                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9997                 .field_opr1 = {
9998                         0xff}
9999                 },
10000         .field_info_spec = {
10001                 .description = "l4_hdr_valid",
10002                 .field_bit_size = 1,
10003                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10004                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10005                 .field_opr1 = {
10006                 ULP_THOR_SYM_L4_HDR_VALID_YES}
10007                 }
10008         },
10009         {
10010         .field_info_mask = {
10011                 .description = "ieh",
10012                 .field_bit_size = 8,
10013                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10014                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10015                 },
10016         .field_info_spec = {
10017                 .description = "ieh",
10018                 .field_bit_size = 8,
10019                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10020                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10021                 }
10022         },
10023         {
10024         .field_info_mask = {
10025                 .description = "l3_ipv6_cmp_dst",
10026                 .field_bit_size = 1,
10027                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10028                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10029                 },
10030         .field_info_spec = {
10031                 .description = "l3_ipv6_cmp_dst",
10032                 .field_bit_size = 1,
10033                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10034                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10035                 }
10036         },
10037         {
10038         .field_info_mask = {
10039                 .description = "l3_ipv6_cmp_src",
10040                 .field_bit_size = 1,
10041                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10042                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10043                 },
10044         .field_info_spec = {
10045                 .description = "l3_ipv6_cmp_src",
10046                 .field_bit_size = 1,
10047                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10048                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10049                 }
10050         },
10051         {
10052         .field_info_mask = {
10053                 .description = "l3_hdr_isIP",
10054                 .field_bit_size = 1,
10055                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10056                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10057                 },
10058         .field_info_spec = {
10059                 .description = "l3_hdr_isIP",
10060                 .field_bit_size = 1,
10061                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10062                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10063                 }
10064         },
10065         {
10066         .field_info_mask = {
10067                 .description = "l3_hdr_type",
10068                 .field_bit_size = 4,
10069                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10070                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10071                 .field_opr1 = {
10072                         0xff}
10073                 },
10074         .field_info_spec = {
10075                 .description = "l3_hdr_type",
10076                 .field_bit_size = 4,
10077                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10078                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10079                 }
10080         },
10081         {
10082         .field_info_mask = {
10083                 .description = "l3_hdr_error",
10084                 .field_bit_size = 1,
10085                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10086                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10087                 },
10088         .field_info_spec = {
10089                 .description = "l3_hdr_error",
10090                 .field_bit_size = 1,
10091                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10092                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10093                 }
10094         },
10095         {
10096         .field_info_mask = {
10097                 .description = "l3_hdr_valid",
10098                 .field_bit_size = 1,
10099                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10100                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10101                 .field_opr1 = {
10102                         0xff}
10103                 },
10104         .field_info_spec = {
10105                 .description = "l3_hdr_valid",
10106                 .field_bit_size = 1,
10107                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10108                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10109                 .field_opr1 = {
10110                 ULP_THOR_SYM_L3_HDR_VALID_YES}
10111                 }
10112         },
10113         {
10114         .field_info_mask = {
10115                 .description = "l2_two_vtags",
10116                 .field_bit_size = 1,
10117                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10118                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10119                 },
10120         .field_info_spec = {
10121                 .description = "l2_two_vtags",
10122                 .field_bit_size = 1,
10123                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10124                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10125                 }
10126         },
10127         {
10128         .field_info_mask = {
10129                 .description = "l2_vtag_present",
10130                 .field_bit_size = 1,
10131                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10132                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10133                 },
10134         .field_info_spec = {
10135                 .description = "l2_vtag_present",
10136                 .field_bit_size = 1,
10137                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10138                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10139                 }
10140         },
10141         {
10142         .field_info_mask = {
10143                 .description = "l2_uc_mc_bc",
10144                 .field_bit_size = 2,
10145                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10146                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10147                 },
10148         .field_info_spec = {
10149                 .description = "l2_uc_mc_bc",
10150                 .field_bit_size = 2,
10151                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10152                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10153                 }
10154         },
10155         {
10156         .field_info_mask = {
10157                 .description = "l2_hdr_type",
10158                 .field_bit_size = 2,
10159                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10160                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10161                 },
10162         .field_info_spec = {
10163                 .description = "l2_hdr_type",
10164                 .field_bit_size = 2,
10165                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10166                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10167                 }
10168         },
10169         {
10170         .field_info_mask = {
10171                 .description = "l2_hdr_error",
10172                 .field_bit_size = 1,
10173                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10174                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10175                 },
10176         .field_info_spec = {
10177                 .description = "l2_hdr_error",
10178                 .field_bit_size = 1,
10179                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10180                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10181                 }
10182         },
10183         {
10184         .field_info_mask = {
10185                 .description = "l2_hdr_valid",
10186                 .field_bit_size = 1,
10187                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10188                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10189                 .field_opr1 = {
10190                         0xff}
10191                 },
10192         .field_info_spec = {
10193                 .description = "l2_hdr_valid",
10194                 .field_bit_size = 1,
10195                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10196                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10197                 .field_opr1 = {
10198                 ULP_THOR_SYM_L2_HDR_VALID_YES}
10199                 }
10200         },
10201         {
10202         .field_info_mask = {
10203                 .description = "tun_hdr_flags",
10204                 .field_bit_size = 3,
10205                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10206                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10207                 },
10208         .field_info_spec = {
10209                 .description = "tun_hdr_flags",
10210                 .field_bit_size = 3,
10211                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10212                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10213                 }
10214         },
10215         {
10216         .field_info_mask = {
10217                 .description = "tun_hdr_type",
10218                 .field_bit_size = 4,
10219                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10220                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10221                 },
10222         .field_info_spec = {
10223                 .description = "tun_hdr_type",
10224                 .field_bit_size = 4,
10225                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10226                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10227                 }
10228         },
10229         {
10230         .field_info_mask = {
10231                 .description = "tun_hdr_err",
10232                 .field_bit_size = 1,
10233                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10234                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10235                 },
10236         .field_info_spec = {
10237                 .description = "tun_hdr_err",
10238                 .field_bit_size = 1,
10239                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10240                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10241                 }
10242         },
10243         {
10244         .field_info_mask = {
10245                 .description = "tun_hdr_valid",
10246                 .field_bit_size = 1,
10247                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10248                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10249                 .field_opr1 = {
10250                         0xff}
10251                 },
10252         .field_info_spec = {
10253                 .description = "tun_hdr_valid",
10254                 .field_bit_size = 1,
10255                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10256                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10257                 }
10258         },
10259         {
10260         .field_info_mask = {
10261                 .description = "tl4_hdr_is_udp_tcp",
10262                 .field_bit_size = 1,
10263                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10264                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10265                 },
10266         .field_info_spec = {
10267                 .description = "tl4_hdr_is_udp_tcp",
10268                 .field_bit_size = 1,
10269                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10270                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10271                 }
10272         },
10273         {
10274         .field_info_mask = {
10275                 .description = "tl4_hdr_type",
10276                 .field_bit_size = 4,
10277                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10278                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10279                 },
10280         .field_info_spec = {
10281                 .description = "tl4_hdr_type",
10282                 .field_bit_size = 4,
10283                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10284                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10285                 }
10286         },
10287         {
10288         .field_info_mask = {
10289                 .description = "tl4_hdr_error",
10290                 .field_bit_size = 1,
10291                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10292                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10293                 },
10294         .field_info_spec = {
10295                 .description = "tl4_hdr_error",
10296                 .field_bit_size = 1,
10297                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10298                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10299                 }
10300         },
10301         {
10302         .field_info_mask = {
10303                 .description = "tl4_hdr_valid",
10304                 .field_bit_size = 1,
10305                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10306                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10307                 .field_opr1 = {
10308                         0xff}
10309                 },
10310         .field_info_spec = {
10311                 .description = "tl4_hdr_valid",
10312                 .field_bit_size = 1,
10313                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10314                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10315                 }
10316         },
10317         {
10318         .field_info_mask = {
10319                 .description = "tl3_ipv6_cmp_dst",
10320                 .field_bit_size = 1,
10321                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10322                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10323                 },
10324         .field_info_spec = {
10325                 .description = "tl3_ipv6_cmp_dst",
10326                 .field_bit_size = 1,
10327                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10328                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10329                 }
10330         },
10331         {
10332         .field_info_mask = {
10333                 .description = "tl3_ipv6_cmp_src",
10334                 .field_bit_size = 1,
10335                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10336                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10337                 },
10338         .field_info_spec = {
10339                 .description = "tl3_ipv6_cmp_src",
10340                 .field_bit_size = 1,
10341                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10342                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10343                 }
10344         },
10345         {
10346         .field_info_mask = {
10347                 .description = "tl3_hdr_isIP",
10348                 .field_bit_size = 1,
10349                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10350                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10351                 },
10352         .field_info_spec = {
10353                 .description = "tl3_hdr_isIP",
10354                 .field_bit_size = 1,
10355                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10356                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10357                 }
10358         },
10359         {
10360         .field_info_mask = {
10361                 .description = "tl3_hdr_type",
10362                 .field_bit_size = 4,
10363                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10364                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10365                 },
10366         .field_info_spec = {
10367                 .description = "tl3_hdr_type",
10368                 .field_bit_size = 4,
10369                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10370                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10371                 }
10372         },
10373         {
10374         .field_info_mask = {
10375                 .description = "tl3_hdr_error",
10376                 .field_bit_size = 1,
10377                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10378                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10379                 },
10380         .field_info_spec = {
10381                 .description = "tl3_hdr_error",
10382                 .field_bit_size = 1,
10383                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10384                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10385                 }
10386         },
10387         {
10388         .field_info_mask = {
10389                 .description = "tl3_hdr_valid",
10390                 .field_bit_size = 1,
10391                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10392                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10393                 .field_opr1 = {
10394                         0xff}
10395                 },
10396         .field_info_spec = {
10397                 .description = "tl3_hdr_valid",
10398                 .field_bit_size = 1,
10399                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10400                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10401                 }
10402         },
10403         {
10404         .field_info_mask = {
10405                 .description = "tl2_two_vtags",
10406                 .field_bit_size = 1,
10407                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10408                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10409                 },
10410         .field_info_spec = {
10411                 .description = "tl2_two_vtags",
10412                 .field_bit_size = 1,
10413                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10414                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10415                 }
10416         },
10417         {
10418         .field_info_mask = {
10419                 .description = "tl2_vtag_present",
10420                 .field_bit_size = 1,
10421                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10422                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10423                 },
10424         .field_info_spec = {
10425                 .description = "tl2_vtag_present",
10426                 .field_bit_size = 1,
10427                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10428                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10429                 }
10430         },
10431         {
10432         .field_info_mask = {
10433                 .description = "tl2_uc_mc_bc",
10434                 .field_bit_size = 2,
10435                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10436                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10437                 },
10438         .field_info_spec = {
10439                 .description = "tl2_uc_mc_bc",
10440                 .field_bit_size = 2,
10441                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10442                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10443                 }
10444         },
10445         {
10446         .field_info_mask = {
10447                 .description = "tl2_hdr_type",
10448                 .field_bit_size = 2,
10449                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10450                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10451                 },
10452         .field_info_spec = {
10453                 .description = "tl2_hdr_type",
10454                 .field_bit_size = 2,
10455                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10456                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10457                 }
10458         },
10459         {
10460         .field_info_mask = {
10461                 .description = "tl2_hdr_valid",
10462                 .field_bit_size = 1,
10463                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10464                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10465                 .field_opr1 = {
10466                         0xff}
10467                 },
10468         .field_info_spec = {
10469                 .description = "tl2_hdr_valid",
10470                 .field_bit_size = 1,
10471                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10472                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10473                 }
10474         },
10475         {
10476         .field_info_mask = {
10477                 .description = "hrec_next",
10478                 .field_bit_size = 1,
10479                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10480                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10481                 },
10482         .field_info_spec = {
10483                 .description = "hrec_next",
10484                 .field_bit_size = 1,
10485                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10486                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10487                 }
10488         },
10489         {
10490         .field_info_mask = {
10491                 .description = "prof_func_id",
10492                 .field_bit_size = 7,
10493                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10494                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10495                 .field_opr1 = {
10496                         0xff}
10497                 },
10498         .field_info_spec = {
10499                 .description = "prof_func_id",
10500                 .field_bit_size = 7,
10501                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10502                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
10503                 .field_opr1 = {
10504                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
10505                 BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
10506                 }
10507         },
10508         {
10509         .field_info_mask = {
10510                 .description = "agg_error",
10511                 .field_bit_size = 1,
10512                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10513                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10514                 },
10515         .field_info_spec = {
10516                 .description = "agg_error",
10517                 .field_bit_size = 1,
10518                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10519                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10520                 }
10521         },
10522         {
10523         .field_info_mask = {
10524                 .description = "metadata",
10525                 .field_bit_size = 16,
10526                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10527                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10528                 },
10529         .field_info_spec = {
10530                 .description = "metadata",
10531                 .field_bit_size = 16,
10532                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10533                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10534                 }
10535         },
10536         {
10537         .field_info_mask = {
10538                 .description = "pkt_type_0",
10539                 .field_bit_size = 2,
10540                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10541                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10542                 },
10543         .field_info_spec = {
10544                 .description = "pkt_type_0",
10545                 .field_bit_size = 2,
10546                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10547                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10548                 }
10549         },
10550         {
10551         .field_info_mask = {
10552                 .description = "pkt_type_1",
10553                 .field_bit_size = 2,
10554                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10555                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10556                 },
10557         .field_info_spec = {
10558                 .description = "pkt_type_1",
10559                 .field_bit_size = 2,
10560                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10561                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10562                 }
10563         },
10564         {
10565         .field_info_mask = {
10566                 .description = "valid",
10567                 .field_bit_size = 1,
10568                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10569                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10570                 .field_opr1 = {
10571                 1}
10572                 },
10573         .field_info_spec = {
10574                 .description = "valid",
10575                 .field_bit_size = 1,
10576                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10577                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10578                 .field_opr1 = {
10579                 1}
10580                 }
10581         },
10582         /* class_tid: 1, thor, table: profile_tcam_cache.icmpv4_wr */
10583         {
10584         .field_info_mask = {
10585                 .description = "recycle_cnt",
10586                 .field_bit_size = 2,
10587                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10588                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10589                 .field_opr1 = {
10590                         0xff}
10591                 },
10592         .field_info_spec = {
10593                 .description = "recycle_cnt",
10594                 .field_bit_size = 2,
10595                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10596                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10597                 }
10598         },
10599         {
10600         .field_info_mask = {
10601                 .description = "prof_func_id",
10602                 .field_bit_size = 7,
10603                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10604                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10605                 .field_opr1 = {
10606                         0xff}
10607                 },
10608         .field_info_spec = {
10609                 .description = "prof_func_id",
10610                 .field_bit_size = 7,
10611                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10612                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
10613                 .field_opr1 = {
10614                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
10615                 BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
10616                 }
10617         },
10618         {
10619         .field_info_mask = {
10620                 .description = "hdr_sig_id",
10621                 .field_bit_size = 5,
10622                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10623                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10624                 .field_opr1 = {
10625                         0xff}
10626                 },
10627         .field_info_spec = {
10628                 .description = "hdr_sig_id",
10629                 .field_bit_size = 5,
10630                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10631                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10632                 .field_opr1 = {
10633                 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
10634                 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
10635                 }
10636         },
10637         /* class_tid: 1, thor, table: wm.icmpv4 */
10638         {
10639         .field_info_mask = {
10640                 .description = "wc_profile_id",
10641                 .field_bit_size = 8,
10642                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10643                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10644                 .field_opr1 = {
10645                         0xff}
10646                 },
10647         .field_info_spec = {
10648                 .description = "wc_profile_id",
10649                 .field_bit_size = 8,
10650                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10651                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
10652                 .field_opr1 = {
10653                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
10654                 BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
10655                 }
10656         },
10657         {
10658         .field_info_mask = {
10659                 .description = "l2_cntxt_id",
10660                 .field_bit_size = 10,
10661                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10662                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10663                 .field_opr1 = {
10664                         0xff,
10665                         0xff}
10666                 },
10667         .field_info_spec = {
10668                 .description = "l2_cntxt_id",
10669                 .field_bit_size = 10,
10670                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
10671                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10672                 .field_opr1 = {
10673                 (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
10674                 BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
10675                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
10676                 .field_opr2 = {
10677                         (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
10678                         BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
10679                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
10680                 .field_opr3 = {
10681                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
10682                 BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
10683                 }
10684         },
10685         {
10686         .field_info_mask = {
10687                 .description = "parif",
10688                 .field_bit_size = 4,
10689                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10690                 },
10691         .field_info_spec = {
10692                 .description = "parif",
10693                 .field_bit_size = 4,
10694                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10695                 }
10696         },
10697         {
10698         .field_info_mask = {
10699                 .description = "spif",
10700                 .field_bit_size = 2,
10701                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10702                 },
10703         .field_info_spec = {
10704                 .description = "spif",
10705                 .field_bit_size = 2,
10706                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10707                 }
10708         },
10709         {
10710         .field_info_mask = {
10711                 .description = "svif",
10712                 .field_bit_size = 11,
10713                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10714                 },
10715         .field_info_spec = {
10716                 .description = "svif",
10717                 .field_bit_size = 11,
10718                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10719                 }
10720         },
10721         {
10722         .field_info_mask = {
10723                 .description = "lcos",
10724                 .field_bit_size = 3,
10725                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10726                 },
10727         .field_info_spec = {
10728                 .description = "lcos",
10729                 .field_bit_size = 3,
10730                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10731                 }
10732         },
10733         {
10734         .field_info_mask = {
10735                 .description = "meta",
10736                 .field_bit_size = 16,
10737                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10738                 },
10739         .field_info_spec = {
10740                 .description = "meta",
10741                 .field_bit_size = 16,
10742                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10743                 }
10744         },
10745         {
10746         .field_info_mask = {
10747                 .description = "rcyc_cnt",
10748                 .field_bit_size = 2,
10749                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10750                 },
10751         .field_info_spec = {
10752                 .description = "rcyc_cnt",
10753                 .field_bit_size = 2,
10754                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10755                 }
10756         },
10757         {
10758         .field_info_mask = {
10759                 .description = "loopback",
10760                 .field_bit_size = 1,
10761                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10762                 },
10763         .field_info_spec = {
10764                 .description = "loopback",
10765                 .field_bit_size = 1,
10766                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10767                 }
10768         },
10769         {
10770         .field_info_mask = {
10771                 .description = "tl2_l2type",
10772                 .field_bit_size = 2,
10773                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10774                 },
10775         .field_info_spec = {
10776                 .description = "tl2_l2type",
10777                 .field_bit_size = 2,
10778                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10779                 }
10780         },
10781         {
10782         .field_info_mask = {
10783                 .description = "tl2_dmac",
10784                 .field_bit_size = 48,
10785                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10786                 },
10787         .field_info_spec = {
10788                 .description = "tl2_dmac",
10789                 .field_bit_size = 48,
10790                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10791                 }
10792         },
10793         {
10794         .field_info_mask = {
10795                 .description = "tl2_smac",
10796                 .field_bit_size = 48,
10797                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10798                 },
10799         .field_info_spec = {
10800                 .description = "tl2_smac",
10801                 .field_bit_size = 48,
10802                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10803                 }
10804         },
10805         {
10806         .field_info_mask = {
10807                 .description = "tl2_dt",
10808                 .field_bit_size = 2,
10809                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10810                 },
10811         .field_info_spec = {
10812                 .description = "tl2_dt",
10813                 .field_bit_size = 2,
10814                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10815                 }
10816         },
10817         {
10818         .field_info_mask = {
10819                 .description = "tl2_sa",
10820                 .field_bit_size = 1,
10821                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10822                 },
10823         .field_info_spec = {
10824                 .description = "tl2_sa",
10825                 .field_bit_size = 1,
10826                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10827                 }
10828         },
10829         {
10830         .field_info_mask = {
10831                 .description = "tl2_nvt",
10832                 .field_bit_size = 2,
10833                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10834                 },
10835         .field_info_spec = {
10836                 .description = "tl2_nvt",
10837                 .field_bit_size = 2,
10838                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10839                 }
10840         },
10841         {
10842         .field_info_mask = {
10843                 .description = "tl2_ovp",
10844                 .field_bit_size = 3,
10845                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10846                 },
10847         .field_info_spec = {
10848                 .description = "tl2_ovp",
10849                 .field_bit_size = 3,
10850                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10851                 }
10852         },
10853         {
10854         .field_info_mask = {
10855                 .description = "tl2_ovd",
10856                 .field_bit_size = 1,
10857                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10858                 },
10859         .field_info_spec = {
10860                 .description = "tl2_ovd",
10861                 .field_bit_size = 1,
10862                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10863                 }
10864         },
10865         {
10866         .field_info_mask = {
10867                 .description = "tl2_ovv",
10868                 .field_bit_size = 12,
10869                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10870                 },
10871         .field_info_spec = {
10872                 .description = "tl2_ovv",
10873                 .field_bit_size = 12,
10874                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10875                 }
10876         },
10877         {
10878         .field_info_mask = {
10879                 .description = "tl2_ovt",
10880                 .field_bit_size = 3,
10881                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10882                 },
10883         .field_info_spec = {
10884                 .description = "tl2_ovt",
10885                 .field_bit_size = 3,
10886                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10887                 }
10888         },
10889         {
10890         .field_info_mask = {
10891                 .description = "tl2_ivp",
10892                 .field_bit_size = 3,
10893                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10894                 },
10895         .field_info_spec = {
10896                 .description = "tl2_ivp",
10897                 .field_bit_size = 3,
10898                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10899                 }
10900         },
10901         {
10902         .field_info_mask = {
10903                 .description = "tl2_ivd",
10904                 .field_bit_size = 1,
10905                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10906                 },
10907         .field_info_spec = {
10908                 .description = "tl2_ivd",
10909                 .field_bit_size = 1,
10910                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10911                 }
10912         },
10913         {
10914         .field_info_mask = {
10915                 .description = "tl2_ivv",
10916                 .field_bit_size = 12,
10917                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10918                 },
10919         .field_info_spec = {
10920                 .description = "tl2_ivv",
10921                 .field_bit_size = 12,
10922                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10923                 }
10924         },
10925         {
10926         .field_info_mask = {
10927                 .description = "tl2_ivt",
10928                 .field_bit_size = 3,
10929                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10930                 },
10931         .field_info_spec = {
10932                 .description = "tl2_ivt",
10933                 .field_bit_size = 3,
10934                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10935                 }
10936         },
10937         {
10938         .field_info_mask = {
10939                 .description = "tl2_etype",
10940                 .field_bit_size = 16,
10941                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10942                 },
10943         .field_info_spec = {
10944                 .description = "tl2_etype",
10945                 .field_bit_size = 16,
10946                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10947                 }
10948         },
10949         {
10950         .field_info_mask = {
10951                 .description = "tl3.l3type",
10952                 .field_bit_size = 4,
10953                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10954                 },
10955         .field_info_spec = {
10956                 .description = "tl3.l3type",
10957                 .field_bit_size = 4,
10958                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10959                 }
10960         },
10961         {
10962         .field_info_mask = {
10963                 .description = "tl3.sip.ipv4",
10964                 .field_bit_size = 32,
10965                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10966                 },
10967         .field_info_spec = {
10968                 .description = "tl3.sip.ipv4",
10969                 .field_bit_size = 32,
10970                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10971                 }
10972         },
10973         {
10974         .field_info_mask = {
10975                 .description = "tl3.sip.ipv6",
10976                 .field_bit_size = 128,
10977                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10978                 },
10979         .field_info_spec = {
10980                 .description = "tl3.sip.ipv6",
10981                 .field_bit_size = 128,
10982                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10983                 }
10984         },
10985         {
10986         .field_info_mask = {
10987                 .description = "tl3.sip_selcmp.ipv6",
10988                 .field_bit_size = 72,
10989                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10990                 },
10991         .field_info_spec = {
10992                 .description = "tl3.sip_selcmp.ipv6",
10993                 .field_bit_size = 72,
10994                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
10995                 }
10996         },
10997         {
10998         .field_info_mask = {
10999                 .description = "tl3.dip.ipv4",
11000                 .field_bit_size = 32,
11001                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11002                 },
11003         .field_info_spec = {
11004                 .description = "tl3.dip.ipv4",
11005                 .field_bit_size = 32,
11006                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11007                 }
11008         },
11009         {
11010         .field_info_mask = {
11011                 .description = "tl3.dip.ipv6",
11012                 .field_bit_size = 128,
11013                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11014                 },
11015         .field_info_spec = {
11016                 .description = "tl3.dip.ipv6",
11017                 .field_bit_size = 128,
11018                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11019                 }
11020         },
11021         {
11022         .field_info_mask = {
11023                 .description = "tl3.dip_selcmp.ipv6",
11024                 .field_bit_size = 72,
11025                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11026                 },
11027         .field_info_spec = {
11028                 .description = "tl3.dip_selcmp.ipv6",
11029                 .field_bit_size = 72,
11030                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11031                 }
11032         },
11033         {
11034         .field_info_mask = {
11035                 .description = "tl3.ttl",
11036                 .field_bit_size = 8,
11037                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11038                 },
11039         .field_info_spec = {
11040                 .description = "tl3.ttl",
11041                 .field_bit_size = 8,
11042                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11043                 }
11044         },
11045         {
11046         .field_info_mask = {
11047                 .description = "tl3.prot",
11048                 .field_bit_size = 8,
11049                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11050                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11051                 },
11052         .field_info_spec = {
11053                 .description = "tl3.prot",
11054                 .field_bit_size = 8,
11055                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11056                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11057                 }
11058         },
11059         {
11060         .field_info_mask = {
11061                 .description = "tl3.fid.ipv4",
11062                 .field_bit_size = 16,
11063                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11064                 },
11065         .field_info_spec = {
11066                 .description = "tl3.fid.ipv4",
11067                 .field_bit_size = 16,
11068                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11069                 }
11070         },
11071         {
11072         .field_info_mask = {
11073                 .description = "tl3.fid.ipv6",
11074                 .field_bit_size = 20,
11075                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11076                 },
11077         .field_info_spec = {
11078                 .description = "tl3.fid.ipv6",
11079                 .field_bit_size = 20,
11080                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11081                 }
11082         },
11083         {
11084         .field_info_mask = {
11085                 .description = "tl3.qos",
11086                 .field_bit_size = 8,
11087                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11088                 },
11089         .field_info_spec = {
11090                 .description = "tl3.qos",
11091                 .field_bit_size = 8,
11092                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11093                 }
11094         },
11095         {
11096         .field_info_mask = {
11097                 .description = "tl3.ieh_nonext",
11098                 .field_bit_size = 1,
11099                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11100                 },
11101         .field_info_spec = {
11102                 .description = "tl3.ieh_nonext",
11103                 .field_bit_size = 1,
11104                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11105                 }
11106         },
11107         {
11108         .field_info_mask = {
11109                 .description = "tl3.ieh_esp",
11110                 .field_bit_size = 1,
11111                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11112                 },
11113         .field_info_spec = {
11114                 .description = "tl3.ieh_esp",
11115                 .field_bit_size = 1,
11116                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11117                 }
11118         },
11119         {
11120         .field_info_mask = {
11121                 .description = "tl3.ieh_auth",
11122                 .field_bit_size = 1,
11123                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11124                 },
11125         .field_info_spec = {
11126                 .description = "tl3.ieh_auth",
11127                 .field_bit_size = 1,
11128                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11129                 }
11130         },
11131         {
11132         .field_info_mask = {
11133                 .description = "tl3.ieh_dest",
11134                 .field_bit_size = 1,
11135                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11136                 },
11137         .field_info_spec = {
11138                 .description = "tl3.ieh_dest",
11139                 .field_bit_size = 1,
11140                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11141                 }
11142         },
11143         {
11144         .field_info_mask = {
11145                 .description = "tl3.ieh_frag",
11146                 .field_bit_size = 1,
11147                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11148                 },
11149         .field_info_spec = {
11150                 .description = "tl3.ieh_frag",
11151                 .field_bit_size = 1,
11152                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11153                 }
11154         },
11155         {
11156         .field_info_mask = {
11157                 .description = "tl3.ieh_rthdr",
11158                 .field_bit_size = 1,
11159                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11160                 },
11161         .field_info_spec = {
11162                 .description = "tl3.ieh_rthdr",
11163                 .field_bit_size = 1,
11164                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11165                 }
11166         },
11167         {
11168         .field_info_mask = {
11169                 .description = "tl3.ieh_hop",
11170                 .field_bit_size = 1,
11171                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11172                 },
11173         .field_info_spec = {
11174                 .description = "tl3.ieh_hop",
11175                 .field_bit_size = 1,
11176                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11177                 }
11178         },
11179         {
11180         .field_info_mask = {
11181                 .description = "tl3.ieh_1frag",
11182                 .field_bit_size = 1,
11183                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11184                 },
11185         .field_info_spec = {
11186                 .description = "tl3.ieh_1frag",
11187                 .field_bit_size = 1,
11188                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11189                 }
11190         },
11191         {
11192         .field_info_mask = {
11193                 .description = "tl3.df",
11194                 .field_bit_size = 1,
11195                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11196                 },
11197         .field_info_spec = {
11198                 .description = "tl3.df",
11199                 .field_bit_size = 1,
11200                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11201                 }
11202         },
11203         {
11204         .field_info_mask = {
11205                 .description = "tl3.l3err",
11206                 .field_bit_size = 4,
11207                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11208                 },
11209         .field_info_spec = {
11210                 .description = "tl3.l3err",
11211                 .field_bit_size = 4,
11212                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11213                 }
11214         },
11215         {
11216         .field_info_mask = {
11217                 .description = "tl4.l4type",
11218                 .field_bit_size = 4,
11219                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11220                 },
11221         .field_info_spec = {
11222                 .description = "tl4.l4type",
11223                 .field_bit_size = 4,
11224                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11225                 }
11226         },
11227         {
11228         .field_info_mask = {
11229                 .description = "tl4.src",
11230                 .field_bit_size = 16,
11231                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11232                 },
11233         .field_info_spec = {
11234                 .description = "tl4.src",
11235                 .field_bit_size = 16,
11236                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11237                 }
11238         },
11239         {
11240         .field_info_mask = {
11241                 .description = "tl4.dst",
11242                 .field_bit_size = 16,
11243                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11244                 },
11245         .field_info_spec = {
11246                 .description = "tl4.dst",
11247                 .field_bit_size = 16,
11248                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11249                 }
11250         },
11251         {
11252         .field_info_mask = {
11253                 .description = "tl4.flags",
11254                 .field_bit_size = 9,
11255                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11256                 },
11257         .field_info_spec = {
11258                 .description = "tl4.flags",
11259                 .field_bit_size = 9,
11260                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11261                 }
11262         },
11263         {
11264         .field_info_mask = {
11265                 .description = "tl4.seq",
11266                 .field_bit_size = 32,
11267                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11268                 },
11269         .field_info_spec = {
11270                 .description = "tl4.seq",
11271                 .field_bit_size = 32,
11272                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11273                 }
11274         },
11275         {
11276         .field_info_mask = {
11277                 .description = "tl4.pa",
11278                 .field_bit_size = 1,
11279                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11280                 },
11281         .field_info_spec = {
11282                 .description = "tl4.pa",
11283                 .field_bit_size = 1,
11284                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11285                 }
11286         },
11287         {
11288         .field_info_mask = {
11289                 .description = "tl4.opt",
11290                 .field_bit_size = 1,
11291                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11292                 },
11293         .field_info_spec = {
11294                 .description = "tl4.opt",
11295                 .field_bit_size = 1,
11296                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11297                 }
11298         },
11299         {
11300         .field_info_mask = {
11301                 .description = "tl4.tcpts",
11302                 .field_bit_size = 1,
11303                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11304                 },
11305         .field_info_spec = {
11306                 .description = "tl4.tcpts",
11307                 .field_bit_size = 1,
11308                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11309                 }
11310         },
11311         {
11312         .field_info_mask = {
11313                 .description = "tl4.err",
11314                 .field_bit_size = 4,
11315                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11316                 },
11317         .field_info_spec = {
11318                 .description = "tl4.err",
11319                 .field_bit_size = 4,
11320                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11321                 }
11322         },
11323         {
11324         .field_info_mask = {
11325                 .description = "tuntype",
11326                 .field_bit_size = 4,
11327                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11328                 },
11329         .field_info_spec = {
11330                 .description = "tuntype",
11331                 .field_bit_size = 4,
11332                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11333                 }
11334         },
11335         {
11336         .field_info_mask = {
11337                 .description = "tflags",
11338                 .field_bit_size = 3,
11339                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11340                 },
11341         .field_info_spec = {
11342                 .description = "tflags",
11343                 .field_bit_size = 3,
11344                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11345                 }
11346         },
11347         {
11348         .field_info_mask = {
11349                 .description = "tids",
11350                 .field_bit_size = 24,
11351                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11352                 },
11353         .field_info_spec = {
11354                 .description = "tids",
11355                 .field_bit_size = 24,
11356                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11357                 }
11358         },
11359         {
11360         .field_info_mask = {
11361                 .description = "tid",
11362                 .field_bit_size = 32,
11363                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11364                 },
11365         .field_info_spec = {
11366                 .description = "tid",
11367                 .field_bit_size = 32,
11368                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11369                 }
11370         },
11371         {
11372         .field_info_mask = {
11373                 .description = "tctxts",
11374                 .field_bit_size = 24,
11375                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11376                 },
11377         .field_info_spec = {
11378                 .description = "tctxts",
11379                 .field_bit_size = 24,
11380                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11381                 }
11382         },
11383         {
11384         .field_info_mask = {
11385                 .description = "tctxt",
11386                 .field_bit_size = 32,
11387                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11388                 },
11389         .field_info_spec = {
11390                 .description = "tctxt",
11391                 .field_bit_size = 32,
11392                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11393                 }
11394         },
11395         {
11396         .field_info_mask = {
11397                 .description = "tqos",
11398                 .field_bit_size = 3,
11399                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11400                 },
11401         .field_info_spec = {
11402                 .description = "tqos",
11403                 .field_bit_size = 3,
11404                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11405                 }
11406         },
11407         {
11408         .field_info_mask = {
11409                 .description = "terr",
11410                 .field_bit_size = 4,
11411                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11412                 },
11413         .field_info_spec = {
11414                 .description = "terr",
11415                 .field_bit_size = 4,
11416                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11417                 }
11418         },
11419         {
11420         .field_info_mask = {
11421                 .description = "l2_l2type",
11422                 .field_bit_size = 2,
11423                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11424                 },
11425         .field_info_spec = {
11426                 .description = "l2_l2type",
11427                 .field_bit_size = 2,
11428                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11429                 }
11430         },
11431         {
11432         .field_info_mask = {
11433                 .description = "l2_dmac",
11434                 .field_bit_size = 48,
11435                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11436                 },
11437         .field_info_spec = {
11438                 .description = "l2_dmac",
11439                 .field_bit_size = 48,
11440                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11441                 }
11442         },
11443         {
11444         .field_info_mask = {
11445                 .description = "l2_smac",
11446                 .field_bit_size = 48,
11447                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11448                 },
11449         .field_info_spec = {
11450                 .description = "l2_smac",
11451                 .field_bit_size = 48,
11452                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11453                 }
11454         },
11455         {
11456         .field_info_mask = {
11457                 .description = "l2_dt",
11458                 .field_bit_size = 2,
11459                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11460                 },
11461         .field_info_spec = {
11462                 .description = "l2_dt",
11463                 .field_bit_size = 2,
11464                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11465                 }
11466         },
11467         {
11468         .field_info_mask = {
11469                 .description = "l2_sa",
11470                 .field_bit_size = 1,
11471                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11472                 },
11473         .field_info_spec = {
11474                 .description = "l2_sa",
11475                 .field_bit_size = 1,
11476                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11477                 }
11478         },
11479         {
11480         .field_info_mask = {
11481                 .description = "l2_nvt",
11482                 .field_bit_size = 2,
11483                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11484                 },
11485         .field_info_spec = {
11486                 .description = "l2_nvt",
11487                 .field_bit_size = 2,
11488                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11489                 }
11490         },
11491         {
11492         .field_info_mask = {
11493                 .description = "l2_ovp",
11494                 .field_bit_size = 3,
11495                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11496                 },
11497         .field_info_spec = {
11498                 .description = "l2_ovp",
11499                 .field_bit_size = 3,
11500                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11501                 }
11502         },
11503         {
11504         .field_info_mask = {
11505                 .description = "l2_ovd",
11506                 .field_bit_size = 1,
11507                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11508                 },
11509         .field_info_spec = {
11510                 .description = "l2_ovd",
11511                 .field_bit_size = 1,
11512                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11513                 }
11514         },
11515         {
11516         .field_info_mask = {
11517                 .description = "l2_ovv",
11518                 .field_bit_size = 12,
11519                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11520                 },
11521         .field_info_spec = {
11522                 .description = "l2_ovv",
11523                 .field_bit_size = 12,
11524                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11525                 }
11526         },
11527         {
11528         .field_info_mask = {
11529                 .description = "l2_ovt",
11530                 .field_bit_size = 3,
11531                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11532                 },
11533         .field_info_spec = {
11534                 .description = "l2_ovt",
11535                 .field_bit_size = 3,
11536                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11537                 }
11538         },
11539         {
11540         .field_info_mask = {
11541                 .description = "l2_ivp",
11542                 .field_bit_size = 3,
11543                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11544                 },
11545         .field_info_spec = {
11546                 .description = "l2_ivp",
11547                 .field_bit_size = 3,
11548                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11549                 }
11550         },
11551         {
11552         .field_info_mask = {
11553                 .description = "l2_ivd",
11554                 .field_bit_size = 1,
11555                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11556                 },
11557         .field_info_spec = {
11558                 .description = "l2_ivd",
11559                 .field_bit_size = 1,
11560                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11561                 }
11562         },
11563         {
11564         .field_info_mask = {
11565                 .description = "l2_ivv",
11566                 .field_bit_size = 12,
11567                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11568                 },
11569         .field_info_spec = {
11570                 .description = "l2_ivv",
11571                 .field_bit_size = 12,
11572                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11573                 }
11574         },
11575         {
11576         .field_info_mask = {
11577                 .description = "l2_ivt",
11578                 .field_bit_size = 3,
11579                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11580                 },
11581         .field_info_spec = {
11582                 .description = "l2_ivt",
11583                 .field_bit_size = 3,
11584                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11585                 }
11586         },
11587         {
11588         .field_info_mask = {
11589                 .description = "l2_etype",
11590                 .field_bit_size = 16,
11591                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11592                 },
11593         .field_info_spec = {
11594                 .description = "l2_etype",
11595                 .field_bit_size = 16,
11596                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11597                 }
11598         },
11599         {
11600         .field_info_mask = {
11601                 .description = "l3.l3type",
11602                 .field_bit_size = 4,
11603                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11604                 },
11605         .field_info_spec = {
11606                 .description = "l3.l3type",
11607                 .field_bit_size = 4,
11608                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11609                 }
11610         },
11611         {
11612         .field_info_mask = {
11613                 .description = "l3.sip.ipv4",
11614                 .field_bit_size = 32,
11615                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11616                 },
11617         .field_info_spec = {
11618                 .description = "l3.sip.ipv4",
11619                 .field_bit_size = 32,
11620                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11621                 }
11622         },
11623         {
11624         .field_info_mask = {
11625                 .description = "l3.sip.ipv6",
11626                 .field_bit_size = 128,
11627                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11628                 },
11629         .field_info_spec = {
11630                 .description = "l3.sip.ipv6",
11631                 .field_bit_size = 128,
11632                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11633                 }
11634         },
11635         {
11636         .field_info_mask = {
11637                 .description = "l3.sip_selcmp.ipv6",
11638                 .field_bit_size = 72,
11639                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11640                 },
11641         .field_info_spec = {
11642                 .description = "l3.sip_selcmp.ipv6",
11643                 .field_bit_size = 72,
11644                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11645                 }
11646         },
11647         {
11648         .field_info_mask = {
11649                 .description = "l3.dip.ipv4",
11650                 .field_bit_size = 32,
11651                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11652                 },
11653         .field_info_spec = {
11654                 .description = "l3.dip.ipv4",
11655                 .field_bit_size = 32,
11656                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11657                 }
11658         },
11659         {
11660         .field_info_mask = {
11661                 .description = "l3.dip.ipv6",
11662                 .field_bit_size = 128,
11663                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11664                 },
11665         .field_info_spec = {
11666                 .description = "l3.dip.ipv6",
11667                 .field_bit_size = 128,
11668                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11669                 }
11670         },
11671         {
11672         .field_info_mask = {
11673                 .description = "l3.dip_selcmp.ipv6",
11674                 .field_bit_size = 72,
11675                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11676                 },
11677         .field_info_spec = {
11678                 .description = "l3.dip_selcmp.ipv6",
11679                 .field_bit_size = 72,
11680                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11681                 }
11682         },
11683         {
11684         .field_info_mask = {
11685                 .description = "l3.ttl",
11686                 .field_bit_size = 8,
11687                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11688                 },
11689         .field_info_spec = {
11690                 .description = "l3.ttl",
11691                 .field_bit_size = 8,
11692                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11693                 }
11694         },
11695         {
11696         .field_info_mask = {
11697                 .description = "l3.prot",
11698                 .field_bit_size = 8,
11699                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11700                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
11701                 .field_opr1 = {
11702                         0xff}
11703                 },
11704         .field_info_spec = {
11705                 .description = "l3.prot",
11706                 .field_bit_size = 8,
11707                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
11708                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
11709                 .field_opr1 = {
11710                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
11711                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
11712                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
11713                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
11714                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
11715                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
11716                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
11717                 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
11718                 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
11719                 .field_opr2 = {
11720                         1},
11721                 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
11722                 .field_opr3 = {
11723                 58}
11724                 }
11725         },
11726         {
11727         .field_info_mask = {
11728                 .description = "l3.fid.ipv4",
11729                 .field_bit_size = 16,
11730                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11731                 },
11732         .field_info_spec = {
11733                 .description = "l3.fid.ipv4",
11734                 .field_bit_size = 16,
11735                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11736                 }
11737         },
11738         {
11739         .field_info_mask = {
11740                 .description = "l3.fid.ipv6",
11741                 .field_bit_size = 20,
11742                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11743                 },
11744         .field_info_spec = {
11745                 .description = "l3.fid.ipv6",
11746                 .field_bit_size = 20,
11747                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11748                 }
11749         },
11750         {
11751         .field_info_mask = {
11752                 .description = "l3.qos",
11753                 .field_bit_size = 8,
11754                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11755                 },
11756         .field_info_spec = {
11757                 .description = "l3.qos",
11758                 .field_bit_size = 8,
11759                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11760                 }
11761         },
11762         {
11763         .field_info_mask = {
11764                 .description = "l3.ieh_nonext",
11765                 .field_bit_size = 1,
11766                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11767                 },
11768         .field_info_spec = {
11769                 .description = "l3.ieh_nonext",
11770                 .field_bit_size = 1,
11771                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11772                 }
11773         },
11774         {
11775         .field_info_mask = {
11776                 .description = "l3.ieh_esp",
11777                 .field_bit_size = 1,
11778                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11779                 },
11780         .field_info_spec = {
11781                 .description = "l3.ieh_esp",
11782                 .field_bit_size = 1,
11783                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11784                 }
11785         },
11786         {
11787         .field_info_mask = {
11788                 .description = "l3.ieh_auth",
11789                 .field_bit_size = 1,
11790                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11791                 },
11792         .field_info_spec = {
11793                 .description = "l3.ieh_auth",
11794                 .field_bit_size = 1,
11795                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11796                 }
11797         },
11798         {
11799         .field_info_mask = {
11800                 .description = "l3.ieh_dest",
11801                 .field_bit_size = 1,
11802                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11803                 },
11804         .field_info_spec = {
11805                 .description = "l3.ieh_dest",
11806                 .field_bit_size = 1,
11807                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11808                 }
11809         },
11810         {
11811         .field_info_mask = {
11812                 .description = "l3.ieh_frag",
11813                 .field_bit_size = 1,
11814                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11815                 },
11816         .field_info_spec = {
11817                 .description = "l3.ieh_frag",
11818                 .field_bit_size = 1,
11819                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11820                 }
11821         },
11822         {
11823         .field_info_mask = {
11824                 .description = "l3.ieh_rthdr",
11825                 .field_bit_size = 1,
11826                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11827                 },
11828         .field_info_spec = {
11829                 .description = "l3.ieh_rthdr",
11830                 .field_bit_size = 1,
11831                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11832                 }
11833         },
11834         {
11835         .field_info_mask = {
11836                 .description = "l3.ieh_hop",
11837                 .field_bit_size = 1,
11838                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11839                 },
11840         .field_info_spec = {
11841                 .description = "l3.ieh_hop",
11842                 .field_bit_size = 1,
11843                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11844                 }
11845         },
11846         {
11847         .field_info_mask = {
11848                 .description = "l3.ieh_1frag",
11849                 .field_bit_size = 1,
11850                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11851                 },
11852         .field_info_spec = {
11853                 .description = "l3.ieh_1frag",
11854                 .field_bit_size = 1,
11855                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11856                 }
11857         },
11858         {
11859         .field_info_mask = {
11860                 .description = "l3.df",
11861                 .field_bit_size = 1,
11862                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11863                 },
11864         .field_info_spec = {
11865                 .description = "l3.df",
11866                 .field_bit_size = 1,
11867                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11868                 }
11869         },
11870         {
11871         .field_info_mask = {
11872                 .description = "l3.l3err.ipv4",
11873                 .field_bit_size = 4,
11874                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11875                 },
11876         .field_info_spec = {
11877                 .description = "l3.l3err.ipv4",
11878                 .field_bit_size = 4,
11879                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11880                 }
11881         },
11882         {
11883         .field_info_mask = {
11884                 .description = "l3.l3err.ipv6",
11885                 .field_bit_size = 4,
11886                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11887                 },
11888         .field_info_spec = {
11889                 .description = "l3.l3err.ipv6",
11890                 .field_bit_size = 4,
11891                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11892                 }
11893         },
11894         {
11895         .field_info_mask = {
11896                 .description = "l4.l4type",
11897                 .field_bit_size = 4,
11898                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11899                 },
11900         .field_info_spec = {
11901                 .description = "l4.l4type",
11902                 .field_bit_size = 4,
11903                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11904                 }
11905         },
11906         {
11907         .field_info_mask = {
11908                 .description = "l4.src",
11909                 .field_bit_size = 16,
11910                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11911                 },
11912         .field_info_spec = {
11913                 .description = "l4.src",
11914                 .field_bit_size = 16,
11915                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11916                 }
11917         },
11918         {
11919         .field_info_mask = {
11920                 .description = "l4.dst",
11921                 .field_bit_size = 16,
11922                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11923                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11924                 },
11925         .field_info_spec = {
11926                 .description = "l4.dst",
11927                 .field_bit_size = 16,
11928                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11929                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11930                 }
11931         },
11932         {
11933         .field_info_mask = {
11934                 .description = "l4.flags",
11935                 .field_bit_size = 9,
11936                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11937                 },
11938         .field_info_spec = {
11939                 .description = "l4.flags",
11940                 .field_bit_size = 9,
11941                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11942                 }
11943         },
11944         {
11945         .field_info_mask = {
11946                 .description = "l4.seq",
11947                 .field_bit_size = 32,
11948                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11949                 },
11950         .field_info_spec = {
11951                 .description = "l4.seq",
11952                 .field_bit_size = 32,
11953                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11954                 }
11955         },
11956         {
11957         .field_info_mask = {
11958                 .description = "l4.ack",
11959                 .field_bit_size = 32,
11960                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11961                 },
11962         .field_info_spec = {
11963                 .description = "l4.ack",
11964                 .field_bit_size = 32,
11965                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11966                 }
11967         },
11968         {
11969         .field_info_mask = {
11970                 .description = "l4.win",
11971                 .field_bit_size = 16,
11972                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11973                 },
11974         .field_info_spec = {
11975                 .description = "l4.win",
11976                 .field_bit_size = 16,
11977                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11978                 }
11979         },
11980         {
11981         .field_info_mask = {
11982                 .description = "l4.pa",
11983                 .field_bit_size = 1,
11984                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11985                 },
11986         .field_info_spec = {
11987                 .description = "l4.pa",
11988                 .field_bit_size = 1,
11989                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11990                 }
11991         },
11992         {
11993         .field_info_mask = {
11994                 .description = "l4.opt",
11995                 .field_bit_size = 1,
11996                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
11997                 },
11998         .field_info_spec = {
11999                 .description = "l4.opt",
12000                 .field_bit_size = 1,
12001                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12002                 }
12003         },
12004         {
12005         .field_info_mask = {
12006                 .description = "l4.tcpts",
12007                 .field_bit_size = 1,
12008                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12009                 },
12010         .field_info_spec = {
12011                 .description = "l4.tcpts",
12012                 .field_bit_size = 1,
12013                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12014                 }
12015         },
12016         {
12017         .field_info_mask = {
12018                 .description = "l4.tsval",
12019                 .field_bit_size = 32,
12020                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12021                 },
12022         .field_info_spec = {
12023                 .description = "l4.tsval",
12024                 .field_bit_size = 32,
12025                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12026                 }
12027         },
12028         {
12029         .field_info_mask = {
12030                 .description = "l4.txecr",
12031                 .field_bit_size = 32,
12032                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12033                 },
12034         .field_info_spec = {
12035                 .description = "l4.txecr",
12036                 .field_bit_size = 32,
12037                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12038                 }
12039         },
12040         {
12041         .field_info_mask = {
12042                 .description = "l4.err",
12043                 .field_bit_size = 4,
12044                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12045                 },
12046         .field_info_spec = {
12047                 .description = "l4.err",
12048                 .field_bit_size = 4,
12049                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12050                 }
12051         },
12052         /* class_tid: 1, thor, table: wm.icmpv4_low */
12053         {
12054         .field_info_mask = {
12055                 .description = "wc_profile_id",
12056                 .field_bit_size = 8,
12057                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12058                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
12059                 .field_opr1 = {
12060                         0xff}
12061                 },
12062         .field_info_spec = {
12063                 .description = "wc_profile_id",
12064                 .field_bit_size = 8,
12065                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12066                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
12067                 .field_opr1 = {
12068                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
12069                 BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
12070                 }
12071         },
12072         {
12073         .field_info_mask = {
12074                 .description = "l2_cntxt_id",
12075                 .field_bit_size = 10,
12076                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12077                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
12078                 .field_opr1 = {
12079                         0xff,
12080                         0xff}
12081                 },
12082         .field_info_spec = {
12083                 .description = "l2_cntxt_id",
12084                 .field_bit_size = 10,
12085                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
12086                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12087                 .field_opr1 = {
12088                 (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
12089                 BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
12090                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
12091                 .field_opr2 = {
12092                         (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
12093                         BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
12094                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
12095                 .field_opr3 = {
12096                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
12097                 BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
12098                 }
12099         },
12100         {
12101         .field_info_mask = {
12102                 .description = "parif",
12103                 .field_bit_size = 4,
12104                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12105                 },
12106         .field_info_spec = {
12107                 .description = "parif",
12108                 .field_bit_size = 4,
12109                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12110                 }
12111         },
12112         {
12113         .field_info_mask = {
12114                 .description = "spif",
12115                 .field_bit_size = 2,
12116                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12117                 },
12118         .field_info_spec = {
12119                 .description = "spif",
12120                 .field_bit_size = 2,
12121                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12122                 }
12123         },
12124         {
12125         .field_info_mask = {
12126                 .description = "svif",
12127                 .field_bit_size = 11,
12128                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12129                 },
12130         .field_info_spec = {
12131                 .description = "svif",
12132                 .field_bit_size = 11,
12133                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12134                 }
12135         },
12136         {
12137         .field_info_mask = {
12138                 .description = "lcos",
12139                 .field_bit_size = 3,
12140                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12141                 },
12142         .field_info_spec = {
12143                 .description = "lcos",
12144                 .field_bit_size = 3,
12145                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12146                 }
12147         },
12148         {
12149         .field_info_mask = {
12150                 .description = "meta",
12151                 .field_bit_size = 16,
12152                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12153                 },
12154         .field_info_spec = {
12155                 .description = "meta",
12156                 .field_bit_size = 16,
12157                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12158                 }
12159         },
12160         {
12161         .field_info_mask = {
12162                 .description = "rcyc_cnt",
12163                 .field_bit_size = 2,
12164                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12165                 },
12166         .field_info_spec = {
12167                 .description = "rcyc_cnt",
12168                 .field_bit_size = 2,
12169                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12170                 }
12171         },
12172         {
12173         .field_info_mask = {
12174                 .description = "loopback",
12175                 .field_bit_size = 1,
12176                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12177                 },
12178         .field_info_spec = {
12179                 .description = "loopback",
12180                 .field_bit_size = 1,
12181                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12182                 }
12183         },
12184         {
12185         .field_info_mask = {
12186                 .description = "tl2_l2type",
12187                 .field_bit_size = 2,
12188                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12189                 },
12190         .field_info_spec = {
12191                 .description = "tl2_l2type",
12192                 .field_bit_size = 2,
12193                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12194                 }
12195         },
12196         {
12197         .field_info_mask = {
12198                 .description = "tl2_dmac",
12199                 .field_bit_size = 48,
12200                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12201                 },
12202         .field_info_spec = {
12203                 .description = "tl2_dmac",
12204                 .field_bit_size = 48,
12205                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12206                 }
12207         },
12208         {
12209         .field_info_mask = {
12210                 .description = "tl2_smac",
12211                 .field_bit_size = 48,
12212                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12213                 },
12214         .field_info_spec = {
12215                 .description = "tl2_smac",
12216                 .field_bit_size = 48,
12217                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12218                 }
12219         },
12220         {
12221         .field_info_mask = {
12222                 .description = "tl2_dt",
12223                 .field_bit_size = 2,
12224                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12225                 },
12226         .field_info_spec = {
12227                 .description = "tl2_dt",
12228                 .field_bit_size = 2,
12229                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12230                 }
12231         },
12232         {
12233         .field_info_mask = {
12234                 .description = "tl2_sa",
12235                 .field_bit_size = 1,
12236                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12237                 },
12238         .field_info_spec = {
12239                 .description = "tl2_sa",
12240                 .field_bit_size = 1,
12241                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12242                 }
12243         },
12244         {
12245         .field_info_mask = {
12246                 .description = "tl2_nvt",
12247                 .field_bit_size = 2,
12248                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12249                 },
12250         .field_info_spec = {
12251                 .description = "tl2_nvt",
12252                 .field_bit_size = 2,
12253                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12254                 }
12255         },
12256         {
12257         .field_info_mask = {
12258                 .description = "tl2_ovp",
12259                 .field_bit_size = 3,
12260                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12261                 },
12262         .field_info_spec = {
12263                 .description = "tl2_ovp",
12264                 .field_bit_size = 3,
12265                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12266                 }
12267         },
12268         {
12269         .field_info_mask = {
12270                 .description = "tl2_ovd",
12271                 .field_bit_size = 1,
12272                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12273                 },
12274         .field_info_spec = {
12275                 .description = "tl2_ovd",
12276                 .field_bit_size = 1,
12277                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12278                 }
12279         },
12280         {
12281         .field_info_mask = {
12282                 .description = "tl2_ovv",
12283                 .field_bit_size = 12,
12284                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12285                 },
12286         .field_info_spec = {
12287                 .description = "tl2_ovv",
12288                 .field_bit_size = 12,
12289                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12290                 }
12291         },
12292         {
12293         .field_info_mask = {
12294                 .description = "tl2_ovt",
12295                 .field_bit_size = 3,
12296                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12297                 },
12298         .field_info_spec = {
12299                 .description = "tl2_ovt",
12300                 .field_bit_size = 3,
12301                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12302                 }
12303         },
12304         {
12305         .field_info_mask = {
12306                 .description = "tl2_ivp",
12307                 .field_bit_size = 3,
12308                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12309                 },
12310         .field_info_spec = {
12311                 .description = "tl2_ivp",
12312                 .field_bit_size = 3,
12313                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12314                 }
12315         },
12316         {
12317         .field_info_mask = {
12318                 .description = "tl2_ivd",
12319                 .field_bit_size = 1,
12320                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12321                 },
12322         .field_info_spec = {
12323                 .description = "tl2_ivd",
12324                 .field_bit_size = 1,
12325                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12326                 }
12327         },
12328         {
12329         .field_info_mask = {
12330                 .description = "tl2_ivv",
12331                 .field_bit_size = 12,
12332                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12333                 },
12334         .field_info_spec = {
12335                 .description = "tl2_ivv",
12336                 .field_bit_size = 12,
12337                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12338                 }
12339         },
12340         {
12341         .field_info_mask = {
12342                 .description = "tl2_ivt",
12343                 .field_bit_size = 3,
12344                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12345                 },
12346         .field_info_spec = {
12347                 .description = "tl2_ivt",
12348                 .field_bit_size = 3,
12349                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12350                 }
12351         },
12352         {
12353         .field_info_mask = {
12354                 .description = "tl2_etype",
12355                 .field_bit_size = 16,
12356                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12357                 },
12358         .field_info_spec = {
12359                 .description = "tl2_etype",
12360                 .field_bit_size = 16,
12361                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12362                 }
12363         },
12364         {
12365         .field_info_mask = {
12366                 .description = "tl3.l3type",
12367                 .field_bit_size = 4,
12368                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12369                 },
12370         .field_info_spec = {
12371                 .description = "tl3.l3type",
12372                 .field_bit_size = 4,
12373                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12374                 }
12375         },
12376         {
12377         .field_info_mask = {
12378                 .description = "tl3.sip.ipv4",
12379                 .field_bit_size = 32,
12380                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12381                 },
12382         .field_info_spec = {
12383                 .description = "tl3.sip.ipv4",
12384                 .field_bit_size = 32,
12385                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12386                 }
12387         },
12388         {
12389         .field_info_mask = {
12390                 .description = "tl3.sip.ipv6",
12391                 .field_bit_size = 128,
12392                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12393                 },
12394         .field_info_spec = {
12395                 .description = "tl3.sip.ipv6",
12396                 .field_bit_size = 128,
12397                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12398                 }
12399         },
12400         {
12401         .field_info_mask = {
12402                 .description = "tl3.sip_selcmp.ipv6",
12403                 .field_bit_size = 72,
12404                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12405                 },
12406         .field_info_spec = {
12407                 .description = "tl3.sip_selcmp.ipv6",
12408                 .field_bit_size = 72,
12409                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12410                 }
12411         },
12412         {
12413         .field_info_mask = {
12414                 .description = "tl3.dip.ipv4",
12415                 .field_bit_size = 32,
12416                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12417                 },
12418         .field_info_spec = {
12419                 .description = "tl3.dip.ipv4",
12420                 .field_bit_size = 32,
12421                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12422                 }
12423         },
12424         {
12425         .field_info_mask = {
12426                 .description = "tl3.dip.ipv6",
12427                 .field_bit_size = 128,
12428                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12429                 },
12430         .field_info_spec = {
12431                 .description = "tl3.dip.ipv6",
12432                 .field_bit_size = 128,
12433                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12434                 }
12435         },
12436         {
12437         .field_info_mask = {
12438                 .description = "tl3.dip_selcmp.ipv6",
12439                 .field_bit_size = 72,
12440                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12441                 },
12442         .field_info_spec = {
12443                 .description = "tl3.dip_selcmp.ipv6",
12444                 .field_bit_size = 72,
12445                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12446                 }
12447         },
12448         {
12449         .field_info_mask = {
12450                 .description = "tl3.ttl",
12451                 .field_bit_size = 8,
12452                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12453                 },
12454         .field_info_spec = {
12455                 .description = "tl3.ttl",
12456                 .field_bit_size = 8,
12457                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12458                 }
12459         },
12460         {
12461         .field_info_mask = {
12462                 .description = "tl3.prot",
12463                 .field_bit_size = 8,
12464                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12465                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12466                 },
12467         .field_info_spec = {
12468                 .description = "tl3.prot",
12469                 .field_bit_size = 8,
12470                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12471                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12472                 }
12473         },
12474         {
12475         .field_info_mask = {
12476                 .description = "tl3.fid.ipv4",
12477                 .field_bit_size = 16,
12478                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12479                 },
12480         .field_info_spec = {
12481                 .description = "tl3.fid.ipv4",
12482                 .field_bit_size = 16,
12483                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12484                 }
12485         },
12486         {
12487         .field_info_mask = {
12488                 .description = "tl3.fid.ipv6",
12489                 .field_bit_size = 20,
12490                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12491                 },
12492         .field_info_spec = {
12493                 .description = "tl3.fid.ipv6",
12494                 .field_bit_size = 20,
12495                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12496                 }
12497         },
12498         {
12499         .field_info_mask = {
12500                 .description = "tl3.qos",
12501                 .field_bit_size = 8,
12502                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12503                 },
12504         .field_info_spec = {
12505                 .description = "tl3.qos",
12506                 .field_bit_size = 8,
12507                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12508                 }
12509         },
12510         {
12511         .field_info_mask = {
12512                 .description = "tl3.ieh_nonext",
12513                 .field_bit_size = 1,
12514                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12515                 },
12516         .field_info_spec = {
12517                 .description = "tl3.ieh_nonext",
12518                 .field_bit_size = 1,
12519                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12520                 }
12521         },
12522         {
12523         .field_info_mask = {
12524                 .description = "tl3.ieh_esp",
12525                 .field_bit_size = 1,
12526                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12527                 },
12528         .field_info_spec = {
12529                 .description = "tl3.ieh_esp",
12530                 .field_bit_size = 1,
12531                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12532                 }
12533         },
12534         {
12535         .field_info_mask = {
12536                 .description = "tl3.ieh_auth",
12537                 .field_bit_size = 1,
12538                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12539                 },
12540         .field_info_spec = {
12541                 .description = "tl3.ieh_auth",
12542                 .field_bit_size = 1,
12543                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12544                 }
12545         },
12546         {
12547         .field_info_mask = {
12548                 .description = "tl3.ieh_dest",
12549                 .field_bit_size = 1,
12550                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12551                 },
12552         .field_info_spec = {
12553                 .description = "tl3.ieh_dest",
12554                 .field_bit_size = 1,
12555                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12556                 }
12557         },
12558         {
12559         .field_info_mask = {
12560                 .description = "tl3.ieh_frag",
12561                 .field_bit_size = 1,
12562                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12563                 },
12564         .field_info_spec = {
12565                 .description = "tl3.ieh_frag",
12566                 .field_bit_size = 1,
12567                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12568                 }
12569         },
12570         {
12571         .field_info_mask = {
12572                 .description = "tl3.ieh_rthdr",
12573                 .field_bit_size = 1,
12574                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12575                 },
12576         .field_info_spec = {
12577                 .description = "tl3.ieh_rthdr",
12578                 .field_bit_size = 1,
12579                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12580                 }
12581         },
12582         {
12583         .field_info_mask = {
12584                 .description = "tl3.ieh_hop",
12585                 .field_bit_size = 1,
12586                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12587                 },
12588         .field_info_spec = {
12589                 .description = "tl3.ieh_hop",
12590                 .field_bit_size = 1,
12591                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12592                 }
12593         },
12594         {
12595         .field_info_mask = {
12596                 .description = "tl3.ieh_1frag",
12597                 .field_bit_size = 1,
12598                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12599                 },
12600         .field_info_spec = {
12601                 .description = "tl3.ieh_1frag",
12602                 .field_bit_size = 1,
12603                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12604                 }
12605         },
12606         {
12607         .field_info_mask = {
12608                 .description = "tl3.df",
12609                 .field_bit_size = 1,
12610                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12611                 },
12612         .field_info_spec = {
12613                 .description = "tl3.df",
12614                 .field_bit_size = 1,
12615                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12616                 }
12617         },
12618         {
12619         .field_info_mask = {
12620                 .description = "tl3.l3err",
12621                 .field_bit_size = 4,
12622                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12623                 },
12624         .field_info_spec = {
12625                 .description = "tl3.l3err",
12626                 .field_bit_size = 4,
12627                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12628                 }
12629         },
12630         {
12631         .field_info_mask = {
12632                 .description = "tl4.l4type",
12633                 .field_bit_size = 4,
12634                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12635                 },
12636         .field_info_spec = {
12637                 .description = "tl4.l4type",
12638                 .field_bit_size = 4,
12639                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12640                 }
12641         },
12642         {
12643         .field_info_mask = {
12644                 .description = "tl4.src",
12645                 .field_bit_size = 16,
12646                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12647                 },
12648         .field_info_spec = {
12649                 .description = "tl4.src",
12650                 .field_bit_size = 16,
12651                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12652                 }
12653         },
12654         {
12655         .field_info_mask = {
12656                 .description = "tl4.dst",
12657                 .field_bit_size = 16,
12658                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12659                 },
12660         .field_info_spec = {
12661                 .description = "tl4.dst",
12662                 .field_bit_size = 16,
12663                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12664                 }
12665         },
12666         {
12667         .field_info_mask = {
12668                 .description = "tl4.flags",
12669                 .field_bit_size = 9,
12670                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12671                 },
12672         .field_info_spec = {
12673                 .description = "tl4.flags",
12674                 .field_bit_size = 9,
12675                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12676                 }
12677         },
12678         {
12679         .field_info_mask = {
12680                 .description = "tl4.seq",
12681                 .field_bit_size = 32,
12682                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12683                 },
12684         .field_info_spec = {
12685                 .description = "tl4.seq",
12686                 .field_bit_size = 32,
12687                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12688                 }
12689         },
12690         {
12691         .field_info_mask = {
12692                 .description = "tl4.pa",
12693                 .field_bit_size = 1,
12694                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12695                 },
12696         .field_info_spec = {
12697                 .description = "tl4.pa",
12698                 .field_bit_size = 1,
12699                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12700                 }
12701         },
12702         {
12703         .field_info_mask = {
12704                 .description = "tl4.opt",
12705                 .field_bit_size = 1,
12706                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12707                 },
12708         .field_info_spec = {
12709                 .description = "tl4.opt",
12710                 .field_bit_size = 1,
12711                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12712                 }
12713         },
12714         {
12715         .field_info_mask = {
12716                 .description = "tl4.tcpts",
12717                 .field_bit_size = 1,
12718                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12719                 },
12720         .field_info_spec = {
12721                 .description = "tl4.tcpts",
12722                 .field_bit_size = 1,
12723                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12724                 }
12725         },
12726         {
12727         .field_info_mask = {
12728                 .description = "tl4.err",
12729                 .field_bit_size = 4,
12730                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12731                 },
12732         .field_info_spec = {
12733                 .description = "tl4.err",
12734                 .field_bit_size = 4,
12735                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12736                 }
12737         },
12738         {
12739         .field_info_mask = {
12740                 .description = "tuntype",
12741                 .field_bit_size = 4,
12742                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12743                 },
12744         .field_info_spec = {
12745                 .description = "tuntype",
12746                 .field_bit_size = 4,
12747                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12748                 }
12749         },
12750         {
12751         .field_info_mask = {
12752                 .description = "tflags",
12753                 .field_bit_size = 3,
12754                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12755                 },
12756         .field_info_spec = {
12757                 .description = "tflags",
12758                 .field_bit_size = 3,
12759                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12760                 }
12761         },
12762         {
12763         .field_info_mask = {
12764                 .description = "tids",
12765                 .field_bit_size = 24,
12766                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12767                 },
12768         .field_info_spec = {
12769                 .description = "tids",
12770                 .field_bit_size = 24,
12771                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12772                 }
12773         },
12774         {
12775         .field_info_mask = {
12776                 .description = "tid",
12777                 .field_bit_size = 32,
12778                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12779                 },
12780         .field_info_spec = {
12781                 .description = "tid",
12782                 .field_bit_size = 32,
12783                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12784                 }
12785         },
12786         {
12787         .field_info_mask = {
12788                 .description = "tctxts",
12789                 .field_bit_size = 24,
12790                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12791                 },
12792         .field_info_spec = {
12793                 .description = "tctxts",
12794                 .field_bit_size = 24,
12795                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12796                 }
12797         },
12798         {
12799         .field_info_mask = {
12800                 .description = "tctxt",
12801                 .field_bit_size = 32,
12802                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12803                 },
12804         .field_info_spec = {
12805                 .description = "tctxt",
12806                 .field_bit_size = 32,
12807                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12808                 }
12809         },
12810         {
12811         .field_info_mask = {
12812                 .description = "tqos",
12813                 .field_bit_size = 3,
12814                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12815                 },
12816         .field_info_spec = {
12817                 .description = "tqos",
12818                 .field_bit_size = 3,
12819                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12820                 }
12821         },
12822         {
12823         .field_info_mask = {
12824                 .description = "terr",
12825                 .field_bit_size = 4,
12826                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12827                 },
12828         .field_info_spec = {
12829                 .description = "terr",
12830                 .field_bit_size = 4,
12831                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12832                 }
12833         },
12834         {
12835         .field_info_mask = {
12836                 .description = "l2_l2type",
12837                 .field_bit_size = 2,
12838                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12839                 },
12840         .field_info_spec = {
12841                 .description = "l2_l2type",
12842                 .field_bit_size = 2,
12843                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12844                 }
12845         },
12846         {
12847         .field_info_mask = {
12848                 .description = "l2_dmac",
12849                 .field_bit_size = 48,
12850                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12851                 },
12852         .field_info_spec = {
12853                 .description = "l2_dmac",
12854                 .field_bit_size = 48,
12855                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12856                 }
12857         },
12858         {
12859         .field_info_mask = {
12860                 .description = "l2_smac",
12861                 .field_bit_size = 48,
12862                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12863                 },
12864         .field_info_spec = {
12865                 .description = "l2_smac",
12866                 .field_bit_size = 48,
12867                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12868                 }
12869         },
12870         {
12871         .field_info_mask = {
12872                 .description = "l2_dt",
12873                 .field_bit_size = 2,
12874                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12875                 },
12876         .field_info_spec = {
12877                 .description = "l2_dt",
12878                 .field_bit_size = 2,
12879                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12880                 }
12881         },
12882         {
12883         .field_info_mask = {
12884                 .description = "l2_sa",
12885                 .field_bit_size = 1,
12886                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12887                 },
12888         .field_info_spec = {
12889                 .description = "l2_sa",
12890                 .field_bit_size = 1,
12891                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12892                 }
12893         },
12894         {
12895         .field_info_mask = {
12896                 .description = "l2_nvt",
12897                 .field_bit_size = 2,
12898                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12899                 },
12900         .field_info_spec = {
12901                 .description = "l2_nvt",
12902                 .field_bit_size = 2,
12903                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12904                 }
12905         },
12906         {
12907         .field_info_mask = {
12908                 .description = "l2_ovp",
12909                 .field_bit_size = 3,
12910                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12911                 },
12912         .field_info_spec = {
12913                 .description = "l2_ovp",
12914                 .field_bit_size = 3,
12915                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12916                 }
12917         },
12918         {
12919         .field_info_mask = {
12920                 .description = "l2_ovd",
12921                 .field_bit_size = 1,
12922                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12923                 },
12924         .field_info_spec = {
12925                 .description = "l2_ovd",
12926                 .field_bit_size = 1,
12927                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12928                 }
12929         },
12930         {
12931         .field_info_mask = {
12932                 .description = "l2_ovv",
12933                 .field_bit_size = 12,
12934                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12935                 },
12936         .field_info_spec = {
12937                 .description = "l2_ovv",
12938                 .field_bit_size = 12,
12939                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12940                 }
12941         },
12942         {
12943         .field_info_mask = {
12944                 .description = "l2_ovt",
12945                 .field_bit_size = 3,
12946                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12947                 },
12948         .field_info_spec = {
12949                 .description = "l2_ovt",
12950                 .field_bit_size = 3,
12951                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12952                 }
12953         },
12954         {
12955         .field_info_mask = {
12956                 .description = "l2_ivp",
12957                 .field_bit_size = 3,
12958                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12959                 },
12960         .field_info_spec = {
12961                 .description = "l2_ivp",
12962                 .field_bit_size = 3,
12963                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12964                 }
12965         },
12966         {
12967         .field_info_mask = {
12968                 .description = "l2_ivd",
12969                 .field_bit_size = 1,
12970                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12971                 },
12972         .field_info_spec = {
12973                 .description = "l2_ivd",
12974                 .field_bit_size = 1,
12975                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12976                 }
12977         },
12978         {
12979         .field_info_mask = {
12980                 .description = "l2_ivv",
12981                 .field_bit_size = 12,
12982                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12983                 },
12984         .field_info_spec = {
12985                 .description = "l2_ivv",
12986                 .field_bit_size = 12,
12987                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12988                 }
12989         },
12990         {
12991         .field_info_mask = {
12992                 .description = "l2_ivt",
12993                 .field_bit_size = 3,
12994                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
12995                 },
12996         .field_info_spec = {
12997                 .description = "l2_ivt",
12998                 .field_bit_size = 3,
12999                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13000                 }
13001         },
13002         {
13003         .field_info_mask = {
13004                 .description = "l2_etype",
13005                 .field_bit_size = 16,
13006                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13007                 },
13008         .field_info_spec = {
13009                 .description = "l2_etype",
13010                 .field_bit_size = 16,
13011                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13012                 }
13013         },
13014         {
13015         .field_info_mask = {
13016                 .description = "l3.l3type",
13017                 .field_bit_size = 4,
13018                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13019                 },
13020         .field_info_spec = {
13021                 .description = "l3.l3type",
13022                 .field_bit_size = 4,
13023                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13024                 }
13025         },
13026         {
13027         .field_info_mask = {
13028                 .description = "l3.sip.ipv4",
13029                 .field_bit_size = 32,
13030                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13031                 },
13032         .field_info_spec = {
13033                 .description = "l3.sip.ipv4",
13034                 .field_bit_size = 32,
13035                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13036                 }
13037         },
13038         {
13039         .field_info_mask = {
13040                 .description = "l3.sip.ipv6",
13041                 .field_bit_size = 128,
13042                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13043                 },
13044         .field_info_spec = {
13045                 .description = "l3.sip.ipv6",
13046                 .field_bit_size = 128,
13047                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13048                 }
13049         },
13050         {
13051         .field_info_mask = {
13052                 .description = "l3.sip_selcmp.ipv6",
13053                 .field_bit_size = 72,
13054                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13055                 },
13056         .field_info_spec = {
13057                 .description = "l3.sip_selcmp.ipv6",
13058                 .field_bit_size = 72,
13059                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13060                 }
13061         },
13062         {
13063         .field_info_mask = {
13064                 .description = "l3.dip.ipv4",
13065                 .field_bit_size = 32,
13066                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13067                 },
13068         .field_info_spec = {
13069                 .description = "l3.dip.ipv4",
13070                 .field_bit_size = 32,
13071                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13072                 }
13073         },
13074         {
13075         .field_info_mask = {
13076                 .description = "l3.dip.ipv6",
13077                 .field_bit_size = 128,
13078                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13079                 },
13080         .field_info_spec = {
13081                 .description = "l3.dip.ipv6",
13082                 .field_bit_size = 128,
13083                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13084                 }
13085         },
13086         {
13087         .field_info_mask = {
13088                 .description = "l3.dip_selcmp.ipv6",
13089                 .field_bit_size = 72,
13090                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13091                 },
13092         .field_info_spec = {
13093                 .description = "l3.dip_selcmp.ipv6",
13094                 .field_bit_size = 72,
13095                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13096                 }
13097         },
13098         {
13099         .field_info_mask = {
13100                 .description = "l3.ttl",
13101                 .field_bit_size = 8,
13102                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13103                 },
13104         .field_info_spec = {
13105                 .description = "l3.ttl",
13106                 .field_bit_size = 8,
13107                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13108                 }
13109         },
13110         {
13111         .field_info_mask = {
13112                 .description = "l3.prot",
13113                 .field_bit_size = 8,
13114                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13115                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
13116                 .field_opr1 = {
13117                         0xff}
13118                 },
13119         .field_info_spec = {
13120                 .description = "l3.prot",
13121                 .field_bit_size = 8,
13122                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
13123                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
13124                 .field_opr1 = {
13125                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
13126                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
13127                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
13128                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
13129                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
13130                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
13131                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
13132                 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
13133                 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
13134                 .field_opr2 = {
13135                         1},
13136                 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
13137                 .field_opr3 = {
13138                 58}
13139                 }
13140         },
13141         {
13142         .field_info_mask = {
13143                 .description = "l3.fid.ipv4",
13144                 .field_bit_size = 16,
13145                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13146                 },
13147         .field_info_spec = {
13148                 .description = "l3.fid.ipv4",
13149                 .field_bit_size = 16,
13150                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13151                 }
13152         },
13153         {
13154         .field_info_mask = {
13155                 .description = "l3.fid.ipv6",
13156                 .field_bit_size = 20,
13157                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13158                 },
13159         .field_info_spec = {
13160                 .description = "l3.fid.ipv6",
13161                 .field_bit_size = 20,
13162                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13163                 }
13164         },
13165         {
13166         .field_info_mask = {
13167                 .description = "l3.qos",
13168                 .field_bit_size = 8,
13169                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13170                 },
13171         .field_info_spec = {
13172                 .description = "l3.qos",
13173                 .field_bit_size = 8,
13174                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13175                 }
13176         },
13177         {
13178         .field_info_mask = {
13179                 .description = "l3.ieh_nonext",
13180                 .field_bit_size = 1,
13181                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13182                 },
13183         .field_info_spec = {
13184                 .description = "l3.ieh_nonext",
13185                 .field_bit_size = 1,
13186                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13187                 }
13188         },
13189         {
13190         .field_info_mask = {
13191                 .description = "l3.ieh_esp",
13192                 .field_bit_size = 1,
13193                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13194                 },
13195         .field_info_spec = {
13196                 .description = "l3.ieh_esp",
13197                 .field_bit_size = 1,
13198                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13199                 }
13200         },
13201         {
13202         .field_info_mask = {
13203                 .description = "l3.ieh_auth",
13204                 .field_bit_size = 1,
13205                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13206                 },
13207         .field_info_spec = {
13208                 .description = "l3.ieh_auth",
13209                 .field_bit_size = 1,
13210                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13211                 }
13212         },
13213         {
13214         .field_info_mask = {
13215                 .description = "l3.ieh_dest",
13216                 .field_bit_size = 1,
13217                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13218                 },
13219         .field_info_spec = {
13220                 .description = "l3.ieh_dest",
13221                 .field_bit_size = 1,
13222                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13223                 }
13224         },
13225         {
13226         .field_info_mask = {
13227                 .description = "l3.ieh_frag",
13228                 .field_bit_size = 1,
13229                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13230                 },
13231         .field_info_spec = {
13232                 .description = "l3.ieh_frag",
13233                 .field_bit_size = 1,
13234                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13235                 }
13236         },
13237         {
13238         .field_info_mask = {
13239                 .description = "l3.ieh_rthdr",
13240                 .field_bit_size = 1,
13241                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13242                 },
13243         .field_info_spec = {
13244                 .description = "l3.ieh_rthdr",
13245                 .field_bit_size = 1,
13246                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13247                 }
13248         },
13249         {
13250         .field_info_mask = {
13251                 .description = "l3.ieh_hop",
13252                 .field_bit_size = 1,
13253                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13254                 },
13255         .field_info_spec = {
13256                 .description = "l3.ieh_hop",
13257                 .field_bit_size = 1,
13258                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13259                 }
13260         },
13261         {
13262         .field_info_mask = {
13263                 .description = "l3.ieh_1frag",
13264                 .field_bit_size = 1,
13265                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13266                 },
13267         .field_info_spec = {
13268                 .description = "l3.ieh_1frag",
13269                 .field_bit_size = 1,
13270                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13271                 }
13272         },
13273         {
13274         .field_info_mask = {
13275                 .description = "l3.df",
13276                 .field_bit_size = 1,
13277                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13278                 },
13279         .field_info_spec = {
13280                 .description = "l3.df",
13281                 .field_bit_size = 1,
13282                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13283                 }
13284         },
13285         {
13286         .field_info_mask = {
13287                 .description = "l3.l3err.ipv4",
13288                 .field_bit_size = 4,
13289                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13290                 },
13291         .field_info_spec = {
13292                 .description = "l3.l3err.ipv4",
13293                 .field_bit_size = 4,
13294                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13295                 }
13296         },
13297         {
13298         .field_info_mask = {
13299                 .description = "l3.l3err.ipv6",
13300                 .field_bit_size = 4,
13301                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13302                 },
13303         .field_info_spec = {
13304                 .description = "l3.l3err.ipv6",
13305                 .field_bit_size = 4,
13306                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13307                 }
13308         },
13309         {
13310         .field_info_mask = {
13311                 .description = "l4.l4type",
13312                 .field_bit_size = 4,
13313                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13314                 },
13315         .field_info_spec = {
13316                 .description = "l4.l4type",
13317                 .field_bit_size = 4,
13318                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13319                 }
13320         },
13321         {
13322         .field_info_mask = {
13323                 .description = "l4.src",
13324                 .field_bit_size = 16,
13325                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13326                 },
13327         .field_info_spec = {
13328                 .description = "l4.src",
13329                 .field_bit_size = 16,
13330                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13331                 }
13332         },
13333         {
13334         .field_info_mask = {
13335                 .description = "l4.dst",
13336                 .field_bit_size = 16,
13337                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13338                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13339                 },
13340         .field_info_spec = {
13341                 .description = "l4.dst",
13342                 .field_bit_size = 16,
13343                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13344                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13345                 }
13346         },
13347         {
13348         .field_info_mask = {
13349                 .description = "l4.flags",
13350                 .field_bit_size = 9,
13351                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13352                 },
13353         .field_info_spec = {
13354                 .description = "l4.flags",
13355                 .field_bit_size = 9,
13356                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13357                 }
13358         },
13359         {
13360         .field_info_mask = {
13361                 .description = "l4.seq",
13362                 .field_bit_size = 32,
13363                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13364                 },
13365         .field_info_spec = {
13366                 .description = "l4.seq",
13367                 .field_bit_size = 32,
13368                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13369                 }
13370         },
13371         {
13372         .field_info_mask = {
13373                 .description = "l4.ack",
13374                 .field_bit_size = 32,
13375                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13376                 },
13377         .field_info_spec = {
13378                 .description = "l4.ack",
13379                 .field_bit_size = 32,
13380                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13381                 }
13382         },
13383         {
13384         .field_info_mask = {
13385                 .description = "l4.win",
13386                 .field_bit_size = 16,
13387                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13388                 },
13389         .field_info_spec = {
13390                 .description = "l4.win",
13391                 .field_bit_size = 16,
13392                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13393                 }
13394         },
13395         {
13396         .field_info_mask = {
13397                 .description = "l4.pa",
13398                 .field_bit_size = 1,
13399                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13400                 },
13401         .field_info_spec = {
13402                 .description = "l4.pa",
13403                 .field_bit_size = 1,
13404                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13405                 }
13406         },
13407         {
13408         .field_info_mask = {
13409                 .description = "l4.opt",
13410                 .field_bit_size = 1,
13411                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13412                 },
13413         .field_info_spec = {
13414                 .description = "l4.opt",
13415                 .field_bit_size = 1,
13416                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13417                 }
13418         },
13419         {
13420         .field_info_mask = {
13421                 .description = "l4.tcpts",
13422                 .field_bit_size = 1,
13423                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13424                 },
13425         .field_info_spec = {
13426                 .description = "l4.tcpts",
13427                 .field_bit_size = 1,
13428                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13429                 }
13430         },
13431         {
13432         .field_info_mask = {
13433                 .description = "l4.tsval",
13434                 .field_bit_size = 32,
13435                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13436                 },
13437         .field_info_spec = {
13438                 .description = "l4.tsval",
13439                 .field_bit_size = 32,
13440                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13441                 }
13442         },
13443         {
13444         .field_info_mask = {
13445                 .description = "l4.txecr",
13446                 .field_bit_size = 32,
13447                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13448                 },
13449         .field_info_spec = {
13450                 .description = "l4.txecr",
13451                 .field_bit_size = 32,
13452                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13453                 }
13454         },
13455         {
13456         .field_info_mask = {
13457                 .description = "l4.err",
13458                 .field_bit_size = 4,
13459                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13460                 },
13461         .field_info_spec = {
13462                 .description = "l4.err",
13463                 .field_bit_size = 4,
13464                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
13465                 }
13466         },
13467         /* class_tid: 1, thor, table: profile_tcam_cache.icmpv6_rd */
13468         {
13469         .field_info_mask = {
13470                 .description = "recycle_cnt",
13471                 .field_bit_size = 2,
13472                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13473                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
13474                 .field_opr1 = {
13475                         0xff}
13476                 },
13477         .field_info_spec = {
13478                 .description = "recycle_cnt",
13479                 .field_bit_size = 2,
13480                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13481                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13482                 }
13483         },
13484         {
13485         .field_info_mask = {
13486                 .description = "prof_func_id",
13487                 .field_bit_size = 7,
13488                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13489                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
13490                 .field_opr1 = {
13491                         0xff}
13492                 },
13493         .field_info_spec = {
13494                 .description = "prof_func_id",
13495                 .field_bit_size = 7,
13496                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13497                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
13498                 .field_opr1 = {
13499                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
13500                 BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
13501                 }
13502         },
13503         {
13504         .field_info_mask = {
13505                 .description = "hdr_sig_id",
13506                 .field_bit_size = 5,
13507                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13508                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
13509                 .field_opr1 = {
13510                         0xff}
13511                 },
13512         .field_info_spec = {
13513                 .description = "hdr_sig_id",
13514                 .field_bit_size = 5,
13515                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13516                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
13517                 .field_opr1 = {
13518                 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
13519                 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
13520                 }
13521         },
13522         /* class_tid: 1, thor, table: profile_tcam.icmpv6 */
13523         {
13524         .field_info_mask = {
13525                 .description = "l4_hdr_is_udp_tcp",
13526                 .field_bit_size = 1,
13527                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13528                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13529                 },
13530         .field_info_spec = {
13531                 .description = "l4_hdr_is_udp_tcp",
13532                 .field_bit_size = 1,
13533                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13534                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13535                 }
13536         },
13537         {
13538         .field_info_mask = {
13539                 .description = "l4_hdr_type",
13540                 .field_bit_size = 4,
13541                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13542                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
13543                 .field_opr1 = {
13544                         0xff}
13545                 },
13546         .field_info_spec = {
13547                 .description = "l4_hdr_type",
13548                 .field_bit_size = 4,
13549                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13550                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13551                 .field_opr1 = {
13552                 ULP_THOR_SYM_L4_HDR_TYPE_ICMP}
13553                 }
13554         },
13555         {
13556         .field_info_mask = {
13557                 .description = "l4_hdr_error",
13558                 .field_bit_size = 1,
13559                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13560                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13561                 },
13562         .field_info_spec = {
13563                 .description = "l4_hdr_error",
13564                 .field_bit_size = 1,
13565                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13566                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13567                 }
13568         },
13569         {
13570         .field_info_mask = {
13571                 .description = "l4_hdr_valid",
13572                 .field_bit_size = 1,
13573                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13574                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
13575                 .field_opr1 = {
13576                         0xff}
13577                 },
13578         .field_info_spec = {
13579                 .description = "l4_hdr_valid",
13580                 .field_bit_size = 1,
13581                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13582                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13583                 .field_opr1 = {
13584                 ULP_THOR_SYM_L4_HDR_VALID_YES}
13585                 }
13586         },
13587         {
13588         .field_info_mask = {
13589                 .description = "ieh",
13590                 .field_bit_size = 8,
13591                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13592                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13593                 },
13594         .field_info_spec = {
13595                 .description = "ieh",
13596                 .field_bit_size = 8,
13597                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13598                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13599                 }
13600         },
13601         {
13602         .field_info_mask = {
13603                 .description = "l3_ipv6_cmp_dst",
13604                 .field_bit_size = 1,
13605                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13606                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13607                 },
13608         .field_info_spec = {
13609                 .description = "l3_ipv6_cmp_dst",
13610                 .field_bit_size = 1,
13611                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13612                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13613                 }
13614         },
13615         {
13616         .field_info_mask = {
13617                 .description = "l3_ipv6_cmp_src",
13618                 .field_bit_size = 1,
13619                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13620                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13621                 },
13622         .field_info_spec = {
13623                 .description = "l3_ipv6_cmp_src",
13624                 .field_bit_size = 1,
13625                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13626                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13627                 }
13628         },
13629         {
13630         .field_info_mask = {
13631                 .description = "l3_hdr_isIP",
13632                 .field_bit_size = 1,
13633                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13634                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13635                 },
13636         .field_info_spec = {
13637                 .description = "l3_hdr_isIP",
13638                 .field_bit_size = 1,
13639                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13640                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13641                 }
13642         },
13643         {
13644         .field_info_mask = {
13645                 .description = "l3_hdr_type",
13646                 .field_bit_size = 4,
13647                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13648                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
13649                 .field_opr1 = {
13650                         0xff}
13651                 },
13652         .field_info_spec = {
13653                 .description = "l3_hdr_type",
13654                 .field_bit_size = 4,
13655                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13656                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13657                 .field_opr1 = {
13658                 ULP_THOR_SYM_L3_HDR_TYPE_IPV6}
13659                 }
13660         },
13661         {
13662         .field_info_mask = {
13663                 .description = "l3_hdr_error",
13664                 .field_bit_size = 1,
13665                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13666                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13667                 },
13668         .field_info_spec = {
13669                 .description = "l3_hdr_error",
13670                 .field_bit_size = 1,
13671                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13672                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13673                 }
13674         },
13675         {
13676         .field_info_mask = {
13677                 .description = "l3_hdr_valid",
13678                 .field_bit_size = 1,
13679                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13680                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
13681                 .field_opr1 = {
13682                         0xff}
13683                 },
13684         .field_info_spec = {
13685                 .description = "l3_hdr_valid",
13686                 .field_bit_size = 1,
13687                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13688                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13689                 .field_opr1 = {
13690                 ULP_THOR_SYM_L3_HDR_VALID_YES}
13691                 }
13692         },
13693         {
13694         .field_info_mask = {
13695                 .description = "l2_two_vtags",
13696                 .field_bit_size = 1,
13697                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13698                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13699                 },
13700         .field_info_spec = {
13701                 .description = "l2_two_vtags",
13702                 .field_bit_size = 1,
13703                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13704                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13705                 }
13706         },
13707         {
13708         .field_info_mask = {
13709                 .description = "l2_vtag_present",
13710                 .field_bit_size = 1,
13711                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13712                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13713                 },
13714         .field_info_spec = {
13715                 .description = "l2_vtag_present",
13716                 .field_bit_size = 1,
13717                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13718                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13719                 }
13720         },
13721         {
13722         .field_info_mask = {
13723                 .description = "l2_uc_mc_bc",
13724                 .field_bit_size = 2,
13725                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13726                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13727                 },
13728         .field_info_spec = {
13729                 .description = "l2_uc_mc_bc",
13730                 .field_bit_size = 2,
13731                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13732                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13733                 }
13734         },
13735         {
13736         .field_info_mask = {
13737                 .description = "l2_hdr_type",
13738                 .field_bit_size = 2,
13739                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13740                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13741                 },
13742         .field_info_spec = {
13743                 .description = "l2_hdr_type",
13744                 .field_bit_size = 2,
13745                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13746                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13747                 }
13748         },
13749         {
13750         .field_info_mask = {
13751                 .description = "l2_hdr_error",
13752                 .field_bit_size = 1,
13753                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13754                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13755                 },
13756         .field_info_spec = {
13757                 .description = "l2_hdr_error",
13758                 .field_bit_size = 1,
13759                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13760                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13761                 }
13762         },
13763         {
13764         .field_info_mask = {
13765                 .description = "l2_hdr_valid",
13766                 .field_bit_size = 1,
13767                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13768                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
13769                 .field_opr1 = {
13770                         0xff}
13771                 },
13772         .field_info_spec = {
13773                 .description = "l2_hdr_valid",
13774                 .field_bit_size = 1,
13775                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13776                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13777                 .field_opr1 = {
13778                 ULP_THOR_SYM_L2_HDR_VALID_YES}
13779                 }
13780         },
13781         {
13782         .field_info_mask = {
13783                 .description = "tun_hdr_flags",
13784                 .field_bit_size = 3,
13785                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13786                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13787                 },
13788         .field_info_spec = {
13789                 .description = "tun_hdr_flags",
13790                 .field_bit_size = 3,
13791                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13792                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13793                 }
13794         },
13795         {
13796         .field_info_mask = {
13797                 .description = "tun_hdr_type",
13798                 .field_bit_size = 4,
13799                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13800                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13801                 },
13802         .field_info_spec = {
13803                 .description = "tun_hdr_type",
13804                 .field_bit_size = 4,
13805                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13806                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13807                 }
13808         },
13809         {
13810         .field_info_mask = {
13811                 .description = "tun_hdr_err",
13812                 .field_bit_size = 1,
13813                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13814                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13815                 },
13816         .field_info_spec = {
13817                 .description = "tun_hdr_err",
13818                 .field_bit_size = 1,
13819                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13820                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13821                 }
13822         },
13823         {
13824         .field_info_mask = {
13825                 .description = "tun_hdr_valid",
13826                 .field_bit_size = 1,
13827                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13828                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
13829                 .field_opr1 = {
13830                         0xff}
13831                 },
13832         .field_info_spec = {
13833                 .description = "tun_hdr_valid",
13834                 .field_bit_size = 1,
13835                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13836                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13837                 }
13838         },
13839         {
13840         .field_info_mask = {
13841                 .description = "tl4_hdr_is_udp_tcp",
13842                 .field_bit_size = 1,
13843                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13844                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13845                 },
13846         .field_info_spec = {
13847                 .description = "tl4_hdr_is_udp_tcp",
13848                 .field_bit_size = 1,
13849                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13850                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13851                 }
13852         },
13853         {
13854         .field_info_mask = {
13855                 .description = "tl4_hdr_type",
13856                 .field_bit_size = 4,
13857                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13858                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13859                 },
13860         .field_info_spec = {
13861                 .description = "tl4_hdr_type",
13862                 .field_bit_size = 4,
13863                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13864                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13865                 }
13866         },
13867         {
13868         .field_info_mask = {
13869                 .description = "tl4_hdr_error",
13870                 .field_bit_size = 1,
13871                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13872                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13873                 },
13874         .field_info_spec = {
13875                 .description = "tl4_hdr_error",
13876                 .field_bit_size = 1,
13877                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13878                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13879                 }
13880         },
13881         {
13882         .field_info_mask = {
13883                 .description = "tl4_hdr_valid",
13884                 .field_bit_size = 1,
13885                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13886                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
13887                 .field_opr1 = {
13888                         0xff}
13889                 },
13890         .field_info_spec = {
13891                 .description = "tl4_hdr_valid",
13892                 .field_bit_size = 1,
13893                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13894                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13895                 }
13896         },
13897         {
13898         .field_info_mask = {
13899                 .description = "tl3_ipv6_cmp_dst",
13900                 .field_bit_size = 1,
13901                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13902                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13903                 },
13904         .field_info_spec = {
13905                 .description = "tl3_ipv6_cmp_dst",
13906                 .field_bit_size = 1,
13907                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13908                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13909                 }
13910         },
13911         {
13912         .field_info_mask = {
13913                 .description = "tl3_ipv6_cmp_src",
13914                 .field_bit_size = 1,
13915                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13916                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13917                 },
13918         .field_info_spec = {
13919                 .description = "tl3_ipv6_cmp_src",
13920                 .field_bit_size = 1,
13921                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13922                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13923                 }
13924         },
13925         {
13926         .field_info_mask = {
13927                 .description = "tl3_hdr_isIP",
13928                 .field_bit_size = 1,
13929                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13930                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13931                 },
13932         .field_info_spec = {
13933                 .description = "tl3_hdr_isIP",
13934                 .field_bit_size = 1,
13935                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13936                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13937                 }
13938         },
13939         {
13940         .field_info_mask = {
13941                 .description = "tl3_hdr_type",
13942                 .field_bit_size = 4,
13943                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13944                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13945                 },
13946         .field_info_spec = {
13947                 .description = "tl3_hdr_type",
13948                 .field_bit_size = 4,
13949                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13950                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13951                 }
13952         },
13953         {
13954         .field_info_mask = {
13955                 .description = "tl3_hdr_error",
13956                 .field_bit_size = 1,
13957                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13958                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13959                 },
13960         .field_info_spec = {
13961                 .description = "tl3_hdr_error",
13962                 .field_bit_size = 1,
13963                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13964                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13965                 }
13966         },
13967         {
13968         .field_info_mask = {
13969                 .description = "tl3_hdr_valid",
13970                 .field_bit_size = 1,
13971                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13972                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
13973                 .field_opr1 = {
13974                         0xff}
13975                 },
13976         .field_info_spec = {
13977                 .description = "tl3_hdr_valid",
13978                 .field_bit_size = 1,
13979                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13980                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13981                 }
13982         },
13983         {
13984         .field_info_mask = {
13985                 .description = "tl2_two_vtags",
13986                 .field_bit_size = 1,
13987                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13988                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13989                 },
13990         .field_info_spec = {
13991                 .description = "tl2_two_vtags",
13992                 .field_bit_size = 1,
13993                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13994                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13995                 }
13996         },
13997         {
13998         .field_info_mask = {
13999                 .description = "tl2_vtag_present",
14000                 .field_bit_size = 1,
14001                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14002                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14003                 },
14004         .field_info_spec = {
14005                 .description = "tl2_vtag_present",
14006                 .field_bit_size = 1,
14007                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14008                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14009                 }
14010         },
14011         {
14012         .field_info_mask = {
14013                 .description = "tl2_uc_mc_bc",
14014                 .field_bit_size = 2,
14015                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14016                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14017                 },
14018         .field_info_spec = {
14019                 .description = "tl2_uc_mc_bc",
14020                 .field_bit_size = 2,
14021                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14022                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14023                 }
14024         },
14025         {
14026         .field_info_mask = {
14027                 .description = "tl2_hdr_type",
14028                 .field_bit_size = 2,
14029                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14030                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14031                 },
14032         .field_info_spec = {
14033                 .description = "tl2_hdr_type",
14034                 .field_bit_size = 2,
14035                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14036                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14037                 }
14038         },
14039         {
14040         .field_info_mask = {
14041                 .description = "tl2_hdr_valid",
14042                 .field_bit_size = 1,
14043                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14044                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
14045                 .field_opr1 = {
14046                         0xff}
14047                 },
14048         .field_info_spec = {
14049                 .description = "tl2_hdr_valid",
14050                 .field_bit_size = 1,
14051                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14052                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14053                 }
14054         },
14055         {
14056         .field_info_mask = {
14057                 .description = "hrec_next",
14058                 .field_bit_size = 1,
14059                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14060                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14061                 },
14062         .field_info_spec = {
14063                 .description = "hrec_next",
14064                 .field_bit_size = 1,
14065                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14066                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14067                 }
14068         },
14069         {
14070         .field_info_mask = {
14071                 .description = "prof_func_id",
14072                 .field_bit_size = 7,
14073                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14074                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
14075                 .field_opr1 = {
14076                         0xff}
14077                 },
14078         .field_info_spec = {
14079                 .description = "prof_func_id",
14080                 .field_bit_size = 7,
14081                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14082                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
14083                 .field_opr1 = {
14084                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
14085                 BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
14086                 }
14087         },
14088         {
14089         .field_info_mask = {
14090                 .description = "agg_error",
14091                 .field_bit_size = 1,
14092                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14093                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14094                 },
14095         .field_info_spec = {
14096                 .description = "agg_error",
14097                 .field_bit_size = 1,
14098                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14099                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14100                 }
14101         },
14102         {
14103         .field_info_mask = {
14104                 .description = "metadata",
14105                 .field_bit_size = 16,
14106                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14107                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14108                 },
14109         .field_info_spec = {
14110                 .description = "metadata",
14111                 .field_bit_size = 16,
14112                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14113                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14114                 }
14115         },
14116         {
14117         .field_info_mask = {
14118                 .description = "pkt_type_0",
14119                 .field_bit_size = 2,
14120                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14121                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14122                 },
14123         .field_info_spec = {
14124                 .description = "pkt_type_0",
14125                 .field_bit_size = 2,
14126                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14127                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14128                 }
14129         },
14130         {
14131         .field_info_mask = {
14132                 .description = "pkt_type_1",
14133                 .field_bit_size = 2,
14134                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14135                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14136                 },
14137         .field_info_spec = {
14138                 .description = "pkt_type_1",
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         .field_info_mask = {
14146                 .description = "valid",
14147                 .field_bit_size = 1,
14148                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14149                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14150                 .field_opr1 = {
14151                 1}
14152                 },
14153         .field_info_spec = {
14154                 .description = "valid",
14155                 .field_bit_size = 1,
14156                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14157                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14158                 .field_opr1 = {
14159                 1}
14160                 }
14161         },
14162         /* class_tid: 1, thor, table: profile_tcam_cache.icmpv6_wr */
14163         {
14164         .field_info_mask = {
14165                 .description = "recycle_cnt",
14166                 .field_bit_size = 2,
14167                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14168                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
14169                 .field_opr1 = {
14170                         0xff}
14171                 },
14172         .field_info_spec = {
14173                 .description = "recycle_cnt",
14174                 .field_bit_size = 2,
14175                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14176                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14177                 }
14178         },
14179         {
14180         .field_info_mask = {
14181                 .description = "prof_func_id",
14182                 .field_bit_size = 7,
14183                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14184                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
14185                 .field_opr1 = {
14186                         0xff}
14187                 },
14188         .field_info_spec = {
14189                 .description = "prof_func_id",
14190                 .field_bit_size = 7,
14191                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14192                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
14193                 .field_opr1 = {
14194                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
14195                 BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
14196                 }
14197         },
14198         {
14199         .field_info_mask = {
14200                 .description = "hdr_sig_id",
14201                 .field_bit_size = 5,
14202                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14203                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
14204                 .field_opr1 = {
14205                         0xff}
14206                 },
14207         .field_info_spec = {
14208                 .description = "hdr_sig_id",
14209                 .field_bit_size = 5,
14210                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14211                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
14212                 .field_opr1 = {
14213                 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
14214                 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
14215                 }
14216         },
14217         /* class_tid: 1, thor, table: wm.icmpv6 */
14218         {
14219         .field_info_mask = {
14220                 .description = "wc_profile_id",
14221                 .field_bit_size = 8,
14222                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14223                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
14224                 .field_opr1 = {
14225                         0xff}
14226                 },
14227         .field_info_spec = {
14228                 .description = "wc_profile_id",
14229                 .field_bit_size = 8,
14230                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14231                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
14232                 .field_opr1 = {
14233                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
14234                 BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
14235                 }
14236         },
14237         {
14238         .field_info_mask = {
14239                 .description = "l2_cntxt_id",
14240                 .field_bit_size = 10,
14241                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14242                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
14243                 .field_opr1 = {
14244                         0xff,
14245                         0xff}
14246                 },
14247         .field_info_spec = {
14248                 .description = "l2_cntxt_id",
14249                 .field_bit_size = 10,
14250                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
14251                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14252                 .field_opr1 = {
14253                 (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
14254                 BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
14255                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
14256                 .field_opr2 = {
14257                         (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
14258                         BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
14259                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
14260                 .field_opr3 = {
14261                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
14262                 BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
14263                 }
14264         },
14265         {
14266         .field_info_mask = {
14267                 .description = "parif",
14268                 .field_bit_size = 4,
14269                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14270                 },
14271         .field_info_spec = {
14272                 .description = "parif",
14273                 .field_bit_size = 4,
14274                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14275                 }
14276         },
14277         {
14278         .field_info_mask = {
14279                 .description = "spif",
14280                 .field_bit_size = 2,
14281                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14282                 },
14283         .field_info_spec = {
14284                 .description = "spif",
14285                 .field_bit_size = 2,
14286                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14287                 }
14288         },
14289         {
14290         .field_info_mask = {
14291                 .description = "svif",
14292                 .field_bit_size = 11,
14293                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14294                 },
14295         .field_info_spec = {
14296                 .description = "svif",
14297                 .field_bit_size = 11,
14298                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14299                 }
14300         },
14301         {
14302         .field_info_mask = {
14303                 .description = "lcos",
14304                 .field_bit_size = 3,
14305                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14306                 },
14307         .field_info_spec = {
14308                 .description = "lcos",
14309                 .field_bit_size = 3,
14310                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14311                 }
14312         },
14313         {
14314         .field_info_mask = {
14315                 .description = "meta",
14316                 .field_bit_size = 16,
14317                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14318                 },
14319         .field_info_spec = {
14320                 .description = "meta",
14321                 .field_bit_size = 16,
14322                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14323                 }
14324         },
14325         {
14326         .field_info_mask = {
14327                 .description = "rcyc_cnt",
14328                 .field_bit_size = 2,
14329                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14330                 },
14331         .field_info_spec = {
14332                 .description = "rcyc_cnt",
14333                 .field_bit_size = 2,
14334                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14335                 }
14336         },
14337         {
14338         .field_info_mask = {
14339                 .description = "loopback",
14340                 .field_bit_size = 1,
14341                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14342                 },
14343         .field_info_spec = {
14344                 .description = "loopback",
14345                 .field_bit_size = 1,
14346                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14347                 }
14348         },
14349         {
14350         .field_info_mask = {
14351                 .description = "tl2_l2type",
14352                 .field_bit_size = 2,
14353                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14354                 },
14355         .field_info_spec = {
14356                 .description = "tl2_l2type",
14357                 .field_bit_size = 2,
14358                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14359                 }
14360         },
14361         {
14362         .field_info_mask = {
14363                 .description = "tl2_dmac",
14364                 .field_bit_size = 48,
14365                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14366                 },
14367         .field_info_spec = {
14368                 .description = "tl2_dmac",
14369                 .field_bit_size = 48,
14370                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14371                 }
14372         },
14373         {
14374         .field_info_mask = {
14375                 .description = "tl2_smac",
14376                 .field_bit_size = 48,
14377                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14378                 },
14379         .field_info_spec = {
14380                 .description = "tl2_smac",
14381                 .field_bit_size = 48,
14382                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14383                 }
14384         },
14385         {
14386         .field_info_mask = {
14387                 .description = "tl2_dt",
14388                 .field_bit_size = 2,
14389                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14390                 },
14391         .field_info_spec = {
14392                 .description = "tl2_dt",
14393                 .field_bit_size = 2,
14394                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14395                 }
14396         },
14397         {
14398         .field_info_mask = {
14399                 .description = "tl2_sa",
14400                 .field_bit_size = 1,
14401                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14402                 },
14403         .field_info_spec = {
14404                 .description = "tl2_sa",
14405                 .field_bit_size = 1,
14406                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14407                 }
14408         },
14409         {
14410         .field_info_mask = {
14411                 .description = "tl2_nvt",
14412                 .field_bit_size = 2,
14413                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14414                 },
14415         .field_info_spec = {
14416                 .description = "tl2_nvt",
14417                 .field_bit_size = 2,
14418                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14419                 }
14420         },
14421         {
14422         .field_info_mask = {
14423                 .description = "tl2_ovp",
14424                 .field_bit_size = 3,
14425                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14426                 },
14427         .field_info_spec = {
14428                 .description = "tl2_ovp",
14429                 .field_bit_size = 3,
14430                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14431                 }
14432         },
14433         {
14434         .field_info_mask = {
14435                 .description = "tl2_ovd",
14436                 .field_bit_size = 1,
14437                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14438                 },
14439         .field_info_spec = {
14440                 .description = "tl2_ovd",
14441                 .field_bit_size = 1,
14442                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14443                 }
14444         },
14445         {
14446         .field_info_mask = {
14447                 .description = "tl2_ovv",
14448                 .field_bit_size = 12,
14449                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14450                 },
14451         .field_info_spec = {
14452                 .description = "tl2_ovv",
14453                 .field_bit_size = 12,
14454                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14455                 }
14456         },
14457         {
14458         .field_info_mask = {
14459                 .description = "tl2_ovt",
14460                 .field_bit_size = 3,
14461                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14462                 },
14463         .field_info_spec = {
14464                 .description = "tl2_ovt",
14465                 .field_bit_size = 3,
14466                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14467                 }
14468         },
14469         {
14470         .field_info_mask = {
14471                 .description = "tl2_ivp",
14472                 .field_bit_size = 3,
14473                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14474                 },
14475         .field_info_spec = {
14476                 .description = "tl2_ivp",
14477                 .field_bit_size = 3,
14478                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14479                 }
14480         },
14481         {
14482         .field_info_mask = {
14483                 .description = "tl2_ivd",
14484                 .field_bit_size = 1,
14485                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14486                 },
14487         .field_info_spec = {
14488                 .description = "tl2_ivd",
14489                 .field_bit_size = 1,
14490                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14491                 }
14492         },
14493         {
14494         .field_info_mask = {
14495                 .description = "tl2_ivv",
14496                 .field_bit_size = 12,
14497                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14498                 },
14499         .field_info_spec = {
14500                 .description = "tl2_ivv",
14501                 .field_bit_size = 12,
14502                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14503                 }
14504         },
14505         {
14506         .field_info_mask = {
14507                 .description = "tl2_ivt",
14508                 .field_bit_size = 3,
14509                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14510                 },
14511         .field_info_spec = {
14512                 .description = "tl2_ivt",
14513                 .field_bit_size = 3,
14514                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14515                 }
14516         },
14517         {
14518         .field_info_mask = {
14519                 .description = "tl2_etype",
14520                 .field_bit_size = 16,
14521                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14522                 },
14523         .field_info_spec = {
14524                 .description = "tl2_etype",
14525                 .field_bit_size = 16,
14526                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14527                 }
14528         },
14529         {
14530         .field_info_mask = {
14531                 .description = "tl3.l3type",
14532                 .field_bit_size = 4,
14533                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14534                 },
14535         .field_info_spec = {
14536                 .description = "tl3.l3type",
14537                 .field_bit_size = 4,
14538                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14539                 }
14540         },
14541         {
14542         .field_info_mask = {
14543                 .description = "tl3.sip.ipv4",
14544                 .field_bit_size = 32,
14545                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14546                 },
14547         .field_info_spec = {
14548                 .description = "tl3.sip.ipv4",
14549                 .field_bit_size = 32,
14550                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14551                 }
14552         },
14553         {
14554         .field_info_mask = {
14555                 .description = "tl3.sip.ipv6",
14556                 .field_bit_size = 128,
14557                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14558                 },
14559         .field_info_spec = {
14560                 .description = "tl3.sip.ipv6",
14561                 .field_bit_size = 128,
14562                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14563                 }
14564         },
14565         {
14566         .field_info_mask = {
14567                 .description = "tl3.sip_selcmp.ipv6",
14568                 .field_bit_size = 72,
14569                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14570                 },
14571         .field_info_spec = {
14572                 .description = "tl3.sip_selcmp.ipv6",
14573                 .field_bit_size = 72,
14574                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14575                 }
14576         },
14577         {
14578         .field_info_mask = {
14579                 .description = "tl3.dip.ipv4",
14580                 .field_bit_size = 32,
14581                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14582                 },
14583         .field_info_spec = {
14584                 .description = "tl3.dip.ipv4",
14585                 .field_bit_size = 32,
14586                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14587                 }
14588         },
14589         {
14590         .field_info_mask = {
14591                 .description = "tl3.dip.ipv6",
14592                 .field_bit_size = 128,
14593                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14594                 },
14595         .field_info_spec = {
14596                 .description = "tl3.dip.ipv6",
14597                 .field_bit_size = 128,
14598                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14599                 }
14600         },
14601         {
14602         .field_info_mask = {
14603                 .description = "tl3.dip_selcmp.ipv6",
14604                 .field_bit_size = 72,
14605                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14606                 },
14607         .field_info_spec = {
14608                 .description = "tl3.dip_selcmp.ipv6",
14609                 .field_bit_size = 72,
14610                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14611                 }
14612         },
14613         {
14614         .field_info_mask = {
14615                 .description = "tl3.ttl",
14616                 .field_bit_size = 8,
14617                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14618                 },
14619         .field_info_spec = {
14620                 .description = "tl3.ttl",
14621                 .field_bit_size = 8,
14622                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14623                 }
14624         },
14625         {
14626         .field_info_mask = {
14627                 .description = "tl3.prot",
14628                 .field_bit_size = 8,
14629                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14630                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14631                 },
14632         .field_info_spec = {
14633                 .description = "tl3.prot",
14634                 .field_bit_size = 8,
14635                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14636                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14637                 }
14638         },
14639         {
14640         .field_info_mask = {
14641                 .description = "tl3.fid.ipv4",
14642                 .field_bit_size = 16,
14643                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14644                 },
14645         .field_info_spec = {
14646                 .description = "tl3.fid.ipv4",
14647                 .field_bit_size = 16,
14648                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14649                 }
14650         },
14651         {
14652         .field_info_mask = {
14653                 .description = "tl3.fid.ipv6",
14654                 .field_bit_size = 20,
14655                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14656                 },
14657         .field_info_spec = {
14658                 .description = "tl3.fid.ipv6",
14659                 .field_bit_size = 20,
14660                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14661                 }
14662         },
14663         {
14664         .field_info_mask = {
14665                 .description = "tl3.qos",
14666                 .field_bit_size = 8,
14667                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14668                 },
14669         .field_info_spec = {
14670                 .description = "tl3.qos",
14671                 .field_bit_size = 8,
14672                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14673                 }
14674         },
14675         {
14676         .field_info_mask = {
14677                 .description = "tl3.ieh_nonext",
14678                 .field_bit_size = 1,
14679                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14680                 },
14681         .field_info_spec = {
14682                 .description = "tl3.ieh_nonext",
14683                 .field_bit_size = 1,
14684                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14685                 }
14686         },
14687         {
14688         .field_info_mask = {
14689                 .description = "tl3.ieh_esp",
14690                 .field_bit_size = 1,
14691                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14692                 },
14693         .field_info_spec = {
14694                 .description = "tl3.ieh_esp",
14695                 .field_bit_size = 1,
14696                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14697                 }
14698         },
14699         {
14700         .field_info_mask = {
14701                 .description = "tl3.ieh_auth",
14702                 .field_bit_size = 1,
14703                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14704                 },
14705         .field_info_spec = {
14706                 .description = "tl3.ieh_auth",
14707                 .field_bit_size = 1,
14708                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14709                 }
14710         },
14711         {
14712         .field_info_mask = {
14713                 .description = "tl3.ieh_dest",
14714                 .field_bit_size = 1,
14715                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14716                 },
14717         .field_info_spec = {
14718                 .description = "tl3.ieh_dest",
14719                 .field_bit_size = 1,
14720                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14721                 }
14722         },
14723         {
14724         .field_info_mask = {
14725                 .description = "tl3.ieh_frag",
14726                 .field_bit_size = 1,
14727                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14728                 },
14729         .field_info_spec = {
14730                 .description = "tl3.ieh_frag",
14731                 .field_bit_size = 1,
14732                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14733                 }
14734         },
14735         {
14736         .field_info_mask = {
14737                 .description = "tl3.ieh_rthdr",
14738                 .field_bit_size = 1,
14739                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14740                 },
14741         .field_info_spec = {
14742                 .description = "tl3.ieh_rthdr",
14743                 .field_bit_size = 1,
14744                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14745                 }
14746         },
14747         {
14748         .field_info_mask = {
14749                 .description = "tl3.ieh_hop",
14750                 .field_bit_size = 1,
14751                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14752                 },
14753         .field_info_spec = {
14754                 .description = "tl3.ieh_hop",
14755                 .field_bit_size = 1,
14756                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14757                 }
14758         },
14759         {
14760         .field_info_mask = {
14761                 .description = "tl3.ieh_1frag",
14762                 .field_bit_size = 1,
14763                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14764                 },
14765         .field_info_spec = {
14766                 .description = "tl3.ieh_1frag",
14767                 .field_bit_size = 1,
14768                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14769                 }
14770         },
14771         {
14772         .field_info_mask = {
14773                 .description = "tl3.df",
14774                 .field_bit_size = 1,
14775                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14776                 },
14777         .field_info_spec = {
14778                 .description = "tl3.df",
14779                 .field_bit_size = 1,
14780                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14781                 }
14782         },
14783         {
14784         .field_info_mask = {
14785                 .description = "tl3.l3err",
14786                 .field_bit_size = 4,
14787                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14788                 },
14789         .field_info_spec = {
14790                 .description = "tl3.l3err",
14791                 .field_bit_size = 4,
14792                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14793                 }
14794         },
14795         {
14796         .field_info_mask = {
14797                 .description = "tl4.l4type",
14798                 .field_bit_size = 4,
14799                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14800                 },
14801         .field_info_spec = {
14802                 .description = "tl4.l4type",
14803                 .field_bit_size = 4,
14804                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14805                 }
14806         },
14807         {
14808         .field_info_mask = {
14809                 .description = "tl4.src",
14810                 .field_bit_size = 16,
14811                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14812                 },
14813         .field_info_spec = {
14814                 .description = "tl4.src",
14815                 .field_bit_size = 16,
14816                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14817                 }
14818         },
14819         {
14820         .field_info_mask = {
14821                 .description = "tl4.dst",
14822                 .field_bit_size = 16,
14823                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14824                 },
14825         .field_info_spec = {
14826                 .description = "tl4.dst",
14827                 .field_bit_size = 16,
14828                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14829                 }
14830         },
14831         {
14832         .field_info_mask = {
14833                 .description = "tl4.flags",
14834                 .field_bit_size = 9,
14835                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14836                 },
14837         .field_info_spec = {
14838                 .description = "tl4.flags",
14839                 .field_bit_size = 9,
14840                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14841                 }
14842         },
14843         {
14844         .field_info_mask = {
14845                 .description = "tl4.seq",
14846                 .field_bit_size = 32,
14847                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14848                 },
14849         .field_info_spec = {
14850                 .description = "tl4.seq",
14851                 .field_bit_size = 32,
14852                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14853                 }
14854         },
14855         {
14856         .field_info_mask = {
14857                 .description = "tl4.pa",
14858                 .field_bit_size = 1,
14859                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14860                 },
14861         .field_info_spec = {
14862                 .description = "tl4.pa",
14863                 .field_bit_size = 1,
14864                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14865                 }
14866         },
14867         {
14868         .field_info_mask = {
14869                 .description = "tl4.opt",
14870                 .field_bit_size = 1,
14871                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14872                 },
14873         .field_info_spec = {
14874                 .description = "tl4.opt",
14875                 .field_bit_size = 1,
14876                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14877                 }
14878         },
14879         {
14880         .field_info_mask = {
14881                 .description = "tl4.tcpts",
14882                 .field_bit_size = 1,
14883                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14884                 },
14885         .field_info_spec = {
14886                 .description = "tl4.tcpts",
14887                 .field_bit_size = 1,
14888                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14889                 }
14890         },
14891         {
14892         .field_info_mask = {
14893                 .description = "tl4.err",
14894                 .field_bit_size = 4,
14895                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14896                 },
14897         .field_info_spec = {
14898                 .description = "tl4.err",
14899                 .field_bit_size = 4,
14900                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14901                 }
14902         },
14903         {
14904         .field_info_mask = {
14905                 .description = "tuntype",
14906                 .field_bit_size = 4,
14907                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14908                 },
14909         .field_info_spec = {
14910                 .description = "tuntype",
14911                 .field_bit_size = 4,
14912                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14913                 }
14914         },
14915         {
14916         .field_info_mask = {
14917                 .description = "tflags",
14918                 .field_bit_size = 3,
14919                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14920                 },
14921         .field_info_spec = {
14922                 .description = "tflags",
14923                 .field_bit_size = 3,
14924                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14925                 }
14926         },
14927         {
14928         .field_info_mask = {
14929                 .description = "tids",
14930                 .field_bit_size = 24,
14931                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14932                 },
14933         .field_info_spec = {
14934                 .description = "tids",
14935                 .field_bit_size = 24,
14936                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14937                 }
14938         },
14939         {
14940         .field_info_mask = {
14941                 .description = "tid",
14942                 .field_bit_size = 32,
14943                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14944                 },
14945         .field_info_spec = {
14946                 .description = "tid",
14947                 .field_bit_size = 32,
14948                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14949                 }
14950         },
14951         {
14952         .field_info_mask = {
14953                 .description = "tctxts",
14954                 .field_bit_size = 24,
14955                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14956                 },
14957         .field_info_spec = {
14958                 .description = "tctxts",
14959                 .field_bit_size = 24,
14960                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14961                 }
14962         },
14963         {
14964         .field_info_mask = {
14965                 .description = "tctxt",
14966                 .field_bit_size = 32,
14967                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14968                 },
14969         .field_info_spec = {
14970                 .description = "tctxt",
14971                 .field_bit_size = 32,
14972                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14973                 }
14974         },
14975         {
14976         .field_info_mask = {
14977                 .description = "tqos",
14978                 .field_bit_size = 3,
14979                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14980                 },
14981         .field_info_spec = {
14982                 .description = "tqos",
14983                 .field_bit_size = 3,
14984                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14985                 }
14986         },
14987         {
14988         .field_info_mask = {
14989                 .description = "terr",
14990                 .field_bit_size = 4,
14991                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14992                 },
14993         .field_info_spec = {
14994                 .description = "terr",
14995                 .field_bit_size = 4,
14996                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
14997                 }
14998         },
14999         {
15000         .field_info_mask = {
15001                 .description = "l2_l2type",
15002                 .field_bit_size = 2,
15003                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15004                 },
15005         .field_info_spec = {
15006                 .description = "l2_l2type",
15007                 .field_bit_size = 2,
15008                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15009                 }
15010         },
15011         {
15012         .field_info_mask = {
15013                 .description = "l2_dmac",
15014                 .field_bit_size = 48,
15015                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15016                 },
15017         .field_info_spec = {
15018                 .description = "l2_dmac",
15019                 .field_bit_size = 48,
15020                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15021                 }
15022         },
15023         {
15024         .field_info_mask = {
15025                 .description = "l2_smac",
15026                 .field_bit_size = 48,
15027                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15028                 },
15029         .field_info_spec = {
15030                 .description = "l2_smac",
15031                 .field_bit_size = 48,
15032                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15033                 }
15034         },
15035         {
15036         .field_info_mask = {
15037                 .description = "l2_dt",
15038                 .field_bit_size = 2,
15039                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15040                 },
15041         .field_info_spec = {
15042                 .description = "l2_dt",
15043                 .field_bit_size = 2,
15044                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15045                 }
15046         },
15047         {
15048         .field_info_mask = {
15049                 .description = "l2_sa",
15050                 .field_bit_size = 1,
15051                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15052                 },
15053         .field_info_spec = {
15054                 .description = "l2_sa",
15055                 .field_bit_size = 1,
15056                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15057                 }
15058         },
15059         {
15060         .field_info_mask = {
15061                 .description = "l2_nvt",
15062                 .field_bit_size = 2,
15063                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15064                 },
15065         .field_info_spec = {
15066                 .description = "l2_nvt",
15067                 .field_bit_size = 2,
15068                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15069                 }
15070         },
15071         {
15072         .field_info_mask = {
15073                 .description = "l2_ovp",
15074                 .field_bit_size = 3,
15075                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15076                 },
15077         .field_info_spec = {
15078                 .description = "l2_ovp",
15079                 .field_bit_size = 3,
15080                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15081                 }
15082         },
15083         {
15084         .field_info_mask = {
15085                 .description = "l2_ovd",
15086                 .field_bit_size = 1,
15087                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15088                 },
15089         .field_info_spec = {
15090                 .description = "l2_ovd",
15091                 .field_bit_size = 1,
15092                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15093                 }
15094         },
15095         {
15096         .field_info_mask = {
15097                 .description = "l2_ovv",
15098                 .field_bit_size = 12,
15099                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15100                 },
15101         .field_info_spec = {
15102                 .description = "l2_ovv",
15103                 .field_bit_size = 12,
15104                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15105                 }
15106         },
15107         {
15108         .field_info_mask = {
15109                 .description = "l2_ovt",
15110                 .field_bit_size = 3,
15111                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15112                 },
15113         .field_info_spec = {
15114                 .description = "l2_ovt",
15115                 .field_bit_size = 3,
15116                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15117                 }
15118         },
15119         {
15120         .field_info_mask = {
15121                 .description = "l2_ivp",
15122                 .field_bit_size = 3,
15123                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15124                 },
15125         .field_info_spec = {
15126                 .description = "l2_ivp",
15127                 .field_bit_size = 3,
15128                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15129                 }
15130         },
15131         {
15132         .field_info_mask = {
15133                 .description = "l2_ivd",
15134                 .field_bit_size = 1,
15135                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15136                 },
15137         .field_info_spec = {
15138                 .description = "l2_ivd",
15139                 .field_bit_size = 1,
15140                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15141                 }
15142         },
15143         {
15144         .field_info_mask = {
15145                 .description = "l2_ivv",
15146                 .field_bit_size = 12,
15147                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15148                 },
15149         .field_info_spec = {
15150                 .description = "l2_ivv",
15151                 .field_bit_size = 12,
15152                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15153                 }
15154         },
15155         {
15156         .field_info_mask = {
15157                 .description = "l2_ivt",
15158                 .field_bit_size = 3,
15159                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15160                 },
15161         .field_info_spec = {
15162                 .description = "l2_ivt",
15163                 .field_bit_size = 3,
15164                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15165                 }
15166         },
15167         {
15168         .field_info_mask = {
15169                 .description = "l2_etype",
15170                 .field_bit_size = 16,
15171                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15172                 },
15173         .field_info_spec = {
15174                 .description = "l2_etype",
15175                 .field_bit_size = 16,
15176                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15177                 }
15178         },
15179         {
15180         .field_info_mask = {
15181                 .description = "l3.l3type",
15182                 .field_bit_size = 4,
15183                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15184                 },
15185         .field_info_spec = {
15186                 .description = "l3.l3type",
15187                 .field_bit_size = 4,
15188                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15189                 }
15190         },
15191         {
15192         .field_info_mask = {
15193                 .description = "l3.sip.ipv4",
15194                 .field_bit_size = 32,
15195                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15196                 },
15197         .field_info_spec = {
15198                 .description = "l3.sip.ipv4",
15199                 .field_bit_size = 32,
15200                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15201                 }
15202         },
15203         {
15204         .field_info_mask = {
15205                 .description = "l3.sip.ipv6",
15206                 .field_bit_size = 128,
15207                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15208                 },
15209         .field_info_spec = {
15210                 .description = "l3.sip.ipv6",
15211                 .field_bit_size = 128,
15212                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15213                 }
15214         },
15215         {
15216         .field_info_mask = {
15217                 .description = "l3.sip_selcmp.ipv6",
15218                 .field_bit_size = 72,
15219                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15220                 },
15221         .field_info_spec = {
15222                 .description = "l3.sip_selcmp.ipv6",
15223                 .field_bit_size = 72,
15224                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15225                 }
15226         },
15227         {
15228         .field_info_mask = {
15229                 .description = "l3.dip.ipv4",
15230                 .field_bit_size = 32,
15231                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15232                 },
15233         .field_info_spec = {
15234                 .description = "l3.dip.ipv4",
15235                 .field_bit_size = 32,
15236                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15237                 }
15238         },
15239         {
15240         .field_info_mask = {
15241                 .description = "l3.dip.ipv6",
15242                 .field_bit_size = 128,
15243                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15244                 },
15245         .field_info_spec = {
15246                 .description = "l3.dip.ipv6",
15247                 .field_bit_size = 128,
15248                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15249                 }
15250         },
15251         {
15252         .field_info_mask = {
15253                 .description = "l3.dip_selcmp.ipv6",
15254                 .field_bit_size = 72,
15255                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15256                 },
15257         .field_info_spec = {
15258                 .description = "l3.dip_selcmp.ipv6",
15259                 .field_bit_size = 72,
15260                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15261                 }
15262         },
15263         {
15264         .field_info_mask = {
15265                 .description = "l3.ttl",
15266                 .field_bit_size = 8,
15267                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15268                 },
15269         .field_info_spec = {
15270                 .description = "l3.ttl",
15271                 .field_bit_size = 8,
15272                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15273                 }
15274         },
15275         {
15276         .field_info_mask = {
15277                 .description = "l3.prot",
15278                 .field_bit_size = 8,
15279                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15280                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
15281                 .field_opr1 = {
15282                         0xff}
15283                 },
15284         .field_info_spec = {
15285                 .description = "l3.prot",
15286                 .field_bit_size = 8,
15287                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
15288                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
15289                 .field_opr1 = {
15290                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
15291                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
15292                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
15293                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
15294                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
15295                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
15296                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
15297                 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
15298                 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
15299                 .field_opr2 = {
15300                         1},
15301                 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
15302                 .field_opr3 = {
15303                 58}
15304                 }
15305         },
15306         {
15307         .field_info_mask = {
15308                 .description = "l3.fid.ipv4",
15309                 .field_bit_size = 16,
15310                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15311                 },
15312         .field_info_spec = {
15313                 .description = "l3.fid.ipv4",
15314                 .field_bit_size = 16,
15315                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15316                 }
15317         },
15318         {
15319         .field_info_mask = {
15320                 .description = "l3.fid.ipv6",
15321                 .field_bit_size = 20,
15322                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15323                 },
15324         .field_info_spec = {
15325                 .description = "l3.fid.ipv6",
15326                 .field_bit_size = 20,
15327                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15328                 }
15329         },
15330         {
15331         .field_info_mask = {
15332                 .description = "l3.qos",
15333                 .field_bit_size = 8,
15334                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15335                 },
15336         .field_info_spec = {
15337                 .description = "l3.qos",
15338                 .field_bit_size = 8,
15339                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15340                 }
15341         },
15342         {
15343         .field_info_mask = {
15344                 .description = "l3.ieh_nonext",
15345                 .field_bit_size = 1,
15346                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15347                 },
15348         .field_info_spec = {
15349                 .description = "l3.ieh_nonext",
15350                 .field_bit_size = 1,
15351                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15352                 }
15353         },
15354         {
15355         .field_info_mask = {
15356                 .description = "l3.ieh_esp",
15357                 .field_bit_size = 1,
15358                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15359                 },
15360         .field_info_spec = {
15361                 .description = "l3.ieh_esp",
15362                 .field_bit_size = 1,
15363                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15364                 }
15365         },
15366         {
15367         .field_info_mask = {
15368                 .description = "l3.ieh_auth",
15369                 .field_bit_size = 1,
15370                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15371                 },
15372         .field_info_spec = {
15373                 .description = "l3.ieh_auth",
15374                 .field_bit_size = 1,
15375                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15376                 }
15377         },
15378         {
15379         .field_info_mask = {
15380                 .description = "l3.ieh_dest",
15381                 .field_bit_size = 1,
15382                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15383                 },
15384         .field_info_spec = {
15385                 .description = "l3.ieh_dest",
15386                 .field_bit_size = 1,
15387                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15388                 }
15389         },
15390         {
15391         .field_info_mask = {
15392                 .description = "l3.ieh_frag",
15393                 .field_bit_size = 1,
15394                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15395                 },
15396         .field_info_spec = {
15397                 .description = "l3.ieh_frag",
15398                 .field_bit_size = 1,
15399                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15400                 }
15401         },
15402         {
15403         .field_info_mask = {
15404                 .description = "l3.ieh_rthdr",
15405                 .field_bit_size = 1,
15406                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15407                 },
15408         .field_info_spec = {
15409                 .description = "l3.ieh_rthdr",
15410                 .field_bit_size = 1,
15411                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15412                 }
15413         },
15414         {
15415         .field_info_mask = {
15416                 .description = "l3.ieh_hop",
15417                 .field_bit_size = 1,
15418                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15419                 },
15420         .field_info_spec = {
15421                 .description = "l3.ieh_hop",
15422                 .field_bit_size = 1,
15423                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15424                 }
15425         },
15426         {
15427         .field_info_mask = {
15428                 .description = "l3.ieh_1frag",
15429                 .field_bit_size = 1,
15430                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15431                 },
15432         .field_info_spec = {
15433                 .description = "l3.ieh_1frag",
15434                 .field_bit_size = 1,
15435                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15436                 }
15437         },
15438         {
15439         .field_info_mask = {
15440                 .description = "l3.df",
15441                 .field_bit_size = 1,
15442                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15443                 },
15444         .field_info_spec = {
15445                 .description = "l3.df",
15446                 .field_bit_size = 1,
15447                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15448                 }
15449         },
15450         {
15451         .field_info_mask = {
15452                 .description = "l3.l3err.ipv4",
15453                 .field_bit_size = 4,
15454                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15455                 },
15456         .field_info_spec = {
15457                 .description = "l3.l3err.ipv4",
15458                 .field_bit_size = 4,
15459                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15460                 }
15461         },
15462         {
15463         .field_info_mask = {
15464                 .description = "l3.l3err.ipv6",
15465                 .field_bit_size = 4,
15466                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15467                 },
15468         .field_info_spec = {
15469                 .description = "l3.l3err.ipv6",
15470                 .field_bit_size = 4,
15471                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15472                 }
15473         },
15474         {
15475         .field_info_mask = {
15476                 .description = "l4.l4type",
15477                 .field_bit_size = 4,
15478                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15479                 },
15480         .field_info_spec = {
15481                 .description = "l4.l4type",
15482                 .field_bit_size = 4,
15483                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15484                 }
15485         },
15486         {
15487         .field_info_mask = {
15488                 .description = "l4.src",
15489                 .field_bit_size = 16,
15490                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15491                 },
15492         .field_info_spec = {
15493                 .description = "l4.src",
15494                 .field_bit_size = 16,
15495                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15496                 }
15497         },
15498         {
15499         .field_info_mask = {
15500                 .description = "l4.dst",
15501                 .field_bit_size = 16,
15502                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15503                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15504                 },
15505         .field_info_spec = {
15506                 .description = "l4.dst",
15507                 .field_bit_size = 16,
15508                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15509                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
15510                 }
15511         },
15512         {
15513         .field_info_mask = {
15514                 .description = "l4.flags",
15515                 .field_bit_size = 9,
15516                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15517                 },
15518         .field_info_spec = {
15519                 .description = "l4.flags",
15520                 .field_bit_size = 9,
15521                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15522                 }
15523         },
15524         {
15525         .field_info_mask = {
15526                 .description = "l4.seq",
15527                 .field_bit_size = 32,
15528                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15529                 },
15530         .field_info_spec = {
15531                 .description = "l4.seq",
15532                 .field_bit_size = 32,
15533                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15534                 }
15535         },
15536         {
15537         .field_info_mask = {
15538                 .description = "l4.ack",
15539                 .field_bit_size = 32,
15540                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15541                 },
15542         .field_info_spec = {
15543                 .description = "l4.ack",
15544                 .field_bit_size = 32,
15545                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15546                 }
15547         },
15548         {
15549         .field_info_mask = {
15550                 .description = "l4.win",
15551                 .field_bit_size = 16,
15552                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15553                 },
15554         .field_info_spec = {
15555                 .description = "l4.win",
15556                 .field_bit_size = 16,
15557                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15558                 }
15559         },
15560         {
15561         .field_info_mask = {
15562                 .description = "l4.pa",
15563                 .field_bit_size = 1,
15564                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15565                 },
15566         .field_info_spec = {
15567                 .description = "l4.pa",
15568                 .field_bit_size = 1,
15569                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15570                 }
15571         },
15572         {
15573         .field_info_mask = {
15574                 .description = "l4.opt",
15575                 .field_bit_size = 1,
15576                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15577                 },
15578         .field_info_spec = {
15579                 .description = "l4.opt",
15580                 .field_bit_size = 1,
15581                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15582                 }
15583         },
15584         {
15585         .field_info_mask = {
15586                 .description = "l4.tcpts",
15587                 .field_bit_size = 1,
15588                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15589                 },
15590         .field_info_spec = {
15591                 .description = "l4.tcpts",
15592                 .field_bit_size = 1,
15593                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15594                 }
15595         },
15596         {
15597         .field_info_mask = {
15598                 .description = "l4.tsval",
15599                 .field_bit_size = 32,
15600                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15601                 },
15602         .field_info_spec = {
15603                 .description = "l4.tsval",
15604                 .field_bit_size = 32,
15605                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15606                 }
15607         },
15608         {
15609         .field_info_mask = {
15610                 .description = "l4.txecr",
15611                 .field_bit_size = 32,
15612                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15613                 },
15614         .field_info_spec = {
15615                 .description = "l4.txecr",
15616                 .field_bit_size = 32,
15617                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15618                 }
15619         },
15620         {
15621         .field_info_mask = {
15622                 .description = "l4.err",
15623                 .field_bit_size = 4,
15624                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15625                 },
15626         .field_info_spec = {
15627                 .description = "l4.err",
15628                 .field_bit_size = 4,
15629                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15630                 }
15631         },
15632         /* class_tid: 1, thor, table: wm.icmpv6_low */
15633         {
15634         .field_info_mask = {
15635                 .description = "wc_profile_id",
15636                 .field_bit_size = 8,
15637                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15638                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
15639                 .field_opr1 = {
15640                         0xff}
15641                 },
15642         .field_info_spec = {
15643                 .description = "wc_profile_id",
15644                 .field_bit_size = 8,
15645                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15646                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
15647                 .field_opr1 = {
15648                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
15649                 BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
15650                 }
15651         },
15652         {
15653         .field_info_mask = {
15654                 .description = "l2_cntxt_id",
15655                 .field_bit_size = 10,
15656                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
15657                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
15658                 .field_opr1 = {
15659                         0xff,
15660                         0xff}
15661                 },
15662         .field_info_spec = {
15663                 .description = "l2_cntxt_id",
15664                 .field_bit_size = 10,
15665                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
15666                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
15667                 .field_opr1 = {
15668                 (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
15669                 BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
15670                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
15671                 .field_opr2 = {
15672                         (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
15673                         BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
15674                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
15675                 .field_opr3 = {
15676                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
15677                 BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
15678                 }
15679         },
15680         {
15681         .field_info_mask = {
15682                 .description = "parif",
15683                 .field_bit_size = 4,
15684                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15685                 },
15686         .field_info_spec = {
15687                 .description = "parif",
15688                 .field_bit_size = 4,
15689                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15690                 }
15691         },
15692         {
15693         .field_info_mask = {
15694                 .description = "spif",
15695                 .field_bit_size = 2,
15696                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15697                 },
15698         .field_info_spec = {
15699                 .description = "spif",
15700                 .field_bit_size = 2,
15701                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15702                 }
15703         },
15704         {
15705         .field_info_mask = {
15706                 .description = "svif",
15707                 .field_bit_size = 11,
15708                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15709                 },
15710         .field_info_spec = {
15711                 .description = "svif",
15712                 .field_bit_size = 11,
15713                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15714                 }
15715         },
15716         {
15717         .field_info_mask = {
15718                 .description = "lcos",
15719                 .field_bit_size = 3,
15720                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15721                 },
15722         .field_info_spec = {
15723                 .description = "lcos",
15724                 .field_bit_size = 3,
15725                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15726                 }
15727         },
15728         {
15729         .field_info_mask = {
15730                 .description = "meta",
15731                 .field_bit_size = 16,
15732                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15733                 },
15734         .field_info_spec = {
15735                 .description = "meta",
15736                 .field_bit_size = 16,
15737                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15738                 }
15739         },
15740         {
15741         .field_info_mask = {
15742                 .description = "rcyc_cnt",
15743                 .field_bit_size = 2,
15744                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15745                 },
15746         .field_info_spec = {
15747                 .description = "rcyc_cnt",
15748                 .field_bit_size = 2,
15749                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15750                 }
15751         },
15752         {
15753         .field_info_mask = {
15754                 .description = "loopback",
15755                 .field_bit_size = 1,
15756                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15757                 },
15758         .field_info_spec = {
15759                 .description = "loopback",
15760                 .field_bit_size = 1,
15761                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15762                 }
15763         },
15764         {
15765         .field_info_mask = {
15766                 .description = "tl2_l2type",
15767                 .field_bit_size = 2,
15768                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15769                 },
15770         .field_info_spec = {
15771                 .description = "tl2_l2type",
15772                 .field_bit_size = 2,
15773                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15774                 }
15775         },
15776         {
15777         .field_info_mask = {
15778                 .description = "tl2_dmac",
15779                 .field_bit_size = 48,
15780                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15781                 },
15782         .field_info_spec = {
15783                 .description = "tl2_dmac",
15784                 .field_bit_size = 48,
15785                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15786                 }
15787         },
15788         {
15789         .field_info_mask = {
15790                 .description = "tl2_smac",
15791                 .field_bit_size = 48,
15792                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15793                 },
15794         .field_info_spec = {
15795                 .description = "tl2_smac",
15796                 .field_bit_size = 48,
15797                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15798                 }
15799         },
15800         {
15801         .field_info_mask = {
15802                 .description = "tl2_dt",
15803                 .field_bit_size = 2,
15804                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15805                 },
15806         .field_info_spec = {
15807                 .description = "tl2_dt",
15808                 .field_bit_size = 2,
15809                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15810                 }
15811         },
15812         {
15813         .field_info_mask = {
15814                 .description = "tl2_sa",
15815                 .field_bit_size = 1,
15816                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15817                 },
15818         .field_info_spec = {
15819                 .description = "tl2_sa",
15820                 .field_bit_size = 1,
15821                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15822                 }
15823         },
15824         {
15825         .field_info_mask = {
15826                 .description = "tl2_nvt",
15827                 .field_bit_size = 2,
15828                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15829                 },
15830         .field_info_spec = {
15831                 .description = "tl2_nvt",
15832                 .field_bit_size = 2,
15833                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15834                 }
15835         },
15836         {
15837         .field_info_mask = {
15838                 .description = "tl2_ovp",
15839                 .field_bit_size = 3,
15840                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15841                 },
15842         .field_info_spec = {
15843                 .description = "tl2_ovp",
15844                 .field_bit_size = 3,
15845                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15846                 }
15847         },
15848         {
15849         .field_info_mask = {
15850                 .description = "tl2_ovd",
15851                 .field_bit_size = 1,
15852                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15853                 },
15854         .field_info_spec = {
15855                 .description = "tl2_ovd",
15856                 .field_bit_size = 1,
15857                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15858                 }
15859         },
15860         {
15861         .field_info_mask = {
15862                 .description = "tl2_ovv",
15863                 .field_bit_size = 12,
15864                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15865                 },
15866         .field_info_spec = {
15867                 .description = "tl2_ovv",
15868                 .field_bit_size = 12,
15869                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15870                 }
15871         },
15872         {
15873         .field_info_mask = {
15874                 .description = "tl2_ovt",
15875                 .field_bit_size = 3,
15876                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15877                 },
15878         .field_info_spec = {
15879                 .description = "tl2_ovt",
15880                 .field_bit_size = 3,
15881                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15882                 }
15883         },
15884         {
15885         .field_info_mask = {
15886                 .description = "tl2_ivp",
15887                 .field_bit_size = 3,
15888                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15889                 },
15890         .field_info_spec = {
15891                 .description = "tl2_ivp",
15892                 .field_bit_size = 3,
15893                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15894                 }
15895         },
15896         {
15897         .field_info_mask = {
15898                 .description = "tl2_ivd",
15899                 .field_bit_size = 1,
15900                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15901                 },
15902         .field_info_spec = {
15903                 .description = "tl2_ivd",
15904                 .field_bit_size = 1,
15905                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15906                 }
15907         },
15908         {
15909         .field_info_mask = {
15910                 .description = "tl2_ivv",
15911                 .field_bit_size = 12,
15912                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15913                 },
15914         .field_info_spec = {
15915                 .description = "tl2_ivv",
15916                 .field_bit_size = 12,
15917                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15918                 }
15919         },
15920         {
15921         .field_info_mask = {
15922                 .description = "tl2_ivt",
15923                 .field_bit_size = 3,
15924                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15925                 },
15926         .field_info_spec = {
15927                 .description = "tl2_ivt",
15928                 .field_bit_size = 3,
15929                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15930                 }
15931         },
15932         {
15933         .field_info_mask = {
15934                 .description = "tl2_etype",
15935                 .field_bit_size = 16,
15936                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15937                 },
15938         .field_info_spec = {
15939                 .description = "tl2_etype",
15940                 .field_bit_size = 16,
15941                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15942                 }
15943         },
15944         {
15945         .field_info_mask = {
15946                 .description = "tl3.l3type",
15947                 .field_bit_size = 4,
15948                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15949                 },
15950         .field_info_spec = {
15951                 .description = "tl3.l3type",
15952                 .field_bit_size = 4,
15953                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15954                 }
15955         },
15956         {
15957         .field_info_mask = {
15958                 .description = "tl3.sip.ipv4",
15959                 .field_bit_size = 32,
15960                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15961                 },
15962         .field_info_spec = {
15963                 .description = "tl3.sip.ipv4",
15964                 .field_bit_size = 32,
15965                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15966                 }
15967         },
15968         {
15969         .field_info_mask = {
15970                 .description = "tl3.sip.ipv6",
15971                 .field_bit_size = 128,
15972                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15973                 },
15974         .field_info_spec = {
15975                 .description = "tl3.sip.ipv6",
15976                 .field_bit_size = 128,
15977                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15978                 }
15979         },
15980         {
15981         .field_info_mask = {
15982                 .description = "tl3.sip_selcmp.ipv6",
15983                 .field_bit_size = 72,
15984                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15985                 },
15986         .field_info_spec = {
15987                 .description = "tl3.sip_selcmp.ipv6",
15988                 .field_bit_size = 72,
15989                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15990                 }
15991         },
15992         {
15993         .field_info_mask = {
15994                 .description = "tl3.dip.ipv4",
15995                 .field_bit_size = 32,
15996                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
15997                 },
15998         .field_info_spec = {
15999                 .description = "tl3.dip.ipv4",
16000                 .field_bit_size = 32,
16001                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16002                 }
16003         },
16004         {
16005         .field_info_mask = {
16006                 .description = "tl3.dip.ipv6",
16007                 .field_bit_size = 128,
16008                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16009                 },
16010         .field_info_spec = {
16011                 .description = "tl3.dip.ipv6",
16012                 .field_bit_size = 128,
16013                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16014                 }
16015         },
16016         {
16017         .field_info_mask = {
16018                 .description = "tl3.dip_selcmp.ipv6",
16019                 .field_bit_size = 72,
16020                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16021                 },
16022         .field_info_spec = {
16023                 .description = "tl3.dip_selcmp.ipv6",
16024                 .field_bit_size = 72,
16025                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16026                 }
16027         },
16028         {
16029         .field_info_mask = {
16030                 .description = "tl3.ttl",
16031                 .field_bit_size = 8,
16032                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16033                 },
16034         .field_info_spec = {
16035                 .description = "tl3.ttl",
16036                 .field_bit_size = 8,
16037                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16038                 }
16039         },
16040         {
16041         .field_info_mask = {
16042                 .description = "tl3.prot",
16043                 .field_bit_size = 8,
16044                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16045                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16046                 },
16047         .field_info_spec = {
16048                 .description = "tl3.prot",
16049                 .field_bit_size = 8,
16050                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16051                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16052                 }
16053         },
16054         {
16055         .field_info_mask = {
16056                 .description = "tl3.fid.ipv4",
16057                 .field_bit_size = 16,
16058                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16059                 },
16060         .field_info_spec = {
16061                 .description = "tl3.fid.ipv4",
16062                 .field_bit_size = 16,
16063                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16064                 }
16065         },
16066         {
16067         .field_info_mask = {
16068                 .description = "tl3.fid.ipv6",
16069                 .field_bit_size = 20,
16070                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16071                 },
16072         .field_info_spec = {
16073                 .description = "tl3.fid.ipv6",
16074                 .field_bit_size = 20,
16075                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16076                 }
16077         },
16078         {
16079         .field_info_mask = {
16080                 .description = "tl3.qos",
16081                 .field_bit_size = 8,
16082                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16083                 },
16084         .field_info_spec = {
16085                 .description = "tl3.qos",
16086                 .field_bit_size = 8,
16087                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16088                 }
16089         },
16090         {
16091         .field_info_mask = {
16092                 .description = "tl3.ieh_nonext",
16093                 .field_bit_size = 1,
16094                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16095                 },
16096         .field_info_spec = {
16097                 .description = "tl3.ieh_nonext",
16098                 .field_bit_size = 1,
16099                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16100                 }
16101         },
16102         {
16103         .field_info_mask = {
16104                 .description = "tl3.ieh_esp",
16105                 .field_bit_size = 1,
16106                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16107                 },
16108         .field_info_spec = {
16109                 .description = "tl3.ieh_esp",
16110                 .field_bit_size = 1,
16111                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16112                 }
16113         },
16114         {
16115         .field_info_mask = {
16116                 .description = "tl3.ieh_auth",
16117                 .field_bit_size = 1,
16118                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16119                 },
16120         .field_info_spec = {
16121                 .description = "tl3.ieh_auth",
16122                 .field_bit_size = 1,
16123                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16124                 }
16125         },
16126         {
16127         .field_info_mask = {
16128                 .description = "tl3.ieh_dest",
16129                 .field_bit_size = 1,
16130                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16131                 },
16132         .field_info_spec = {
16133                 .description = "tl3.ieh_dest",
16134                 .field_bit_size = 1,
16135                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16136                 }
16137         },
16138         {
16139         .field_info_mask = {
16140                 .description = "tl3.ieh_frag",
16141                 .field_bit_size = 1,
16142                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16143                 },
16144         .field_info_spec = {
16145                 .description = "tl3.ieh_frag",
16146                 .field_bit_size = 1,
16147                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16148                 }
16149         },
16150         {
16151         .field_info_mask = {
16152                 .description = "tl3.ieh_rthdr",
16153                 .field_bit_size = 1,
16154                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16155                 },
16156         .field_info_spec = {
16157                 .description = "tl3.ieh_rthdr",
16158                 .field_bit_size = 1,
16159                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16160                 }
16161         },
16162         {
16163         .field_info_mask = {
16164                 .description = "tl3.ieh_hop",
16165                 .field_bit_size = 1,
16166                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16167                 },
16168         .field_info_spec = {
16169                 .description = "tl3.ieh_hop",
16170                 .field_bit_size = 1,
16171                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16172                 }
16173         },
16174         {
16175         .field_info_mask = {
16176                 .description = "tl3.ieh_1frag",
16177                 .field_bit_size = 1,
16178                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16179                 },
16180         .field_info_spec = {
16181                 .description = "tl3.ieh_1frag",
16182                 .field_bit_size = 1,
16183                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16184                 }
16185         },
16186         {
16187         .field_info_mask = {
16188                 .description = "tl3.df",
16189                 .field_bit_size = 1,
16190                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16191                 },
16192         .field_info_spec = {
16193                 .description = "tl3.df",
16194                 .field_bit_size = 1,
16195                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16196                 }
16197         },
16198         {
16199         .field_info_mask = {
16200                 .description = "tl3.l3err",
16201                 .field_bit_size = 4,
16202                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16203                 },
16204         .field_info_spec = {
16205                 .description = "tl3.l3err",
16206                 .field_bit_size = 4,
16207                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16208                 }
16209         },
16210         {
16211         .field_info_mask = {
16212                 .description = "tl4.l4type",
16213                 .field_bit_size = 4,
16214                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16215                 },
16216         .field_info_spec = {
16217                 .description = "tl4.l4type",
16218                 .field_bit_size = 4,
16219                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16220                 }
16221         },
16222         {
16223         .field_info_mask = {
16224                 .description = "tl4.src",
16225                 .field_bit_size = 16,
16226                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16227                 },
16228         .field_info_spec = {
16229                 .description = "tl4.src",
16230                 .field_bit_size = 16,
16231                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16232                 }
16233         },
16234         {
16235         .field_info_mask = {
16236                 .description = "tl4.dst",
16237                 .field_bit_size = 16,
16238                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16239                 },
16240         .field_info_spec = {
16241                 .description = "tl4.dst",
16242                 .field_bit_size = 16,
16243                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16244                 }
16245         },
16246         {
16247         .field_info_mask = {
16248                 .description = "tl4.flags",
16249                 .field_bit_size = 9,
16250                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16251                 },
16252         .field_info_spec = {
16253                 .description = "tl4.flags",
16254                 .field_bit_size = 9,
16255                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16256                 }
16257         },
16258         {
16259         .field_info_mask = {
16260                 .description = "tl4.seq",
16261                 .field_bit_size = 32,
16262                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16263                 },
16264         .field_info_spec = {
16265                 .description = "tl4.seq",
16266                 .field_bit_size = 32,
16267                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16268                 }
16269         },
16270         {
16271         .field_info_mask = {
16272                 .description = "tl4.pa",
16273                 .field_bit_size = 1,
16274                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16275                 },
16276         .field_info_spec = {
16277                 .description = "tl4.pa",
16278                 .field_bit_size = 1,
16279                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16280                 }
16281         },
16282         {
16283         .field_info_mask = {
16284                 .description = "tl4.opt",
16285                 .field_bit_size = 1,
16286                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16287                 },
16288         .field_info_spec = {
16289                 .description = "tl4.opt",
16290                 .field_bit_size = 1,
16291                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16292                 }
16293         },
16294         {
16295         .field_info_mask = {
16296                 .description = "tl4.tcpts",
16297                 .field_bit_size = 1,
16298                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16299                 },
16300         .field_info_spec = {
16301                 .description = "tl4.tcpts",
16302                 .field_bit_size = 1,
16303                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16304                 }
16305         },
16306         {
16307         .field_info_mask = {
16308                 .description = "tl4.err",
16309                 .field_bit_size = 4,
16310                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16311                 },
16312         .field_info_spec = {
16313                 .description = "tl4.err",
16314                 .field_bit_size = 4,
16315                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16316                 }
16317         },
16318         {
16319         .field_info_mask = {
16320                 .description = "tuntype",
16321                 .field_bit_size = 4,
16322                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16323                 },
16324         .field_info_spec = {
16325                 .description = "tuntype",
16326                 .field_bit_size = 4,
16327                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16328                 }
16329         },
16330         {
16331         .field_info_mask = {
16332                 .description = "tflags",
16333                 .field_bit_size = 3,
16334                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16335                 },
16336         .field_info_spec = {
16337                 .description = "tflags",
16338                 .field_bit_size = 3,
16339                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16340                 }
16341         },
16342         {
16343         .field_info_mask = {
16344                 .description = "tids",
16345                 .field_bit_size = 24,
16346                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16347                 },
16348         .field_info_spec = {
16349                 .description = "tids",
16350                 .field_bit_size = 24,
16351                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16352                 }
16353         },
16354         {
16355         .field_info_mask = {
16356                 .description = "tid",
16357                 .field_bit_size = 32,
16358                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16359                 },
16360         .field_info_spec = {
16361                 .description = "tid",
16362                 .field_bit_size = 32,
16363                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16364                 }
16365         },
16366         {
16367         .field_info_mask = {
16368                 .description = "tctxts",
16369                 .field_bit_size = 24,
16370                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16371                 },
16372         .field_info_spec = {
16373                 .description = "tctxts",
16374                 .field_bit_size = 24,
16375                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16376                 }
16377         },
16378         {
16379         .field_info_mask = {
16380                 .description = "tctxt",
16381                 .field_bit_size = 32,
16382                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16383                 },
16384         .field_info_spec = {
16385                 .description = "tctxt",
16386                 .field_bit_size = 32,
16387                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16388                 }
16389         },
16390         {
16391         .field_info_mask = {
16392                 .description = "tqos",
16393                 .field_bit_size = 3,
16394                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16395                 },
16396         .field_info_spec = {
16397                 .description = "tqos",
16398                 .field_bit_size = 3,
16399                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16400                 }
16401         },
16402         {
16403         .field_info_mask = {
16404                 .description = "terr",
16405                 .field_bit_size = 4,
16406                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16407                 },
16408         .field_info_spec = {
16409                 .description = "terr",
16410                 .field_bit_size = 4,
16411                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16412                 }
16413         },
16414         {
16415         .field_info_mask = {
16416                 .description = "l2_l2type",
16417                 .field_bit_size = 2,
16418                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16419                 },
16420         .field_info_spec = {
16421                 .description = "l2_l2type",
16422                 .field_bit_size = 2,
16423                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16424                 }
16425         },
16426         {
16427         .field_info_mask = {
16428                 .description = "l2_dmac",
16429                 .field_bit_size = 48,
16430                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16431                 },
16432         .field_info_spec = {
16433                 .description = "l2_dmac",
16434                 .field_bit_size = 48,
16435                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16436                 }
16437         },
16438         {
16439         .field_info_mask = {
16440                 .description = "l2_smac",
16441                 .field_bit_size = 48,
16442                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16443                 },
16444         .field_info_spec = {
16445                 .description = "l2_smac",
16446                 .field_bit_size = 48,
16447                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16448                 }
16449         },
16450         {
16451         .field_info_mask = {
16452                 .description = "l2_dt",
16453                 .field_bit_size = 2,
16454                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16455                 },
16456         .field_info_spec = {
16457                 .description = "l2_dt",
16458                 .field_bit_size = 2,
16459                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16460                 }
16461         },
16462         {
16463         .field_info_mask = {
16464                 .description = "l2_sa",
16465                 .field_bit_size = 1,
16466                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16467                 },
16468         .field_info_spec = {
16469                 .description = "l2_sa",
16470                 .field_bit_size = 1,
16471                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16472                 }
16473         },
16474         {
16475         .field_info_mask = {
16476                 .description = "l2_nvt",
16477                 .field_bit_size = 2,
16478                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16479                 },
16480         .field_info_spec = {
16481                 .description = "l2_nvt",
16482                 .field_bit_size = 2,
16483                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16484                 }
16485         },
16486         {
16487         .field_info_mask = {
16488                 .description = "l2_ovp",
16489                 .field_bit_size = 3,
16490                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16491                 },
16492         .field_info_spec = {
16493                 .description = "l2_ovp",
16494                 .field_bit_size = 3,
16495                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16496                 }
16497         },
16498         {
16499         .field_info_mask = {
16500                 .description = "l2_ovd",
16501                 .field_bit_size = 1,
16502                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16503                 },
16504         .field_info_spec = {
16505                 .description = "l2_ovd",
16506                 .field_bit_size = 1,
16507                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16508                 }
16509         },
16510         {
16511         .field_info_mask = {
16512                 .description = "l2_ovv",
16513                 .field_bit_size = 12,
16514                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16515                 },
16516         .field_info_spec = {
16517                 .description = "l2_ovv",
16518                 .field_bit_size = 12,
16519                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16520                 }
16521         },
16522         {
16523         .field_info_mask = {
16524                 .description = "l2_ovt",
16525                 .field_bit_size = 3,
16526                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16527                 },
16528         .field_info_spec = {
16529                 .description = "l2_ovt",
16530                 .field_bit_size = 3,
16531                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16532                 }
16533         },
16534         {
16535         .field_info_mask = {
16536                 .description = "l2_ivp",
16537                 .field_bit_size = 3,
16538                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16539                 },
16540         .field_info_spec = {
16541                 .description = "l2_ivp",
16542                 .field_bit_size = 3,
16543                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16544                 }
16545         },
16546         {
16547         .field_info_mask = {
16548                 .description = "l2_ivd",
16549                 .field_bit_size = 1,
16550                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16551                 },
16552         .field_info_spec = {
16553                 .description = "l2_ivd",
16554                 .field_bit_size = 1,
16555                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16556                 }
16557         },
16558         {
16559         .field_info_mask = {
16560                 .description = "l2_ivv",
16561                 .field_bit_size = 12,
16562                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16563                 },
16564         .field_info_spec = {
16565                 .description = "l2_ivv",
16566                 .field_bit_size = 12,
16567                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16568                 }
16569         },
16570         {
16571         .field_info_mask = {
16572                 .description = "l2_ivt",
16573                 .field_bit_size = 3,
16574                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16575                 },
16576         .field_info_spec = {
16577                 .description = "l2_ivt",
16578                 .field_bit_size = 3,
16579                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16580                 }
16581         },
16582         {
16583         .field_info_mask = {
16584                 .description = "l2_etype",
16585                 .field_bit_size = 16,
16586                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16587                 },
16588         .field_info_spec = {
16589                 .description = "l2_etype",
16590                 .field_bit_size = 16,
16591                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16592                 }
16593         },
16594         {
16595         .field_info_mask = {
16596                 .description = "l3.l3type",
16597                 .field_bit_size = 4,
16598                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16599                 },
16600         .field_info_spec = {
16601                 .description = "l3.l3type",
16602                 .field_bit_size = 4,
16603                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16604                 }
16605         },
16606         {
16607         .field_info_mask = {
16608                 .description = "l3.sip.ipv4",
16609                 .field_bit_size = 32,
16610                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16611                 },
16612         .field_info_spec = {
16613                 .description = "l3.sip.ipv4",
16614                 .field_bit_size = 32,
16615                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16616                 }
16617         },
16618         {
16619         .field_info_mask = {
16620                 .description = "l3.sip.ipv6",
16621                 .field_bit_size = 128,
16622                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16623                 },
16624         .field_info_spec = {
16625                 .description = "l3.sip.ipv6",
16626                 .field_bit_size = 128,
16627                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16628                 }
16629         },
16630         {
16631         .field_info_mask = {
16632                 .description = "l3.sip_selcmp.ipv6",
16633                 .field_bit_size = 72,
16634                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16635                 },
16636         .field_info_spec = {
16637                 .description = "l3.sip_selcmp.ipv6",
16638                 .field_bit_size = 72,
16639                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16640                 }
16641         },
16642         {
16643         .field_info_mask = {
16644                 .description = "l3.dip.ipv4",
16645                 .field_bit_size = 32,
16646                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16647                 },
16648         .field_info_spec = {
16649                 .description = "l3.dip.ipv4",
16650                 .field_bit_size = 32,
16651                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16652                 }
16653         },
16654         {
16655         .field_info_mask = {
16656                 .description = "l3.dip.ipv6",
16657                 .field_bit_size = 128,
16658                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16659                 },
16660         .field_info_spec = {
16661                 .description = "l3.dip.ipv6",
16662                 .field_bit_size = 128,
16663                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16664                 }
16665         },
16666         {
16667         .field_info_mask = {
16668                 .description = "l3.dip_selcmp.ipv6",
16669                 .field_bit_size = 72,
16670                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16671                 },
16672         .field_info_spec = {
16673                 .description = "l3.dip_selcmp.ipv6",
16674                 .field_bit_size = 72,
16675                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16676                 }
16677         },
16678         {
16679         .field_info_mask = {
16680                 .description = "l3.ttl",
16681                 .field_bit_size = 8,
16682                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16683                 },
16684         .field_info_spec = {
16685                 .description = "l3.ttl",
16686                 .field_bit_size = 8,
16687                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16688                 }
16689         },
16690         {
16691         .field_info_mask = {
16692                 .description = "l3.prot",
16693                 .field_bit_size = 8,
16694                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16695                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
16696                 .field_opr1 = {
16697                         0xff}
16698                 },
16699         .field_info_spec = {
16700                 .description = "l3.prot",
16701                 .field_bit_size = 8,
16702                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
16703                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
16704                 .field_opr1 = {
16705                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
16706                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
16707                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
16708                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
16709                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
16710                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
16711                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
16712                 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
16713                 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
16714                 .field_opr2 = {
16715                         1},
16716                 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
16717                 .field_opr3 = {
16718                 58}
16719                 }
16720         },
16721         {
16722         .field_info_mask = {
16723                 .description = "l3.fid.ipv4",
16724                 .field_bit_size = 16,
16725                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16726                 },
16727         .field_info_spec = {
16728                 .description = "l3.fid.ipv4",
16729                 .field_bit_size = 16,
16730                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16731                 }
16732         },
16733         {
16734         .field_info_mask = {
16735                 .description = "l3.fid.ipv6",
16736                 .field_bit_size = 20,
16737                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16738                 },
16739         .field_info_spec = {
16740                 .description = "l3.fid.ipv6",
16741                 .field_bit_size = 20,
16742                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16743                 }
16744         },
16745         {
16746         .field_info_mask = {
16747                 .description = "l3.qos",
16748                 .field_bit_size = 8,
16749                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16750                 },
16751         .field_info_spec = {
16752                 .description = "l3.qos",
16753                 .field_bit_size = 8,
16754                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16755                 }
16756         },
16757         {
16758         .field_info_mask = {
16759                 .description = "l3.ieh_nonext",
16760                 .field_bit_size = 1,
16761                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16762                 },
16763         .field_info_spec = {
16764                 .description = "l3.ieh_nonext",
16765                 .field_bit_size = 1,
16766                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16767                 }
16768         },
16769         {
16770         .field_info_mask = {
16771                 .description = "l3.ieh_esp",
16772                 .field_bit_size = 1,
16773                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16774                 },
16775         .field_info_spec = {
16776                 .description = "l3.ieh_esp",
16777                 .field_bit_size = 1,
16778                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16779                 }
16780         },
16781         {
16782         .field_info_mask = {
16783                 .description = "l3.ieh_auth",
16784                 .field_bit_size = 1,
16785                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16786                 },
16787         .field_info_spec = {
16788                 .description = "l3.ieh_auth",
16789                 .field_bit_size = 1,
16790                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16791                 }
16792         },
16793         {
16794         .field_info_mask = {
16795                 .description = "l3.ieh_dest",
16796                 .field_bit_size = 1,
16797                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16798                 },
16799         .field_info_spec = {
16800                 .description = "l3.ieh_dest",
16801                 .field_bit_size = 1,
16802                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16803                 }
16804         },
16805         {
16806         .field_info_mask = {
16807                 .description = "l3.ieh_frag",
16808                 .field_bit_size = 1,
16809                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16810                 },
16811         .field_info_spec = {
16812                 .description = "l3.ieh_frag",
16813                 .field_bit_size = 1,
16814                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16815                 }
16816         },
16817         {
16818         .field_info_mask = {
16819                 .description = "l3.ieh_rthdr",
16820                 .field_bit_size = 1,
16821                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16822                 },
16823         .field_info_spec = {
16824                 .description = "l3.ieh_rthdr",
16825                 .field_bit_size = 1,
16826                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16827                 }
16828         },
16829         {
16830         .field_info_mask = {
16831                 .description = "l3.ieh_hop",
16832                 .field_bit_size = 1,
16833                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16834                 },
16835         .field_info_spec = {
16836                 .description = "l3.ieh_hop",
16837                 .field_bit_size = 1,
16838                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16839                 }
16840         },
16841         {
16842         .field_info_mask = {
16843                 .description = "l3.ieh_1frag",
16844                 .field_bit_size = 1,
16845                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16846                 },
16847         .field_info_spec = {
16848                 .description = "l3.ieh_1frag",
16849                 .field_bit_size = 1,
16850                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16851                 }
16852         },
16853         {
16854         .field_info_mask = {
16855                 .description = "l3.df",
16856                 .field_bit_size = 1,
16857                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16858                 },
16859         .field_info_spec = {
16860                 .description = "l3.df",
16861                 .field_bit_size = 1,
16862                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16863                 }
16864         },
16865         {
16866         .field_info_mask = {
16867                 .description = "l3.l3err.ipv4",
16868                 .field_bit_size = 4,
16869                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16870                 },
16871         .field_info_spec = {
16872                 .description = "l3.l3err.ipv4",
16873                 .field_bit_size = 4,
16874                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16875                 }
16876         },
16877         {
16878         .field_info_mask = {
16879                 .description = "l3.l3err.ipv6",
16880                 .field_bit_size = 4,
16881                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16882                 },
16883         .field_info_spec = {
16884                 .description = "l3.l3err.ipv6",
16885                 .field_bit_size = 4,
16886                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16887                 }
16888         },
16889         {
16890         .field_info_mask = {
16891                 .description = "l4.l4type",
16892                 .field_bit_size = 4,
16893                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16894                 },
16895         .field_info_spec = {
16896                 .description = "l4.l4type",
16897                 .field_bit_size = 4,
16898                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16899                 }
16900         },
16901         {
16902         .field_info_mask = {
16903                 .description = "l4.src",
16904                 .field_bit_size = 16,
16905                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16906                 },
16907         .field_info_spec = {
16908                 .description = "l4.src",
16909                 .field_bit_size = 16,
16910                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16911                 }
16912         },
16913         {
16914         .field_info_mask = {
16915                 .description = "l4.dst",
16916                 .field_bit_size = 16,
16917                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16918                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16919                 },
16920         .field_info_spec = {
16921                 .description = "l4.dst",
16922                 .field_bit_size = 16,
16923                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
16924                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
16925                 }
16926         },
16927         {
16928         .field_info_mask = {
16929                 .description = "l4.flags",
16930                 .field_bit_size = 9,
16931                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16932                 },
16933         .field_info_spec = {
16934                 .description = "l4.flags",
16935                 .field_bit_size = 9,
16936                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16937                 }
16938         },
16939         {
16940         .field_info_mask = {
16941                 .description = "l4.seq",
16942                 .field_bit_size = 32,
16943                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16944                 },
16945         .field_info_spec = {
16946                 .description = "l4.seq",
16947                 .field_bit_size = 32,
16948                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16949                 }
16950         },
16951         {
16952         .field_info_mask = {
16953                 .description = "l4.ack",
16954                 .field_bit_size = 32,
16955                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16956                 },
16957         .field_info_spec = {
16958                 .description = "l4.ack",
16959                 .field_bit_size = 32,
16960                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16961                 }
16962         },
16963         {
16964         .field_info_mask = {
16965                 .description = "l4.win",
16966                 .field_bit_size = 16,
16967                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16968                 },
16969         .field_info_spec = {
16970                 .description = "l4.win",
16971                 .field_bit_size = 16,
16972                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16973                 }
16974         },
16975         {
16976         .field_info_mask = {
16977                 .description = "l4.pa",
16978                 .field_bit_size = 1,
16979                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16980                 },
16981         .field_info_spec = {
16982                 .description = "l4.pa",
16983                 .field_bit_size = 1,
16984                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16985                 }
16986         },
16987         {
16988         .field_info_mask = {
16989                 .description = "l4.opt",
16990                 .field_bit_size = 1,
16991                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16992                 },
16993         .field_info_spec = {
16994                 .description = "l4.opt",
16995                 .field_bit_size = 1,
16996                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
16997                 }
16998         },
16999         {
17000         .field_info_mask = {
17001                 .description = "l4.tcpts",
17002                 .field_bit_size = 1,
17003                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17004                 },
17005         .field_info_spec = {
17006                 .description = "l4.tcpts",
17007                 .field_bit_size = 1,
17008                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17009                 }
17010         },
17011         {
17012         .field_info_mask = {
17013                 .description = "l4.tsval",
17014                 .field_bit_size = 32,
17015                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17016                 },
17017         .field_info_spec = {
17018                 .description = "l4.tsval",
17019                 .field_bit_size = 32,
17020                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17021                 }
17022         },
17023         {
17024         .field_info_mask = {
17025                 .description = "l4.txecr",
17026                 .field_bit_size = 32,
17027                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17028                 },
17029         .field_info_spec = {
17030                 .description = "l4.txecr",
17031                 .field_bit_size = 32,
17032                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17033                 }
17034         },
17035         {
17036         .field_info_mask = {
17037                 .description = "l4.err",
17038                 .field_bit_size = 4,
17039                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17040                 },
17041         .field_info_spec = {
17042                 .description = "l4.err",
17043                 .field_bit_size = 4,
17044                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17045                 }
17046         },
17047         /* class_tid: 1, thor, table: profile_tcam_cache.l3_l4_rd */
17048         {
17049         .field_info_mask = {
17050                 .description = "recycle_cnt",
17051                 .field_bit_size = 2,
17052                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17053                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17054                 .field_opr1 = {
17055                         0xff}
17056                 },
17057         .field_info_spec = {
17058                 .description = "recycle_cnt",
17059                 .field_bit_size = 2,
17060                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17061                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17062                 }
17063         },
17064         {
17065         .field_info_mask = {
17066                 .description = "prof_func_id",
17067                 .field_bit_size = 7,
17068                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17069                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17070                 .field_opr1 = {
17071                         0xff}
17072                 },
17073         .field_info_spec = {
17074                 .description = "prof_func_id",
17075                 .field_bit_size = 7,
17076                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17077                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
17078                 .field_opr1 = {
17079                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
17080                 BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
17081                 }
17082         },
17083         {
17084         .field_info_mask = {
17085                 .description = "hdr_sig_id",
17086                 .field_bit_size = 5,
17087                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17088                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17089                 .field_opr1 = {
17090                         0xff}
17091                 },
17092         .field_info_spec = {
17093                 .description = "hdr_sig_id",
17094                 .field_bit_size = 5,
17095                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17096                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
17097                 .field_opr1 = {
17098                 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
17099                 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
17100                 }
17101         },
17102         /* class_tid: 1, thor, table: profile_tcam.l3_l4 */
17103         {
17104         .field_info_mask = {
17105                 .description = "l4_hdr_is_udp_tcp",
17106                 .field_bit_size = 1,
17107                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17108                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17109                 },
17110         .field_info_spec = {
17111                 .description = "l4_hdr_is_udp_tcp",
17112                 .field_bit_size = 1,
17113                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17114                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17115                 }
17116         },
17117         {
17118         .field_info_mask = {
17119                 .description = "l4_hdr_type",
17120                 .field_bit_size = 4,
17121                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17122                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17123                 .field_opr1 = {
17124                         0xff}
17125                 },
17126         .field_info_spec = {
17127                 .description = "l4_hdr_type",
17128                 .field_bit_size = 4,
17129                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
17130                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
17131                 .field_opr1 = {
17132                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
17133                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
17134                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
17135                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
17136                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
17137                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
17138                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
17139                 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
17140                 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
17141                 .field_opr2 = {
17142                         ULP_THOR_SYM_L4_HDR_TYPE_TCP},
17143                 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
17144                 .field_opr3 = {
17145                 ULP_THOR_SYM_L4_HDR_TYPE_UDP}
17146                 }
17147         },
17148         {
17149         .field_info_mask = {
17150                 .description = "l4_hdr_error",
17151                 .field_bit_size = 1,
17152                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17153                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17154                 },
17155         .field_info_spec = {
17156                 .description = "l4_hdr_error",
17157                 .field_bit_size = 1,
17158                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17159                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17160                 }
17161         },
17162         {
17163         .field_info_mask = {
17164                 .description = "l4_hdr_valid",
17165                 .field_bit_size = 1,
17166                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17167                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17168                 .field_opr1 = {
17169                         0xff}
17170                 },
17171         .field_info_spec = {
17172                 .description = "l4_hdr_valid",
17173                 .field_bit_size = 1,
17174                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17175                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
17176                 .field_opr1 = {
17177                 ULP_THOR_SYM_L4_HDR_VALID_YES}
17178                 }
17179         },
17180         {
17181         .field_info_mask = {
17182                 .description = "ieh",
17183                 .field_bit_size = 8,
17184                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17185                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17186                 },
17187         .field_info_spec = {
17188                 .description = "ieh",
17189                 .field_bit_size = 8,
17190                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17191                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17192                 }
17193         },
17194         {
17195         .field_info_mask = {
17196                 .description = "l3_ipv6_cmp_dst",
17197                 .field_bit_size = 1,
17198                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17199                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17200                 },
17201         .field_info_spec = {
17202                 .description = "l3_ipv6_cmp_dst",
17203                 .field_bit_size = 1,
17204                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17205                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17206                 }
17207         },
17208         {
17209         .field_info_mask = {
17210                 .description = "l3_ipv6_cmp_src",
17211                 .field_bit_size = 1,
17212                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17213                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17214                 },
17215         .field_info_spec = {
17216                 .description = "l3_ipv6_cmp_src",
17217                 .field_bit_size = 1,
17218                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17219                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17220                 }
17221         },
17222         {
17223         .field_info_mask = {
17224                 .description = "l3_hdr_isIP",
17225                 .field_bit_size = 1,
17226                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17227                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17228                 },
17229         .field_info_spec = {
17230                 .description = "l3_hdr_isIP",
17231                 .field_bit_size = 1,
17232                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17233                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17234                 }
17235         },
17236         {
17237         .field_info_mask = {
17238                 .description = "l3_hdr_type",
17239                 .field_bit_size = 4,
17240                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17241                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17242                 .field_opr1 = {
17243                         0xff}
17244                 },
17245         .field_info_spec = {
17246                 .description = "l3_hdr_type",
17247                 .field_bit_size = 4,
17248                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
17249                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
17250                 .field_opr1 = {
17251                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
17252                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
17253                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
17254                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
17255                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
17256                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
17257                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
17258                 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
17259                 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
17260                 .field_opr2 = {
17261                         ULP_THOR_SYM_L3_HDR_TYPE_IPV4},
17262                 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
17263                 .field_opr3 = {
17264                 ULP_THOR_SYM_L3_HDR_TYPE_IPV6}
17265                 }
17266         },
17267         {
17268         .field_info_mask = {
17269                 .description = "l3_hdr_error",
17270                 .field_bit_size = 1,
17271                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17272                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17273                 },
17274         .field_info_spec = {
17275                 .description = "l3_hdr_error",
17276                 .field_bit_size = 1,
17277                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17278                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17279                 }
17280         },
17281         {
17282         .field_info_mask = {
17283                 .description = "l3_hdr_valid",
17284                 .field_bit_size = 1,
17285                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17286                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17287                 .field_opr1 = {
17288                         0xff}
17289                 },
17290         .field_info_spec = {
17291                 .description = "l3_hdr_valid",
17292                 .field_bit_size = 1,
17293                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17294                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
17295                 .field_opr1 = {
17296                 ULP_THOR_SYM_L3_HDR_VALID_YES}
17297                 }
17298         },
17299         {
17300         .field_info_mask = {
17301                 .description = "l2_two_vtags",
17302                 .field_bit_size = 1,
17303                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17304                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17305                 },
17306         .field_info_spec = {
17307                 .description = "l2_two_vtags",
17308                 .field_bit_size = 1,
17309                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17310                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17311                 }
17312         },
17313         {
17314         .field_info_mask = {
17315                 .description = "l2_vtag_present",
17316                 .field_bit_size = 1,
17317                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17318                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17319                 },
17320         .field_info_spec = {
17321                 .description = "l2_vtag_present",
17322                 .field_bit_size = 1,
17323                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17324                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17325                 }
17326         },
17327         {
17328         .field_info_mask = {
17329                 .description = "l2_uc_mc_bc",
17330                 .field_bit_size = 2,
17331                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17332                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17333                 },
17334         .field_info_spec = {
17335                 .description = "l2_uc_mc_bc",
17336                 .field_bit_size = 2,
17337                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17338                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17339                 }
17340         },
17341         {
17342         .field_info_mask = {
17343                 .description = "l2_hdr_type",
17344                 .field_bit_size = 2,
17345                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17346                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17347                 },
17348         .field_info_spec = {
17349                 .description = "l2_hdr_type",
17350                 .field_bit_size = 2,
17351                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17352                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17353                 }
17354         },
17355         {
17356         .field_info_mask = {
17357                 .description = "l2_hdr_error",
17358                 .field_bit_size = 1,
17359                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17360                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17361                 },
17362         .field_info_spec = {
17363                 .description = "l2_hdr_error",
17364                 .field_bit_size = 1,
17365                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17366                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17367                 }
17368         },
17369         {
17370         .field_info_mask = {
17371                 .description = "l2_hdr_valid",
17372                 .field_bit_size = 1,
17373                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17374                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17375                 .field_opr1 = {
17376                         0xff}
17377                 },
17378         .field_info_spec = {
17379                 .description = "l2_hdr_valid",
17380                 .field_bit_size = 1,
17381                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17382                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
17383                 .field_opr1 = {
17384                 ULP_THOR_SYM_L2_HDR_VALID_YES}
17385                 }
17386         },
17387         {
17388         .field_info_mask = {
17389                 .description = "tun_hdr_flags",
17390                 .field_bit_size = 3,
17391                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17392                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17393                 },
17394         .field_info_spec = {
17395                 .description = "tun_hdr_flags",
17396                 .field_bit_size = 3,
17397                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17398                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17399                 }
17400         },
17401         {
17402         .field_info_mask = {
17403                 .description = "tun_hdr_type",
17404                 .field_bit_size = 4,
17405                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17406                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17407                 },
17408         .field_info_spec = {
17409                 .description = "tun_hdr_type",
17410                 .field_bit_size = 4,
17411                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17412                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17413                 }
17414         },
17415         {
17416         .field_info_mask = {
17417                 .description = "tun_hdr_err",
17418                 .field_bit_size = 1,
17419                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17420                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17421                 },
17422         .field_info_spec = {
17423                 .description = "tun_hdr_err",
17424                 .field_bit_size = 1,
17425                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17426                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17427                 }
17428         },
17429         {
17430         .field_info_mask = {
17431                 .description = "tun_hdr_valid",
17432                 .field_bit_size = 1,
17433                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17434                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17435                 .field_opr1 = {
17436                         0xff}
17437                 },
17438         .field_info_spec = {
17439                 .description = "tun_hdr_valid",
17440                 .field_bit_size = 1,
17441                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17442                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17443                 }
17444         },
17445         {
17446         .field_info_mask = {
17447                 .description = "tl4_hdr_is_udp_tcp",
17448                 .field_bit_size = 1,
17449                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17450                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17451                 },
17452         .field_info_spec = {
17453                 .description = "tl4_hdr_is_udp_tcp",
17454                 .field_bit_size = 1,
17455                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17456                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17457                 }
17458         },
17459         {
17460         .field_info_mask = {
17461                 .description = "tl4_hdr_type",
17462                 .field_bit_size = 4,
17463                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17464                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17465                 },
17466         .field_info_spec = {
17467                 .description = "tl4_hdr_type",
17468                 .field_bit_size = 4,
17469                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17470                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17471                 }
17472         },
17473         {
17474         .field_info_mask = {
17475                 .description = "tl4_hdr_error",
17476                 .field_bit_size = 1,
17477                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17478                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17479                 },
17480         .field_info_spec = {
17481                 .description = "tl4_hdr_error",
17482                 .field_bit_size = 1,
17483                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17484                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17485                 }
17486         },
17487         {
17488         .field_info_mask = {
17489                 .description = "tl4_hdr_valid",
17490                 .field_bit_size = 1,
17491                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17492                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17493                 .field_opr1 = {
17494                         0xff}
17495                 },
17496         .field_info_spec = {
17497                 .description = "tl4_hdr_valid",
17498                 .field_bit_size = 1,
17499                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17500                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17501                 }
17502         },
17503         {
17504         .field_info_mask = {
17505                 .description = "tl3_ipv6_cmp_dst",
17506                 .field_bit_size = 1,
17507                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17508                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17509                 },
17510         .field_info_spec = {
17511                 .description = "tl3_ipv6_cmp_dst",
17512                 .field_bit_size = 1,
17513                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17514                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17515                 }
17516         },
17517         {
17518         .field_info_mask = {
17519                 .description = "tl3_ipv6_cmp_src",
17520                 .field_bit_size = 1,
17521                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17522                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17523                 },
17524         .field_info_spec = {
17525                 .description = "tl3_ipv6_cmp_src",
17526                 .field_bit_size = 1,
17527                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17528                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17529                 }
17530         },
17531         {
17532         .field_info_mask = {
17533                 .description = "tl3_hdr_isIP",
17534                 .field_bit_size = 1,
17535                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17536                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17537                 },
17538         .field_info_spec = {
17539                 .description = "tl3_hdr_isIP",
17540                 .field_bit_size = 1,
17541                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17542                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17543                 }
17544         },
17545         {
17546         .field_info_mask = {
17547                 .description = "tl3_hdr_type",
17548                 .field_bit_size = 4,
17549                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17550                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17551                 },
17552         .field_info_spec = {
17553                 .description = "tl3_hdr_type",
17554                 .field_bit_size = 4,
17555                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17556                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17557                 }
17558         },
17559         {
17560         .field_info_mask = {
17561                 .description = "tl3_hdr_error",
17562                 .field_bit_size = 1,
17563                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17564                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17565                 },
17566         .field_info_spec = {
17567                 .description = "tl3_hdr_error",
17568                 .field_bit_size = 1,
17569                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17570                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17571                 }
17572         },
17573         {
17574         .field_info_mask = {
17575                 .description = "tl3_hdr_valid",
17576                 .field_bit_size = 1,
17577                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17578                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17579                 .field_opr1 = {
17580                         0xff}
17581                 },
17582         .field_info_spec = {
17583                 .description = "tl3_hdr_valid",
17584                 .field_bit_size = 1,
17585                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17586                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17587                 }
17588         },
17589         {
17590         .field_info_mask = {
17591                 .description = "tl2_two_vtags",
17592                 .field_bit_size = 1,
17593                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17594                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17595                 },
17596         .field_info_spec = {
17597                 .description = "tl2_two_vtags",
17598                 .field_bit_size = 1,
17599                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17600                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17601                 }
17602         },
17603         {
17604         .field_info_mask = {
17605                 .description = "tl2_vtag_present",
17606                 .field_bit_size = 1,
17607                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17608                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17609                 },
17610         .field_info_spec = {
17611                 .description = "tl2_vtag_present",
17612                 .field_bit_size = 1,
17613                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17614                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17615                 }
17616         },
17617         {
17618         .field_info_mask = {
17619                 .description = "tl2_uc_mc_bc",
17620                 .field_bit_size = 2,
17621                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17622                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17623                 },
17624         .field_info_spec = {
17625                 .description = "tl2_uc_mc_bc",
17626                 .field_bit_size = 2,
17627                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17628                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17629                 }
17630         },
17631         {
17632         .field_info_mask = {
17633                 .description = "tl2_hdr_type",
17634                 .field_bit_size = 2,
17635                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17636                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17637                 },
17638         .field_info_spec = {
17639                 .description = "tl2_hdr_type",
17640                 .field_bit_size = 2,
17641                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17642                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17643                 }
17644         },
17645         {
17646         .field_info_mask = {
17647                 .description = "tl2_hdr_valid",
17648                 .field_bit_size = 1,
17649                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17650                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17651                 .field_opr1 = {
17652                         0xff}
17653                 },
17654         .field_info_spec = {
17655                 .description = "tl2_hdr_valid",
17656                 .field_bit_size = 1,
17657                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17658                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17659                 }
17660         },
17661         {
17662         .field_info_mask = {
17663                 .description = "hrec_next",
17664                 .field_bit_size = 1,
17665                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17666                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17667                 },
17668         .field_info_spec = {
17669                 .description = "hrec_next",
17670                 .field_bit_size = 1,
17671                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17672                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17673                 }
17674         },
17675         {
17676         .field_info_mask = {
17677                 .description = "prof_func_id",
17678                 .field_bit_size = 7,
17679                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17680                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17681                 .field_opr1 = {
17682                         0xff}
17683                 },
17684         .field_info_spec = {
17685                 .description = "prof_func_id",
17686                 .field_bit_size = 7,
17687                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17688                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
17689                 .field_opr1 = {
17690                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
17691                 BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
17692                 }
17693         },
17694         {
17695         .field_info_mask = {
17696                 .description = "agg_error",
17697                 .field_bit_size = 1,
17698                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17699                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17700                 },
17701         .field_info_spec = {
17702                 .description = "agg_error",
17703                 .field_bit_size = 1,
17704                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17705                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17706                 }
17707         },
17708         {
17709         .field_info_mask = {
17710                 .description = "metadata",
17711                 .field_bit_size = 16,
17712                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17713                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17714                 },
17715         .field_info_spec = {
17716                 .description = "metadata",
17717                 .field_bit_size = 16,
17718                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17719                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17720                 }
17721         },
17722         {
17723         .field_info_mask = {
17724                 .description = "pkt_type_0",
17725                 .field_bit_size = 2,
17726                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17727                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17728                 },
17729         .field_info_spec = {
17730                 .description = "pkt_type_0",
17731                 .field_bit_size = 2,
17732                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17733                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17734                 }
17735         },
17736         {
17737         .field_info_mask = {
17738                 .description = "pkt_type_1",
17739                 .field_bit_size = 2,
17740                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17741                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17742                 },
17743         .field_info_spec = {
17744                 .description = "pkt_type_1",
17745                 .field_bit_size = 2,
17746                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17747                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17748                 }
17749         },
17750         {
17751         .field_info_mask = {
17752                 .description = "valid",
17753                 .field_bit_size = 1,
17754                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17755                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
17756                 .field_opr1 = {
17757                 1}
17758                 },
17759         .field_info_spec = {
17760                 .description = "valid",
17761                 .field_bit_size = 1,
17762                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17763                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
17764                 .field_opr1 = {
17765                 1}
17766                 }
17767         },
17768         /* class_tid: 1, thor, table: profile_tcam_cache.wr */
17769         {
17770         .field_info_mask = {
17771                 .description = "recycle_cnt",
17772                 .field_bit_size = 2,
17773                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17774                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17775                 .field_opr1 = {
17776                         0xff}
17777                 },
17778         .field_info_spec = {
17779                 .description = "recycle_cnt",
17780                 .field_bit_size = 2,
17781                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17782                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
17783                 }
17784         },
17785         {
17786         .field_info_mask = {
17787                 .description = "prof_func_id",
17788                 .field_bit_size = 7,
17789                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17790                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17791                 .field_opr1 = {
17792                         0xff}
17793                 },
17794         .field_info_spec = {
17795                 .description = "prof_func_id",
17796                 .field_bit_size = 7,
17797                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17798                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
17799                 .field_opr1 = {
17800                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
17801                 BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
17802                 }
17803         },
17804         {
17805         .field_info_mask = {
17806                 .description = "hdr_sig_id",
17807                 .field_bit_size = 5,
17808                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17809                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17810                 .field_opr1 = {
17811                         0xff}
17812                 },
17813         .field_info_spec = {
17814                 .description = "hdr_sig_id",
17815                 .field_bit_size = 5,
17816                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17817                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
17818                 .field_opr1 = {
17819                 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
17820                 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
17821                 }
17822         },
17823         /* class_tid: 1, thor, table: wm.l4 */
17824         {
17825         .field_info_mask = {
17826                 .description = "wc_profile_id",
17827                 .field_bit_size = 8,
17828                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17829                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17830                 .field_opr1 = {
17831                         0xff}
17832                 },
17833         .field_info_spec = {
17834                 .description = "wc_profile_id",
17835                 .field_bit_size = 8,
17836                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
17837                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
17838                 .field_opr1 = {
17839                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
17840                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
17841                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
17842                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
17843                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
17844                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
17845                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
17846                 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
17847                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
17848                 .field_opr2 = {
17849                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
17850                         BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff},
17851                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
17852                 .field_opr3 = {
17853                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
17854                 BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 & 0xff}
17855                 }
17856         },
17857         {
17858         .field_info_mask = {
17859                 .description = "l2_cntxt_id",
17860                 .field_bit_size = 10,
17861                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
17862                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
17863                 .field_opr1 = {
17864                         0xff,
17865                         0xff}
17866                 },
17867         .field_info_spec = {
17868                 .description = "l2_cntxt_id",
17869                 .field_bit_size = 10,
17870                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
17871                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
17872                 .field_opr1 = {
17873                 (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
17874                 BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
17875                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
17876                 .field_opr2 = {
17877                         (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
17878                         BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
17879                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
17880                 .field_opr3 = {
17881                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
17882                 BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
17883                 }
17884         },
17885         {
17886         .field_info_mask = {
17887                 .description = "parif",
17888                 .field_bit_size = 4,
17889                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17890                 },
17891         .field_info_spec = {
17892                 .description = "parif",
17893                 .field_bit_size = 4,
17894                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17895                 }
17896         },
17897         {
17898         .field_info_mask = {
17899                 .description = "spif",
17900                 .field_bit_size = 2,
17901                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17902                 },
17903         .field_info_spec = {
17904                 .description = "spif",
17905                 .field_bit_size = 2,
17906                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17907                 }
17908         },
17909         {
17910         .field_info_mask = {
17911                 .description = "svif",
17912                 .field_bit_size = 11,
17913                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17914                 },
17915         .field_info_spec = {
17916                 .description = "svif",
17917                 .field_bit_size = 11,
17918                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17919                 }
17920         },
17921         {
17922         .field_info_mask = {
17923                 .description = "lcos",
17924                 .field_bit_size = 3,
17925                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17926                 },
17927         .field_info_spec = {
17928                 .description = "lcos",
17929                 .field_bit_size = 3,
17930                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17931                 }
17932         },
17933         {
17934         .field_info_mask = {
17935                 .description = "meta",
17936                 .field_bit_size = 16,
17937                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17938                 },
17939         .field_info_spec = {
17940                 .description = "meta",
17941                 .field_bit_size = 16,
17942                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17943                 }
17944         },
17945         {
17946         .field_info_mask = {
17947                 .description = "rcyc_cnt",
17948                 .field_bit_size = 2,
17949                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17950                 },
17951         .field_info_spec = {
17952                 .description = "rcyc_cnt",
17953                 .field_bit_size = 2,
17954                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17955                 }
17956         },
17957         {
17958         .field_info_mask = {
17959                 .description = "loopback",
17960                 .field_bit_size = 1,
17961                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17962                 },
17963         .field_info_spec = {
17964                 .description = "loopback",
17965                 .field_bit_size = 1,
17966                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17967                 }
17968         },
17969         {
17970         .field_info_mask = {
17971                 .description = "tl2_l2type",
17972                 .field_bit_size = 2,
17973                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17974                 },
17975         .field_info_spec = {
17976                 .description = "tl2_l2type",
17977                 .field_bit_size = 2,
17978                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17979                 }
17980         },
17981         {
17982         .field_info_mask = {
17983                 .description = "tl2_dmac",
17984                 .field_bit_size = 48,
17985                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17986                 },
17987         .field_info_spec = {
17988                 .description = "tl2_dmac",
17989                 .field_bit_size = 48,
17990                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17991                 }
17992         },
17993         {
17994         .field_info_mask = {
17995                 .description = "tl2_smac",
17996                 .field_bit_size = 48,
17997                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
17998                 },
17999         .field_info_spec = {
18000                 .description = "tl2_smac",
18001                 .field_bit_size = 48,
18002                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18003                 }
18004         },
18005         {
18006         .field_info_mask = {
18007                 .description = "tl2_dt",
18008                 .field_bit_size = 2,
18009                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18010                 },
18011         .field_info_spec = {
18012                 .description = "tl2_dt",
18013                 .field_bit_size = 2,
18014                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18015                 }
18016         },
18017         {
18018         .field_info_mask = {
18019                 .description = "tl2_sa",
18020                 .field_bit_size = 1,
18021                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18022                 },
18023         .field_info_spec = {
18024                 .description = "tl2_sa",
18025                 .field_bit_size = 1,
18026                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18027                 }
18028         },
18029         {
18030         .field_info_mask = {
18031                 .description = "tl2_nvt",
18032                 .field_bit_size = 2,
18033                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18034                 },
18035         .field_info_spec = {
18036                 .description = "tl2_nvt",
18037                 .field_bit_size = 2,
18038                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18039                 }
18040         },
18041         {
18042         .field_info_mask = {
18043                 .description = "tl2_ovp",
18044                 .field_bit_size = 3,
18045                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18046                 },
18047         .field_info_spec = {
18048                 .description = "tl2_ovp",
18049                 .field_bit_size = 3,
18050                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18051                 }
18052         },
18053         {
18054         .field_info_mask = {
18055                 .description = "tl2_ovd",
18056                 .field_bit_size = 1,
18057                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18058                 },
18059         .field_info_spec = {
18060                 .description = "tl2_ovd",
18061                 .field_bit_size = 1,
18062                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18063                 }
18064         },
18065         {
18066         .field_info_mask = {
18067                 .description = "tl2_ovv",
18068                 .field_bit_size = 12,
18069                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18070                 },
18071         .field_info_spec = {
18072                 .description = "tl2_ovv",
18073                 .field_bit_size = 12,
18074                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18075                 }
18076         },
18077         {
18078         .field_info_mask = {
18079                 .description = "tl2_ovt",
18080                 .field_bit_size = 3,
18081                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18082                 },
18083         .field_info_spec = {
18084                 .description = "tl2_ovt",
18085                 .field_bit_size = 3,
18086                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18087                 }
18088         },
18089         {
18090         .field_info_mask = {
18091                 .description = "tl2_ivp",
18092                 .field_bit_size = 3,
18093                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18094                 },
18095         .field_info_spec = {
18096                 .description = "tl2_ivp",
18097                 .field_bit_size = 3,
18098                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18099                 }
18100         },
18101         {
18102         .field_info_mask = {
18103                 .description = "tl2_ivd",
18104                 .field_bit_size = 1,
18105                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18106                 },
18107         .field_info_spec = {
18108                 .description = "tl2_ivd",
18109                 .field_bit_size = 1,
18110                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18111                 }
18112         },
18113         {
18114         .field_info_mask = {
18115                 .description = "tl2_ivv",
18116                 .field_bit_size = 12,
18117                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18118                 },
18119         .field_info_spec = {
18120                 .description = "tl2_ivv",
18121                 .field_bit_size = 12,
18122                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18123                 }
18124         },
18125         {
18126         .field_info_mask = {
18127                 .description = "tl2_ivt",
18128                 .field_bit_size = 3,
18129                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18130                 },
18131         .field_info_spec = {
18132                 .description = "tl2_ivt",
18133                 .field_bit_size = 3,
18134                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18135                 }
18136         },
18137         {
18138         .field_info_mask = {
18139                 .description = "tl2_etype",
18140                 .field_bit_size = 16,
18141                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18142                 },
18143         .field_info_spec = {
18144                 .description = "tl2_etype",
18145                 .field_bit_size = 16,
18146                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18147                 }
18148         },
18149         {
18150         .field_info_mask = {
18151                 .description = "tl3.l3type",
18152                 .field_bit_size = 4,
18153                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18154                 },
18155         .field_info_spec = {
18156                 .description = "tl3.l3type",
18157                 .field_bit_size = 4,
18158                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18159                 }
18160         },
18161         {
18162         .field_info_mask = {
18163                 .description = "tl3.sip.ipv4",
18164                 .field_bit_size = 32,
18165                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18166                 },
18167         .field_info_spec = {
18168                 .description = "tl3.sip.ipv4",
18169                 .field_bit_size = 32,
18170                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18171                 }
18172         },
18173         {
18174         .field_info_mask = {
18175                 .description = "tl3.sip.ipv6",
18176                 .field_bit_size = 128,
18177                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18178                 },
18179         .field_info_spec = {
18180                 .description = "tl3.sip.ipv6",
18181                 .field_bit_size = 128,
18182                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18183                 }
18184         },
18185         {
18186         .field_info_mask = {
18187                 .description = "tl3.sip_selcmp.ipv6",
18188                 .field_bit_size = 72,
18189                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18190                 },
18191         .field_info_spec = {
18192                 .description = "tl3.sip_selcmp.ipv6",
18193                 .field_bit_size = 72,
18194                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18195                 }
18196         },
18197         {
18198         .field_info_mask = {
18199                 .description = "tl3.dip.ipv4",
18200                 .field_bit_size = 32,
18201                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18202                 },
18203         .field_info_spec = {
18204                 .description = "tl3.dip.ipv4",
18205                 .field_bit_size = 32,
18206                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18207                 }
18208         },
18209         {
18210         .field_info_mask = {
18211                 .description = "tl3.dip.ipv6",
18212                 .field_bit_size = 128,
18213                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18214                 },
18215         .field_info_spec = {
18216                 .description = "tl3.dip.ipv6",
18217                 .field_bit_size = 128,
18218                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18219                 }
18220         },
18221         {
18222         .field_info_mask = {
18223                 .description = "tl3.dip_selcmp.ipv6",
18224                 .field_bit_size = 72,
18225                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18226                 },
18227         .field_info_spec = {
18228                 .description = "tl3.dip_selcmp.ipv6",
18229                 .field_bit_size = 72,
18230                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18231                 }
18232         },
18233         {
18234         .field_info_mask = {
18235                 .description = "tl3.ttl",
18236                 .field_bit_size = 8,
18237                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18238                 },
18239         .field_info_spec = {
18240                 .description = "tl3.ttl",
18241                 .field_bit_size = 8,
18242                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18243                 }
18244         },
18245         {
18246         .field_info_mask = {
18247                 .description = "tl3.prot",
18248                 .field_bit_size = 8,
18249                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
18250                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
18251                 },
18252         .field_info_spec = {
18253                 .description = "tl3.prot",
18254                 .field_bit_size = 8,
18255                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
18256                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
18257                 }
18258         },
18259         {
18260         .field_info_mask = {
18261                 .description = "tl3.fid.ipv4",
18262                 .field_bit_size = 16,
18263                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18264                 },
18265         .field_info_spec = {
18266                 .description = "tl3.fid.ipv4",
18267                 .field_bit_size = 16,
18268                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18269                 }
18270         },
18271         {
18272         .field_info_mask = {
18273                 .description = "tl3.fid.ipv6",
18274                 .field_bit_size = 20,
18275                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18276                 },
18277         .field_info_spec = {
18278                 .description = "tl3.fid.ipv6",
18279                 .field_bit_size = 20,
18280                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18281                 }
18282         },
18283         {
18284         .field_info_mask = {
18285                 .description = "tl3.qos",
18286                 .field_bit_size = 8,
18287                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18288                 },
18289         .field_info_spec = {
18290                 .description = "tl3.qos",
18291                 .field_bit_size = 8,
18292                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18293                 }
18294         },
18295         {
18296         .field_info_mask = {
18297                 .description = "tl3.ieh_nonext",
18298                 .field_bit_size = 1,
18299                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18300                 },
18301         .field_info_spec = {
18302                 .description = "tl3.ieh_nonext",
18303                 .field_bit_size = 1,
18304                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18305                 }
18306         },
18307         {
18308         .field_info_mask = {
18309                 .description = "tl3.ieh_esp",
18310                 .field_bit_size = 1,
18311                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18312                 },
18313         .field_info_spec = {
18314                 .description = "tl3.ieh_esp",
18315                 .field_bit_size = 1,
18316                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18317                 }
18318         },
18319         {
18320         .field_info_mask = {
18321                 .description = "tl3.ieh_auth",
18322                 .field_bit_size = 1,
18323                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18324                 },
18325         .field_info_spec = {
18326                 .description = "tl3.ieh_auth",
18327                 .field_bit_size = 1,
18328                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18329                 }
18330         },
18331         {
18332         .field_info_mask = {
18333                 .description = "tl3.ieh_dest",
18334                 .field_bit_size = 1,
18335                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18336                 },
18337         .field_info_spec = {
18338                 .description = "tl3.ieh_dest",
18339                 .field_bit_size = 1,
18340                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18341                 }
18342         },
18343         {
18344         .field_info_mask = {
18345                 .description = "tl3.ieh_frag",
18346                 .field_bit_size = 1,
18347                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18348                 },
18349         .field_info_spec = {
18350                 .description = "tl3.ieh_frag",
18351                 .field_bit_size = 1,
18352                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18353                 }
18354         },
18355         {
18356         .field_info_mask = {
18357                 .description = "tl3.ieh_rthdr",
18358                 .field_bit_size = 1,
18359                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18360                 },
18361         .field_info_spec = {
18362                 .description = "tl3.ieh_rthdr",
18363                 .field_bit_size = 1,
18364                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18365                 }
18366         },
18367         {
18368         .field_info_mask = {
18369                 .description = "tl3.ieh_hop",
18370                 .field_bit_size = 1,
18371                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18372                 },
18373         .field_info_spec = {
18374                 .description = "tl3.ieh_hop",
18375                 .field_bit_size = 1,
18376                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18377                 }
18378         },
18379         {
18380         .field_info_mask = {
18381                 .description = "tl3.ieh_1frag",
18382                 .field_bit_size = 1,
18383                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18384                 },
18385         .field_info_spec = {
18386                 .description = "tl3.ieh_1frag",
18387                 .field_bit_size = 1,
18388                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18389                 }
18390         },
18391         {
18392         .field_info_mask = {
18393                 .description = "tl3.df",
18394                 .field_bit_size = 1,
18395                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18396                 },
18397         .field_info_spec = {
18398                 .description = "tl3.df",
18399                 .field_bit_size = 1,
18400                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18401                 }
18402         },
18403         {
18404         .field_info_mask = {
18405                 .description = "tl3.l3err",
18406                 .field_bit_size = 4,
18407                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18408                 },
18409         .field_info_spec = {
18410                 .description = "tl3.l3err",
18411                 .field_bit_size = 4,
18412                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18413                 }
18414         },
18415         {
18416         .field_info_mask = {
18417                 .description = "tl4.l4type",
18418                 .field_bit_size = 4,
18419                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18420                 },
18421         .field_info_spec = {
18422                 .description = "tl4.l4type",
18423                 .field_bit_size = 4,
18424                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18425                 }
18426         },
18427         {
18428         .field_info_mask = {
18429                 .description = "tl4.src",
18430                 .field_bit_size = 16,
18431                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18432                 },
18433         .field_info_spec = {
18434                 .description = "tl4.src",
18435                 .field_bit_size = 16,
18436                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18437                 }
18438         },
18439         {
18440         .field_info_mask = {
18441                 .description = "tl4.dst",
18442                 .field_bit_size = 16,
18443                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18444                 },
18445         .field_info_spec = {
18446                 .description = "tl4.dst",
18447                 .field_bit_size = 16,
18448                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18449                 }
18450         },
18451         {
18452         .field_info_mask = {
18453                 .description = "tl4.flags",
18454                 .field_bit_size = 9,
18455                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18456                 },
18457         .field_info_spec = {
18458                 .description = "tl4.flags",
18459                 .field_bit_size = 9,
18460                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18461                 }
18462         },
18463         {
18464         .field_info_mask = {
18465                 .description = "tl4.seq",
18466                 .field_bit_size = 32,
18467                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18468                 },
18469         .field_info_spec = {
18470                 .description = "tl4.seq",
18471                 .field_bit_size = 32,
18472                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18473                 }
18474         },
18475         {
18476         .field_info_mask = {
18477                 .description = "tl4.pa",
18478                 .field_bit_size = 1,
18479                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18480                 },
18481         .field_info_spec = {
18482                 .description = "tl4.pa",
18483                 .field_bit_size = 1,
18484                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18485                 }
18486         },
18487         {
18488         .field_info_mask = {
18489                 .description = "tl4.opt",
18490                 .field_bit_size = 1,
18491                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18492                 },
18493         .field_info_spec = {
18494                 .description = "tl4.opt",
18495                 .field_bit_size = 1,
18496                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18497                 }
18498         },
18499         {
18500         .field_info_mask = {
18501                 .description = "tl4.tcpts",
18502                 .field_bit_size = 1,
18503                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18504                 },
18505         .field_info_spec = {
18506                 .description = "tl4.tcpts",
18507                 .field_bit_size = 1,
18508                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18509                 }
18510         },
18511         {
18512         .field_info_mask = {
18513                 .description = "tl4.err",
18514                 .field_bit_size = 4,
18515                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18516                 },
18517         .field_info_spec = {
18518                 .description = "tl4.err",
18519                 .field_bit_size = 4,
18520                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18521                 }
18522         },
18523         {
18524         .field_info_mask = {
18525                 .description = "tuntype",
18526                 .field_bit_size = 4,
18527                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18528                 },
18529         .field_info_spec = {
18530                 .description = "tuntype",
18531                 .field_bit_size = 4,
18532                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18533                 }
18534         },
18535         {
18536         .field_info_mask = {
18537                 .description = "tflags",
18538                 .field_bit_size = 3,
18539                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18540                 },
18541         .field_info_spec = {
18542                 .description = "tflags",
18543                 .field_bit_size = 3,
18544                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18545                 }
18546         },
18547         {
18548         .field_info_mask = {
18549                 .description = "tids",
18550                 .field_bit_size = 24,
18551                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18552                 },
18553         .field_info_spec = {
18554                 .description = "tids",
18555                 .field_bit_size = 24,
18556                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18557                 }
18558         },
18559         {
18560         .field_info_mask = {
18561                 .description = "tid",
18562                 .field_bit_size = 32,
18563                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18564                 },
18565         .field_info_spec = {
18566                 .description = "tid",
18567                 .field_bit_size = 32,
18568                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18569                 }
18570         },
18571         {
18572         .field_info_mask = {
18573                 .description = "tctxts",
18574                 .field_bit_size = 24,
18575                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18576                 },
18577         .field_info_spec = {
18578                 .description = "tctxts",
18579                 .field_bit_size = 24,
18580                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18581                 }
18582         },
18583         {
18584         .field_info_mask = {
18585                 .description = "tctxt",
18586                 .field_bit_size = 32,
18587                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18588                 },
18589         .field_info_spec = {
18590                 .description = "tctxt",
18591                 .field_bit_size = 32,
18592                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18593                 }
18594         },
18595         {
18596         .field_info_mask = {
18597                 .description = "tqos",
18598                 .field_bit_size = 3,
18599                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18600                 },
18601         .field_info_spec = {
18602                 .description = "tqos",
18603                 .field_bit_size = 3,
18604                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18605                 }
18606         },
18607         {
18608         .field_info_mask = {
18609                 .description = "terr",
18610                 .field_bit_size = 4,
18611                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18612                 },
18613         .field_info_spec = {
18614                 .description = "terr",
18615                 .field_bit_size = 4,
18616                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18617                 }
18618         },
18619         {
18620         .field_info_mask = {
18621                 .description = "l2_l2type",
18622                 .field_bit_size = 2,
18623                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18624                 },
18625         .field_info_spec = {
18626                 .description = "l2_l2type",
18627                 .field_bit_size = 2,
18628                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18629                 }
18630         },
18631         {
18632         .field_info_mask = {
18633                 .description = "l2_dmac",
18634                 .field_bit_size = 48,
18635                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18636                 },
18637         .field_info_spec = {
18638                 .description = "l2_dmac",
18639                 .field_bit_size = 48,
18640                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18641                 }
18642         },
18643         {
18644         .field_info_mask = {
18645                 .description = "l2_smac",
18646                 .field_bit_size = 48,
18647                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18648                 },
18649         .field_info_spec = {
18650                 .description = "l2_smac",
18651                 .field_bit_size = 48,
18652                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18653                 }
18654         },
18655         {
18656         .field_info_mask = {
18657                 .description = "l2_dt",
18658                 .field_bit_size = 2,
18659                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18660                 },
18661         .field_info_spec = {
18662                 .description = "l2_dt",
18663                 .field_bit_size = 2,
18664                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18665                 }
18666         },
18667         {
18668         .field_info_mask = {
18669                 .description = "l2_sa",
18670                 .field_bit_size = 1,
18671                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18672                 },
18673         .field_info_spec = {
18674                 .description = "l2_sa",
18675                 .field_bit_size = 1,
18676                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18677                 }
18678         },
18679         {
18680         .field_info_mask = {
18681                 .description = "l2_nvt",
18682                 .field_bit_size = 2,
18683                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18684                 },
18685         .field_info_spec = {
18686                 .description = "l2_nvt",
18687                 .field_bit_size = 2,
18688                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18689                 }
18690         },
18691         {
18692         .field_info_mask = {
18693                 .description = "l2_ovp",
18694                 .field_bit_size = 3,
18695                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18696                 },
18697         .field_info_spec = {
18698                 .description = "l2_ovp",
18699                 .field_bit_size = 3,
18700                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18701                 }
18702         },
18703         {
18704         .field_info_mask = {
18705                 .description = "l2_ovd",
18706                 .field_bit_size = 1,
18707                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18708                 },
18709         .field_info_spec = {
18710                 .description = "l2_ovd",
18711                 .field_bit_size = 1,
18712                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18713                 }
18714         },
18715         {
18716         .field_info_mask = {
18717                 .description = "l2_ovv",
18718                 .field_bit_size = 12,
18719                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18720                 },
18721         .field_info_spec = {
18722                 .description = "l2_ovv",
18723                 .field_bit_size = 12,
18724                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18725                 }
18726         },
18727         {
18728         .field_info_mask = {
18729                 .description = "l2_ovt",
18730                 .field_bit_size = 3,
18731                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18732                 },
18733         .field_info_spec = {
18734                 .description = "l2_ovt",
18735                 .field_bit_size = 3,
18736                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18737                 }
18738         },
18739         {
18740         .field_info_mask = {
18741                 .description = "l2_ivp",
18742                 .field_bit_size = 3,
18743                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18744                 },
18745         .field_info_spec = {
18746                 .description = "l2_ivp",
18747                 .field_bit_size = 3,
18748                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18749                 }
18750         },
18751         {
18752         .field_info_mask = {
18753                 .description = "l2_ivd",
18754                 .field_bit_size = 1,
18755                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18756                 },
18757         .field_info_spec = {
18758                 .description = "l2_ivd",
18759                 .field_bit_size = 1,
18760                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18761                 }
18762         },
18763         {
18764         .field_info_mask = {
18765                 .description = "l2_ivv",
18766                 .field_bit_size = 12,
18767                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18768                 },
18769         .field_info_spec = {
18770                 .description = "l2_ivv",
18771                 .field_bit_size = 12,
18772                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18773                 }
18774         },
18775         {
18776         .field_info_mask = {
18777                 .description = "l2_ivt",
18778                 .field_bit_size = 3,
18779                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18780                 },
18781         .field_info_spec = {
18782                 .description = "l2_ivt",
18783                 .field_bit_size = 3,
18784                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18785                 }
18786         },
18787         {
18788         .field_info_mask = {
18789                 .description = "l2_etype",
18790                 .field_bit_size = 16,
18791                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18792                 },
18793         .field_info_spec = {
18794                 .description = "l2_etype",
18795                 .field_bit_size = 16,
18796                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18797                 }
18798         },
18799         {
18800         .field_info_mask = {
18801                 .description = "l3.l3type",
18802                 .field_bit_size = 4,
18803                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18804                 },
18805         .field_info_spec = {
18806                 .description = "l3.l3type",
18807                 .field_bit_size = 4,
18808                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18809                 }
18810         },
18811         {
18812         .field_info_mask = {
18813                 .description = "l3.sip.ipv4",
18814                 .field_bit_size = 32,
18815                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18816                 },
18817         .field_info_spec = {
18818                 .description = "l3.sip.ipv4",
18819                 .field_bit_size = 32,
18820                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18821                 }
18822         },
18823         {
18824         .field_info_mask = {
18825                 .description = "l3.sip.ipv6",
18826                 .field_bit_size = 128,
18827                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18828                 },
18829         .field_info_spec = {
18830                 .description = "l3.sip.ipv6",
18831                 .field_bit_size = 128,
18832                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18833                 }
18834         },
18835         {
18836         .field_info_mask = {
18837                 .description = "l3.sip_selcmp.ipv6",
18838                 .field_bit_size = 72,
18839                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18840                 },
18841         .field_info_spec = {
18842                 .description = "l3.sip_selcmp.ipv6",
18843                 .field_bit_size = 72,
18844                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18845                 }
18846         },
18847         {
18848         .field_info_mask = {
18849                 .description = "l3.dip.ipv4",
18850                 .field_bit_size = 32,
18851                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18852                 },
18853         .field_info_spec = {
18854                 .description = "l3.dip.ipv4",
18855                 .field_bit_size = 32,
18856                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18857                 }
18858         },
18859         {
18860         .field_info_mask = {
18861                 .description = "l3.dip.ipv6",
18862                 .field_bit_size = 128,
18863                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18864                 },
18865         .field_info_spec = {
18866                 .description = "l3.dip.ipv6",
18867                 .field_bit_size = 128,
18868                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18869                 }
18870         },
18871         {
18872         .field_info_mask = {
18873                 .description = "l3.dip_selcmp.ipv6",
18874                 .field_bit_size = 72,
18875                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18876                 },
18877         .field_info_spec = {
18878                 .description = "l3.dip_selcmp.ipv6",
18879                 .field_bit_size = 72,
18880                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18881                 }
18882         },
18883         {
18884         .field_info_mask = {
18885                 .description = "l3.ttl",
18886                 .field_bit_size = 8,
18887                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18888                 },
18889         .field_info_spec = {
18890                 .description = "l3.ttl",
18891                 .field_bit_size = 8,
18892                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18893                 }
18894         },
18895         {
18896         .field_info_mask = {
18897                 .description = "l3.prot",
18898                 .field_bit_size = 8,
18899                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
18900                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
18901                 .field_opr1 = {
18902                         0xff}
18903                 },
18904         .field_info_spec = {
18905                 .description = "l3.prot",
18906                 .field_bit_size = 8,
18907                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
18908                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
18909                 .field_opr1 = {
18910                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
18911                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
18912                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
18913                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
18914                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
18915                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
18916                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
18917                 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
18918                 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
18919                 .field_opr2 = {
18920                         ULP_THOR_SYM_IP_PROTO_TCP},
18921                 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
18922                 .field_opr3 = {
18923                 ULP_THOR_SYM_IP_PROTO_UDP}
18924                 }
18925         },
18926         {
18927         .field_info_mask = {
18928                 .description = "l3.fid.ipv4",
18929                 .field_bit_size = 16,
18930                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18931                 },
18932         .field_info_spec = {
18933                 .description = "l3.fid.ipv4",
18934                 .field_bit_size = 16,
18935                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18936                 }
18937         },
18938         {
18939         .field_info_mask = {
18940                 .description = "l3.fid.ipv6",
18941                 .field_bit_size = 20,
18942                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18943                 },
18944         .field_info_spec = {
18945                 .description = "l3.fid.ipv6",
18946                 .field_bit_size = 20,
18947                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18948                 }
18949         },
18950         {
18951         .field_info_mask = {
18952                 .description = "l3.qos",
18953                 .field_bit_size = 8,
18954                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18955                 },
18956         .field_info_spec = {
18957                 .description = "l3.qos",
18958                 .field_bit_size = 8,
18959                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18960                 }
18961         },
18962         {
18963         .field_info_mask = {
18964                 .description = "l3.ieh_nonext",
18965                 .field_bit_size = 1,
18966                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18967                 },
18968         .field_info_spec = {
18969                 .description = "l3.ieh_nonext",
18970                 .field_bit_size = 1,
18971                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18972                 }
18973         },
18974         {
18975         .field_info_mask = {
18976                 .description = "l3.ieh_esp",
18977                 .field_bit_size = 1,
18978                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18979                 },
18980         .field_info_spec = {
18981                 .description = "l3.ieh_esp",
18982                 .field_bit_size = 1,
18983                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18984                 }
18985         },
18986         {
18987         .field_info_mask = {
18988                 .description = "l3.ieh_auth",
18989                 .field_bit_size = 1,
18990                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18991                 },
18992         .field_info_spec = {
18993                 .description = "l3.ieh_auth",
18994                 .field_bit_size = 1,
18995                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
18996                 }
18997         },
18998         {
18999         .field_info_mask = {
19000                 .description = "l3.ieh_dest",
19001                 .field_bit_size = 1,
19002                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19003                 },
19004         .field_info_spec = {
19005                 .description = "l3.ieh_dest",
19006                 .field_bit_size = 1,
19007                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19008                 }
19009         },
19010         {
19011         .field_info_mask = {
19012                 .description = "l3.ieh_frag",
19013                 .field_bit_size = 1,
19014                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19015                 },
19016         .field_info_spec = {
19017                 .description = "l3.ieh_frag",
19018                 .field_bit_size = 1,
19019                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19020                 }
19021         },
19022         {
19023         .field_info_mask = {
19024                 .description = "l3.ieh_rthdr",
19025                 .field_bit_size = 1,
19026                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19027                 },
19028         .field_info_spec = {
19029                 .description = "l3.ieh_rthdr",
19030                 .field_bit_size = 1,
19031                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19032                 }
19033         },
19034         {
19035         .field_info_mask = {
19036                 .description = "l3.ieh_hop",
19037                 .field_bit_size = 1,
19038                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19039                 },
19040         .field_info_spec = {
19041                 .description = "l3.ieh_hop",
19042                 .field_bit_size = 1,
19043                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19044                 }
19045         },
19046         {
19047         .field_info_mask = {
19048                 .description = "l3.ieh_1frag",
19049                 .field_bit_size = 1,
19050                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19051                 },
19052         .field_info_spec = {
19053                 .description = "l3.ieh_1frag",
19054                 .field_bit_size = 1,
19055                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19056                 }
19057         },
19058         {
19059         .field_info_mask = {
19060                 .description = "l3.df",
19061                 .field_bit_size = 1,
19062                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19063                 },
19064         .field_info_spec = {
19065                 .description = "l3.df",
19066                 .field_bit_size = 1,
19067                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19068                 }
19069         },
19070         {
19071         .field_info_mask = {
19072                 .description = "l3.l3err.ipv4",
19073                 .field_bit_size = 4,
19074                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19075                 },
19076         .field_info_spec = {
19077                 .description = "l3.l3err.ipv4",
19078                 .field_bit_size = 4,
19079                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19080                 }
19081         },
19082         {
19083         .field_info_mask = {
19084                 .description = "l3.l3err.ipv6",
19085                 .field_bit_size = 4,
19086                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19087                 },
19088         .field_info_spec = {
19089                 .description = "l3.l3err.ipv6",
19090                 .field_bit_size = 4,
19091                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19092                 }
19093         },
19094         {
19095         .field_info_mask = {
19096                 .description = "l4.l4type",
19097                 .field_bit_size = 4,
19098                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19099                 },
19100         .field_info_spec = {
19101                 .description = "l4.l4type",
19102                 .field_bit_size = 4,
19103                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19104                 }
19105         },
19106         {
19107         .field_info_mask = {
19108                 .description = "l4.src",
19109                 .field_bit_size = 16,
19110                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19111                 },
19112         .field_info_spec = {
19113                 .description = "l4.src",
19114                 .field_bit_size = 16,
19115                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19116                 }
19117         },
19118         {
19119         .field_info_mask = {
19120                 .description = "l4.dst",
19121                 .field_bit_size = 16,
19122                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
19123                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
19124                 .field_opr1 = {
19125                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
19126                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
19127                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
19128                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
19129                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
19130                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
19131                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
19132                 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
19133                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
19134                 .field_opr2 = {
19135                         (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
19136                         BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
19137                 .field_src3 = BNXT_ULP_FIELD_SRC_HF,
19138                 .field_opr3 = {
19139                 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
19140                 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}
19141                 },
19142         .field_info_spec = {
19143                 .description = "l4.dst",
19144                 .field_bit_size = 16,
19145                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
19146                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
19147                 .field_opr1 = {
19148                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
19149                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
19150                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
19151                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
19152                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
19153                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
19154                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
19155                 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
19156                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
19157                 .field_opr2 = {
19158                         (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
19159                         BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
19160                 .field_src3 = BNXT_ULP_FIELD_SRC_HF,
19161                 .field_opr3 = {
19162                 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
19163                 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}
19164                 }
19165         },
19166         {
19167         .field_info_mask = {
19168                 .description = "l4.flags",
19169                 .field_bit_size = 9,
19170                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19171                 },
19172         .field_info_spec = {
19173                 .description = "l4.flags",
19174                 .field_bit_size = 9,
19175                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19176                 }
19177         },
19178         {
19179         .field_info_mask = {
19180                 .description = "l4.seq",
19181                 .field_bit_size = 32,
19182                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19183                 },
19184         .field_info_spec = {
19185                 .description = "l4.seq",
19186                 .field_bit_size = 32,
19187                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19188                 }
19189         },
19190         {
19191         .field_info_mask = {
19192                 .description = "l4.ack",
19193                 .field_bit_size = 32,
19194                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19195                 },
19196         .field_info_spec = {
19197                 .description = "l4.ack",
19198                 .field_bit_size = 32,
19199                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19200                 }
19201         },
19202         {
19203         .field_info_mask = {
19204                 .description = "l4.win",
19205                 .field_bit_size = 16,
19206                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19207                 },
19208         .field_info_spec = {
19209                 .description = "l4.win",
19210                 .field_bit_size = 16,
19211                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19212                 }
19213         },
19214         {
19215         .field_info_mask = {
19216                 .description = "l4.pa",
19217                 .field_bit_size = 1,
19218                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19219                 },
19220         .field_info_spec = {
19221                 .description = "l4.pa",
19222                 .field_bit_size = 1,
19223                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19224                 }
19225         },
19226         {
19227         .field_info_mask = {
19228                 .description = "l4.opt",
19229                 .field_bit_size = 1,
19230                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19231                 },
19232         .field_info_spec = {
19233                 .description = "l4.opt",
19234                 .field_bit_size = 1,
19235                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19236                 }
19237         },
19238         {
19239         .field_info_mask = {
19240                 .description = "l4.tcpts",
19241                 .field_bit_size = 1,
19242                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19243                 },
19244         .field_info_spec = {
19245                 .description = "l4.tcpts",
19246                 .field_bit_size = 1,
19247                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19248                 }
19249         },
19250         {
19251         .field_info_mask = {
19252                 .description = "l4.tsval",
19253                 .field_bit_size = 32,
19254                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19255                 },
19256         .field_info_spec = {
19257                 .description = "l4.tsval",
19258                 .field_bit_size = 32,
19259                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19260                 }
19261         },
19262         {
19263         .field_info_mask = {
19264                 .description = "l4.txecr",
19265                 .field_bit_size = 32,
19266                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19267                 },
19268         .field_info_spec = {
19269                 .description = "l4.txecr",
19270                 .field_bit_size = 32,
19271                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19272                 }
19273         },
19274         {
19275         .field_info_mask = {
19276                 .description = "l4.err",
19277                 .field_bit_size = 4,
19278                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19279                 },
19280         .field_info_spec = {
19281                 .description = "l4.err",
19282                 .field_bit_size = 4,
19283                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19284                 }
19285         },
19286         /* class_tid: 1, thor, table: wm.l4_low */
19287         {
19288         .field_info_mask = {
19289                 .description = "wc_profile_id",
19290                 .field_bit_size = 8,
19291                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
19292                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
19293                 .field_opr1 = {
19294                         0xff}
19295                 },
19296         .field_info_spec = {
19297                 .description = "wc_profile_id",
19298                 .field_bit_size = 8,
19299                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
19300                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
19301                 .field_opr1 = {
19302                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
19303                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
19304                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
19305                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
19306                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
19307                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
19308                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
19309                 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
19310                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
19311                 .field_opr2 = {
19312                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
19313                         BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff},
19314                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
19315                 .field_opr3 = {
19316                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
19317                 BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 & 0xff}
19318                 }
19319         },
19320         {
19321         .field_info_mask = {
19322                 .description = "l2_cntxt_id",
19323                 .field_bit_size = 10,
19324                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
19325                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
19326                 .field_opr1 = {
19327                         0xff,
19328                         0xff}
19329                 },
19330         .field_info_spec = {
19331                 .description = "l2_cntxt_id",
19332                 .field_bit_size = 10,
19333                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
19334                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
19335                 .field_opr1 = {
19336                 (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
19337                 BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
19338                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
19339                 .field_opr2 = {
19340                         (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
19341                         BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
19342                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
19343                 .field_opr3 = {
19344                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
19345                 BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
19346                 }
19347         },
19348         {
19349         .field_info_mask = {
19350                 .description = "parif",
19351                 .field_bit_size = 4,
19352                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19353                 },
19354         .field_info_spec = {
19355                 .description = "parif",
19356                 .field_bit_size = 4,
19357                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19358                 }
19359         },
19360         {
19361         .field_info_mask = {
19362                 .description = "spif",
19363                 .field_bit_size = 2,
19364                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19365                 },
19366         .field_info_spec = {
19367                 .description = "spif",
19368                 .field_bit_size = 2,
19369                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19370                 }
19371         },
19372         {
19373         .field_info_mask = {
19374                 .description = "svif",
19375                 .field_bit_size = 11,
19376                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19377                 },
19378         .field_info_spec = {
19379                 .description = "svif",
19380                 .field_bit_size = 11,
19381                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19382                 }
19383         },
19384         {
19385         .field_info_mask = {
19386                 .description = "lcos",
19387                 .field_bit_size = 3,
19388                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19389                 },
19390         .field_info_spec = {
19391                 .description = "lcos",
19392                 .field_bit_size = 3,
19393                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19394                 }
19395         },
19396         {
19397         .field_info_mask = {
19398                 .description = "meta",
19399                 .field_bit_size = 16,
19400                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19401                 },
19402         .field_info_spec = {
19403                 .description = "meta",
19404                 .field_bit_size = 16,
19405                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19406                 }
19407         },
19408         {
19409         .field_info_mask = {
19410                 .description = "rcyc_cnt",
19411                 .field_bit_size = 2,
19412                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19413                 },
19414         .field_info_spec = {
19415                 .description = "rcyc_cnt",
19416                 .field_bit_size = 2,
19417                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19418                 }
19419         },
19420         {
19421         .field_info_mask = {
19422                 .description = "loopback",
19423                 .field_bit_size = 1,
19424                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19425                 },
19426         .field_info_spec = {
19427                 .description = "loopback",
19428                 .field_bit_size = 1,
19429                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19430                 }
19431         },
19432         {
19433         .field_info_mask = {
19434                 .description = "tl2_l2type",
19435                 .field_bit_size = 2,
19436                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19437                 },
19438         .field_info_spec = {
19439                 .description = "tl2_l2type",
19440                 .field_bit_size = 2,
19441                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19442                 }
19443         },
19444         {
19445         .field_info_mask = {
19446                 .description = "tl2_dmac",
19447                 .field_bit_size = 48,
19448                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19449                 },
19450         .field_info_spec = {
19451                 .description = "tl2_dmac",
19452                 .field_bit_size = 48,
19453                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19454                 }
19455         },
19456         {
19457         .field_info_mask = {
19458                 .description = "tl2_smac",
19459                 .field_bit_size = 48,
19460                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19461                 },
19462         .field_info_spec = {
19463                 .description = "tl2_smac",
19464                 .field_bit_size = 48,
19465                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19466                 }
19467         },
19468         {
19469         .field_info_mask = {
19470                 .description = "tl2_dt",
19471                 .field_bit_size = 2,
19472                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19473                 },
19474         .field_info_spec = {
19475                 .description = "tl2_dt",
19476                 .field_bit_size = 2,
19477                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19478                 }
19479         },
19480         {
19481         .field_info_mask = {
19482                 .description = "tl2_sa",
19483                 .field_bit_size = 1,
19484                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19485                 },
19486         .field_info_spec = {
19487                 .description = "tl2_sa",
19488                 .field_bit_size = 1,
19489                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19490                 }
19491         },
19492         {
19493         .field_info_mask = {
19494                 .description = "tl2_nvt",
19495                 .field_bit_size = 2,
19496                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19497                 },
19498         .field_info_spec = {
19499                 .description = "tl2_nvt",
19500                 .field_bit_size = 2,
19501                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19502                 }
19503         },
19504         {
19505         .field_info_mask = {
19506                 .description = "tl2_ovp",
19507                 .field_bit_size = 3,
19508                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19509                 },
19510         .field_info_spec = {
19511                 .description = "tl2_ovp",
19512                 .field_bit_size = 3,
19513                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19514                 }
19515         },
19516         {
19517         .field_info_mask = {
19518                 .description = "tl2_ovd",
19519                 .field_bit_size = 1,
19520                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19521                 },
19522         .field_info_spec = {
19523                 .description = "tl2_ovd",
19524                 .field_bit_size = 1,
19525                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19526                 }
19527         },
19528         {
19529         .field_info_mask = {
19530                 .description = "tl2_ovv",
19531                 .field_bit_size = 12,
19532                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19533                 },
19534         .field_info_spec = {
19535                 .description = "tl2_ovv",
19536                 .field_bit_size = 12,
19537                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19538                 }
19539         },
19540         {
19541         .field_info_mask = {
19542                 .description = "tl2_ovt",
19543                 .field_bit_size = 3,
19544                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19545                 },
19546         .field_info_spec = {
19547                 .description = "tl2_ovt",
19548                 .field_bit_size = 3,
19549                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19550                 }
19551         },
19552         {
19553         .field_info_mask = {
19554                 .description = "tl2_ivp",
19555                 .field_bit_size = 3,
19556                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19557                 },
19558         .field_info_spec = {
19559                 .description = "tl2_ivp",
19560                 .field_bit_size = 3,
19561                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19562                 }
19563         },
19564         {
19565         .field_info_mask = {
19566                 .description = "tl2_ivd",
19567                 .field_bit_size = 1,
19568                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19569                 },
19570         .field_info_spec = {
19571                 .description = "tl2_ivd",
19572                 .field_bit_size = 1,
19573                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19574                 }
19575         },
19576         {
19577         .field_info_mask = {
19578                 .description = "tl2_ivv",
19579                 .field_bit_size = 12,
19580                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19581                 },
19582         .field_info_spec = {
19583                 .description = "tl2_ivv",
19584                 .field_bit_size = 12,
19585                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19586                 }
19587         },
19588         {
19589         .field_info_mask = {
19590                 .description = "tl2_ivt",
19591                 .field_bit_size = 3,
19592                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19593                 },
19594         .field_info_spec = {
19595                 .description = "tl2_ivt",
19596                 .field_bit_size = 3,
19597                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19598                 }
19599         },
19600         {
19601         .field_info_mask = {
19602                 .description = "tl2_etype",
19603                 .field_bit_size = 16,
19604                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19605                 },
19606         .field_info_spec = {
19607                 .description = "tl2_etype",
19608                 .field_bit_size = 16,
19609                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19610                 }
19611         },
19612         {
19613         .field_info_mask = {
19614                 .description = "tl3.l3type",
19615                 .field_bit_size = 4,
19616                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19617                 },
19618         .field_info_spec = {
19619                 .description = "tl3.l3type",
19620                 .field_bit_size = 4,
19621                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19622                 }
19623         },
19624         {
19625         .field_info_mask = {
19626                 .description = "tl3.sip.ipv4",
19627                 .field_bit_size = 32,
19628                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19629                 },
19630         .field_info_spec = {
19631                 .description = "tl3.sip.ipv4",
19632                 .field_bit_size = 32,
19633                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19634                 }
19635         },
19636         {
19637         .field_info_mask = {
19638                 .description = "tl3.sip.ipv6",
19639                 .field_bit_size = 128,
19640                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19641                 },
19642         .field_info_spec = {
19643                 .description = "tl3.sip.ipv6",
19644                 .field_bit_size = 128,
19645                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19646                 }
19647         },
19648         {
19649         .field_info_mask = {
19650                 .description = "tl3.sip_selcmp.ipv6",
19651                 .field_bit_size = 72,
19652                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19653                 },
19654         .field_info_spec = {
19655                 .description = "tl3.sip_selcmp.ipv6",
19656                 .field_bit_size = 72,
19657                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19658                 }
19659         },
19660         {
19661         .field_info_mask = {
19662                 .description = "tl3.dip.ipv4",
19663                 .field_bit_size = 32,
19664                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19665                 },
19666         .field_info_spec = {
19667                 .description = "tl3.dip.ipv4",
19668                 .field_bit_size = 32,
19669                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19670                 }
19671         },
19672         {
19673         .field_info_mask = {
19674                 .description = "tl3.dip.ipv6",
19675                 .field_bit_size = 128,
19676                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19677                 },
19678         .field_info_spec = {
19679                 .description = "tl3.dip.ipv6",
19680                 .field_bit_size = 128,
19681                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19682                 }
19683         },
19684         {
19685         .field_info_mask = {
19686                 .description = "tl3.dip_selcmp.ipv6",
19687                 .field_bit_size = 72,
19688                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19689                 },
19690         .field_info_spec = {
19691                 .description = "tl3.dip_selcmp.ipv6",
19692                 .field_bit_size = 72,
19693                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19694                 }
19695         },
19696         {
19697         .field_info_mask = {
19698                 .description = "tl3.ttl",
19699                 .field_bit_size = 8,
19700                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19701                 },
19702         .field_info_spec = {
19703                 .description = "tl3.ttl",
19704                 .field_bit_size = 8,
19705                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19706                 }
19707         },
19708         {
19709         .field_info_mask = {
19710                 .description = "tl3.prot",
19711                 .field_bit_size = 8,
19712                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
19713                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
19714                 },
19715         .field_info_spec = {
19716                 .description = "tl3.prot",
19717                 .field_bit_size = 8,
19718                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
19719                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
19720                 }
19721         },
19722         {
19723         .field_info_mask = {
19724                 .description = "tl3.fid.ipv4",
19725                 .field_bit_size = 16,
19726                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19727                 },
19728         .field_info_spec = {
19729                 .description = "tl3.fid.ipv4",
19730                 .field_bit_size = 16,
19731                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19732                 }
19733         },
19734         {
19735         .field_info_mask = {
19736                 .description = "tl3.fid.ipv6",
19737                 .field_bit_size = 20,
19738                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19739                 },
19740         .field_info_spec = {
19741                 .description = "tl3.fid.ipv6",
19742                 .field_bit_size = 20,
19743                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19744                 }
19745         },
19746         {
19747         .field_info_mask = {
19748                 .description = "tl3.qos",
19749                 .field_bit_size = 8,
19750                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19751                 },
19752         .field_info_spec = {
19753                 .description = "tl3.qos",
19754                 .field_bit_size = 8,
19755                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19756                 }
19757         },
19758         {
19759         .field_info_mask = {
19760                 .description = "tl3.ieh_nonext",
19761                 .field_bit_size = 1,
19762                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19763                 },
19764         .field_info_spec = {
19765                 .description = "tl3.ieh_nonext",
19766                 .field_bit_size = 1,
19767                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19768                 }
19769         },
19770         {
19771         .field_info_mask = {
19772                 .description = "tl3.ieh_esp",
19773                 .field_bit_size = 1,
19774                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19775                 },
19776         .field_info_spec = {
19777                 .description = "tl3.ieh_esp",
19778                 .field_bit_size = 1,
19779                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19780                 }
19781         },
19782         {
19783         .field_info_mask = {
19784                 .description = "tl3.ieh_auth",
19785                 .field_bit_size = 1,
19786                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19787                 },
19788         .field_info_spec = {
19789                 .description = "tl3.ieh_auth",
19790                 .field_bit_size = 1,
19791                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19792                 }
19793         },
19794         {
19795         .field_info_mask = {
19796                 .description = "tl3.ieh_dest",
19797                 .field_bit_size = 1,
19798                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19799                 },
19800         .field_info_spec = {
19801                 .description = "tl3.ieh_dest",
19802                 .field_bit_size = 1,
19803                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19804                 }
19805         },
19806         {
19807         .field_info_mask = {
19808                 .description = "tl3.ieh_frag",
19809                 .field_bit_size = 1,
19810                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19811                 },
19812         .field_info_spec = {
19813                 .description = "tl3.ieh_frag",
19814                 .field_bit_size = 1,
19815                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19816                 }
19817         },
19818         {
19819         .field_info_mask = {
19820                 .description = "tl3.ieh_rthdr",
19821                 .field_bit_size = 1,
19822                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19823                 },
19824         .field_info_spec = {
19825                 .description = "tl3.ieh_rthdr",
19826                 .field_bit_size = 1,
19827                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19828                 }
19829         },
19830         {
19831         .field_info_mask = {
19832                 .description = "tl3.ieh_hop",
19833                 .field_bit_size = 1,
19834                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19835                 },
19836         .field_info_spec = {
19837                 .description = "tl3.ieh_hop",
19838                 .field_bit_size = 1,
19839                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19840                 }
19841         },
19842         {
19843         .field_info_mask = {
19844                 .description = "tl3.ieh_1frag",
19845                 .field_bit_size = 1,
19846                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19847                 },
19848         .field_info_spec = {
19849                 .description = "tl3.ieh_1frag",
19850                 .field_bit_size = 1,
19851                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19852                 }
19853         },
19854         {
19855         .field_info_mask = {
19856                 .description = "tl3.df",
19857                 .field_bit_size = 1,
19858                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19859                 },
19860         .field_info_spec = {
19861                 .description = "tl3.df",
19862                 .field_bit_size = 1,
19863                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19864                 }
19865         },
19866         {
19867         .field_info_mask = {
19868                 .description = "tl3.l3err",
19869                 .field_bit_size = 4,
19870                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19871                 },
19872         .field_info_spec = {
19873                 .description = "tl3.l3err",
19874                 .field_bit_size = 4,
19875                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19876                 }
19877         },
19878         {
19879         .field_info_mask = {
19880                 .description = "tl4.l4type",
19881                 .field_bit_size = 4,
19882                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19883                 },
19884         .field_info_spec = {
19885                 .description = "tl4.l4type",
19886                 .field_bit_size = 4,
19887                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19888                 }
19889         },
19890         {
19891         .field_info_mask = {
19892                 .description = "tl4.src",
19893                 .field_bit_size = 16,
19894                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19895                 },
19896         .field_info_spec = {
19897                 .description = "tl4.src",
19898                 .field_bit_size = 16,
19899                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19900                 }
19901         },
19902         {
19903         .field_info_mask = {
19904                 .description = "tl4.dst",
19905                 .field_bit_size = 16,
19906                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19907                 },
19908         .field_info_spec = {
19909                 .description = "tl4.dst",
19910                 .field_bit_size = 16,
19911                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19912                 }
19913         },
19914         {
19915         .field_info_mask = {
19916                 .description = "tl4.flags",
19917                 .field_bit_size = 9,
19918                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19919                 },
19920         .field_info_spec = {
19921                 .description = "tl4.flags",
19922                 .field_bit_size = 9,
19923                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19924                 }
19925         },
19926         {
19927         .field_info_mask = {
19928                 .description = "tl4.seq",
19929                 .field_bit_size = 32,
19930                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19931                 },
19932         .field_info_spec = {
19933                 .description = "tl4.seq",
19934                 .field_bit_size = 32,
19935                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19936                 }
19937         },
19938         {
19939         .field_info_mask = {
19940                 .description = "tl4.pa",
19941                 .field_bit_size = 1,
19942                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19943                 },
19944         .field_info_spec = {
19945                 .description = "tl4.pa",
19946                 .field_bit_size = 1,
19947                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19948                 }
19949         },
19950         {
19951         .field_info_mask = {
19952                 .description = "tl4.opt",
19953                 .field_bit_size = 1,
19954                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19955                 },
19956         .field_info_spec = {
19957                 .description = "tl4.opt",
19958                 .field_bit_size = 1,
19959                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19960                 }
19961         },
19962         {
19963         .field_info_mask = {
19964                 .description = "tl4.tcpts",
19965                 .field_bit_size = 1,
19966                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19967                 },
19968         .field_info_spec = {
19969                 .description = "tl4.tcpts",
19970                 .field_bit_size = 1,
19971                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19972                 }
19973         },
19974         {
19975         .field_info_mask = {
19976                 .description = "tl4.err",
19977                 .field_bit_size = 4,
19978                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19979                 },
19980         .field_info_spec = {
19981                 .description = "tl4.err",
19982                 .field_bit_size = 4,
19983                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19984                 }
19985         },
19986         {
19987         .field_info_mask = {
19988                 .description = "tuntype",
19989                 .field_bit_size = 4,
19990                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19991                 },
19992         .field_info_spec = {
19993                 .description = "tuntype",
19994                 .field_bit_size = 4,
19995                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
19996                 }
19997         },
19998         {
19999         .field_info_mask = {
20000                 .description = "tflags",
20001                 .field_bit_size = 3,
20002                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20003                 },
20004         .field_info_spec = {
20005                 .description = "tflags",
20006                 .field_bit_size = 3,
20007                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20008                 }
20009         },
20010         {
20011         .field_info_mask = {
20012                 .description = "tids",
20013                 .field_bit_size = 24,
20014                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20015                 },
20016         .field_info_spec = {
20017                 .description = "tids",
20018                 .field_bit_size = 24,
20019                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20020                 }
20021         },
20022         {
20023         .field_info_mask = {
20024                 .description = "tid",
20025                 .field_bit_size = 32,
20026                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20027                 },
20028         .field_info_spec = {
20029                 .description = "tid",
20030                 .field_bit_size = 32,
20031                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20032                 }
20033         },
20034         {
20035         .field_info_mask = {
20036                 .description = "tctxts",
20037                 .field_bit_size = 24,
20038                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20039                 },
20040         .field_info_spec = {
20041                 .description = "tctxts",
20042                 .field_bit_size = 24,
20043                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20044                 }
20045         },
20046         {
20047         .field_info_mask = {
20048                 .description = "tctxt",
20049                 .field_bit_size = 32,
20050                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20051                 },
20052         .field_info_spec = {
20053                 .description = "tctxt",
20054                 .field_bit_size = 32,
20055                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20056                 }
20057         },
20058         {
20059         .field_info_mask = {
20060                 .description = "tqos",
20061                 .field_bit_size = 3,
20062                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20063                 },
20064         .field_info_spec = {
20065                 .description = "tqos",
20066                 .field_bit_size = 3,
20067                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20068                 }
20069         },
20070         {
20071         .field_info_mask = {
20072                 .description = "terr",
20073                 .field_bit_size = 4,
20074                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20075                 },
20076         .field_info_spec = {
20077                 .description = "terr",
20078                 .field_bit_size = 4,
20079                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20080                 }
20081         },
20082         {
20083         .field_info_mask = {
20084                 .description = "l2_l2type",
20085                 .field_bit_size = 2,
20086                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20087                 },
20088         .field_info_spec = {
20089                 .description = "l2_l2type",
20090                 .field_bit_size = 2,
20091                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20092                 }
20093         },
20094         {
20095         .field_info_mask = {
20096                 .description = "l2_dmac",
20097                 .field_bit_size = 48,
20098                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20099                 },
20100         .field_info_spec = {
20101                 .description = "l2_dmac",
20102                 .field_bit_size = 48,
20103                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20104                 }
20105         },
20106         {
20107         .field_info_mask = {
20108                 .description = "l2_smac",
20109                 .field_bit_size = 48,
20110                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20111                 },
20112         .field_info_spec = {
20113                 .description = "l2_smac",
20114                 .field_bit_size = 48,
20115                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20116                 }
20117         },
20118         {
20119         .field_info_mask = {
20120                 .description = "l2_dt",
20121                 .field_bit_size = 2,
20122                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20123                 },
20124         .field_info_spec = {
20125                 .description = "l2_dt",
20126                 .field_bit_size = 2,
20127                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20128                 }
20129         },
20130         {
20131         .field_info_mask = {
20132                 .description = "l2_sa",
20133                 .field_bit_size = 1,
20134                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20135                 },
20136         .field_info_spec = {
20137                 .description = "l2_sa",
20138                 .field_bit_size = 1,
20139                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20140                 }
20141         },
20142         {
20143         .field_info_mask = {
20144                 .description = "l2_nvt",
20145                 .field_bit_size = 2,
20146                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20147                 },
20148         .field_info_spec = {
20149                 .description = "l2_nvt",
20150                 .field_bit_size = 2,
20151                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20152                 }
20153         },
20154         {
20155         .field_info_mask = {
20156                 .description = "l2_ovp",
20157                 .field_bit_size = 3,
20158                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20159                 },
20160         .field_info_spec = {
20161                 .description = "l2_ovp",
20162                 .field_bit_size = 3,
20163                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20164                 }
20165         },
20166         {
20167         .field_info_mask = {
20168                 .description = "l2_ovd",
20169                 .field_bit_size = 1,
20170                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20171                 },
20172         .field_info_spec = {
20173                 .description = "l2_ovd",
20174                 .field_bit_size = 1,
20175                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20176                 }
20177         },
20178         {
20179         .field_info_mask = {
20180                 .description = "l2_ovv",
20181                 .field_bit_size = 12,
20182                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20183                 },
20184         .field_info_spec = {
20185                 .description = "l2_ovv",
20186                 .field_bit_size = 12,
20187                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20188                 }
20189         },
20190         {
20191         .field_info_mask = {
20192                 .description = "l2_ovt",
20193                 .field_bit_size = 3,
20194                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20195                 },
20196         .field_info_spec = {
20197                 .description = "l2_ovt",
20198                 .field_bit_size = 3,
20199                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20200                 }
20201         },
20202         {
20203         .field_info_mask = {
20204                 .description = "l2_ivp",
20205                 .field_bit_size = 3,
20206                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20207                 },
20208         .field_info_spec = {
20209                 .description = "l2_ivp",
20210                 .field_bit_size = 3,
20211                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20212                 }
20213         },
20214         {
20215         .field_info_mask = {
20216                 .description = "l2_ivd",
20217                 .field_bit_size = 1,
20218                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20219                 },
20220         .field_info_spec = {
20221                 .description = "l2_ivd",
20222                 .field_bit_size = 1,
20223                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20224                 }
20225         },
20226         {
20227         .field_info_mask = {
20228                 .description = "l2_ivv",
20229                 .field_bit_size = 12,
20230                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20231                 },
20232         .field_info_spec = {
20233                 .description = "l2_ivv",
20234                 .field_bit_size = 12,
20235                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20236                 }
20237         },
20238         {
20239         .field_info_mask = {
20240                 .description = "l2_ivt",
20241                 .field_bit_size = 3,
20242                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20243                 },
20244         .field_info_spec = {
20245                 .description = "l2_ivt",
20246                 .field_bit_size = 3,
20247                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20248                 }
20249         },
20250         {
20251         .field_info_mask = {
20252                 .description = "l2_etype",
20253                 .field_bit_size = 16,
20254                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20255                 },
20256         .field_info_spec = {
20257                 .description = "l2_etype",
20258                 .field_bit_size = 16,
20259                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20260                 }
20261         },
20262         {
20263         .field_info_mask = {
20264                 .description = "l3.l3type",
20265                 .field_bit_size = 4,
20266                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20267                 },
20268         .field_info_spec = {
20269                 .description = "l3.l3type",
20270                 .field_bit_size = 4,
20271                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20272                 }
20273         },
20274         {
20275         .field_info_mask = {
20276                 .description = "l3.sip.ipv4",
20277                 .field_bit_size = 32,
20278                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20279                 },
20280         .field_info_spec = {
20281                 .description = "l3.sip.ipv4",
20282                 .field_bit_size = 32,
20283                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20284                 }
20285         },
20286         {
20287         .field_info_mask = {
20288                 .description = "l3.sip.ipv6",
20289                 .field_bit_size = 128,
20290                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20291                 },
20292         .field_info_spec = {
20293                 .description = "l3.sip.ipv6",
20294                 .field_bit_size = 128,
20295                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20296                 }
20297         },
20298         {
20299         .field_info_mask = {
20300                 .description = "l3.sip_selcmp.ipv6",
20301                 .field_bit_size = 72,
20302                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20303                 },
20304         .field_info_spec = {
20305                 .description = "l3.sip_selcmp.ipv6",
20306                 .field_bit_size = 72,
20307                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20308                 }
20309         },
20310         {
20311         .field_info_mask = {
20312                 .description = "l3.dip.ipv4",
20313                 .field_bit_size = 32,
20314                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20315                 },
20316         .field_info_spec = {
20317                 .description = "l3.dip.ipv4",
20318                 .field_bit_size = 32,
20319                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20320                 }
20321         },
20322         {
20323         .field_info_mask = {
20324                 .description = "l3.dip.ipv6",
20325                 .field_bit_size = 128,
20326                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20327                 },
20328         .field_info_spec = {
20329                 .description = "l3.dip.ipv6",
20330                 .field_bit_size = 128,
20331                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20332                 }
20333         },
20334         {
20335         .field_info_mask = {
20336                 .description = "l3.dip_selcmp.ipv6",
20337                 .field_bit_size = 72,
20338                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20339                 },
20340         .field_info_spec = {
20341                 .description = "l3.dip_selcmp.ipv6",
20342                 .field_bit_size = 72,
20343                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20344                 }
20345         },
20346         {
20347         .field_info_mask = {
20348                 .description = "l3.ttl",
20349                 .field_bit_size = 8,
20350                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20351                 },
20352         .field_info_spec = {
20353                 .description = "l3.ttl",
20354                 .field_bit_size = 8,
20355                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20356                 }
20357         },
20358         {
20359         .field_info_mask = {
20360                 .description = "l3.prot",
20361                 .field_bit_size = 8,
20362                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20363                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
20364                 .field_opr1 = {
20365                         0xff}
20366                 },
20367         .field_info_spec = {
20368                 .description = "l3.prot",
20369                 .field_bit_size = 8,
20370                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
20371                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
20372                 .field_opr1 = {
20373                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
20374                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
20375                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
20376                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
20377                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
20378                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
20379                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
20380                 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
20381                 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
20382                 .field_opr2 = {
20383                         ULP_THOR_SYM_IP_PROTO_TCP},
20384                 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
20385                 .field_opr3 = {
20386                 ULP_THOR_SYM_IP_PROTO_UDP}
20387                 }
20388         },
20389         {
20390         .field_info_mask = {
20391                 .description = "l3.fid.ipv4",
20392                 .field_bit_size = 16,
20393                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20394                 },
20395         .field_info_spec = {
20396                 .description = "l3.fid.ipv4",
20397                 .field_bit_size = 16,
20398                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20399                 }
20400         },
20401         {
20402         .field_info_mask = {
20403                 .description = "l3.fid.ipv6",
20404                 .field_bit_size = 20,
20405                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20406                 },
20407         .field_info_spec = {
20408                 .description = "l3.fid.ipv6",
20409                 .field_bit_size = 20,
20410                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20411                 }
20412         },
20413         {
20414         .field_info_mask = {
20415                 .description = "l3.qos",
20416                 .field_bit_size = 8,
20417                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20418                 },
20419         .field_info_spec = {
20420                 .description = "l3.qos",
20421                 .field_bit_size = 8,
20422                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20423                 }
20424         },
20425         {
20426         .field_info_mask = {
20427                 .description = "l3.ieh_nonext",
20428                 .field_bit_size = 1,
20429                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20430                 },
20431         .field_info_spec = {
20432                 .description = "l3.ieh_nonext",
20433                 .field_bit_size = 1,
20434                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20435                 }
20436         },
20437         {
20438         .field_info_mask = {
20439                 .description = "l3.ieh_esp",
20440                 .field_bit_size = 1,
20441                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20442                 },
20443         .field_info_spec = {
20444                 .description = "l3.ieh_esp",
20445                 .field_bit_size = 1,
20446                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20447                 }
20448         },
20449         {
20450         .field_info_mask = {
20451                 .description = "l3.ieh_auth",
20452                 .field_bit_size = 1,
20453                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20454                 },
20455         .field_info_spec = {
20456                 .description = "l3.ieh_auth",
20457                 .field_bit_size = 1,
20458                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20459                 }
20460         },
20461         {
20462         .field_info_mask = {
20463                 .description = "l3.ieh_dest",
20464                 .field_bit_size = 1,
20465                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20466                 },
20467         .field_info_spec = {
20468                 .description = "l3.ieh_dest",
20469                 .field_bit_size = 1,
20470                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20471                 }
20472         },
20473         {
20474         .field_info_mask = {
20475                 .description = "l3.ieh_frag",
20476                 .field_bit_size = 1,
20477                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20478                 },
20479         .field_info_spec = {
20480                 .description = "l3.ieh_frag",
20481                 .field_bit_size = 1,
20482                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20483                 }
20484         },
20485         {
20486         .field_info_mask = {
20487                 .description = "l3.ieh_rthdr",
20488                 .field_bit_size = 1,
20489                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20490                 },
20491         .field_info_spec = {
20492                 .description = "l3.ieh_rthdr",
20493                 .field_bit_size = 1,
20494                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20495                 }
20496         },
20497         {
20498         .field_info_mask = {
20499                 .description = "l3.ieh_hop",
20500                 .field_bit_size = 1,
20501                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20502                 },
20503         .field_info_spec = {
20504                 .description = "l3.ieh_hop",
20505                 .field_bit_size = 1,
20506                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20507                 }
20508         },
20509         {
20510         .field_info_mask = {
20511                 .description = "l3.ieh_1frag",
20512                 .field_bit_size = 1,
20513                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20514                 },
20515         .field_info_spec = {
20516                 .description = "l3.ieh_1frag",
20517                 .field_bit_size = 1,
20518                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20519                 }
20520         },
20521         {
20522         .field_info_mask = {
20523                 .description = "l3.df",
20524                 .field_bit_size = 1,
20525                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20526                 },
20527         .field_info_spec = {
20528                 .description = "l3.df",
20529                 .field_bit_size = 1,
20530                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20531                 }
20532         },
20533         {
20534         .field_info_mask = {
20535                 .description = "l3.l3err.ipv4",
20536                 .field_bit_size = 4,
20537                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20538                 },
20539         .field_info_spec = {
20540                 .description = "l3.l3err.ipv4",
20541                 .field_bit_size = 4,
20542                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20543                 }
20544         },
20545         {
20546         .field_info_mask = {
20547                 .description = "l3.l3err.ipv6",
20548                 .field_bit_size = 4,
20549                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20550                 },
20551         .field_info_spec = {
20552                 .description = "l3.l3err.ipv6",
20553                 .field_bit_size = 4,
20554                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20555                 }
20556         },
20557         {
20558         .field_info_mask = {
20559                 .description = "l4.l4type",
20560                 .field_bit_size = 4,
20561                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20562                 },
20563         .field_info_spec = {
20564                 .description = "l4.l4type",
20565                 .field_bit_size = 4,
20566                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20567                 }
20568         },
20569         {
20570         .field_info_mask = {
20571                 .description = "l4.src",
20572                 .field_bit_size = 16,
20573                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20574                 },
20575         .field_info_spec = {
20576                 .description = "l4.src",
20577                 .field_bit_size = 16,
20578                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20579                 }
20580         },
20581         {
20582         .field_info_mask = {
20583                 .description = "l4.dst",
20584                 .field_bit_size = 16,
20585                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
20586                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
20587                 .field_opr1 = {
20588                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
20589                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
20590                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
20591                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
20592                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
20593                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
20594                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
20595                 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
20596                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
20597                 .field_opr2 = {
20598                         (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
20599                         BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
20600                 .field_src3 = BNXT_ULP_FIELD_SRC_HF,
20601                 .field_opr3 = {
20602                 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
20603                 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}
20604                 },
20605         .field_info_spec = {
20606                 .description = "l4.dst",
20607                 .field_bit_size = 16,
20608                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
20609                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
20610                 .field_opr1 = {
20611                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
20612                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
20613                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
20614                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
20615                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
20616                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
20617                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
20618                 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
20619                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
20620                 .field_opr2 = {
20621                         (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
20622                         BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
20623                 .field_src3 = BNXT_ULP_FIELD_SRC_HF,
20624                 .field_opr3 = {
20625                 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
20626                 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}
20627                 }
20628         },
20629         {
20630         .field_info_mask = {
20631                 .description = "l4.flags",
20632                 .field_bit_size = 9,
20633                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20634                 },
20635         .field_info_spec = {
20636                 .description = "l4.flags",
20637                 .field_bit_size = 9,
20638                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20639                 }
20640         },
20641         {
20642         .field_info_mask = {
20643                 .description = "l4.seq",
20644                 .field_bit_size = 32,
20645                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20646                 },
20647         .field_info_spec = {
20648                 .description = "l4.seq",
20649                 .field_bit_size = 32,
20650                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20651                 }
20652         },
20653         {
20654         .field_info_mask = {
20655                 .description = "l4.ack",
20656                 .field_bit_size = 32,
20657                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20658                 },
20659         .field_info_spec = {
20660                 .description = "l4.ack",
20661                 .field_bit_size = 32,
20662                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20663                 }
20664         },
20665         {
20666         .field_info_mask = {
20667                 .description = "l4.win",
20668                 .field_bit_size = 16,
20669                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20670                 },
20671         .field_info_spec = {
20672                 .description = "l4.win",
20673                 .field_bit_size = 16,
20674                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20675                 }
20676         },
20677         {
20678         .field_info_mask = {
20679                 .description = "l4.pa",
20680                 .field_bit_size = 1,
20681                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20682                 },
20683         .field_info_spec = {
20684                 .description = "l4.pa",
20685                 .field_bit_size = 1,
20686                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20687                 }
20688         },
20689         {
20690         .field_info_mask = {
20691                 .description = "l4.opt",
20692                 .field_bit_size = 1,
20693                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20694                 },
20695         .field_info_spec = {
20696                 .description = "l4.opt",
20697                 .field_bit_size = 1,
20698                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20699                 }
20700         },
20701         {
20702         .field_info_mask = {
20703                 .description = "l4.tcpts",
20704                 .field_bit_size = 1,
20705                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20706                 },
20707         .field_info_spec = {
20708                 .description = "l4.tcpts",
20709                 .field_bit_size = 1,
20710                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20711                 }
20712         },
20713         {
20714         .field_info_mask = {
20715                 .description = "l4.tsval",
20716                 .field_bit_size = 32,
20717                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20718                 },
20719         .field_info_spec = {
20720                 .description = "l4.tsval",
20721                 .field_bit_size = 32,
20722                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20723                 }
20724         },
20725         {
20726         .field_info_mask = {
20727                 .description = "l4.txecr",
20728                 .field_bit_size = 32,
20729                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20730                 },
20731         .field_info_spec = {
20732                 .description = "l4.txecr",
20733                 .field_bit_size = 32,
20734                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20735                 }
20736         },
20737         {
20738         .field_info_mask = {
20739                 .description = "l4.err",
20740                 .field_bit_size = 4,
20741                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20742                 },
20743         .field_info_spec = {
20744                 .description = "l4.err",
20745                 .field_bit_size = 4,
20746                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
20747                 }
20748         },
20749         /* class_tid: 2, thor, table: port_table.rd */
20750         {
20751         .field_info_mask = {
20752                 .description = "dev.port_id",
20753                 .field_bit_size = 10,
20754                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20755                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
20756                 .field_opr1 = {
20757                         0xff,
20758                         0xff}
20759                 },
20760         .field_info_spec = {
20761                 .description = "dev.port_id",
20762                 .field_bit_size = 10,
20763                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20764                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
20765                 .field_opr1 = {
20766                 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
20767                 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
20768                 }
20769         },
20770         /* class_tid: 2, thor, table: mac_addr_cache.rd */
20771         {
20772         .field_info_mask = {
20773                 .description = "svif",
20774                 .field_bit_size = 8,
20775                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20776                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
20777                 .field_opr1 = {
20778                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
20779                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
20780                 },
20781         .field_info_spec = {
20782                 .description = "svif",
20783                 .field_bit_size = 8,
20784                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20785                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
20786                 .field_opr1 = {
20787                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
20788                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
20789                 }
20790         },
20791         {
20792         .field_info_mask = {
20793                 .description = "tun_hdr",
20794                 .field_bit_size = 4,
20795                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20796                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
20797                 .field_opr1 = {
20798                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
20799                 },
20800         .field_info_spec = {
20801                 .description = "tun_hdr",
20802                 .field_bit_size = 4,
20803                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20804                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
20805                 .field_opr1 = {
20806                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
20807                 }
20808         },
20809         {
20810         .field_info_mask = {
20811                 .description = "one_tag",
20812                 .field_bit_size = 1,
20813                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20814                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20815                 },
20816         .field_info_spec = {
20817                 .description = "one_tag",
20818                 .field_bit_size = 1,
20819                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20820                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20821                 }
20822         },
20823         {
20824         .field_info_mask = {
20825                 .description = "vid",
20826                 .field_bit_size = 12,
20827                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20828                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20829                 },
20830         .field_info_spec = {
20831                 .description = "vid",
20832                 .field_bit_size = 12,
20833                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20834                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20835                 }
20836         },
20837         {
20838         .field_info_mask = {
20839                 .description = "mac_addr",
20840                 .field_bit_size = 48,
20841                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
20842                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
20843                 .field_opr1 = {
20844                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
20845                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
20846                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
20847                 .field_opr2 = {
20848                         (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
20849                         BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
20850                 .field_src3 = BNXT_ULP_FIELD_SRC_RF,
20851                 .field_opr3 = {
20852                 (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
20853                 BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
20854                 },
20855         .field_info_spec = {
20856                 .description = "mac_addr",
20857                 .field_bit_size = 48,
20858                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
20859                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
20860                 .field_opr1 = {
20861                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
20862                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
20863                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
20864                 .field_opr2 = {
20865                         (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
20866                         BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
20867                 .field_src3 = BNXT_ULP_FIELD_SRC_RF,
20868                 .field_opr3 = {
20869                 (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
20870                 BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
20871                 }
20872         },
20873         /* class_tid: 2, thor, table: l2_cntxt_tcam.0 */
20874         {
20875         .field_info_mask = {
20876                 .description = "etype",
20877                 .field_bit_size = 16,
20878                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20879                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20880                 },
20881         .field_info_spec = {
20882                 .description = "etype",
20883                 .field_bit_size = 16,
20884                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20885                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20886                 }
20887         },
20888         {
20889         .field_info_mask = {
20890                 .description = "l2_ivlan_tpid_sel",
20891                 .field_bit_size = 3,
20892                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20893                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20894                 },
20895         .field_info_spec = {
20896                 .description = "l2_ivlan_tpid_sel",
20897                 .field_bit_size = 3,
20898                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20899                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20900                 }
20901         },
20902         {
20903         .field_info_mask = {
20904                 .description = "l2_ivlan_vid",
20905                 .field_bit_size = 12,
20906                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20907                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20908                 },
20909         .field_info_spec = {
20910                 .description = "l2_ivlan_vid",
20911                 .field_bit_size = 12,
20912                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20913                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20914                 }
20915         },
20916         {
20917         .field_info_mask = {
20918                 .description = "l2_ovlan_tpid_sel",
20919                 .field_bit_size = 3,
20920                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20921                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20922                 },
20923         .field_info_spec = {
20924                 .description = "l2_ovlan_tpid_sel",
20925                 .field_bit_size = 3,
20926                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20927                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20928                 }
20929         },
20930         {
20931         .field_info_mask = {
20932                 .description = "l2_ovlan_vid",
20933                 .field_bit_size = 12,
20934                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20935                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20936                 },
20937         .field_info_spec = {
20938                 .description = "l2_ovlan_vid",
20939                 .field_bit_size = 12,
20940                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20941                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20942                 }
20943         },
20944         {
20945         .field_info_mask = {
20946                 .description = "two_vtags",
20947                 .field_bit_size = 1,
20948                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20949                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20950                 },
20951         .field_info_spec = {
20952                 .description = "two_vtags",
20953                 .field_bit_size = 1,
20954                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20955                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20956                 }
20957         },
20958         {
20959         .field_info_mask = {
20960                 .description = "vtag_present",
20961                 .field_bit_size = 1,
20962                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20963                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20964                 },
20965         .field_info_spec = {
20966                 .description = "vtag_present",
20967                 .field_bit_size = 1,
20968                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20969                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20970                 }
20971         },
20972         {
20973         .field_info_mask = {
20974                 .description = "mac1_addr",
20975                 .field_bit_size = 48,
20976                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20977                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20978                 },
20979         .field_info_spec = {
20980                 .description = "mac1_addr",
20981                 .field_bit_size = 48,
20982                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20983                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
20984                 }
20985         },
20986         {
20987         .field_info_mask = {
20988                 .description = "mac0_addr",
20989                 .field_bit_size = 48,
20990                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
20991                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
20992                 .field_opr1 = {
20993                         0xff,
20994                         0xff,
20995                         0xff,
20996                         0xff,
20997                         0xff,
20998                         0xff}
20999                 },
21000         .field_info_spec = {
21001                 .description = "mac0_addr",
21002                 .field_bit_size = 48,
21003                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
21004                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
21005                 .field_opr1 = {
21006                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
21007                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
21008                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
21009                 .field_opr2 = {
21010                         (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
21011                         BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
21012                 .field_src3 = BNXT_ULP_FIELD_SRC_RF,
21013                 .field_opr3 = {
21014                 (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
21015                 BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
21016                 }
21017         },
21018         {
21019         .field_info_mask = {
21020                 .description = "tunnel_id",
21021                 .field_bit_size = 24,
21022                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21023                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21024                 },
21025         .field_info_spec = {
21026                 .description = "tunnel_id",
21027                 .field_bit_size = 24,
21028                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21029                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21030                 }
21031         },
21032         {
21033         .field_info_mask = {
21034                 .description = "tun_hdr_type",
21035                 .field_bit_size = 4,
21036                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21037                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
21038                 .field_opr1 = {
21039                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
21040                 },
21041         .field_info_spec = {
21042                 .description = "tun_hdr_type",
21043                 .field_bit_size = 4,
21044                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21045                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
21046                 .field_opr1 = {
21047                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
21048                 }
21049         },
21050         {
21051         .field_info_mask = {
21052                 .description = "llc",
21053                 .field_bit_size = 1,
21054                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21055                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21056                 },
21057         .field_info_spec = {
21058                 .description = "llc",
21059                 .field_bit_size = 1,
21060                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21061                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21062                 }
21063         },
21064         {
21065         .field_info_mask = {
21066                 .description = "roce",
21067                 .field_bit_size = 1,
21068                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21069                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21070                 },
21071         .field_info_spec = {
21072                 .description = "roce",
21073                 .field_bit_size = 1,
21074                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21075                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21076                 }
21077         },
21078         {
21079         .field_info_mask = {
21080                 .description = "metadata",
21081                 .field_bit_size = 16,
21082                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21083                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21084                 },
21085         .field_info_spec = {
21086                 .description = "metadata",
21087                 .field_bit_size = 16,
21088                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21089                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21090                 }
21091         },
21092         {
21093         .field_info_mask = {
21094                 .description = "svif",
21095                 .field_bit_size = 11,
21096                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21097                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
21098                 .field_opr1 = {
21099                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
21100                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
21101                 },
21102         .field_info_spec = {
21103                 .description = "svif",
21104                 .field_bit_size = 11,
21105                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21106                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
21107                 .field_opr1 = {
21108                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
21109                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
21110                 }
21111         },
21112         {
21113         .field_info_mask = {
21114                 .description = "parif",
21115                 .field_bit_size = 4,
21116                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21117                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21118                 },
21119         .field_info_spec = {
21120                 .description = "parif",
21121                 .field_bit_size = 4,
21122                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21123                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21124                 }
21125         },
21126         {
21127         .field_info_mask = {
21128                 .description = "spif",
21129                 .field_bit_size = 2,
21130                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21131                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21132                 },
21133         .field_info_spec = {
21134                 .description = "spif",
21135                 .field_bit_size = 2,
21136                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21137                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21138                 }
21139         },
21140         {
21141         .field_info_mask = {
21142                 .description = "loopback",
21143                 .field_bit_size = 1,
21144                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21145                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21146                 },
21147         .field_info_spec = {
21148                 .description = "loopback",
21149                 .field_bit_size = 1,
21150                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21151                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21152                 }
21153         },
21154         {
21155         .field_info_mask = {
21156                 .description = "recycle_cnt",
21157                 .field_bit_size = 2,
21158                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21159                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21160                 },
21161         .field_info_spec = {
21162                 .description = "recycle_cnt",
21163                 .field_bit_size = 2,
21164                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21165                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21166                 }
21167         },
21168         {
21169         .field_info_mask = {
21170                 .description = "mpass_cnt",
21171                 .field_bit_size = 2,
21172                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21173                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
21174                 .field_opr1 = {
21175                 2}
21176                 },
21177         .field_info_spec = {
21178                 .description = "mpass_cnt",
21179                 .field_bit_size = 2,
21180                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21181                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21182                 }
21183         },
21184         {
21185         .field_info_mask = {
21186                 .description = "valid",
21187                 .field_bit_size = 1,
21188                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21189                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
21190                 .field_opr1 = {
21191                 1}
21192                 },
21193         .field_info_spec = {
21194                 .description = "valid",
21195                 .field_bit_size = 1,
21196                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21197                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
21198                 .field_opr1 = {
21199                 1}
21200                 }
21201         },
21202         /* class_tid: 2, thor, table: mac_addr_cache.wr */
21203         {
21204         .field_info_mask = {
21205                 .description = "svif",
21206                 .field_bit_size = 8,
21207                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21208                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
21209                 .field_opr1 = {
21210                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
21211                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
21212                 },
21213         .field_info_spec = {
21214                 .description = "svif",
21215                 .field_bit_size = 8,
21216                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21217                 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
21218                 .field_opr1 = {
21219                 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
21220                 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
21221                 }
21222         },
21223         {
21224         .field_info_mask = {
21225                 .description = "tun_hdr",
21226                 .field_bit_size = 4,
21227                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21228                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
21229                 .field_opr1 = {
21230                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
21231                 },
21232         .field_info_spec = {
21233                 .description = "tun_hdr",
21234                 .field_bit_size = 4,
21235                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21236                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
21237                 .field_opr1 = {
21238                 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
21239                 }
21240         },
21241         {
21242         .field_info_mask = {
21243                 .description = "one_tag",
21244                 .field_bit_size = 1,
21245                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21246                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21247                 },
21248         .field_info_spec = {
21249                 .description = "one_tag",
21250                 .field_bit_size = 1,
21251                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21252                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21253                 }
21254         },
21255         {
21256         .field_info_mask = {
21257                 .description = "vid",
21258                 .field_bit_size = 12,
21259                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21260                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21261                 },
21262         .field_info_spec = {
21263                 .description = "vid",
21264                 .field_bit_size = 12,
21265                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21266                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21267                 }
21268         },
21269         {
21270         .field_info_mask = {
21271                 .description = "mac_addr",
21272                 .field_bit_size = 48,
21273                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
21274                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
21275                 .field_opr1 = {
21276                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
21277                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
21278                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
21279                 .field_opr2 = {
21280                         (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
21281                         BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
21282                 .field_src3 = BNXT_ULP_FIELD_SRC_RF,
21283                 .field_opr3 = {
21284                 (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
21285                 BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
21286                 },
21287         .field_info_spec = {
21288                 .description = "mac_addr",
21289                 .field_bit_size = 48,
21290                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
21291                 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
21292                 .field_opr1 = {
21293                 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
21294                 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
21295                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
21296                 .field_opr2 = {
21297                         (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
21298                         BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
21299                 .field_src3 = BNXT_ULP_FIELD_SRC_RF,
21300                 .field_opr3 = {
21301                 (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
21302                 BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
21303                 }
21304         },
21305         /* class_tid: 2, thor, table: profile_tcam_cache.l3_l4_rd */
21306         {
21307         .field_info_mask = {
21308                 .description = "recycle_cnt",
21309                 .field_bit_size = 2,
21310                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21311                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21312                 .field_opr1 = {
21313                         0xff}
21314                 },
21315         .field_info_spec = {
21316                 .description = "recycle_cnt",
21317                 .field_bit_size = 2,
21318                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21319                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21320                 }
21321         },
21322         {
21323         .field_info_mask = {
21324                 .description = "prof_func_id",
21325                 .field_bit_size = 7,
21326                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21327                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21328                 .field_opr1 = {
21329                         0xff}
21330                 },
21331         .field_info_spec = {
21332                 .description = "prof_func_id",
21333                 .field_bit_size = 7,
21334                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21335                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
21336                 .field_opr1 = {
21337                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
21338                 BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
21339                 }
21340         },
21341         {
21342         .field_info_mask = {
21343                 .description = "hdr_sig_id",
21344                 .field_bit_size = 5,
21345                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21346                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21347                 .field_opr1 = {
21348                         0xff}
21349                 },
21350         .field_info_spec = {
21351                 .description = "hdr_sig_id",
21352                 .field_bit_size = 5,
21353                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21354                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
21355                 .field_opr1 = {
21356                 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
21357                 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
21358                 }
21359         },
21360         /* class_tid: 2, thor, table: profile_tcam.l3_l4 */
21361         {
21362         .field_info_mask = {
21363                 .description = "l4_hdr_is_udp_tcp",
21364                 .field_bit_size = 1,
21365                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21366                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21367                 },
21368         .field_info_spec = {
21369                 .description = "l4_hdr_is_udp_tcp",
21370                 .field_bit_size = 1,
21371                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21372                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21373                 }
21374         },
21375         {
21376         .field_info_mask = {
21377                 .description = "l4_hdr_type",
21378                 .field_bit_size = 4,
21379                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21380                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21381                 .field_opr1 = {
21382                         0xff}
21383                 },
21384         .field_info_spec = {
21385                 .description = "l4_hdr_type",
21386                 .field_bit_size = 4,
21387                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
21388                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
21389                 .field_opr1 = {
21390                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
21391                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
21392                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
21393                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
21394                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
21395                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
21396                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
21397                 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
21398                 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
21399                 .field_opr2 = {
21400                         ULP_THOR_SYM_L4_HDR_TYPE_TCP},
21401                 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
21402                 .field_opr3 = {
21403                 ULP_THOR_SYM_L4_HDR_TYPE_UDP}
21404                 }
21405         },
21406         {
21407         .field_info_mask = {
21408                 .description = "l4_hdr_error",
21409                 .field_bit_size = 1,
21410                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21411                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21412                 .field_opr1 = {
21413                         0xff}
21414                 },
21415         .field_info_spec = {
21416                 .description = "l4_hdr_error",
21417                 .field_bit_size = 1,
21418                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21419                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21420                 }
21421         },
21422         {
21423         .field_info_mask = {
21424                 .description = "l4_hdr_valid",
21425                 .field_bit_size = 1,
21426                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21427                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21428                 .field_opr1 = {
21429                         0xff}
21430                 },
21431         .field_info_spec = {
21432                 .description = "l4_hdr_valid",
21433                 .field_bit_size = 1,
21434                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21435                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
21436                 .field_opr1 = {
21437                 ULP_THOR_SYM_L4_HDR_VALID_YES}
21438                 }
21439         },
21440         {
21441         .field_info_mask = {
21442                 .description = "ieh",
21443                 .field_bit_size = 8,
21444                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21445                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21446                 },
21447         .field_info_spec = {
21448                 .description = "ieh",
21449                 .field_bit_size = 8,
21450                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21451                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21452                 }
21453         },
21454         {
21455         .field_info_mask = {
21456                 .description = "l3_ipv6_cmp_dst",
21457                 .field_bit_size = 1,
21458                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21459                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21460                 },
21461         .field_info_spec = {
21462                 .description = "l3_ipv6_cmp_dst",
21463                 .field_bit_size = 1,
21464                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21465                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21466                 }
21467         },
21468         {
21469         .field_info_mask = {
21470                 .description = "l3_ipv6_cmp_src",
21471                 .field_bit_size = 1,
21472                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21473                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21474                 },
21475         .field_info_spec = {
21476                 .description = "l3_ipv6_cmp_src",
21477                 .field_bit_size = 1,
21478                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21479                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21480                 }
21481         },
21482         {
21483         .field_info_mask = {
21484                 .description = "l3_hdr_isIP",
21485                 .field_bit_size = 1,
21486                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21487                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21488                 },
21489         .field_info_spec = {
21490                 .description = "l3_hdr_isIP",
21491                 .field_bit_size = 1,
21492                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21493                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21494                 }
21495         },
21496         {
21497         .field_info_mask = {
21498                 .description = "l3_hdr_type",
21499                 .field_bit_size = 4,
21500                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21501                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21502                 .field_opr1 = {
21503                         0xff}
21504                 },
21505         .field_info_spec = {
21506                 .description = "l3_hdr_type",
21507                 .field_bit_size = 4,
21508                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
21509                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
21510                 .field_opr1 = {
21511                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
21512                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
21513                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
21514                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
21515                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
21516                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
21517                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
21518                 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
21519                 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
21520                 .field_opr2 = {
21521                         ULP_THOR_SYM_L3_HDR_TYPE_IPV4},
21522                 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
21523                 .field_opr3 = {
21524                 ULP_THOR_SYM_L3_HDR_TYPE_IPV6}
21525                 }
21526         },
21527         {
21528         .field_info_mask = {
21529                 .description = "l3_hdr_error",
21530                 .field_bit_size = 1,
21531                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21532                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21533                 .field_opr1 = {
21534                         0xff}
21535                 },
21536         .field_info_spec = {
21537                 .description = "l3_hdr_error",
21538                 .field_bit_size = 1,
21539                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21540                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21541                 }
21542         },
21543         {
21544         .field_info_mask = {
21545                 .description = "l3_hdr_valid",
21546                 .field_bit_size = 1,
21547                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21548                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21549                 .field_opr1 = {
21550                         0xff}
21551                 },
21552         .field_info_spec = {
21553                 .description = "l3_hdr_valid",
21554                 .field_bit_size = 1,
21555                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21556                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
21557                 .field_opr1 = {
21558                 ULP_THOR_SYM_L3_HDR_VALID_YES}
21559                 }
21560         },
21561         {
21562         .field_info_mask = {
21563                 .description = "l2_two_vtags",
21564                 .field_bit_size = 1,
21565                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21566                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21567                 },
21568         .field_info_spec = {
21569                 .description = "l2_two_vtags",
21570                 .field_bit_size = 1,
21571                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21572                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21573                 }
21574         },
21575         {
21576         .field_info_mask = {
21577                 .description = "l2_vtag_present",
21578                 .field_bit_size = 1,
21579                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21580                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21581                 },
21582         .field_info_spec = {
21583                 .description = "l2_vtag_present",
21584                 .field_bit_size = 1,
21585                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21586                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21587                 }
21588         },
21589         {
21590         .field_info_mask = {
21591                 .description = "l2_uc_mc_bc",
21592                 .field_bit_size = 2,
21593                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21594                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21595                 .field_opr1 = {
21596                         0xff}
21597                 },
21598         .field_info_spec = {
21599                 .description = "l2_uc_mc_bc",
21600                 .field_bit_size = 2,
21601                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21602                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21603                 }
21604         },
21605         {
21606         .field_info_mask = {
21607                 .description = "l2_hdr_type",
21608                 .field_bit_size = 2,
21609                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21610                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21611                 .field_opr1 = {
21612                         0xff}
21613                 },
21614         .field_info_spec = {
21615                 .description = "l2_hdr_type",
21616                 .field_bit_size = 2,
21617                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21618                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21619                 }
21620         },
21621         {
21622         .field_info_mask = {
21623                 .description = "l2_hdr_error",
21624                 .field_bit_size = 1,
21625                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21626                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21627                 .field_opr1 = {
21628                         0xff}
21629                 },
21630         .field_info_spec = {
21631                 .description = "l2_hdr_error",
21632                 .field_bit_size = 1,
21633                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21634                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21635                 }
21636         },
21637         {
21638         .field_info_mask = {
21639                 .description = "l2_hdr_valid",
21640                 .field_bit_size = 1,
21641                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21642                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21643                 .field_opr1 = {
21644                         0xff}
21645                 },
21646         .field_info_spec = {
21647                 .description = "l2_hdr_valid",
21648                 .field_bit_size = 1,
21649                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21650                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
21651                 .field_opr1 = {
21652                 ULP_THOR_SYM_L2_HDR_VALID_YES}
21653                 }
21654         },
21655         {
21656         .field_info_mask = {
21657                 .description = "tun_hdr_flags",
21658                 .field_bit_size = 3,
21659                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21660                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21661                 },
21662         .field_info_spec = {
21663                 .description = "tun_hdr_flags",
21664                 .field_bit_size = 3,
21665                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21666                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21667                 }
21668         },
21669         {
21670         .field_info_mask = {
21671                 .description = "tun_hdr_type",
21672                 .field_bit_size = 4,
21673                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21674                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21675                 },
21676         .field_info_spec = {
21677                 .description = "tun_hdr_type",
21678                 .field_bit_size = 4,
21679                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21680                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21681                 }
21682         },
21683         {
21684         .field_info_mask = {
21685                 .description = "tun_hdr_err",
21686                 .field_bit_size = 1,
21687                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21688                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21689                 },
21690         .field_info_spec = {
21691                 .description = "tun_hdr_err",
21692                 .field_bit_size = 1,
21693                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21694                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21695                 }
21696         },
21697         {
21698         .field_info_mask = {
21699                 .description = "tun_hdr_valid",
21700                 .field_bit_size = 1,
21701                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21702                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21703                 .field_opr1 = {
21704                         0xff}
21705                 },
21706         .field_info_spec = {
21707                 .description = "tun_hdr_valid",
21708                 .field_bit_size = 1,
21709                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21710                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21711                 }
21712         },
21713         {
21714         .field_info_mask = {
21715                 .description = "tl4_hdr_is_udp_tcp",
21716                 .field_bit_size = 1,
21717                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21718                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21719                 },
21720         .field_info_spec = {
21721                 .description = "tl4_hdr_is_udp_tcp",
21722                 .field_bit_size = 1,
21723                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21724                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21725                 }
21726         },
21727         {
21728         .field_info_mask = {
21729                 .description = "tl4_hdr_type",
21730                 .field_bit_size = 4,
21731                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21732                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21733                 },
21734         .field_info_spec = {
21735                 .description = "tl4_hdr_type",
21736                 .field_bit_size = 4,
21737                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21738                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21739                 }
21740         },
21741         {
21742         .field_info_mask = {
21743                 .description = "tl4_hdr_error",
21744                 .field_bit_size = 1,
21745                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21746                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21747                 },
21748         .field_info_spec = {
21749                 .description = "tl4_hdr_error",
21750                 .field_bit_size = 1,
21751                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21752                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21753                 }
21754         },
21755         {
21756         .field_info_mask = {
21757                 .description = "tl4_hdr_valid",
21758                 .field_bit_size = 1,
21759                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21760                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21761                 .field_opr1 = {
21762                         0xff}
21763                 },
21764         .field_info_spec = {
21765                 .description = "tl4_hdr_valid",
21766                 .field_bit_size = 1,
21767                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21768                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21769                 }
21770         },
21771         {
21772         .field_info_mask = {
21773                 .description = "tl3_ipv6_cmp_dst",
21774                 .field_bit_size = 1,
21775                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21776                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21777                 },
21778         .field_info_spec = {
21779                 .description = "tl3_ipv6_cmp_dst",
21780                 .field_bit_size = 1,
21781                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21782                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21783                 }
21784         },
21785         {
21786         .field_info_mask = {
21787                 .description = "tl3_ipv6_cmp_src",
21788                 .field_bit_size = 1,
21789                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21790                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21791                 },
21792         .field_info_spec = {
21793                 .description = "tl3_ipv6_cmp_src",
21794                 .field_bit_size = 1,
21795                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21796                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21797                 }
21798         },
21799         {
21800         .field_info_mask = {
21801                 .description = "tl3_hdr_isIP",
21802                 .field_bit_size = 1,
21803                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21804                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21805                 },
21806         .field_info_spec = {
21807                 .description = "tl3_hdr_isIP",
21808                 .field_bit_size = 1,
21809                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21810                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21811                 }
21812         },
21813         {
21814         .field_info_mask = {
21815                 .description = "tl3_hdr_type",
21816                 .field_bit_size = 4,
21817                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21818                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21819                 },
21820         .field_info_spec = {
21821                 .description = "tl3_hdr_type",
21822                 .field_bit_size = 4,
21823                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21824                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21825                 }
21826         },
21827         {
21828         .field_info_mask = {
21829                 .description = "tl3_hdr_error",
21830                 .field_bit_size = 1,
21831                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21832                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21833                 },
21834         .field_info_spec = {
21835                 .description = "tl3_hdr_error",
21836                 .field_bit_size = 1,
21837                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21838                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21839                 }
21840         },
21841         {
21842         .field_info_mask = {
21843                 .description = "tl3_hdr_valid",
21844                 .field_bit_size = 1,
21845                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21846                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21847                 .field_opr1 = {
21848                         0xff}
21849                 },
21850         .field_info_spec = {
21851                 .description = "tl3_hdr_valid",
21852                 .field_bit_size = 1,
21853                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21854                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21855                 }
21856         },
21857         {
21858         .field_info_mask = {
21859                 .description = "tl2_two_vtags",
21860                 .field_bit_size = 1,
21861                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21862                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21863                 },
21864         .field_info_spec = {
21865                 .description = "tl2_two_vtags",
21866                 .field_bit_size = 1,
21867                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21868                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21869                 }
21870         },
21871         {
21872         .field_info_mask = {
21873                 .description = "tl2_vtag_present",
21874                 .field_bit_size = 1,
21875                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21876                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21877                 },
21878         .field_info_spec = {
21879                 .description = "tl2_vtag_present",
21880                 .field_bit_size = 1,
21881                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21882                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21883                 }
21884         },
21885         {
21886         .field_info_mask = {
21887                 .description = "tl2_uc_mc_bc",
21888                 .field_bit_size = 2,
21889                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21890                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21891                 },
21892         .field_info_spec = {
21893                 .description = "tl2_uc_mc_bc",
21894                 .field_bit_size = 2,
21895                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21896                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21897                 }
21898         },
21899         {
21900         .field_info_mask = {
21901                 .description = "tl2_hdr_type",
21902                 .field_bit_size = 2,
21903                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21904                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21905                 },
21906         .field_info_spec = {
21907                 .description = "tl2_hdr_type",
21908                 .field_bit_size = 2,
21909                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21910                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21911                 }
21912         },
21913         {
21914         .field_info_mask = {
21915                 .description = "tl2_hdr_valid",
21916                 .field_bit_size = 1,
21917                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21918                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21919                 .field_opr1 = {
21920                         0xff}
21921                 },
21922         .field_info_spec = {
21923                 .description = "tl2_hdr_valid",
21924                 .field_bit_size = 1,
21925                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21926                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21927                 }
21928         },
21929         {
21930         .field_info_mask = {
21931                 .description = "hrec_next",
21932                 .field_bit_size = 1,
21933                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21934                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21935                 },
21936         .field_info_spec = {
21937                 .description = "hrec_next",
21938                 .field_bit_size = 1,
21939                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21940                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21941                 }
21942         },
21943         {
21944         .field_info_mask = {
21945                 .description = "prof_func_id",
21946                 .field_bit_size = 7,
21947                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21948                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
21949                 .field_opr1 = {
21950                         0xff}
21951                 },
21952         .field_info_spec = {
21953                 .description = "prof_func_id",
21954                 .field_bit_size = 7,
21955                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21956                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
21957                 .field_opr1 = {
21958                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
21959                 BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
21960                 }
21961         },
21962         {
21963         .field_info_mask = {
21964                 .description = "agg_error",
21965                 .field_bit_size = 1,
21966                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21967                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21968                 },
21969         .field_info_spec = {
21970                 .description = "agg_error",
21971                 .field_bit_size = 1,
21972                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21973                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21974                 }
21975         },
21976         {
21977         .field_info_mask = {
21978                 .description = "metadata",
21979                 .field_bit_size = 16,
21980                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21981                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21982                 },
21983         .field_info_spec = {
21984                 .description = "metadata",
21985                 .field_bit_size = 16,
21986                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21987                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21988                 }
21989         },
21990         {
21991         .field_info_mask = {
21992                 .description = "pkt_type_0",
21993                 .field_bit_size = 2,
21994                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
21995                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
21996                 },
21997         .field_info_spec = {
21998                 .description = "pkt_type_0",
21999                 .field_bit_size = 2,
22000                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
22001                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
22002                 }
22003         },
22004         {
22005         .field_info_mask = {
22006                 .description = "pkt_type_1",
22007                 .field_bit_size = 2,
22008                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
22009                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
22010                 },
22011         .field_info_spec = {
22012                 .description = "pkt_type_1",
22013                 .field_bit_size = 2,
22014                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
22015                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
22016                 }
22017         },
22018         {
22019         .field_info_mask = {
22020                 .description = "valid",
22021                 .field_bit_size = 1,
22022                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
22023                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
22024                 .field_opr1 = {
22025                 1}
22026                 },
22027         .field_info_spec = {
22028                 .description = "valid",
22029                 .field_bit_size = 1,
22030                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
22031                 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
22032                 .field_opr1 = {
22033                 1}
22034                 }
22035         },
22036         /* class_tid: 2, thor, table: profile_tcam_cache.wr */
22037         {
22038         .field_info_mask = {
22039                 .description = "recycle_cnt",
22040                 .field_bit_size = 2,
22041                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
22042                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
22043                 .field_opr1 = {
22044                         0xff}
22045                 },
22046         .field_info_spec = {
22047                 .description = "recycle_cnt",
22048                 .field_bit_size = 2,
22049                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
22050                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
22051                 }
22052         },
22053         {
22054         .field_info_mask = {
22055                 .description = "prof_func_id",
22056                 .field_bit_size = 7,
22057                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
22058                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
22059                 .field_opr1 = {
22060                         0xff}
22061                 },
22062         .field_info_spec = {
22063                 .description = "prof_func_id",
22064                 .field_bit_size = 7,
22065                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
22066                 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
22067                 .field_opr1 = {
22068                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
22069                 BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
22070                 }
22071         },
22072         {
22073         .field_info_mask = {
22074                 .description = "hdr_sig_id",
22075                 .field_bit_size = 5,
22076                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
22077                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
22078                 .field_opr1 = {
22079                         0xff}
22080                 },
22081         .field_info_spec = {
22082                 .description = "hdr_sig_id",
22083                 .field_bit_size = 5,
22084                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
22085                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
22086                 .field_opr1 = {
22087                 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
22088                 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
22089                 }
22090         },
22091         /* class_tid: 2, thor, table: wm.l4 */
22092         {
22093         .field_info_mask = {
22094                 .description = "wc_profile_id",
22095                 .field_bit_size = 8,
22096                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
22097                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
22098                 .field_opr1 = {
22099                         0xff}
22100                 },
22101         .field_info_spec = {
22102                 .description = "wc_profile_id",
22103                 .field_bit_size = 8,
22104                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
22105                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
22106                 .field_opr1 = {
22107                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
22108                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
22109                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
22110                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
22111                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
22112                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
22113                 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
22114                 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
22115                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
22116                 .field_opr2 = {
22117                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
22118                         BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff},
22119                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
22120                 .field_opr3 = {
22121                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
22122                 BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 & 0xff}
22123                 }
22124         },
22125         {
22126         .field_info_mask = {
22127                 .description = "l2_cntxt_id",
22128                 .field_bit_size = 10,
22129                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
22130                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
22131                 .field_opr1 = {
22132                         0xff,
22133                         0xff}
22134                 },
22135         .field_info_spec = {
22136                 .description = "l2_cntxt_id",
22137                 .field_bit_size = 10,
22138                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
22139                 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
22140                 .field_opr1 = {
22141                 (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
22142                 BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
22143                 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
22144                 .field_opr2 = {
22145                         (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
22146                         BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
22147                 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
22148                 .field_opr3 = {
22149                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
22150                 BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
22151                 }
22152         },
22153         {
22154         .field_info_mask = {
22155                 .description = "parif",
22156                 .field_bit_size = 4,
22157                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22158                 },
22159         .field_info_spec = {
22160                 .description = "parif",
22161                 .field_bit_size = 4,
22162                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22163                 }
22164         },
22165         {
22166         .field_info_mask = {
22167                 .description = "spif",
22168                 .field_bit_size = 2,
22169                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22170                 },
22171         .field_info_spec = {
22172                 .description = "spif",
22173                 .field_bit_size = 2,
22174                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22175                 }
22176         },
22177         {
22178         .field_info_mask = {
22179                 .description = "svif",
22180                 .field_bit_size = 11,
22181                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22182                 },
22183         .field_info_spec = {
22184                 .description = "svif",
22185                 .field_bit_size = 11,
22186                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22187                 }
22188         },
22189         {
22190         .field_info_mask = {
22191                 .description = "lcos",
22192                 .field_bit_size = 3,
22193                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22194                 },
22195         .field_info_spec = {
22196                 .description = "lcos",
22197                 .field_bit_size = 3,
22198                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22199                 }
22200         },
22201         {
22202         .field_info_mask = {
22203                 .description = "meta",
22204                 .field_bit_size = 16,
22205                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22206                 },
22207         .field_info_spec = {
22208                 .description = "meta",
22209                 .field_bit_size = 16,
22210                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22211                 }
22212         },
22213         {
22214         .field_info_mask = {
22215                 .description = "rcyc_cnt",
22216                 .field_bit_size = 2,
22217                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22218                 },
22219         .field_info_spec = {
22220                 .description = "rcyc_cnt",
22221                 .field_bit_size = 2,
22222                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22223                 }
22224         },
22225         {
22226         .field_info_mask = {
22227                 .description = "loopback",
22228                 .field_bit_size = 1,
22229                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22230                 },
22231         .field_info_spec = {
22232                 .description = "loopback",
22233                 .field_bit_size = 1,
22234                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22235                 }
22236         },
22237         {
22238         .field_info_mask = {
22239                 .description = "tl2_l2type",
22240                 .field_bit_size = 2,
22241                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22242                 },
22243         .field_info_spec = {
22244                 .description = "tl2_l2type",
22245                 .field_bit_size = 2,
22246                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22247                 }
22248         },
22249         {
22250         .field_info_mask = {
22251                 .description = "tl2_dmac",
22252                 .field_bit_size = 48,
22253                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22254                 },
22255         .field_info_spec = {
22256                 .description = "tl2_dmac",
22257                 .field_bit_size = 48,
22258                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22259                 }
22260         },
22261         {
22262         .field_info_mask = {
22263                 .description = "tl2_smac",
22264                 .field_bit_size = 48,
22265                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22266                 },
22267         .field_info_spec = {
22268                 .description = "tl2_smac",
22269                 .field_bit_size = 48,
22270                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22271                 }
22272         },
22273         {
22274         .field_info_mask = {
22275                 .description = "tl2_dt",
22276                 .field_bit_size = 2,
22277                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22278                 },
22279         .field_info_spec = {
22280                 .description = "tl2_dt",
22281                 .field_bit_size = 2,
22282                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22283                 }
22284         },
22285         {
22286         .field_info_mask = {
22287                 .description = "tl2_sa",
22288                 .field_bit_size = 1,
22289                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22290                 },
22291         .field_info_spec = {
22292                 .description = "tl2_sa",
22293                 .field_bit_size = 1,
22294                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22295                 }
22296         },
22297         {
22298         .field_info_mask = {
22299                 .description = "tl2_nvt",
22300                 .field_bit_size = 2,
22301                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22302                 },
22303         .field_info_spec = {
22304                 .description = "tl2_nvt",
22305                 .field_bit_size = 2,
22306                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22307                 }
22308         },
22309         {
22310         .field_info_mask = {
22311                 .description = "tl2_ovp",
22312                 .field_bit_size = 3,
22313                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22314                 },
22315         .field_info_spec = {
22316                 .description = "tl2_ovp",
22317                 .field_bit_size = 3,
22318                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22319                 }
22320         },
22321         {
22322         .field_info_mask = {
22323                 .description = "tl2_ovd",
22324                 .field_bit_size = 1,
22325                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22326                 },
22327         .field_info_spec = {
22328                 .description = "tl2_ovd",
22329                 .field_bit_size = 1,
22330                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22331                 }
22332         },
22333         {
22334         .field_info_mask = {
22335                 .description = "tl2_ovv",
22336                 .field_bit_size = 12,
22337                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22338                 },
22339         .field_info_spec = {
22340                 .description = "tl2_ovv",
22341                 .field_bit_size = 12,
22342                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22343                 }
22344         },
22345         {
22346         .field_info_mask = {
22347                 .description = "tl2_ovt",
22348                 .field_bit_size = 3,
22349                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22350                 },
22351         .field_info_spec = {
22352                 .description = "tl2_ovt",
22353                 .field_bit_size = 3,
22354                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22355                 }
22356         },
22357         {
22358         .field_info_mask = {
22359                 .description = "tl2_ivp",
22360                 .field_bit_size = 3,
22361                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22362                 },
22363         .field_info_spec = {
22364                 .description = "tl2_ivp",
22365                 .field_bit_size = 3,
22366                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22367                 }
22368         },
22369         {
22370         .field_info_mask = {
22371                 .description = "tl2_ivd",
22372                 .field_bit_size = 1,
22373                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22374                 },
22375         .field_info_spec = {
22376                 .description = "tl2_ivd",
22377                 .field_bit_size = 1,
22378                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22379                 }
22380         },
22381         {
22382         .field_info_mask = {
22383                 .description = "tl2_ivv",
22384                 .field_bit_size = 12,
22385                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22386                 },
22387         .field_info_spec = {
22388                 .description = "tl2_ivv",
22389                 .field_bit_size = 12,
22390                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22391                 }
22392         },
22393         {
22394         .field_info_mask = {
22395                 .description = "tl2_ivt",
22396                 .field_bit_size = 3,
22397                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22398                 },
22399         .field_info_spec = {
22400                 .description = "tl2_ivt",
22401                 .field_bit_size = 3,
22402                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22403                 }
22404         },
22405         {
22406         .field_info_mask = {
22407                 .description = "tl2_etype",
22408                 .field_bit_size = 16,
22409                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22410                 },
22411         .field_info_spec = {
22412                 .description = "tl2_etype",
22413                 .field_bit_size = 16,
22414                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22415                 }
22416         },
22417         {
22418         .field_info_mask = {
22419                 .description = "tl3.l3type",
22420                 .field_bit_size = 4,
22421                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22422                 },
22423         .field_info_spec = {
22424                 .description = "tl3.l3type",
22425                 .field_bit_size = 4,
22426                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22427                 }
22428         },
22429         {
22430         .field_info_mask = {
22431                 .description = "tl3.sip.ipv4",
22432                 .field_bit_size = 32,
22433                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22434                 },
22435         .field_info_spec = {
22436                 .description = "tl3.sip.ipv4",
22437                 .field_bit_size = 32,
22438                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22439                 }
22440         },
22441         {
22442         .field_info_mask = {
22443                 .description = "tl3.sip.ipv6",
22444                 .field_bit_size = 128,
22445                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22446                 },
22447         .field_info_spec = {
22448                 .description = "tl3.sip.ipv6",
22449                 .field_bit_size = 128,
22450                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22451                 }
22452         },
22453         {
22454         .field_info_mask = {
22455                 .description = "tl3.sip_selcmp.ipv6",
22456                 .field_bit_size = 72,
22457                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22458                 },
22459         .field_info_spec = {
22460                 .description = "tl3.sip_selcmp.ipv6",
22461                 .field_bit_size = 72,
22462                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22463                 }
22464         },
22465         {
22466         .field_info_mask = {
22467                 .description = "tl3.dip.ipv4",
22468                 .field_bit_size = 32,
22469                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22470                 },
22471         .field_info_spec = {
22472                 .description = "tl3.dip.ipv4",
22473                 .field_bit_size = 32,
22474                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22475                 }
22476         },
22477         {
22478         .field_info_mask = {
22479                 .description = "tl3.dip.ipv6",
22480                 .field_bit_size = 128,
22481                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22482                 },
22483         .field_info_spec = {
22484                 .description = "tl3.dip.ipv6",
22485                 .field_bit_size = 128,
22486                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22487                 }
22488         },
22489         {
22490         .field_info_mask = {
22491                 .description = "tl3.dip_selcmp.ipv6",
22492                 .field_bit_size = 72,
22493                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22494                 },
22495         .field_info_spec = {
22496                 .description = "tl3.dip_selcmp.ipv6",
22497                 .field_bit_size = 72,
22498                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22499                 }
22500         },
22501         {
22502         .field_info_mask = {
22503                 .description = "tl3.ttl",
22504                 .field_bit_size = 8,
22505                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22506                 },
22507         .field_info_spec = {
22508                 .description = "tl3.ttl",
22509                 .field_bit_size = 8,
22510                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22511                 }
22512         },
22513         {
22514         .field_info_mask = {
22515                 .description = "tl3.prot",
22516                 .field_bit_size = 8,
22517                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
22518                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
22519                 },
22520         .field_info_spec = {
22521                 .description = "tl3.prot",
22522                 .field_bit_size = 8,
22523                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
22524                 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
22525                 }
22526         },
22527         {
22528         .field_info_mask = {
22529                 .description = "tl3.fid.ipv4",
22530                 .field_bit_size = 16,
22531                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22532                 },
22533         .field_info_spec = {
22534                 .description = "tl3.fid.ipv4",
22535                 .field_bit_size = 16,
22536                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22537                 }
22538         },
22539         {
22540         .field_info_mask = {
22541                 .description = "tl3.fid.ipv6",
22542                 .field_bit_size = 20,
22543                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22544                 },
22545         .field_info_spec = {
22546                 .description = "tl3.fid.ipv6",
22547                 .field_bit_size = 20,
22548                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22549                 }
22550         },
22551         {
22552         .field_info_mask = {
22553                 .description = "tl3.qos",
22554                 .field_bit_size = 8,
22555                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22556                 },
22557         .field_info_spec = {
22558                 .description = "tl3.qos",
22559                 .field_bit_size = 8,
22560                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22561                 }
22562         },
22563         {
22564         .field_info_mask = {
22565                 .description = "tl3.ieh_nonext",
22566                 .field_bit_size = 1,
22567                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22568                 },
22569         .field_info_spec = {
22570                 .description = "tl3.ieh_nonext",
22571                 .field_bit_size = 1,
22572                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22573                 }
22574         },
22575         {
22576         .field_info_mask = {
22577                 .description = "tl3.ieh_esp",
22578                 .field_bit_size = 1,
22579                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22580                 },
22581         .field_info_spec = {
22582                 .description = "tl3.ieh_esp",
22583                 .field_bit_size = 1,
22584                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22585                 }
22586         },
22587         {
22588         .field_info_mask = {
22589                 .description = "tl3.ieh_auth",
22590                 .field_bit_size = 1,
22591                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22592                 },
22593         .field_info_spec = {
22594                 .description = "tl3.ieh_auth",
22595                 .field_bit_size = 1,
22596                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22597                 }
22598         },
22599         {
22600         .field_info_mask = {
22601                 .description = "tl3.ieh_dest",
22602                 .field_bit_size = 1,
22603                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22604                 },
22605         .field_info_spec = {
22606                 .description = "tl3.ieh_dest",
22607                 .field_bit_size = 1,
22608                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22609                 }
22610         },
22611         {
22612         .field_info_mask = {
22613                 .description = "tl3.ieh_frag",
22614                 .field_bit_size = 1,
22615                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22616                 },
22617         .field_info_spec = {
22618                 .description = "tl3.ieh_frag",
22619                 .field_bit_size = 1,
22620                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22621                 }
22622         },
22623         {
22624         .field_info_mask = {
22625                 .description = "tl3.ieh_rthdr",
22626                 .field_bit_size = 1,
22627                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22628                 },
22629         .field_info_spec = {
22630                 .description = "tl3.ieh_rthdr",
22631                 .field_bit_size = 1,
22632                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22633                 }
22634         },
22635         {
22636         .field_info_mask = {
22637                 .description = "tl3.ieh_hop",
22638                 .field_bit_size = 1,
22639                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22640                 },
22641         .field_info_spec = {
22642                 .description = "tl3.ieh_hop",
22643                 .field_bit_size = 1,
22644                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22645                 }
22646         },
22647         {
22648         .field_info_mask = {
22649                 .description = "tl3.ieh_1frag",
22650                 .field_bit_size = 1,
22651                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22652                 },
22653         .field_info_spec = {
22654                 .description = "tl3.ieh_1frag",
22655                 .field_bit_size = 1,
22656                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22657                 }
22658         },
22659         {
22660         .field_info_mask = {
22661                 .description = "tl3.df",
22662                 .field_bit_size = 1,
22663                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22664                 },
22665         .field_info_spec = {
22666                 .description = "tl3.df",
22667                 .field_bit_size = 1,
22668                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22669                 }
22670         },
22671         {
22672         .field_info_mask = {
22673                 .description = "tl3.l3err",
22674                 .field_bit_size = 4,
22675                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22676                 },
22677         .field_info_spec = {
22678                 .description = "tl3.l3err",
22679                 .field_bit_size = 4,
22680                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22681                 }
22682         },
22683         {
22684         .field_info_mask = {
22685                 .description = "tl4.l4type",
22686                 .field_bit_size = 4,
22687                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22688                 },
22689         .field_info_spec = {
22690                 .description = "tl4.l4type",
22691                 .field_bit_size = 4,
22692                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22693                 }
22694         },
22695         {
22696         .field_info_mask = {
22697                 .description = "tl4.src",
22698                 .field_bit_size = 16,
22699                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22700                 },
22701         .field_info_spec = {
22702                 .description = "tl4.src",
22703                 .field_bit_size = 16,
22704                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22705                 }
22706         },
22707         {
22708         .field_info_mask = {
22709                 .description = "tl4.dst",
22710                 .field_bit_size = 16,
22711                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22712                 },
22713         .field_info_spec = {
22714                 .description = "tl4.dst",
22715                 .field_bit_size = 16,
22716                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22717                 }
22718         },
22719         {
22720         .field_info_mask = {
22721                 .description = "tl4.flags",
22722                 .field_bit_size = 9,
22723                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22724                 },
22725         .field_info_spec = {
22726                 .description = "tl4.flags",
22727                 .field_bit_size = 9,
22728                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22729                 }
22730         },
22731         {
22732         .field_info_mask = {
22733                 .description = "tl4.seq",
22734                 .field_bit_size = 32,
22735                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22736                 },
22737         .field_info_spec = {
22738                 .description = "tl4.seq",
22739                 .field_bit_size = 32,
22740                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22741                 }
22742         },
22743         {
22744         .field_info_mask = {
22745                 .description = "tl4.pa",
22746                 .field_bit_size = 1,
22747                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22748                 },
22749         .field_info_spec = {
22750                 .description = "tl4.pa",
22751                 .field_bit_size = 1,
22752                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22753                 }
22754         },
22755         {
22756         .field_info_mask = {
22757                 .description = "tl4.opt",
22758                 .field_bit_size = 1,
22759                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22760                 },
22761         .field_info_spec = {
22762                 .description = "tl4.opt",
22763                 .field_bit_size = 1,
22764                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22765                 }
22766         },
22767         {
22768         .field_info_mask = {
22769                 .description = "tl4.tcpts",
22770                 .field_bit_size = 1,
22771                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22772                 },
22773         .field_info_spec = {
22774                 .description = "tl4.tcpts",
22775                 .field_bit_size = 1,
22776                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22777                 }
22778         },
22779         {
22780         .field_info_mask = {
22781                 .description = "tl4.err",
22782                 .field_bit_size = 4,
22783                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22784                 },
22785         .field_info_spec = {
22786                 .description = "tl4.err",
22787                 .field_bit_size = 4,
22788                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22789                 }
22790         },
22791         {
22792         .field_info_mask = {
22793                 .description = "tuntype",
22794                 .field_bit_size = 4,
22795                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22796                 },
22797         .field_info_spec = {
22798                 .description = "tuntype",
22799                 .field_bit_size = 4,
22800                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22801                 }
22802         },
22803         {
22804         .field_info_mask = {
22805                 .description = "tflags",
22806                 .field_bit_size = 3,
22807                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22808                 },
22809         .field_info_spec = {
22810                 .description = "tflags",
22811                 .field_bit_size = 3,
22812                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22813                 }
22814         },
22815         {
22816         .field_info_mask = {
22817                 .description = "tids",
22818                 .field_bit_size = 24,
22819                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22820                 },
22821         .field_info_spec = {
22822                 .description = "tids",
22823                 .field_bit_size = 24,
22824                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22825                 }
22826         },
22827         {
22828         .field_info_mask = {
22829                 .description = "tid",
22830                 .field_bit_size = 32,
22831                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22832                 },
22833         .field_info_spec = {
22834                 .description = "tid",
22835                 .field_bit_size = 32,
22836                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22837                 }
22838         },
22839         {
22840         .field_info_mask = {
22841                 .description = "tctxts",
22842                 .field_bit_size = 24,
22843                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22844                 },
22845         .field_info_spec = {
22846                 .description = "tctxts",
22847                 .field_bit_size = 24,
22848                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22849                 }
22850         },
22851         {
22852         .field_info_mask = {
22853                 .description = "tctxt",
22854                 .field_bit_size = 32,
22855                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22856                 },
22857         .field_info_spec = {
22858                 .description = "tctxt",
22859                 .field_bit_size = 32,
22860                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22861                 }
22862         },
22863         {
22864         .field_info_mask = {
22865                 .description = "tqos",
22866                 .field_bit_size = 3,
22867                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22868                 },
22869         .field_info_spec = {
22870                 .description = "tqos",
22871                 .field_bit_size = 3,
22872                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22873                 }
22874         },
22875         {
22876         .field_info_mask = {
22877                 .description = "terr",
22878                 .field_bit_size = 4,
22879                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22880                 },
22881         .field_info_spec = {
22882                 .description = "terr",
22883                 .field_bit_size = 4,
22884                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22885                 }
22886         },
22887         {
22888         .field_info_mask = {
22889                 .description = "l2_l2type",
22890                 .field_bit_size = 2,
22891                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22892                 },
22893         .field_info_spec = {
22894                 .description = "l2_l2type",
22895                 .field_bit_size = 2,
22896                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22897                 }
22898         },
22899         {
22900         .field_info_mask = {
22901                 .description = "l2_dmac",
22902                 .field_bit_size = 48,
22903                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22904                 },
22905         .field_info_spec = {
22906                 .description = "l2_dmac",
22907                 .field_bit_size = 48,
22908                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22909                 }
22910         },
22911         {
22912         .field_info_mask = {
22913                 .description = "l2_smac",
22914                 .field_bit_size = 48,
22915                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22916                 },
22917         .field_info_spec = {
22918                 .description = "l2_smac",
22919                 .field_bit_size = 48,
22920                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22921                 }
22922         },
22923         {
22924         .field_info_mask = {
22925                 .description = "l2_dt",
22926                 .field_bit_size = 2,
22927                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22928                 },
22929         .field_info_spec = {
22930                 .description = "l2_dt",
22931                 .field_bit_size = 2,
22932                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22933                 }
22934         },
22935         {
22936         .field_info_mask = {
22937                 .description = "l2_sa",
22938                 .field_bit_size = 1,
22939                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22940                 },
22941         .field_info_spec = {
22942                 .description = "l2_sa",
22943                 .field_bit_size = 1,
22944                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22945                 }
22946         },
22947         {
22948         .field_info_mask = {
22949                 .description = "l2_nvt",
22950                 .field_bit_size = 2,
22951                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22952                 },
22953         .field_info_spec = {
22954                 .description = "l2_nvt",
22955                 .field_bit_size = 2,
22956                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22957                 }
22958         },
22959         {
22960         .field_info_mask = {
22961                 .description = "l2_ovp",
22962                 .field_bit_size = 3,
22963                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22964                 },
22965         .field_info_spec = {
22966                 .description = "l2_ovp",
22967                 .field_bit_size = 3,
22968                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22969                 }
22970         },
22971         {
22972         .field_info_mask = {
22973                 .description = "l2_ovd",
22974                 .field_bit_size = 1,
22975                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22976                 },
22977         .field_info_spec = {
22978                 .description = "l2_ovd",
22979                 .field_bit_size = 1,
22980                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22981                 }
22982         },
22983         {
22984         .field_info_mask = {
22985                 .description = "l2_ovv",
22986                 .field_bit_size = 12,
22987                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22988                 },
22989         .field_info_spec = {
22990                 .description = "l2_ovv",
22991                 .field_bit_size = 12,
22992                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
22993                 }
22994         },
22995         {
22996         .field_info_mask = {
22997                 .description = "l2_ovt",
22998                 .field_bit_size = 3,
22999                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23000                 },
23001         .field_info_spec = {
23002                 .description = "l2_ovt",
23003                 .field_bit_size = 3,
23004                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23005                 }
23006         },
23007         {
23008         .field_info_mask = {
23009                 .description = "l2_ivp",
23010                 .field_bit_size = 3,
23011                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23012                 },
23013         .field_info_spec = {
23014                 .description = "l2_ivp",
23015                 .field_bit_size = 3,
23016                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23017                 }
23018         },
23019         {
23020         .field_info_mask = {
23021                 .description = "l2_ivd",
23022                 .field_bit_size = 1,
23023                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23024                 },
23025         .field_info_spec = {
23026                 .description = "l2_ivd",
23027                 .field_bit_size = 1,
23028                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23029                 }
23030         },
23031         {
23032         .field_info_mask = {
23033                 .description = "l2_ivv",
23034                 .field_bit_size = 12,
23035                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23036                 },
23037         .field_info_spec = {
23038                 .description = "l2_ivv",
23039                 .field_bit_size = 12,
23040                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23041                 }
23042         },
23043         {
23044         .field_info_mask = {
23045                 .description = "l2_ivt",
23046                 .field_bit_size = 3,
23047                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23048                 },
23049         .field_info_spec = {
23050                 .description = "l2_ivt",
23051                 .field_bit_size = 3,
23052                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23053                 }
23054         },
23055         {
23056         .field_info_mask = {
23057                 .description = "l2_etype",
23058                 .field_bit_size = 16,
23059                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23060                 },
23061         .field_info_spec = {
23062                 .description = "l2_etype",
23063                 .field_bit_size = 16,
23064                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23065                 }
23066         },
23067         {
23068         .field_info_mask = {
23069                 .description = "l3.l3type",
23070                 .field_bit_size = 4,
23071                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23072                 },
23073         .field_info_spec = {
23074                 .description = "l3.l3type",
23075                 .field_bit_size = 4,
23076                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23077                 }
23078         },
23079         {
23080         .field_info_mask = {
23081                 .description = "l3.sip.ipv4",
23082                 .field_bit_size = 32,
23083                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23084                 },
23085         .field_info_spec = {
23086                 .description = "l3.sip.ipv4",
23087                 .field_bit_size = 32,
23088                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23089                 }
23090         },
23091         {
23092         .field_info_mask = {
23093                 .description = "l3.sip.ipv6",
23094                 .field_bit_size = 128,
23095                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23096                 },
23097         .field_info_spec = {
23098                 .description = "l3.sip.ipv6",
23099                 .field_bit_size = 128,
23100                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23101                 }
23102         },
23103         {
23104         .field_info_mask = {
23105                 .description = "l3.sip_selcmp.ipv6",
23106                 .field_bit_size = 72,
23107                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23108                 },
23109         .field_info_spec = {
23110                 .description = "l3.sip_selcmp.ipv6",
23111                 .field_bit_size = 72,
23112                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23113                 }
23114         },
23115         {
23116         .field_info_mask = {
23117                 .description = "l3.dip.ipv4",
23118                 .field_bit_size = 32,
23119                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23120                 },
23121         .field_info_spec = {
23122                 .description = "l3.dip.ipv4",
23123                 .field_bit_size = 32,
23124                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23125                 }
23126         },
23127         {
23128         .field_info_mask = {
23129                 .description = "l3.dip.ipv6",
23130                 .field_bit_size = 128,
23131                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23132                 },
23133         .field_info_spec = {
23134                 .description = "l3.dip.ipv6",
23135                 .field_bit_size = 128,
23136                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23137                 }
23138         },
23139         {
23140         .field_info_mask = {
23141                 .description = "l3.dip_selcmp.ipv6",
23142                 .field_bit_size = 72,
23143                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23144                 },
23145         .field_info_spec = {
23146                 .description = "l3.dip_selcmp.ipv6",
23147                 .field_bit_size = 72,
23148                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23149                 }
23150         },
23151         {
23152         .field_info_mask = {
23153                 .description = "l3.ttl",
23154                 .field_bit_size = 8,
23155                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23156                 },
23157         .field_info_spec = {
23158                 .description = "l3.ttl",
23159                 .field_bit_size = 8,
23160                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23161                 }
23162         },
23163         {
23164         .field_info_mask = {
23165                 .description = "l3.prot",
23166                 .field_bit_size = 8,
23167                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23168                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
23169                 .field_opr1 = {
23170                         0xff}
23171                 },
23172         .field_info_spec = {
23173                 .description = "l3.prot",
23174                 .field_bit_size = 8,
23175                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
23176                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
23177                 .field_opr1 = {
23178                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
23179                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
23180                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
23181                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
23182                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
23183                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
23184                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
23185                 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
23186                 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
23187                 .field_opr2 = {
23188                         ULP_THOR_SYM_IP_PROTO_TCP},
23189                 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
23190                 .field_opr3 = {
23191                 ULP_THOR_SYM_IP_PROTO_UDP}
23192                 }
23193         },
23194         {
23195         .field_info_mask = {
23196                 .description = "l3.fid.ipv4",
23197                 .field_bit_size = 16,
23198                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23199                 },
23200         .field_info_spec = {
23201                 .description = "l3.fid.ipv4",
23202                 .field_bit_size = 16,
23203                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23204                 }
23205         },
23206         {
23207         .field_info_mask = {
23208                 .description = "l3.fid.ipv6",
23209                 .field_bit_size = 20,
23210                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23211                 },
23212         .field_info_spec = {
23213                 .description = "l3.fid.ipv6",
23214                 .field_bit_size = 20,
23215                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23216                 }
23217         },
23218         {
23219         .field_info_mask = {
23220                 .description = "l3.qos",
23221                 .field_bit_size = 8,
23222                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23223                 },
23224         .field_info_spec = {
23225                 .description = "l3.qos",
23226                 .field_bit_size = 8,
23227                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23228                 }
23229         },
23230         {
23231         .field_info_mask = {
23232                 .description = "l3.ieh_nonext",
23233                 .field_bit_size = 1,
23234                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23235                 },
23236         .field_info_spec = {
23237                 .description = "l3.ieh_nonext",
23238                 .field_bit_size = 1,
23239                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23240                 }
23241         },
23242         {
23243         .field_info_mask = {
23244                 .description = "l3.ieh_esp",
23245                 .field_bit_size = 1,
23246                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23247                 },
23248         .field_info_spec = {
23249                 .description = "l3.ieh_esp",
23250                 .field_bit_size = 1,
23251                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23252                 }
23253         },
23254         {
23255         .field_info_mask = {
23256                 .description = "l3.ieh_auth",
23257                 .field_bit_size = 1,
23258                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23259                 },
23260         .field_info_spec = {
23261                 .description = "l3.ieh_auth",
23262                 .field_bit_size = 1,
23263                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23264                 }
23265         },
23266         {
23267         .field_info_mask = {
23268                 .description = "l3.ieh_dest",
23269                 .field_bit_size = 1,
23270                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23271                 },
23272         .field_info_spec = {
23273                 .description = "l3.ieh_dest",
23274                 .field_bit_size = 1,
23275                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23276                 }
23277         },
23278         {
23279         .field_info_mask = {
23280                 .description = "l3.ieh_frag",
23281                 .field_bit_size = 1,
23282                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23283                 },
23284         .field_info_spec = {
23285                 .description = "l3.ieh_frag",
23286                 .field_bit_size = 1,
23287                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23288                 }
23289         },
23290         {
23291         .field_info_mask = {
23292                 .description = "l3.ieh_rthdr",
23293                 .field_bit_size = 1,
23294                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23295                 },
23296         .field_info_spec = {
23297                 .description = "l3.ieh_rthdr",
23298                 .field_bit_size = 1,
23299                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23300                 }
23301         },
23302         {
23303         .field_info_mask = {
23304                 .description = "l3.ieh_hop",
23305                 .field_bit_size = 1,
23306                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23307                 },
23308         .field_info_spec = {
23309                 .description = "l3.ieh_hop",
23310                 .field_bit_size = 1,
23311                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23312                 }
23313         },
23314         {
23315         .field_info_mask = {
23316                 .description = "l3.ieh_1frag",
23317                 .field_bit_size = 1,
23318                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23319                 },
23320         .field_info_spec = {
23321                 .description = "l3.ieh_1frag",
23322                 .field_bit_size = 1,
23323                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23324                 }
23325         },
23326         {
23327         .field_info_mask = {
23328                 .description = "l3.df",
23329                 .field_bit_size = 1,
23330                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23331                 },
23332         .field_info_spec = {
23333                 .description = "l3.df",
23334                 .field_bit_size = 1,
23335                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23336                 }
23337         },
23338         {
23339         .field_info_mask = {
23340                 .description = "l3.l3err.ipv4",
23341                 .field_bit_size = 4,
23342                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23343                 },
23344         .field_info_spec = {
23345                 .description = "l3.l3err.ipv4",
23346                 .field_bit_size = 4,
23347                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23348                 }
23349         },
23350         {
23351         .field_info_mask = {
23352                 .description = "l3.l3err.ipv6",
23353                 .field_bit_size = 4,
23354                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23355                 },
23356         .field_info_spec = {
23357                 .description = "l3.l3err.ipv6",
23358                 .field_bit_size = 4,
23359                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23360                 }
23361         },
23362         {
23363         .field_info_mask = {
23364                 .description = "l4.l4type",
23365                 .field_bit_size = 4,
23366                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23367                 },
23368         .field_info_spec = {
23369                 .description = "l4.l4type",
23370                 .field_bit_size = 4,
23371                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23372                 }
23373         },
23374         {
23375         .field_info_mask = {
23376                 .description = "l4.src",
23377                 .field_bit_size = 16,
23378                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23379                 },
23380         .field_info_spec = {
23381                 .description = "l4.src",
23382                 .field_bit_size = 16,
23383                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23384                 }
23385         },
23386         {
23387         .field_info_mask = {
23388                 .description = "l4.dst",
23389                 .field_bit_size = 16,
23390                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
23391                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
23392                 .field_opr1 = {
23393                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
23394                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
23395                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
23396                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
23397                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
23398                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
23399                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
23400                 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
23401                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
23402                 .field_opr2 = {
23403                         (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
23404                         BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
23405                 .field_src3 = BNXT_ULP_FIELD_SRC_HF,
23406                 .field_opr3 = {
23407                 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
23408                 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}
23409                 },
23410         .field_info_spec = {
23411                 .description = "l4.dst",
23412                 .field_bit_size = 16,
23413                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
23414                 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
23415                 .field_opr1 = {
23416                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
23417                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
23418                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
23419                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
23420                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
23421                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
23422                 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
23423                 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
23424                 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
23425                 .field_opr2 = {
23426                         (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
23427                         BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
23428                 .field_src3 = BNXT_ULP_FIELD_SRC_HF,
23429                 .field_opr3 = {
23430                 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
23431                 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}
23432                 }
23433         },
23434         {
23435         .field_info_mask = {
23436                 .description = "l4.flags",
23437                 .field_bit_size = 9,
23438                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23439                 },
23440         .field_info_spec = {
23441                 .description = "l4.flags",
23442                 .field_bit_size = 9,
23443                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23444                 }
23445         },
23446         {
23447         .field_info_mask = {
23448                 .description = "l4.seq",
23449                 .field_bit_size = 32,
23450                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23451                 },
23452         .field_info_spec = {
23453                 .description = "l4.seq",
23454                 .field_bit_size = 32,
23455                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23456                 }
23457         },
23458         {
23459         .field_info_mask = {
23460                 .description = "l4.ack",
23461                 .field_bit_size = 32,
23462                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23463                 },
23464         .field_info_spec = {
23465                 .description = "l4.ack",
23466                 .field_bit_size = 32,
23467                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23468                 }
23469         },
23470         {
23471         .field_info_mask = {
23472                 .description = "l4.win",
23473                 .field_bit_size = 16,
23474                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23475                 },
23476         .field_info_spec = {
23477                 .description = "l4.win",
23478                 .field_bit_size = 16,
23479                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23480                 }
23481         },
23482         {
23483         .field_info_mask = {
23484                 .description = "l4.pa",
23485                 .field_bit_size = 1,
23486                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23487                 },
23488         .field_info_spec = {
23489                 .description = "l4.pa",
23490                 .field_bit_size = 1,
23491                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23492                 }
23493         },
23494         {
23495         .field_info_mask = {
23496                 .description = "l4.opt",
23497                 .field_bit_size = 1,
23498                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23499                 },
23500         .field_info_spec = {
23501                 .description = "l4.opt",
23502                 .field_bit_size = 1,
23503                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23504                 }
23505         },
23506         {
23507         .field_info_mask = {
23508                 .description = "l4.tcpts",
23509                 .field_bit_size = 1,
23510                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23511                 },
23512         .field_info_spec = {
23513                 .description = "l4.tcpts",
23514                 .field_bit_size = 1,
23515                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23516                 }
23517         },
23518         {
23519         .field_info_mask = {
23520                 .description = "l4.tsval",
23521                 .field_bit_size = 32,
23522                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23523                 },
23524         .field_info_spec = {
23525                 .description = "l4.tsval",
23526                 .field_bit_size = 32,
23527                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23528                 }
23529         },
23530         {
23531         .field_info_mask = {
23532                 .description = "l4.txecr",
23533                 .field_bit_size = 32,
23534                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23535                 },
23536         .field_info_spec = {
23537                 .description = "l4.txecr",
23538                 .field_bit_size = 32,
23539                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23540                 }
23541         },
23542         {
23543         .field_info_mask = {
23544                 .description = "l4.err",
23545                 .field_bit_size = 4,
23546                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23547                 },
23548         .field_info_spec = {
23549                 .description = "l4.err",
23550                 .field_bit_size = 4,
23551                 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
23552                 }
23553         },
23554         /* class_tid: 4, thor, table: port_table.wr_0 */
23555         {
23556         .field_info_mask = {
23557                 .description = "dev.port_id",
23558                 .field_bit_size = 10,
23559                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23560                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
23561                 .field_opr1 = {
23562                         0xff,
23563                         0xff}
23564                 },
23565         .field_info_spec = {
23566                 .description = "dev.port_id",
23567                 .field_bit_size = 10,
23568                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23569                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
23570                 .field_opr1 = {
23571                 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
23572                 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
23573                 }
23574         },
23575         /* class_tid: 4, thor, table: port_table.wr_1 */
23576         {
23577         .field_info_mask = {
23578                 .description = "dev.port_id",
23579                 .field_bit_size = 10,
23580                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23581                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
23582                 .field_opr1 = {
23583                         0xff,
23584                         0xff}
23585                 },
23586         .field_info_spec = {
23587                 .description = "dev.port_id",
23588                 .field_bit_size = 10,
23589                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23590                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
23591                 .field_opr1 = {
23592                 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
23593                 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
23594                 }
23595         },
23596         /* class_tid: 4, thor, table: port_table.rd */
23597         {
23598         .field_info_mask = {
23599                 .description = "dev.port_id",
23600                 .field_bit_size = 10,
23601                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23602                 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
23603                 .field_opr1 = {
23604                         0xff,
23605                         0xff}
23606                 },
23607         .field_info_spec = {
23608                 .description = "dev.port_id",
23609                 .field_bit_size = 10,
23610                 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23611                 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
23612                 .field_opr1 = {
23613                 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
23614                 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
23615                 }
23616         }
23617 };
23618
23619 struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
23620         /* class_tid: 1, thor, table: l2_cntxt_tcam.gre */
23621         {
23622         .description = "prof_func_id",
23623         .field_bit_size = 7,
23624         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23625         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
23626         .field_opr1 = {
23627         (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1 >> 8) & 0xff,
23628         BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_1 & 0xff}
23629         },
23630         {
23631         .description = "ctxt_meta_prof",
23632         .field_bit_size = 3,
23633         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23634         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23635         },
23636         {
23637         .description = "def_ctxt_data",
23638         .field_bit_size = 16,
23639         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23640         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
23641         .field_opr1 = {
23642         (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
23643         BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
23644         },
23645         {
23646         .description = "ctxt_opcode",
23647         .field_bit_size = 3,
23648         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23649         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
23650         .field_opr1 = {
23651         ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
23652         },
23653         {
23654         .description = "l2_cntxt_id",
23655         .field_bit_size = 10,
23656         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
23657         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
23658         .field_opr1 = {
23659         (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
23660         BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
23661         .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
23662         .field_opr2 = {
23663                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
23664                 BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
23665         .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
23666         .field_opr3 = {
23667         (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
23668         BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
23669         },
23670         {
23671         .description = "parif",
23672         .field_bit_size = 4,
23673         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23674         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
23675         .field_opr1 = {
23676         (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
23677         BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
23678         },
23679         /* class_tid: 1, thor, table: l2_cntxt_tcam_cache.gre_wr */
23680         {
23681         .description = "rid",
23682         .field_bit_size = 32,
23683         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23684         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
23685         .field_opr1 = {
23686         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
23687         BNXT_ULP_RF_IDX_RID & 0xff}
23688         },
23689         {
23690         .description = "l2_cntxt_tcam_index",
23691         .field_bit_size = 10,
23692         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23693         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23694         },
23695         {
23696         .description = "l2_cntxt_id",
23697         .field_bit_size = 10,
23698         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23699         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23700         },
23701         {
23702         .description = "src_property_ptr",
23703         .field_bit_size = 10,
23704         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23705         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23706         },
23707         /* class_tid: 1, thor, table: fkb_select.gre */
23708         {
23709         .description = "l2_cntxt_id.en",
23710         .field_bit_size = 1,
23711         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23712         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
23713         .field_opr1 = {
23714         1}
23715         },
23716         {
23717         .description = "parif.en",
23718         .field_bit_size = 1,
23719         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23720         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23721         },
23722         {
23723         .description = "spif.en",
23724         .field_bit_size = 1,
23725         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23726         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23727         },
23728         {
23729         .description = "svif.en",
23730         .field_bit_size = 1,
23731         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23732         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23733         },
23734         {
23735         .description = "lcos.en",
23736         .field_bit_size = 1,
23737         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23738         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23739         },
23740         {
23741         .description = "meta.en",
23742         .field_bit_size = 1,
23743         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23744         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23745         },
23746         {
23747         .description = "rcyc_cnt.en",
23748         .field_bit_size = 1,
23749         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23750         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23751         },
23752         {
23753         .description = "loopback.en",
23754         .field_bit_size = 1,
23755         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23756         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23757         },
23758         {
23759         .description = "tl2_l2type.en",
23760         .field_bit_size = 1,
23761         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23762         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23763         },
23764         {
23765         .description = "tl2_dmac.en",
23766         .field_bit_size = 1,
23767         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23768         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23769         },
23770         {
23771         .description = "tl2_smac.en",
23772         .field_bit_size = 1,
23773         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23774         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23775         },
23776         {
23777         .description = "tl2_dt.en",
23778         .field_bit_size = 1,
23779         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23780         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23781         },
23782         {
23783         .description = "tl2_sa.en",
23784         .field_bit_size = 1,
23785         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23786         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23787         },
23788         {
23789         .description = "tl2_nvt.en",
23790         .field_bit_size = 1,
23791         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23792         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23793         },
23794         {
23795         .description = "tl2_ovp.en",
23796         .field_bit_size = 1,
23797         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23798         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23799         },
23800         {
23801         .description = "tl2_ovd.en",
23802         .field_bit_size = 1,
23803         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23804         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23805         },
23806         {
23807         .description = "tl2_ovv.en",
23808         .field_bit_size = 1,
23809         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23810         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23811         },
23812         {
23813         .description = "tl2_ovt.en",
23814         .field_bit_size = 1,
23815         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23816         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23817         },
23818         {
23819         .description = "tl2_ivp.en",
23820         .field_bit_size = 1,
23821         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23822         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23823         },
23824         {
23825         .description = "tl2_ivd.en",
23826         .field_bit_size = 1,
23827         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23828         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23829         },
23830         {
23831         .description = "tl2_ivv.en",
23832         .field_bit_size = 1,
23833         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23834         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23835         },
23836         {
23837         .description = "tl2_ivt.en",
23838         .field_bit_size = 1,
23839         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23840         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23841         },
23842         {
23843         .description = "tl2_etype.en",
23844         .field_bit_size = 1,
23845         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23846         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23847         },
23848         {
23849         .description = "tl3_l3type.en",
23850         .field_bit_size = 1,
23851         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23852         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23853         },
23854         {
23855         .description = "tl3_sip.en",
23856         .field_bit_size = 1,
23857         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23858         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23859         },
23860         {
23861         .description = "tl3_sip_selcmp.en",
23862         .field_bit_size = 1,
23863         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23864         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23865         },
23866         {
23867         .description = "tl3_dip.en",
23868         .field_bit_size = 1,
23869         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23870         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23871         },
23872         {
23873         .description = "tl3_dip_selcmp.en",
23874         .field_bit_size = 1,
23875         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23876         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23877         },
23878         {
23879         .description = "tl3_ttl.en",
23880         .field_bit_size = 1,
23881         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23882         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23883         },
23884         {
23885         .description = "tl3_prot.en",
23886         .field_bit_size = 1,
23887         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23888         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
23889         .field_opr1 = {
23890         1}
23891         },
23892         {
23893         .description = "tl3_fid.en",
23894         .field_bit_size = 1,
23895         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23896         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23897         },
23898         {
23899         .description = "tl3_qos.en",
23900         .field_bit_size = 1,
23901         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23902         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23903         },
23904         {
23905         .description = "tl3_ieh_nonext.en",
23906         .field_bit_size = 1,
23907         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23908         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23909         },
23910         {
23911         .description = "tl3_ieh_esp.en",
23912         .field_bit_size = 1,
23913         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23914         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23915         },
23916         {
23917         .description = "tl3_ieh_auth.en",
23918         .field_bit_size = 1,
23919         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23920         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23921         },
23922         {
23923         .description = "tl3_ieh_dest.en",
23924         .field_bit_size = 1,
23925         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23926         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23927         },
23928         {
23929         .description = "tl3_ieh_frag.en",
23930         .field_bit_size = 1,
23931         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23932         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23933         },
23934         {
23935         .description = "tl3_ieh_rthdr.en",
23936         .field_bit_size = 1,
23937         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23938         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23939         },
23940         {
23941         .description = "tl3_ieh_hop.en",
23942         .field_bit_size = 1,
23943         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23944         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23945         },
23946         {
23947         .description = "tl3_ieh_1frag.en",
23948         .field_bit_size = 1,
23949         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23950         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23951         },
23952         {
23953         .description = "tl3_df.en",
23954         .field_bit_size = 1,
23955         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23956         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23957         },
23958         {
23959         .description = "tl3_l3err.en",
23960         .field_bit_size = 1,
23961         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23962         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23963         },
23964         {
23965         .description = "tl4_l4type.en",
23966         .field_bit_size = 1,
23967         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23968         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23969         },
23970         {
23971         .description = "tl4_src.en",
23972         .field_bit_size = 1,
23973         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23974         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23975         },
23976         {
23977         .description = "tl4_dst.en",
23978         .field_bit_size = 1,
23979         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23980         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23981         },
23982         {
23983         .description = "tl4_flags.en",
23984         .field_bit_size = 1,
23985         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23986         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23987         },
23988         {
23989         .description = "tl4_seq.en",
23990         .field_bit_size = 1,
23991         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23992         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23993         },
23994         {
23995         .description = "tl4_pa.en",
23996         .field_bit_size = 1,
23997         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
23998         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
23999         },
24000         {
24001         .description = "tl4_opt.en",
24002         .field_bit_size = 1,
24003         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24004         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24005         },
24006         {
24007         .description = "tl4_tcpts.en",
24008         .field_bit_size = 1,
24009         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24010         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24011         },
24012         {
24013         .description = "tl4_err.en",
24014         .field_bit_size = 1,
24015         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24016         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24017         },
24018         {
24019         .description = "tuntype.en",
24020         .field_bit_size = 1,
24021         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24022         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24023         },
24024         {
24025         .description = "tflags.en",
24026         .field_bit_size = 1,
24027         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24028         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24029         },
24030         {
24031         .description = "tids.en",
24032         .field_bit_size = 1,
24033         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24034         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24035         },
24036         {
24037         .description = "tid.en",
24038         .field_bit_size = 1,
24039         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24040         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24041         },
24042         {
24043         .description = "tctxts.en",
24044         .field_bit_size = 1,
24045         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24046         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24047         },
24048         {
24049         .description = "tctxt.en",
24050         .field_bit_size = 1,
24051         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24052         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24053         },
24054         {
24055         .description = "tqos.en",
24056         .field_bit_size = 1,
24057         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24058         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24059         },
24060         {
24061         .description = "terr.en",
24062         .field_bit_size = 1,
24063         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24064         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24065         },
24066         {
24067         .description = "l2_l2type.en",
24068         .field_bit_size = 1,
24069         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24070         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24071         },
24072         {
24073         .description = "l2_dmac.en",
24074         .field_bit_size = 1,
24075         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24076         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24077         },
24078         {
24079         .description = "l2_smac.en",
24080         .field_bit_size = 1,
24081         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24082         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24083         },
24084         {
24085         .description = "l2_dt.en",
24086         .field_bit_size = 1,
24087         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24088         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24089         },
24090         {
24091         .description = "l2_sa.en",
24092         .field_bit_size = 1,
24093         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24094         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24095         },
24096         {
24097         .description = "l2_nvt.en",
24098         .field_bit_size = 1,
24099         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24100         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24101         },
24102         {
24103         .description = "l2_ovp.en",
24104         .field_bit_size = 1,
24105         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24106         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24107         },
24108         {
24109         .description = "l2_ovd.en",
24110         .field_bit_size = 1,
24111         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24112         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24113         },
24114         {
24115         .description = "l2_ovv.en",
24116         .field_bit_size = 1,
24117         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24118         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24119         },
24120         {
24121         .description = "l2_ovt.en",
24122         .field_bit_size = 1,
24123         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24124         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24125         },
24126         {
24127         .description = "l2_ivp.en",
24128         .field_bit_size = 1,
24129         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24130         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24131         },
24132         {
24133         .description = "l2_ivd.en",
24134         .field_bit_size = 1,
24135         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24136         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24137         },
24138         {
24139         .description = "l2_ivv.en",
24140         .field_bit_size = 1,
24141         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24142         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24143         },
24144         {
24145         .description = "l2_ivt.en",
24146         .field_bit_size = 1,
24147         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24148         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24149         },
24150         {
24151         .description = "l2_etype.en",
24152         .field_bit_size = 1,
24153         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24154         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24155         },
24156         {
24157         .description = "l3_l3type.en",
24158         .field_bit_size = 1,
24159         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24160         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24161         },
24162         {
24163         .description = "l3_sip.en",
24164         .field_bit_size = 1,
24165         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24166         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24167         },
24168         {
24169         .description = "l3_sip_selcmp.en",
24170         .field_bit_size = 1,
24171         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24172         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24173         },
24174         {
24175         .description = "l3_dip.en",
24176         .field_bit_size = 1,
24177         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24178         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24179         },
24180         {
24181         .description = "l3_dip_selcmp.en",
24182         .field_bit_size = 1,
24183         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24184         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24185         },
24186         {
24187         .description = "l3_ttl.en",
24188         .field_bit_size = 1,
24189         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24190         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24191         },
24192         {
24193         .description = "l3_prot.en",
24194         .field_bit_size = 1,
24195         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24196         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
24197         .field_opr1 = {
24198         1}
24199         },
24200         {
24201         .description = "l3_fid.en",
24202         .field_bit_size = 1,
24203         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24204         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24205         },
24206         {
24207         .description = "l3_qos.en",
24208         .field_bit_size = 1,
24209         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24210         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24211         },
24212         {
24213         .description = "l3_ieh_nonext.en",
24214         .field_bit_size = 1,
24215         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24216         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24217         },
24218         {
24219         .description = "l3_ieh_esp.en",
24220         .field_bit_size = 1,
24221         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24222         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24223         },
24224         {
24225         .description = "l3_ieh_auth.en",
24226         .field_bit_size = 1,
24227         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24228         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24229         },
24230         {
24231         .description = "l3_ieh_dest.en",
24232         .field_bit_size = 1,
24233         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24234         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24235         },
24236         {
24237         .description = "l3_ieh_frag.en",
24238         .field_bit_size = 1,
24239         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24240         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24241         },
24242         {
24243         .description = "l3_ieh_rthdr.en",
24244         .field_bit_size = 1,
24245         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24246         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24247         },
24248         {
24249         .description = "l3_ieh_hop.en",
24250         .field_bit_size = 1,
24251         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24252         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24253         },
24254         {
24255         .description = "l3_ieh_1frag.en",
24256         .field_bit_size = 1,
24257         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24258         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24259         },
24260         {
24261         .description = "l3_df.en",
24262         .field_bit_size = 1,
24263         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24264         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24265         },
24266         {
24267         .description = "l3_l3err.en",
24268         .field_bit_size = 1,
24269         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24270         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24271         },
24272         {
24273         .description = "l4_l4type.en",
24274         .field_bit_size = 1,
24275         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24276         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24277         },
24278         {
24279         .description = "l4_src.en",
24280         .field_bit_size = 1,
24281         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24282         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24283         },
24284         {
24285         .description = "l4_dst.en",
24286         .field_bit_size = 1,
24287         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24288         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
24289         .field_opr1 = {
24290         1}
24291         },
24292         {
24293         .description = "l4_flags.en",
24294         .field_bit_size = 1,
24295         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24296         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24297         },
24298         {
24299         .description = "l4_seq.en",
24300         .field_bit_size = 1,
24301         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24302         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24303         },
24304         {
24305         .description = "l4_ack.en",
24306         .field_bit_size = 1,
24307         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24308         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24309         },
24310         {
24311         .description = "l4_win.en",
24312         .field_bit_size = 1,
24313         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24314         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24315         },
24316         {
24317         .description = "l4_pa.en",
24318         .field_bit_size = 1,
24319         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24320         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24321         },
24322         {
24323         .description = "l4_opt.en",
24324         .field_bit_size = 1,
24325         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24326         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24327         },
24328         {
24329         .description = "l4_tcpts.en",
24330         .field_bit_size = 1,
24331         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24332         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24333         },
24334         {
24335         .description = "l4_tsval.en",
24336         .field_bit_size = 1,
24337         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24338         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24339         },
24340         {
24341         .description = "l4_txecr.en",
24342         .field_bit_size = 1,
24343         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24344         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24345         },
24346         {
24347         .description = "l4_err.en",
24348         .field_bit_size = 1,
24349         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24350         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24351         },
24352         /* class_tid: 1, thor, table: profile_tcam.gre */
24353         {
24354         .description = "wc_key_id",
24355         .field_bit_size = 6,
24356         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24357         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
24358         .field_opr1 = {
24359         (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,
24360         BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}
24361         },
24362         {
24363         .description = "wc_profile_id",
24364         .field_bit_size = 8,
24365         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24366         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
24367         .field_opr1 = {
24368         (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 >> 8) & 0xff,
24369         BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_2 & 0xff}
24370         },
24371         {
24372         .description = "wc_search_en",
24373         .field_bit_size = 1,
24374         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24375         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
24376         .field_opr1 = {
24377         1}
24378         },
24379         {
24380         .description = "em_key_type",
24381         .field_bit_size = 2,
24382         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24383         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24384         },
24385         {
24386         .description = "em_key_id",
24387         .field_bit_size = 6,
24388         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24389         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24390         },
24391         {
24392         .description = "em_profile_id",
24393         .field_bit_size = 8,
24394         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24395         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24396         },
24397         {
24398         .description = "em_search_en",
24399         .field_bit_size = 1,
24400         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24401         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24402         },
24403         {
24404         .description = "pl_byp_lkup_en",
24405         .field_bit_size = 1,
24406         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24407         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24408         },
24409         /* class_tid: 1, thor, table: wm.gre */
24410         {
24411         .description = "ctxt_data",
24412         .field_bit_size = 14,
24413         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24414         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24415         },
24416         {
24417         .description = "meta_prof",
24418         .field_bit_size = 3,
24419         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24420         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24421         },
24422         {
24423         .description = "opcode",
24424         .field_bit_size = 3,
24425         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24426         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24427         },
24428         {
24429         .description = "data",
24430         .field_bit_size = 16,
24431         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24432         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
24433         .field_opr1 = {
24434         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
24435         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
24436         },
24437         {
24438         .description = "strength",
24439         .field_bit_size = 2,
24440         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24441         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
24442         .field_opr1 = {
24443         1}
24444         },
24445         /* class_tid: 1, thor, table: wm.gre_low */
24446         {
24447         .description = "ctxt_data",
24448         .field_bit_size = 14,
24449         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24450         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24451         },
24452         {
24453         .description = "meta_prof",
24454         .field_bit_size = 3,
24455         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24456         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24457         },
24458         {
24459         .description = "opcode",
24460         .field_bit_size = 3,
24461         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24462         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24463         },
24464         {
24465         .description = "data",
24466         .field_bit_size = 16,
24467         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24468         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
24469         .field_opr1 = {
24470         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
24471         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
24472         },
24473         {
24474         .description = "strength",
24475         .field_bit_size = 2,
24476         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24477         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
24478         .field_opr1 = {
24479         1}
24480         },
24481         /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */
24482         {
24483         .description = "prof_func_id",
24484         .field_bit_size = 7,
24485         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24486         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
24487         .field_opr1 = {
24488         (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
24489         BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
24490         },
24491         {
24492         .description = "ctxt_meta_prof",
24493         .field_bit_size = 3,
24494         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24495         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24496         },
24497         {
24498         .description = "def_ctxt_data",
24499         .field_bit_size = 16,
24500         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24501         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
24502         .field_opr1 = {
24503         (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
24504         BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
24505         },
24506         {
24507         .description = "ctxt_opcode",
24508         .field_bit_size = 3,
24509         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24510         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
24511         .field_opr1 = {
24512         ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
24513         },
24514         {
24515         .description = "l2_cntxt_id",
24516         .field_bit_size = 10,
24517         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
24518         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
24519         .field_opr1 = {
24520         (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
24521         BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
24522         .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
24523         .field_opr2 = {
24524                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
24525                 BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
24526         .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
24527         .field_opr3 = {
24528         (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
24529         BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
24530         },
24531         {
24532         .description = "parif",
24533         .field_bit_size = 4,
24534         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24535         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
24536         .field_opr1 = {
24537         (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
24538         BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
24539         },
24540         /* class_tid: 1, thor, table: mac_addr_cache.gre_frag_wr */
24541         {
24542         .description = "rid",
24543         .field_bit_size = 32,
24544         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24545         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
24546         .field_opr1 = {
24547         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
24548         BNXT_ULP_RF_IDX_RID & 0xff}
24549         },
24550         {
24551         .description = "l2_cntxt_tcam_index",
24552         .field_bit_size = 10,
24553         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24554         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24555         },
24556         {
24557         .description = "l2_cntxt_id",
24558         .field_bit_size = 10,
24559         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24560         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24561         },
24562         {
24563         .description = "src_property_ptr",
24564         .field_bit_size = 10,
24565         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24566         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24567         },
24568         /* class_tid: 1, thor, table: fkb_select.gre_frag */
24569         {
24570         .description = "l2_cntxt_id.en",
24571         .field_bit_size = 1,
24572         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24573         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
24574         .field_opr1 = {
24575         1}
24576         },
24577         {
24578         .description = "parif.en",
24579         .field_bit_size = 1,
24580         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24581         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24582         },
24583         {
24584         .description = "spif.en",
24585         .field_bit_size = 1,
24586         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24587         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24588         },
24589         {
24590         .description = "svif.en",
24591         .field_bit_size = 1,
24592         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24593         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24594         },
24595         {
24596         .description = "lcos.en",
24597         .field_bit_size = 1,
24598         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24599         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24600         },
24601         {
24602         .description = "meta.en",
24603         .field_bit_size = 1,
24604         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24605         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24606         },
24607         {
24608         .description = "rcyc_cnt.en",
24609         .field_bit_size = 1,
24610         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24611         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24612         },
24613         {
24614         .description = "loopback.en",
24615         .field_bit_size = 1,
24616         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24617         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24618         },
24619         {
24620         .description = "tl2_l2type.en",
24621         .field_bit_size = 1,
24622         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24623         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24624         },
24625         {
24626         .description = "tl2_dmac.en",
24627         .field_bit_size = 1,
24628         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24629         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24630         },
24631         {
24632         .description = "tl2_smac.en",
24633         .field_bit_size = 1,
24634         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24635         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24636         },
24637         {
24638         .description = "tl2_dt.en",
24639         .field_bit_size = 1,
24640         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24641         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24642         },
24643         {
24644         .description = "tl2_sa.en",
24645         .field_bit_size = 1,
24646         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24647         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24648         },
24649         {
24650         .description = "tl2_nvt.en",
24651         .field_bit_size = 1,
24652         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24653         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24654         },
24655         {
24656         .description = "tl2_ovp.en",
24657         .field_bit_size = 1,
24658         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24659         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24660         },
24661         {
24662         .description = "tl2_ovd.en",
24663         .field_bit_size = 1,
24664         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24665         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24666         },
24667         {
24668         .description = "tl2_ovv.en",
24669         .field_bit_size = 1,
24670         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24671         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24672         },
24673         {
24674         .description = "tl2_ovt.en",
24675         .field_bit_size = 1,
24676         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24677         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24678         },
24679         {
24680         .description = "tl2_ivp.en",
24681         .field_bit_size = 1,
24682         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24683         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24684         },
24685         {
24686         .description = "tl2_ivd.en",
24687         .field_bit_size = 1,
24688         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24689         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24690         },
24691         {
24692         .description = "tl2_ivv.en",
24693         .field_bit_size = 1,
24694         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24695         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24696         },
24697         {
24698         .description = "tl2_ivt.en",
24699         .field_bit_size = 1,
24700         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24701         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24702         },
24703         {
24704         .description = "tl2_etype.en",
24705         .field_bit_size = 1,
24706         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24707         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24708         },
24709         {
24710         .description = "tl3_l3type.en",
24711         .field_bit_size = 1,
24712         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24713         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24714         },
24715         {
24716         .description = "tl3_sip.en",
24717         .field_bit_size = 1,
24718         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24719         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24720         },
24721         {
24722         .description = "tl3_sip_selcmp.en",
24723         .field_bit_size = 1,
24724         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24725         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24726         },
24727         {
24728         .description = "tl3_dip.en",
24729         .field_bit_size = 1,
24730         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24731         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24732         },
24733         {
24734         .description = "tl3_dip_selcmp.en",
24735         .field_bit_size = 1,
24736         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24737         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24738         },
24739         {
24740         .description = "tl3_ttl.en",
24741         .field_bit_size = 1,
24742         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24743         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24744         },
24745         {
24746         .description = "tl3_prot.en",
24747         .field_bit_size = 1,
24748         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24749         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
24750         .field_opr1 = {
24751         1}
24752         },
24753         {
24754         .description = "tl3_fid.en",
24755         .field_bit_size = 1,
24756         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24757         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24758         },
24759         {
24760         .description = "tl3_qos.en",
24761         .field_bit_size = 1,
24762         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24763         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24764         },
24765         {
24766         .description = "tl3_ieh_nonext.en",
24767         .field_bit_size = 1,
24768         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24769         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24770         },
24771         {
24772         .description = "tl3_ieh_esp.en",
24773         .field_bit_size = 1,
24774         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24775         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24776         },
24777         {
24778         .description = "tl3_ieh_auth.en",
24779         .field_bit_size = 1,
24780         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24781         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24782         },
24783         {
24784         .description = "tl3_ieh_dest.en",
24785         .field_bit_size = 1,
24786         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24787         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24788         },
24789         {
24790         .description = "tl3_ieh_frag.en",
24791         .field_bit_size = 1,
24792         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24793         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24794         },
24795         {
24796         .description = "tl3_ieh_rthdr.en",
24797         .field_bit_size = 1,
24798         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24799         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24800         },
24801         {
24802         .description = "tl3_ieh_hop.en",
24803         .field_bit_size = 1,
24804         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24805         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24806         },
24807         {
24808         .description = "tl3_ieh_1frag.en",
24809         .field_bit_size = 1,
24810         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24811         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24812         },
24813         {
24814         .description = "tl3_df.en",
24815         .field_bit_size = 1,
24816         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24817         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24818         },
24819         {
24820         .description = "tl3_l3err.en",
24821         .field_bit_size = 1,
24822         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24823         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24824         },
24825         {
24826         .description = "tl4_l4type.en",
24827         .field_bit_size = 1,
24828         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24829         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24830         },
24831         {
24832         .description = "tl4_src.en",
24833         .field_bit_size = 1,
24834         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24835         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24836         },
24837         {
24838         .description = "tl4_dst.en",
24839         .field_bit_size = 1,
24840         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24841         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24842         },
24843         {
24844         .description = "tl4_flags.en",
24845         .field_bit_size = 1,
24846         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24847         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24848         },
24849         {
24850         .description = "tl4_seq.en",
24851         .field_bit_size = 1,
24852         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24853         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24854         },
24855         {
24856         .description = "tl4_pa.en",
24857         .field_bit_size = 1,
24858         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24859         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24860         },
24861         {
24862         .description = "tl4_opt.en",
24863         .field_bit_size = 1,
24864         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24865         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24866         },
24867         {
24868         .description = "tl4_tcpts.en",
24869         .field_bit_size = 1,
24870         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24871         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24872         },
24873         {
24874         .description = "tl4_err.en",
24875         .field_bit_size = 1,
24876         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24877         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24878         },
24879         {
24880         .description = "tuntype.en",
24881         .field_bit_size = 1,
24882         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24883         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24884         },
24885         {
24886         .description = "tflags.en",
24887         .field_bit_size = 1,
24888         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24889         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24890         },
24891         {
24892         .description = "tids.en",
24893         .field_bit_size = 1,
24894         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24895         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24896         },
24897         {
24898         .description = "tid.en",
24899         .field_bit_size = 1,
24900         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24901         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24902         },
24903         {
24904         .description = "tctxts.en",
24905         .field_bit_size = 1,
24906         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24907         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24908         },
24909         {
24910         .description = "tctxt.en",
24911         .field_bit_size = 1,
24912         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24913         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24914         },
24915         {
24916         .description = "tqos.en",
24917         .field_bit_size = 1,
24918         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24919         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24920         },
24921         {
24922         .description = "terr.en",
24923         .field_bit_size = 1,
24924         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24925         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24926         },
24927         {
24928         .description = "l2_l2type.en",
24929         .field_bit_size = 1,
24930         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24931         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24932         },
24933         {
24934         .description = "l2_dmac.en",
24935         .field_bit_size = 1,
24936         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24937         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24938         },
24939         {
24940         .description = "l2_smac.en",
24941         .field_bit_size = 1,
24942         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24943         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24944         },
24945         {
24946         .description = "l2_dt.en",
24947         .field_bit_size = 1,
24948         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24949         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24950         },
24951         {
24952         .description = "l2_sa.en",
24953         .field_bit_size = 1,
24954         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24955         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24956         },
24957         {
24958         .description = "l2_nvt.en",
24959         .field_bit_size = 1,
24960         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24961         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24962         },
24963         {
24964         .description = "l2_ovp.en",
24965         .field_bit_size = 1,
24966         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24967         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24968         },
24969         {
24970         .description = "l2_ovd.en",
24971         .field_bit_size = 1,
24972         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24973         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24974         },
24975         {
24976         .description = "l2_ovv.en",
24977         .field_bit_size = 1,
24978         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24979         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24980         },
24981         {
24982         .description = "l2_ovt.en",
24983         .field_bit_size = 1,
24984         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24985         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24986         },
24987         {
24988         .description = "l2_ivp.en",
24989         .field_bit_size = 1,
24990         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24991         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24992         },
24993         {
24994         .description = "l2_ivd.en",
24995         .field_bit_size = 1,
24996         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
24997         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
24998         },
24999         {
25000         .description = "l2_ivv.en",
25001         .field_bit_size = 1,
25002         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25003         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25004         },
25005         {
25006         .description = "l2_ivt.en",
25007         .field_bit_size = 1,
25008         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25009         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25010         },
25011         {
25012         .description = "l2_etype.en",
25013         .field_bit_size = 1,
25014         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25015         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25016         },
25017         {
25018         .description = "l3_l3type.en",
25019         .field_bit_size = 1,
25020         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25021         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25022         },
25023         {
25024         .description = "l3_sip.en",
25025         .field_bit_size = 1,
25026         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25027         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25028         },
25029         {
25030         .description = "l3_sip_selcmp.en",
25031         .field_bit_size = 1,
25032         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25033         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25034         },
25035         {
25036         .description = "l3_dip.en",
25037         .field_bit_size = 1,
25038         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25039         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25040         },
25041         {
25042         .description = "l3_dip_selcmp.en",
25043         .field_bit_size = 1,
25044         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25045         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25046         },
25047         {
25048         .description = "l3_ttl.en",
25049         .field_bit_size = 1,
25050         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25051         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25052         },
25053         {
25054         .description = "l3_prot.en",
25055         .field_bit_size = 1,
25056         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25057         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
25058         .field_opr1 = {
25059         1}
25060         },
25061         {
25062         .description = "l3_fid.en",
25063         .field_bit_size = 1,
25064         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25065         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25066         },
25067         {
25068         .description = "l3_qos.en",
25069         .field_bit_size = 1,
25070         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25071         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25072         },
25073         {
25074         .description = "l3_ieh_nonext.en",
25075         .field_bit_size = 1,
25076         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25077         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25078         },
25079         {
25080         .description = "l3_ieh_esp.en",
25081         .field_bit_size = 1,
25082         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25083         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25084         },
25085         {
25086         .description = "l3_ieh_auth.en",
25087         .field_bit_size = 1,
25088         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25089         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25090         },
25091         {
25092         .description = "l3_ieh_dest.en",
25093         .field_bit_size = 1,
25094         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25095         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25096         },
25097         {
25098         .description = "l3_ieh_frag.en",
25099         .field_bit_size = 1,
25100         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25101         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25102         },
25103         {
25104         .description = "l3_ieh_rthdr.en",
25105         .field_bit_size = 1,
25106         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25107         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25108         },
25109         {
25110         .description = "l3_ieh_hop.en",
25111         .field_bit_size = 1,
25112         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25113         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25114         },
25115         {
25116         .description = "l3_ieh_1frag.en",
25117         .field_bit_size = 1,
25118         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25119         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25120         },
25121         {
25122         .description = "l3_df.en",
25123         .field_bit_size = 1,
25124         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25125         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25126         },
25127         {
25128         .description = "l3_l3err.en",
25129         .field_bit_size = 1,
25130         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25131         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25132         },
25133         {
25134         .description = "l4_l4type.en",
25135         .field_bit_size = 1,
25136         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25137         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25138         },
25139         {
25140         .description = "l4_src.en",
25141         .field_bit_size = 1,
25142         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25143         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25144         },
25145         {
25146         .description = "l4_dst.en",
25147         .field_bit_size = 1,
25148         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25149         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
25150         .field_opr1 = {
25151         1}
25152         },
25153         {
25154         .description = "l4_flags.en",
25155         .field_bit_size = 1,
25156         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25157         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25158         },
25159         {
25160         .description = "l4_seq.en",
25161         .field_bit_size = 1,
25162         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25163         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25164         },
25165         {
25166         .description = "l4_ack.en",
25167         .field_bit_size = 1,
25168         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25169         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25170         },
25171         {
25172         .description = "l4_win.en",
25173         .field_bit_size = 1,
25174         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25175         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25176         },
25177         {
25178         .description = "l4_pa.en",
25179         .field_bit_size = 1,
25180         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25181         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25182         },
25183         {
25184         .description = "l4_opt.en",
25185         .field_bit_size = 1,
25186         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25187         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25188         },
25189         {
25190         .description = "l4_tcpts.en",
25191         .field_bit_size = 1,
25192         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25193         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25194         },
25195         {
25196         .description = "l4_tsval.en",
25197         .field_bit_size = 1,
25198         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25199         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25200         },
25201         {
25202         .description = "l4_txecr.en",
25203         .field_bit_size = 1,
25204         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25205         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25206         },
25207         {
25208         .description = "l4_err.en",
25209         .field_bit_size = 1,
25210         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25211         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25212         },
25213         /* class_tid: 1, thor, table: profile_tcam.gre_frag */
25214         {
25215         .description = "wc_key_id",
25216         .field_bit_size = 6,
25217         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25218         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
25219         .field_opr1 = {
25220         (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,
25221         BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}
25222         },
25223         {
25224         .description = "wc_profile_id",
25225         .field_bit_size = 8,
25226         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25227         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
25228         .field_opr1 = {
25229         (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
25230         BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
25231         },
25232         {
25233         .description = "wc_search_en",
25234         .field_bit_size = 1,
25235         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25236         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
25237         .field_opr1 = {
25238         1}
25239         },
25240         {
25241         .description = "em_key_type",
25242         .field_bit_size = 2,
25243         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25244         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25245         },
25246         {
25247         .description = "em_key_id",
25248         .field_bit_size = 6,
25249         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25250         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25251         },
25252         {
25253         .description = "em_profile_id",
25254         .field_bit_size = 8,
25255         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25256         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25257         },
25258         {
25259         .description = "em_search_en",
25260         .field_bit_size = 1,
25261         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25262         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25263         },
25264         {
25265         .description = "pl_byp_lkup_en",
25266         .field_bit_size = 1,
25267         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25268         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25269         },
25270         /* class_tid: 1, thor, table: wm.gre_frag */
25271         {
25272         .description = "ctxt_data",
25273         .field_bit_size = 14,
25274         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25275         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25276         },
25277         {
25278         .description = "meta_prof",
25279         .field_bit_size = 3,
25280         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25281         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25282         },
25283         {
25284         .description = "opcode",
25285         .field_bit_size = 3,
25286         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25287         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25288         },
25289         {
25290         .description = "data",
25291         .field_bit_size = 16,
25292         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25293         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
25294         .field_opr1 = {
25295         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
25296         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
25297         },
25298         {
25299         .description = "strength",
25300         .field_bit_size = 2,
25301         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25302         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
25303         .field_opr1 = {
25304         1}
25305         },
25306         /* class_tid: 1, thor, table: wm.gre_frag_low */
25307         {
25308         .description = "ctxt_data",
25309         .field_bit_size = 14,
25310         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25311         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25312         },
25313         {
25314         .description = "meta_prof",
25315         .field_bit_size = 3,
25316         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25317         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25318         },
25319         {
25320         .description = "opcode",
25321         .field_bit_size = 3,
25322         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25323         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25324         },
25325         {
25326         .description = "data",
25327         .field_bit_size = 16,
25328         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25329         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
25330         .field_opr1 = {
25331         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
25332         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
25333         },
25334         {
25335         .description = "strength",
25336         .field_bit_size = 2,
25337         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25338         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
25339         .field_opr1 = {
25340         1}
25341         },
25342         /* class_tid: 1, thor, table: l2_cntxt_tcam.0 */
25343         {
25344         .description = "prof_func_id",
25345         .field_bit_size = 7,
25346         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25347         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
25348         .field_opr1 = {
25349         (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
25350         BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
25351         },
25352         {
25353         .description = "ctxt_meta_prof",
25354         .field_bit_size = 3,
25355         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25356         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25357         },
25358         {
25359         .description = "def_ctxt_data",
25360         .field_bit_size = 16,
25361         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25362         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
25363         .field_opr1 = {
25364         (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
25365         BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
25366         },
25367         {
25368         .description = "ctxt_opcode",
25369         .field_bit_size = 3,
25370         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25371         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
25372         .field_opr1 = {
25373         ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
25374         },
25375         {
25376         .description = "l2_cntxt_id",
25377         .field_bit_size = 10,
25378         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
25379         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
25380         .field_opr1 = {
25381         (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
25382         BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
25383         .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
25384         .field_opr2 = {
25385                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
25386                 BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
25387         .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
25388         .field_opr3 = {
25389         (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
25390         BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
25391         },
25392         {
25393         .description = "parif",
25394         .field_bit_size = 4,
25395         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25396         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
25397         .field_opr1 = {
25398         (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
25399         BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
25400         },
25401         /* class_tid: 1, thor, table: mac_addr_cache.wr */
25402         {
25403         .description = "rid",
25404         .field_bit_size = 32,
25405         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25406         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
25407         .field_opr1 = {
25408         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
25409         BNXT_ULP_RF_IDX_RID & 0xff}
25410         },
25411         {
25412         .description = "l2_cntxt_tcam_index",
25413         .field_bit_size = 10,
25414         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25415         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25416         },
25417         {
25418         .description = "l2_cntxt_id",
25419         .field_bit_size = 10,
25420         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25421         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25422         },
25423         {
25424         .description = "src_property_ptr",
25425         .field_bit_size = 10,
25426         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25427         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25428         },
25429         /* class_tid: 1, thor, table: fkb_select.icmpv4 */
25430         {
25431         .description = "l2_cntxt_id.en",
25432         .field_bit_size = 1,
25433         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25434         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
25435         .field_opr1 = {
25436         1}
25437         },
25438         {
25439         .description = "parif.en",
25440         .field_bit_size = 1,
25441         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25442         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25443         },
25444         {
25445         .description = "spif.en",
25446         .field_bit_size = 1,
25447         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25448         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25449         },
25450         {
25451         .description = "svif.en",
25452         .field_bit_size = 1,
25453         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25454         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25455         },
25456         {
25457         .description = "lcos.en",
25458         .field_bit_size = 1,
25459         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25460         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25461         },
25462         {
25463         .description = "meta.en",
25464         .field_bit_size = 1,
25465         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25466         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25467         },
25468         {
25469         .description = "rcyc_cnt.en",
25470         .field_bit_size = 1,
25471         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25472         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25473         },
25474         {
25475         .description = "loopback.en",
25476         .field_bit_size = 1,
25477         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25478         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25479         },
25480         {
25481         .description = "tl2_l2type.en",
25482         .field_bit_size = 1,
25483         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25484         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25485         },
25486         {
25487         .description = "tl2_dmac.en",
25488         .field_bit_size = 1,
25489         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25490         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25491         },
25492         {
25493         .description = "tl2_smac.en",
25494         .field_bit_size = 1,
25495         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25496         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25497         },
25498         {
25499         .description = "tl2_dt.en",
25500         .field_bit_size = 1,
25501         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25502         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25503         },
25504         {
25505         .description = "tl2_sa.en",
25506         .field_bit_size = 1,
25507         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25508         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25509         },
25510         {
25511         .description = "tl2_nvt.en",
25512         .field_bit_size = 1,
25513         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25514         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25515         },
25516         {
25517         .description = "tl2_ovp.en",
25518         .field_bit_size = 1,
25519         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25520         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25521         },
25522         {
25523         .description = "tl2_ovd.en",
25524         .field_bit_size = 1,
25525         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25526         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25527         },
25528         {
25529         .description = "tl2_ovv.en",
25530         .field_bit_size = 1,
25531         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25532         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25533         },
25534         {
25535         .description = "tl2_ovt.en",
25536         .field_bit_size = 1,
25537         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25538         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25539         },
25540         {
25541         .description = "tl2_ivp.en",
25542         .field_bit_size = 1,
25543         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25544         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25545         },
25546         {
25547         .description = "tl2_ivd.en",
25548         .field_bit_size = 1,
25549         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25550         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25551         },
25552         {
25553         .description = "tl2_ivv.en",
25554         .field_bit_size = 1,
25555         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25556         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25557         },
25558         {
25559         .description = "tl2_ivt.en",
25560         .field_bit_size = 1,
25561         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25562         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25563         },
25564         {
25565         .description = "tl2_etype.en",
25566         .field_bit_size = 1,
25567         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25568         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25569         },
25570         {
25571         .description = "tl3_l3type.en",
25572         .field_bit_size = 1,
25573         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25574         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25575         },
25576         {
25577         .description = "tl3_sip.en",
25578         .field_bit_size = 1,
25579         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25580         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25581         },
25582         {
25583         .description = "tl3_sip_selcmp.en",
25584         .field_bit_size = 1,
25585         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25586         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25587         },
25588         {
25589         .description = "tl3_dip.en",
25590         .field_bit_size = 1,
25591         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25592         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25593         },
25594         {
25595         .description = "tl3_dip_selcmp.en",
25596         .field_bit_size = 1,
25597         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25598         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25599         },
25600         {
25601         .description = "tl3_ttl.en",
25602         .field_bit_size = 1,
25603         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25604         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25605         },
25606         {
25607         .description = "tl3_prot.en",
25608         .field_bit_size = 1,
25609         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25610         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
25611         .field_opr1 = {
25612         1}
25613         },
25614         {
25615         .description = "tl3_fid.en",
25616         .field_bit_size = 1,
25617         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25618         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25619         },
25620         {
25621         .description = "tl3_qos.en",
25622         .field_bit_size = 1,
25623         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25624         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25625         },
25626         {
25627         .description = "tl3_ieh_nonext.en",
25628         .field_bit_size = 1,
25629         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25630         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25631         },
25632         {
25633         .description = "tl3_ieh_esp.en",
25634         .field_bit_size = 1,
25635         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25636         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25637         },
25638         {
25639         .description = "tl3_ieh_auth.en",
25640         .field_bit_size = 1,
25641         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25642         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25643         },
25644         {
25645         .description = "tl3_ieh_dest.en",
25646         .field_bit_size = 1,
25647         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25648         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25649         },
25650         {
25651         .description = "tl3_ieh_frag.en",
25652         .field_bit_size = 1,
25653         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25654         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25655         },
25656         {
25657         .description = "tl3_ieh_rthdr.en",
25658         .field_bit_size = 1,
25659         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25660         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25661         },
25662         {
25663         .description = "tl3_ieh_hop.en",
25664         .field_bit_size = 1,
25665         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25666         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25667         },
25668         {
25669         .description = "tl3_ieh_1frag.en",
25670         .field_bit_size = 1,
25671         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25672         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25673         },
25674         {
25675         .description = "tl3_df.en",
25676         .field_bit_size = 1,
25677         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25678         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25679         },
25680         {
25681         .description = "tl3_l3err.en",
25682         .field_bit_size = 1,
25683         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25684         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25685         },
25686         {
25687         .description = "tl4_l4type.en",
25688         .field_bit_size = 1,
25689         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25690         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25691         },
25692         {
25693         .description = "tl4_src.en",
25694         .field_bit_size = 1,
25695         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25696         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25697         },
25698         {
25699         .description = "tl4_dst.en",
25700         .field_bit_size = 1,
25701         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25702         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25703         },
25704         {
25705         .description = "tl4_flags.en",
25706         .field_bit_size = 1,
25707         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25708         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25709         },
25710         {
25711         .description = "tl4_seq.en",
25712         .field_bit_size = 1,
25713         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25714         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25715         },
25716         {
25717         .description = "tl4_pa.en",
25718         .field_bit_size = 1,
25719         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25720         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25721         },
25722         {
25723         .description = "tl4_opt.en",
25724         .field_bit_size = 1,
25725         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25726         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25727         },
25728         {
25729         .description = "tl4_tcpts.en",
25730         .field_bit_size = 1,
25731         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25732         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25733         },
25734         {
25735         .description = "tl4_err.en",
25736         .field_bit_size = 1,
25737         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25738         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25739         },
25740         {
25741         .description = "tuntype.en",
25742         .field_bit_size = 1,
25743         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25744         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25745         },
25746         {
25747         .description = "tflags.en",
25748         .field_bit_size = 1,
25749         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25750         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25751         },
25752         {
25753         .description = "tids.en",
25754         .field_bit_size = 1,
25755         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25756         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25757         },
25758         {
25759         .description = "tid.en",
25760         .field_bit_size = 1,
25761         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25762         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25763         },
25764         {
25765         .description = "tctxts.en",
25766         .field_bit_size = 1,
25767         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25768         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25769         },
25770         {
25771         .description = "tctxt.en",
25772         .field_bit_size = 1,
25773         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25774         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25775         },
25776         {
25777         .description = "tqos.en",
25778         .field_bit_size = 1,
25779         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25780         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25781         },
25782         {
25783         .description = "terr.en",
25784         .field_bit_size = 1,
25785         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25786         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25787         },
25788         {
25789         .description = "l2_l2type.en",
25790         .field_bit_size = 1,
25791         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25792         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25793         },
25794         {
25795         .description = "l2_dmac.en",
25796         .field_bit_size = 1,
25797         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25798         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25799         },
25800         {
25801         .description = "l2_smac.en",
25802         .field_bit_size = 1,
25803         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25804         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25805         },
25806         {
25807         .description = "l2_dt.en",
25808         .field_bit_size = 1,
25809         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25810         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25811         },
25812         {
25813         .description = "l2_sa.en",
25814         .field_bit_size = 1,
25815         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25816         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25817         },
25818         {
25819         .description = "l2_nvt.en",
25820         .field_bit_size = 1,
25821         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25822         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25823         },
25824         {
25825         .description = "l2_ovp.en",
25826         .field_bit_size = 1,
25827         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25828         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25829         },
25830         {
25831         .description = "l2_ovd.en",
25832         .field_bit_size = 1,
25833         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25834         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25835         },
25836         {
25837         .description = "l2_ovv.en",
25838         .field_bit_size = 1,
25839         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25840         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25841         },
25842         {
25843         .description = "l2_ovt.en",
25844         .field_bit_size = 1,
25845         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25846         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25847         },
25848         {
25849         .description = "l2_ivp.en",
25850         .field_bit_size = 1,
25851         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25852         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25853         },
25854         {
25855         .description = "l2_ivd.en",
25856         .field_bit_size = 1,
25857         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25858         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25859         },
25860         {
25861         .description = "l2_ivv.en",
25862         .field_bit_size = 1,
25863         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25864         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25865         },
25866         {
25867         .description = "l2_ivt.en",
25868         .field_bit_size = 1,
25869         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25870         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25871         },
25872         {
25873         .description = "l2_etype.en",
25874         .field_bit_size = 1,
25875         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25876         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25877         },
25878         {
25879         .description = "l3_l3type.en",
25880         .field_bit_size = 1,
25881         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25882         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25883         },
25884         {
25885         .description = "l3_sip.en",
25886         .field_bit_size = 1,
25887         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25888         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25889         },
25890         {
25891         .description = "l3_sip_selcmp.en",
25892         .field_bit_size = 1,
25893         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25894         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25895         },
25896         {
25897         .description = "l3_dip.en",
25898         .field_bit_size = 1,
25899         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25900         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25901         },
25902         {
25903         .description = "l3_dip_selcmp.en",
25904         .field_bit_size = 1,
25905         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25906         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25907         },
25908         {
25909         .description = "l3_ttl.en",
25910         .field_bit_size = 1,
25911         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25912         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25913         },
25914         {
25915         .description = "l3_prot.en",
25916         .field_bit_size = 1,
25917         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25918         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
25919         .field_opr1 = {
25920         1}
25921         },
25922         {
25923         .description = "l3_fid.en",
25924         .field_bit_size = 1,
25925         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25926         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25927         },
25928         {
25929         .description = "l3_qos.en",
25930         .field_bit_size = 1,
25931         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25932         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25933         },
25934         {
25935         .description = "l3_ieh_nonext.en",
25936         .field_bit_size = 1,
25937         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25938         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25939         },
25940         {
25941         .description = "l3_ieh_esp.en",
25942         .field_bit_size = 1,
25943         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25944         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25945         },
25946         {
25947         .description = "l3_ieh_auth.en",
25948         .field_bit_size = 1,
25949         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25950         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25951         },
25952         {
25953         .description = "l3_ieh_dest.en",
25954         .field_bit_size = 1,
25955         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25956         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25957         },
25958         {
25959         .description = "l3_ieh_frag.en",
25960         .field_bit_size = 1,
25961         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25962         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25963         },
25964         {
25965         .description = "l3_ieh_rthdr.en",
25966         .field_bit_size = 1,
25967         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25968         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25969         },
25970         {
25971         .description = "l3_ieh_hop.en",
25972         .field_bit_size = 1,
25973         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25974         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25975         },
25976         {
25977         .description = "l3_ieh_1frag.en",
25978         .field_bit_size = 1,
25979         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25980         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25981         },
25982         {
25983         .description = "l3_df.en",
25984         .field_bit_size = 1,
25985         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25986         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25987         },
25988         {
25989         .description = "l3_l3err.en",
25990         .field_bit_size = 1,
25991         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25992         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25993         },
25994         {
25995         .description = "l4_l4type.en",
25996         .field_bit_size = 1,
25997         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
25998         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
25999         },
26000         {
26001         .description = "l4_src.en",
26002         .field_bit_size = 1,
26003         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26004         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26005         },
26006         {
26007         .description = "l4_dst.en",
26008         .field_bit_size = 1,
26009         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26010         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
26011         .field_opr1 = {
26012         1}
26013         },
26014         {
26015         .description = "l4_flags.en",
26016         .field_bit_size = 1,
26017         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26018         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26019         },
26020         {
26021         .description = "l4_seq.en",
26022         .field_bit_size = 1,
26023         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26024         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26025         },
26026         {
26027         .description = "l4_ack.en",
26028         .field_bit_size = 1,
26029         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26030         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26031         },
26032         {
26033         .description = "l4_win.en",
26034         .field_bit_size = 1,
26035         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26036         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26037         },
26038         {
26039         .description = "l4_pa.en",
26040         .field_bit_size = 1,
26041         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26042         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26043         },
26044         {
26045         .description = "l4_opt.en",
26046         .field_bit_size = 1,
26047         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26048         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26049         },
26050         {
26051         .description = "l4_tcpts.en",
26052         .field_bit_size = 1,
26053         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26054         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26055         },
26056         {
26057         .description = "l4_tsval.en",
26058         .field_bit_size = 1,
26059         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26060         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26061         },
26062         {
26063         .description = "l4_txecr.en",
26064         .field_bit_size = 1,
26065         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26066         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26067         },
26068         {
26069         .description = "l4_err.en",
26070         .field_bit_size = 1,
26071         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26072         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26073         },
26074         /* class_tid: 1, thor, table: profile_tcam.icmpv4 */
26075         {
26076         .description = "wc_key_id",
26077         .field_bit_size = 6,
26078         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26079         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
26080         .field_opr1 = {
26081         (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,
26082         BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}
26083         },
26084         {
26085         .description = "wc_profile_id",
26086         .field_bit_size = 8,
26087         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26088         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
26089         .field_opr1 = {
26090         (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
26091         BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
26092         },
26093         {
26094         .description = "wc_search_en",
26095         .field_bit_size = 1,
26096         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26097         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
26098         .field_opr1 = {
26099         1}
26100         },
26101         {
26102         .description = "em_key_type",
26103         .field_bit_size = 2,
26104         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26105         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26106         },
26107         {
26108         .description = "em_key_id",
26109         .field_bit_size = 6,
26110         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26111         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26112         },
26113         {
26114         .description = "em_profile_id",
26115         .field_bit_size = 8,
26116         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26117         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26118         },
26119         {
26120         .description = "em_search_en",
26121         .field_bit_size = 1,
26122         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26123         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26124         },
26125         {
26126         .description = "pl_byp_lkup_en",
26127         .field_bit_size = 1,
26128         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26129         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26130         },
26131         /* class_tid: 1, thor, table: profile_tcam_cache.icmpv4_wr */
26132         {
26133         .description = "rid",
26134         .field_bit_size = 32,
26135         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26136         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
26137         .field_opr1 = {
26138         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
26139         BNXT_ULP_RF_IDX_RID & 0xff}
26140         },
26141         {
26142         .description = "profile_tcam_index",
26143         .field_bit_size = 10,
26144         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26145         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26146         },
26147         {
26148         .description = "em_profile_id",
26149         .field_bit_size = 8,
26150         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26151         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26152         },
26153         {
26154         .description = "em_key_id",
26155         .field_bit_size = 8,
26156         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26157         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26158         },
26159         {
26160         .description = "wc_profile_id",
26161         .field_bit_size = 8,
26162         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26163         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26164         },
26165         {
26166         .description = "wc_key_id",
26167         .field_bit_size = 8,
26168         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26169         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26170         },
26171         {
26172         .description = "flow_sig_id",
26173         .field_bit_size = 8,
26174         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26175         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26176         },
26177         /* class_tid: 1, thor, table: wm.icmpv4 */
26178         {
26179         .description = "ctxt_data",
26180         .field_bit_size = 14,
26181         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26182         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26183         },
26184         {
26185         .description = "meta_prof",
26186         .field_bit_size = 3,
26187         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26188         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26189         },
26190         {
26191         .description = "opcode",
26192         .field_bit_size = 3,
26193         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26194         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26195         },
26196         {
26197         .description = "data",
26198         .field_bit_size = 16,
26199         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26200         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
26201         .field_opr1 = {
26202         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
26203         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
26204         },
26205         {
26206         .description = "strength",
26207         .field_bit_size = 2,
26208         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26209         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
26210         .field_opr1 = {
26211         1}
26212         },
26213         /* class_tid: 1, thor, table: wm.icmpv4_low */
26214         {
26215         .description = "ctxt_data",
26216         .field_bit_size = 14,
26217         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26218         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26219         },
26220         {
26221         .description = "meta_prof",
26222         .field_bit_size = 3,
26223         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26224         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26225         },
26226         {
26227         .description = "opcode",
26228         .field_bit_size = 3,
26229         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26230         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26231         },
26232         {
26233         .description = "data",
26234         .field_bit_size = 16,
26235         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26236         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
26237         .field_opr1 = {
26238         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
26239         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
26240         },
26241         {
26242         .description = "strength",
26243         .field_bit_size = 2,
26244         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26245         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
26246         .field_opr1 = {
26247         1}
26248         },
26249         /* class_tid: 1, thor, table: fkb_select.icmpv6 */
26250         {
26251         .description = "l2_cntxt_id.en",
26252         .field_bit_size = 1,
26253         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26254         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
26255         .field_opr1 = {
26256         1}
26257         },
26258         {
26259         .description = "parif.en",
26260         .field_bit_size = 1,
26261         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26262         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26263         },
26264         {
26265         .description = "spif.en",
26266         .field_bit_size = 1,
26267         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26268         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26269         },
26270         {
26271         .description = "svif.en",
26272         .field_bit_size = 1,
26273         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26274         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26275         },
26276         {
26277         .description = "lcos.en",
26278         .field_bit_size = 1,
26279         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26280         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26281         },
26282         {
26283         .description = "meta.en",
26284         .field_bit_size = 1,
26285         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26286         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26287         },
26288         {
26289         .description = "rcyc_cnt.en",
26290         .field_bit_size = 1,
26291         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26292         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26293         },
26294         {
26295         .description = "loopback.en",
26296         .field_bit_size = 1,
26297         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26298         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26299         },
26300         {
26301         .description = "tl2_l2type.en",
26302         .field_bit_size = 1,
26303         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26304         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26305         },
26306         {
26307         .description = "tl2_dmac.en",
26308         .field_bit_size = 1,
26309         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26310         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26311         },
26312         {
26313         .description = "tl2_smac.en",
26314         .field_bit_size = 1,
26315         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26316         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26317         },
26318         {
26319         .description = "tl2_dt.en",
26320         .field_bit_size = 1,
26321         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26322         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26323         },
26324         {
26325         .description = "tl2_sa.en",
26326         .field_bit_size = 1,
26327         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26328         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26329         },
26330         {
26331         .description = "tl2_nvt.en",
26332         .field_bit_size = 1,
26333         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26334         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26335         },
26336         {
26337         .description = "tl2_ovp.en",
26338         .field_bit_size = 1,
26339         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26340         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26341         },
26342         {
26343         .description = "tl2_ovd.en",
26344         .field_bit_size = 1,
26345         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26346         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26347         },
26348         {
26349         .description = "tl2_ovv.en",
26350         .field_bit_size = 1,
26351         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26352         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26353         },
26354         {
26355         .description = "tl2_ovt.en",
26356         .field_bit_size = 1,
26357         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26358         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26359         },
26360         {
26361         .description = "tl2_ivp.en",
26362         .field_bit_size = 1,
26363         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26364         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26365         },
26366         {
26367         .description = "tl2_ivd.en",
26368         .field_bit_size = 1,
26369         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26370         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26371         },
26372         {
26373         .description = "tl2_ivv.en",
26374         .field_bit_size = 1,
26375         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26376         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26377         },
26378         {
26379         .description = "tl2_ivt.en",
26380         .field_bit_size = 1,
26381         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26382         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26383         },
26384         {
26385         .description = "tl2_etype.en",
26386         .field_bit_size = 1,
26387         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26388         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26389         },
26390         {
26391         .description = "tl3_l3type.en",
26392         .field_bit_size = 1,
26393         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26394         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26395         },
26396         {
26397         .description = "tl3_sip.en",
26398         .field_bit_size = 1,
26399         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26400         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26401         },
26402         {
26403         .description = "tl3_sip_selcmp.en",
26404         .field_bit_size = 1,
26405         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26406         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26407         },
26408         {
26409         .description = "tl3_dip.en",
26410         .field_bit_size = 1,
26411         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26412         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26413         },
26414         {
26415         .description = "tl3_dip_selcmp.en",
26416         .field_bit_size = 1,
26417         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26418         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26419         },
26420         {
26421         .description = "tl3_ttl.en",
26422         .field_bit_size = 1,
26423         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26424         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26425         },
26426         {
26427         .description = "tl3_prot.en",
26428         .field_bit_size = 1,
26429         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26430         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
26431         .field_opr1 = {
26432         1}
26433         },
26434         {
26435         .description = "tl3_fid.en",
26436         .field_bit_size = 1,
26437         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26438         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26439         },
26440         {
26441         .description = "tl3_qos.en",
26442         .field_bit_size = 1,
26443         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26444         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26445         },
26446         {
26447         .description = "tl3_ieh_nonext.en",
26448         .field_bit_size = 1,
26449         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26450         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26451         },
26452         {
26453         .description = "tl3_ieh_esp.en",
26454         .field_bit_size = 1,
26455         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26456         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26457         },
26458         {
26459         .description = "tl3_ieh_auth.en",
26460         .field_bit_size = 1,
26461         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26462         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26463         },
26464         {
26465         .description = "tl3_ieh_dest.en",
26466         .field_bit_size = 1,
26467         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26468         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26469         },
26470         {
26471         .description = "tl3_ieh_frag.en",
26472         .field_bit_size = 1,
26473         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26474         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26475         },
26476         {
26477         .description = "tl3_ieh_rthdr.en",
26478         .field_bit_size = 1,
26479         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26480         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26481         },
26482         {
26483         .description = "tl3_ieh_hop.en",
26484         .field_bit_size = 1,
26485         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26486         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26487         },
26488         {
26489         .description = "tl3_ieh_1frag.en",
26490         .field_bit_size = 1,
26491         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26492         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26493         },
26494         {
26495         .description = "tl3_df.en",
26496         .field_bit_size = 1,
26497         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26498         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26499         },
26500         {
26501         .description = "tl3_l3err.en",
26502         .field_bit_size = 1,
26503         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26504         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26505         },
26506         {
26507         .description = "tl4_l4type.en",
26508         .field_bit_size = 1,
26509         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26510         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26511         },
26512         {
26513         .description = "tl4_src.en",
26514         .field_bit_size = 1,
26515         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26516         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26517         },
26518         {
26519         .description = "tl4_dst.en",
26520         .field_bit_size = 1,
26521         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26522         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26523         },
26524         {
26525         .description = "tl4_flags.en",
26526         .field_bit_size = 1,
26527         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26528         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26529         },
26530         {
26531         .description = "tl4_seq.en",
26532         .field_bit_size = 1,
26533         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26534         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26535         },
26536         {
26537         .description = "tl4_pa.en",
26538         .field_bit_size = 1,
26539         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26540         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26541         },
26542         {
26543         .description = "tl4_opt.en",
26544         .field_bit_size = 1,
26545         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26546         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26547         },
26548         {
26549         .description = "tl4_tcpts.en",
26550         .field_bit_size = 1,
26551         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26552         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26553         },
26554         {
26555         .description = "tl4_err.en",
26556         .field_bit_size = 1,
26557         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26558         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26559         },
26560         {
26561         .description = "tuntype.en",
26562         .field_bit_size = 1,
26563         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26564         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26565         },
26566         {
26567         .description = "tflags.en",
26568         .field_bit_size = 1,
26569         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26570         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26571         },
26572         {
26573         .description = "tids.en",
26574         .field_bit_size = 1,
26575         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26576         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26577         },
26578         {
26579         .description = "tid.en",
26580         .field_bit_size = 1,
26581         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26582         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26583         },
26584         {
26585         .description = "tctxts.en",
26586         .field_bit_size = 1,
26587         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26588         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26589         },
26590         {
26591         .description = "tctxt.en",
26592         .field_bit_size = 1,
26593         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26594         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26595         },
26596         {
26597         .description = "tqos.en",
26598         .field_bit_size = 1,
26599         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26600         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26601         },
26602         {
26603         .description = "terr.en",
26604         .field_bit_size = 1,
26605         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26606         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26607         },
26608         {
26609         .description = "l2_l2type.en",
26610         .field_bit_size = 1,
26611         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26612         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26613         },
26614         {
26615         .description = "l2_dmac.en",
26616         .field_bit_size = 1,
26617         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26618         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26619         },
26620         {
26621         .description = "l2_smac.en",
26622         .field_bit_size = 1,
26623         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26624         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26625         },
26626         {
26627         .description = "l2_dt.en",
26628         .field_bit_size = 1,
26629         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26630         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26631         },
26632         {
26633         .description = "l2_sa.en",
26634         .field_bit_size = 1,
26635         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26636         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26637         },
26638         {
26639         .description = "l2_nvt.en",
26640         .field_bit_size = 1,
26641         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26642         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26643         },
26644         {
26645         .description = "l2_ovp.en",
26646         .field_bit_size = 1,
26647         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26648         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26649         },
26650         {
26651         .description = "l2_ovd.en",
26652         .field_bit_size = 1,
26653         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26654         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26655         },
26656         {
26657         .description = "l2_ovv.en",
26658         .field_bit_size = 1,
26659         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26660         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26661         },
26662         {
26663         .description = "l2_ovt.en",
26664         .field_bit_size = 1,
26665         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26666         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26667         },
26668         {
26669         .description = "l2_ivp.en",
26670         .field_bit_size = 1,
26671         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26672         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26673         },
26674         {
26675         .description = "l2_ivd.en",
26676         .field_bit_size = 1,
26677         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26678         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26679         },
26680         {
26681         .description = "l2_ivv.en",
26682         .field_bit_size = 1,
26683         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26684         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26685         },
26686         {
26687         .description = "l2_ivt.en",
26688         .field_bit_size = 1,
26689         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26690         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26691         },
26692         {
26693         .description = "l2_etype.en",
26694         .field_bit_size = 1,
26695         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26696         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26697         },
26698         {
26699         .description = "l3_l3type.en",
26700         .field_bit_size = 1,
26701         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26702         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26703         },
26704         {
26705         .description = "l3_sip.en",
26706         .field_bit_size = 1,
26707         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26708         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26709         },
26710         {
26711         .description = "l3_sip_selcmp.en",
26712         .field_bit_size = 1,
26713         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26714         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26715         },
26716         {
26717         .description = "l3_dip.en",
26718         .field_bit_size = 1,
26719         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26720         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26721         },
26722         {
26723         .description = "l3_dip_selcmp.en",
26724         .field_bit_size = 1,
26725         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26726         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26727         },
26728         {
26729         .description = "l3_ttl.en",
26730         .field_bit_size = 1,
26731         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26732         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26733         },
26734         {
26735         .description = "l3_prot.en",
26736         .field_bit_size = 1,
26737         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26738         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
26739         .field_opr1 = {
26740         1}
26741         },
26742         {
26743         .description = "l3_fid.en",
26744         .field_bit_size = 1,
26745         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26746         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26747         },
26748         {
26749         .description = "l3_qos.en",
26750         .field_bit_size = 1,
26751         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26752         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26753         },
26754         {
26755         .description = "l3_ieh_nonext.en",
26756         .field_bit_size = 1,
26757         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26758         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26759         },
26760         {
26761         .description = "l3_ieh_esp.en",
26762         .field_bit_size = 1,
26763         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26764         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26765         },
26766         {
26767         .description = "l3_ieh_auth.en",
26768         .field_bit_size = 1,
26769         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26770         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26771         },
26772         {
26773         .description = "l3_ieh_dest.en",
26774         .field_bit_size = 1,
26775         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26776         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26777         },
26778         {
26779         .description = "l3_ieh_frag.en",
26780         .field_bit_size = 1,
26781         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26782         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26783         },
26784         {
26785         .description = "l3_ieh_rthdr.en",
26786         .field_bit_size = 1,
26787         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26788         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26789         },
26790         {
26791         .description = "l3_ieh_hop.en",
26792         .field_bit_size = 1,
26793         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26794         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26795         },
26796         {
26797         .description = "l3_ieh_1frag.en",
26798         .field_bit_size = 1,
26799         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26800         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26801         },
26802         {
26803         .description = "l3_df.en",
26804         .field_bit_size = 1,
26805         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26806         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26807         },
26808         {
26809         .description = "l3_l3err.en",
26810         .field_bit_size = 1,
26811         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26812         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26813         },
26814         {
26815         .description = "l4_l4type.en",
26816         .field_bit_size = 1,
26817         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26818         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26819         },
26820         {
26821         .description = "l4_src.en",
26822         .field_bit_size = 1,
26823         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26824         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26825         },
26826         {
26827         .description = "l4_dst.en",
26828         .field_bit_size = 1,
26829         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26830         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
26831         .field_opr1 = {
26832         1}
26833         },
26834         {
26835         .description = "l4_flags.en",
26836         .field_bit_size = 1,
26837         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26838         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26839         },
26840         {
26841         .description = "l4_seq.en",
26842         .field_bit_size = 1,
26843         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26844         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26845         },
26846         {
26847         .description = "l4_ack.en",
26848         .field_bit_size = 1,
26849         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26850         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26851         },
26852         {
26853         .description = "l4_win.en",
26854         .field_bit_size = 1,
26855         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26856         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26857         },
26858         {
26859         .description = "l4_pa.en",
26860         .field_bit_size = 1,
26861         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26862         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26863         },
26864         {
26865         .description = "l4_opt.en",
26866         .field_bit_size = 1,
26867         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26868         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26869         },
26870         {
26871         .description = "l4_tcpts.en",
26872         .field_bit_size = 1,
26873         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26874         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26875         },
26876         {
26877         .description = "l4_tsval.en",
26878         .field_bit_size = 1,
26879         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26880         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26881         },
26882         {
26883         .description = "l4_txecr.en",
26884         .field_bit_size = 1,
26885         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26886         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26887         },
26888         {
26889         .description = "l4_err.en",
26890         .field_bit_size = 1,
26891         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26892         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26893         },
26894         /* class_tid: 1, thor, table: profile_tcam.icmpv6 */
26895         {
26896         .description = "wc_key_id",
26897         .field_bit_size = 6,
26898         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26899         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
26900         .field_opr1 = {
26901         (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,
26902         BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}
26903         },
26904         {
26905         .description = "wc_profile_id",
26906         .field_bit_size = 8,
26907         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26908         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
26909         .field_opr1 = {
26910         (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
26911         BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff}
26912         },
26913         {
26914         .description = "wc_search_en",
26915         .field_bit_size = 1,
26916         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26917         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
26918         .field_opr1 = {
26919         1}
26920         },
26921         {
26922         .description = "em_key_type",
26923         .field_bit_size = 2,
26924         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26925         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26926         },
26927         {
26928         .description = "em_key_id",
26929         .field_bit_size = 6,
26930         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26931         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26932         },
26933         {
26934         .description = "em_profile_id",
26935         .field_bit_size = 8,
26936         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26937         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26938         },
26939         {
26940         .description = "em_search_en",
26941         .field_bit_size = 1,
26942         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26943         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26944         },
26945         {
26946         .description = "pl_byp_lkup_en",
26947         .field_bit_size = 1,
26948         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26949         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26950         },
26951         /* class_tid: 1, thor, table: profile_tcam_cache.icmpv6_wr */
26952         {
26953         .description = "rid",
26954         .field_bit_size = 32,
26955         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26956         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
26957         .field_opr1 = {
26958         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
26959         BNXT_ULP_RF_IDX_RID & 0xff}
26960         },
26961         {
26962         .description = "profile_tcam_index",
26963         .field_bit_size = 10,
26964         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26965         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26966         },
26967         {
26968         .description = "em_profile_id",
26969         .field_bit_size = 8,
26970         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26971         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26972         },
26973         {
26974         .description = "em_key_id",
26975         .field_bit_size = 8,
26976         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26977         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26978         },
26979         {
26980         .description = "wc_profile_id",
26981         .field_bit_size = 8,
26982         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26983         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26984         },
26985         {
26986         .description = "wc_key_id",
26987         .field_bit_size = 8,
26988         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26989         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26990         },
26991         {
26992         .description = "flow_sig_id",
26993         .field_bit_size = 8,
26994         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
26995         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
26996         },
26997         /* class_tid: 1, thor, table: wm.icmpv6 */
26998         {
26999         .description = "ctxt_data",
27000         .field_bit_size = 14,
27001         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27002         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27003         },
27004         {
27005         .description = "meta_prof",
27006         .field_bit_size = 3,
27007         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27008         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27009         },
27010         {
27011         .description = "opcode",
27012         .field_bit_size = 3,
27013         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27014         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27015         },
27016         {
27017         .description = "data",
27018         .field_bit_size = 16,
27019         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27020         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
27021         .field_opr1 = {
27022         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
27023         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
27024         },
27025         {
27026         .description = "strength",
27027         .field_bit_size = 2,
27028         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27029         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
27030         .field_opr1 = {
27031         1}
27032         },
27033         /* class_tid: 1, thor, table: wm.icmpv6_low */
27034         {
27035         .description = "ctxt_data",
27036         .field_bit_size = 14,
27037         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27038         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27039         },
27040         {
27041         .description = "meta_prof",
27042         .field_bit_size = 3,
27043         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27044         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27045         },
27046         {
27047         .description = "opcode",
27048         .field_bit_size = 3,
27049         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27050         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27051         },
27052         {
27053         .description = "data",
27054         .field_bit_size = 16,
27055         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27056         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
27057         .field_opr1 = {
27058         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
27059         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
27060         },
27061         {
27062         .description = "strength",
27063         .field_bit_size = 2,
27064         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27065         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
27066         .field_opr1 = {
27067         1}
27068         },
27069         /* class_tid: 1, thor, table: fkb_select.l3_l4_wm */
27070         {
27071         .description = "l2_cntxt_id.en",
27072         .field_bit_size = 1,
27073         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27074         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
27075         .field_opr1 = {
27076         1}
27077         },
27078         {
27079         .description = "parif.en",
27080         .field_bit_size = 1,
27081         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27082         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27083         },
27084         {
27085         .description = "spif.en",
27086         .field_bit_size = 1,
27087         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27088         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27089         },
27090         {
27091         .description = "svif.en",
27092         .field_bit_size = 1,
27093         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27094         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27095         },
27096         {
27097         .description = "lcos.en",
27098         .field_bit_size = 1,
27099         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27100         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27101         },
27102         {
27103         .description = "meta.en",
27104         .field_bit_size = 1,
27105         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27106         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27107         },
27108         {
27109         .description = "rcyc_cnt.en",
27110         .field_bit_size = 1,
27111         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27112         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27113         },
27114         {
27115         .description = "loopback.en",
27116         .field_bit_size = 1,
27117         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27118         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27119         },
27120         {
27121         .description = "tl2_l2type.en",
27122         .field_bit_size = 1,
27123         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27124         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27125         },
27126         {
27127         .description = "tl2_dmac.en",
27128         .field_bit_size = 1,
27129         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27130         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27131         },
27132         {
27133         .description = "tl2_smac.en",
27134         .field_bit_size = 1,
27135         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27136         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27137         },
27138         {
27139         .description = "tl2_dt.en",
27140         .field_bit_size = 1,
27141         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27142         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27143         },
27144         {
27145         .description = "tl2_sa.en",
27146         .field_bit_size = 1,
27147         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27148         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27149         },
27150         {
27151         .description = "tl2_nvt.en",
27152         .field_bit_size = 1,
27153         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27154         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27155         },
27156         {
27157         .description = "tl2_ovp.en",
27158         .field_bit_size = 1,
27159         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27160         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27161         },
27162         {
27163         .description = "tl2_ovd.en",
27164         .field_bit_size = 1,
27165         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27166         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27167         },
27168         {
27169         .description = "tl2_ovv.en",
27170         .field_bit_size = 1,
27171         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27172         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27173         },
27174         {
27175         .description = "tl2_ovt.en",
27176         .field_bit_size = 1,
27177         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27178         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27179         },
27180         {
27181         .description = "tl2_ivp.en",
27182         .field_bit_size = 1,
27183         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27184         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27185         },
27186         {
27187         .description = "tl2_ivd.en",
27188         .field_bit_size = 1,
27189         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27190         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27191         },
27192         {
27193         .description = "tl2_ivv.en",
27194         .field_bit_size = 1,
27195         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27196         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27197         },
27198         {
27199         .description = "tl2_ivt.en",
27200         .field_bit_size = 1,
27201         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27202         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27203         },
27204         {
27205         .description = "tl2_etype.en",
27206         .field_bit_size = 1,
27207         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27208         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27209         },
27210         {
27211         .description = "tl3_l3type.en",
27212         .field_bit_size = 1,
27213         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27214         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27215         },
27216         {
27217         .description = "tl3_sip.en",
27218         .field_bit_size = 1,
27219         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27220         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27221         },
27222         {
27223         .description = "tl3_sip_selcmp.en",
27224         .field_bit_size = 1,
27225         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27226         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27227         },
27228         {
27229         .description = "tl3_dip.en",
27230         .field_bit_size = 1,
27231         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27232         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27233         },
27234         {
27235         .description = "tl3_dip_selcmp.en",
27236         .field_bit_size = 1,
27237         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27238         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27239         },
27240         {
27241         .description = "tl3_ttl.en",
27242         .field_bit_size = 1,
27243         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27244         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27245         },
27246         {
27247         .description = "tl3_prot.en",
27248         .field_bit_size = 1,
27249         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27250         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
27251         .field_opr1 = {
27252         1}
27253         },
27254         {
27255         .description = "tl3_fid.en",
27256         .field_bit_size = 1,
27257         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27258         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27259         },
27260         {
27261         .description = "tl3_qos.en",
27262         .field_bit_size = 1,
27263         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27264         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27265         },
27266         {
27267         .description = "tl3_ieh_nonext.en",
27268         .field_bit_size = 1,
27269         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27270         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27271         },
27272         {
27273         .description = "tl3_ieh_esp.en",
27274         .field_bit_size = 1,
27275         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27276         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27277         },
27278         {
27279         .description = "tl3_ieh_auth.en",
27280         .field_bit_size = 1,
27281         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27282         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27283         },
27284         {
27285         .description = "tl3_ieh_dest.en",
27286         .field_bit_size = 1,
27287         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27288         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27289         },
27290         {
27291         .description = "tl3_ieh_frag.en",
27292         .field_bit_size = 1,
27293         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27294         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27295         },
27296         {
27297         .description = "tl3_ieh_rthdr.en",
27298         .field_bit_size = 1,
27299         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27300         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27301         },
27302         {
27303         .description = "tl3_ieh_hop.en",
27304         .field_bit_size = 1,
27305         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27306         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27307         },
27308         {
27309         .description = "tl3_ieh_1frag.en",
27310         .field_bit_size = 1,
27311         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27312         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27313         },
27314         {
27315         .description = "tl3_df.en",
27316         .field_bit_size = 1,
27317         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27318         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27319         },
27320         {
27321         .description = "tl3_l3err.en",
27322         .field_bit_size = 1,
27323         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27324         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27325         },
27326         {
27327         .description = "tl4_l4type.en",
27328         .field_bit_size = 1,
27329         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27330         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27331         },
27332         {
27333         .description = "tl4_src.en",
27334         .field_bit_size = 1,
27335         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27336         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27337         },
27338         {
27339         .description = "tl4_dst.en",
27340         .field_bit_size = 1,
27341         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27342         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27343         },
27344         {
27345         .description = "tl4_flags.en",
27346         .field_bit_size = 1,
27347         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27348         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27349         },
27350         {
27351         .description = "tl4_seq.en",
27352         .field_bit_size = 1,
27353         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27354         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27355         },
27356         {
27357         .description = "tl4_pa.en",
27358         .field_bit_size = 1,
27359         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27360         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27361         },
27362         {
27363         .description = "tl4_opt.en",
27364         .field_bit_size = 1,
27365         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27366         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27367         },
27368         {
27369         .description = "tl4_tcpts.en",
27370         .field_bit_size = 1,
27371         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27372         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27373         },
27374         {
27375         .description = "tl4_err.en",
27376         .field_bit_size = 1,
27377         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27378         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27379         },
27380         {
27381         .description = "tuntype.en",
27382         .field_bit_size = 1,
27383         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27384         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27385         },
27386         {
27387         .description = "tflags.en",
27388         .field_bit_size = 1,
27389         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27390         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27391         },
27392         {
27393         .description = "tids.en",
27394         .field_bit_size = 1,
27395         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27396         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27397         },
27398         {
27399         .description = "tid.en",
27400         .field_bit_size = 1,
27401         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27402         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27403         },
27404         {
27405         .description = "tctxts.en",
27406         .field_bit_size = 1,
27407         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27408         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27409         },
27410         {
27411         .description = "tctxt.en",
27412         .field_bit_size = 1,
27413         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27414         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27415         },
27416         {
27417         .description = "tqos.en",
27418         .field_bit_size = 1,
27419         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27420         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27421         },
27422         {
27423         .description = "terr.en",
27424         .field_bit_size = 1,
27425         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27426         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27427         },
27428         {
27429         .description = "l2_l2type.en",
27430         .field_bit_size = 1,
27431         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27432         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27433         },
27434         {
27435         .description = "l2_dmac.en",
27436         .field_bit_size = 1,
27437         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27438         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27439         },
27440         {
27441         .description = "l2_smac.en",
27442         .field_bit_size = 1,
27443         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27444         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27445         },
27446         {
27447         .description = "l2_dt.en",
27448         .field_bit_size = 1,
27449         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27450         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27451         },
27452         {
27453         .description = "l2_sa.en",
27454         .field_bit_size = 1,
27455         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27456         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27457         },
27458         {
27459         .description = "l2_nvt.en",
27460         .field_bit_size = 1,
27461         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27462         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27463         },
27464         {
27465         .description = "l2_ovp.en",
27466         .field_bit_size = 1,
27467         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27468         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27469         },
27470         {
27471         .description = "l2_ovd.en",
27472         .field_bit_size = 1,
27473         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27474         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27475         },
27476         {
27477         .description = "l2_ovv.en",
27478         .field_bit_size = 1,
27479         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27480         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27481         },
27482         {
27483         .description = "l2_ovt.en",
27484         .field_bit_size = 1,
27485         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27486         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27487         },
27488         {
27489         .description = "l2_ivp.en",
27490         .field_bit_size = 1,
27491         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27492         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27493         },
27494         {
27495         .description = "l2_ivd.en",
27496         .field_bit_size = 1,
27497         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27498         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27499         },
27500         {
27501         .description = "l2_ivv.en",
27502         .field_bit_size = 1,
27503         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27504         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27505         },
27506         {
27507         .description = "l2_ivt.en",
27508         .field_bit_size = 1,
27509         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27510         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27511         },
27512         {
27513         .description = "l2_etype.en",
27514         .field_bit_size = 1,
27515         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27516         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27517         },
27518         {
27519         .description = "l3_l3type.en",
27520         .field_bit_size = 1,
27521         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27522         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27523         },
27524         {
27525         .description = "l3_sip.en",
27526         .field_bit_size = 1,
27527         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27528         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27529         },
27530         {
27531         .description = "l3_sip_selcmp.en",
27532         .field_bit_size = 1,
27533         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27534         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27535         },
27536         {
27537         .description = "l3_dip.en",
27538         .field_bit_size = 1,
27539         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27540         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27541         },
27542         {
27543         .description = "l3_dip_selcmp.en",
27544         .field_bit_size = 1,
27545         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27546         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27547         },
27548         {
27549         .description = "l3_ttl.en",
27550         .field_bit_size = 1,
27551         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27552         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27553         },
27554         {
27555         .description = "l3_prot.en",
27556         .field_bit_size = 1,
27557         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27558         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
27559         .field_opr1 = {
27560         1}
27561         },
27562         {
27563         .description = "l3_fid.en",
27564         .field_bit_size = 1,
27565         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27566         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27567         },
27568         {
27569         .description = "l3_qos.en",
27570         .field_bit_size = 1,
27571         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27572         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27573         },
27574         {
27575         .description = "l3_ieh_nonext.en",
27576         .field_bit_size = 1,
27577         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27578         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27579         },
27580         {
27581         .description = "l3_ieh_esp.en",
27582         .field_bit_size = 1,
27583         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27584         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27585         },
27586         {
27587         .description = "l3_ieh_auth.en",
27588         .field_bit_size = 1,
27589         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27590         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27591         },
27592         {
27593         .description = "l3_ieh_dest.en",
27594         .field_bit_size = 1,
27595         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27596         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27597         },
27598         {
27599         .description = "l3_ieh_frag.en",
27600         .field_bit_size = 1,
27601         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27602         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27603         },
27604         {
27605         .description = "l3_ieh_rthdr.en",
27606         .field_bit_size = 1,
27607         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27608         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27609         },
27610         {
27611         .description = "l3_ieh_hop.en",
27612         .field_bit_size = 1,
27613         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27614         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27615         },
27616         {
27617         .description = "l3_ieh_1frag.en",
27618         .field_bit_size = 1,
27619         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27620         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27621         },
27622         {
27623         .description = "l3_df.en",
27624         .field_bit_size = 1,
27625         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27626         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27627         },
27628         {
27629         .description = "l3_l3err.en",
27630         .field_bit_size = 1,
27631         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27632         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27633         },
27634         {
27635         .description = "l4_l4type.en",
27636         .field_bit_size = 1,
27637         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27638         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27639         },
27640         {
27641         .description = "l4_src.en",
27642         .field_bit_size = 1,
27643         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27644         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27645         },
27646         {
27647         .description = "l4_dst.en",
27648         .field_bit_size = 1,
27649         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27650         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
27651         .field_opr1 = {
27652         1}
27653         },
27654         {
27655         .description = "l4_flags.en",
27656         .field_bit_size = 1,
27657         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27658         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27659         },
27660         {
27661         .description = "l4_seq.en",
27662         .field_bit_size = 1,
27663         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27664         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27665         },
27666         {
27667         .description = "l4_ack.en",
27668         .field_bit_size = 1,
27669         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27670         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27671         },
27672         {
27673         .description = "l4_win.en",
27674         .field_bit_size = 1,
27675         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27676         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27677         },
27678         {
27679         .description = "l4_pa.en",
27680         .field_bit_size = 1,
27681         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27682         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27683         },
27684         {
27685         .description = "l4_opt.en",
27686         .field_bit_size = 1,
27687         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27688         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27689         },
27690         {
27691         .description = "l4_tcpts.en",
27692         .field_bit_size = 1,
27693         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27694         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27695         },
27696         {
27697         .description = "l4_tsval.en",
27698         .field_bit_size = 1,
27699         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27700         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27701         },
27702         {
27703         .description = "l4_txecr.en",
27704         .field_bit_size = 1,
27705         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27706         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27707         },
27708         {
27709         .description = "l4_err.en",
27710         .field_bit_size = 1,
27711         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27712         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27713         },
27714         /* class_tid: 1, thor, table: profile_tcam.l3_l4 */
27715         {
27716         .description = "wc_key_id",
27717         .field_bit_size = 6,
27718         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27719         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
27720         .field_opr1 = {
27721         (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,
27722         BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}
27723         },
27724         {
27725         .description = "wc_profile_id",
27726         .field_bit_size = 8,
27727         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
27728         .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
27729         .field_opr1 = {
27730         ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
27731         ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
27732         ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
27733         ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
27734         ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
27735         ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
27736         ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
27737         (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
27738         .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
27739         .field_opr2 = {
27740                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
27741                 BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff},
27742         .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
27743         .field_opr3 = {
27744         (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
27745         BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 & 0xff}
27746         },
27747         {
27748         .description = "wc_search_en",
27749         .field_bit_size = 1,
27750         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27751         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
27752         .field_opr1 = {
27753         1}
27754         },
27755         {
27756         .description = "em_key_type",
27757         .field_bit_size = 2,
27758         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27759         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27760         },
27761         {
27762         .description = "em_key_id",
27763         .field_bit_size = 6,
27764         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27765         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27766         },
27767         {
27768         .description = "em_profile_id",
27769         .field_bit_size = 8,
27770         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27771         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27772         },
27773         {
27774         .description = "em_search_en",
27775         .field_bit_size = 1,
27776         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27777         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27778         },
27779         {
27780         .description = "pl_byp_lkup_en",
27781         .field_bit_size = 1,
27782         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27783         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27784         },
27785         /* class_tid: 1, thor, table: profile_tcam_cache.wr */
27786         {
27787         .description = "rid",
27788         .field_bit_size = 32,
27789         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27790         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
27791         .field_opr1 = {
27792         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
27793         BNXT_ULP_RF_IDX_RID & 0xff}
27794         },
27795         {
27796         .description = "profile_tcam_index",
27797         .field_bit_size = 10,
27798         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27799         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27800         },
27801         {
27802         .description = "em_profile_id",
27803         .field_bit_size = 8,
27804         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27805         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27806         },
27807         {
27808         .description = "em_key_id",
27809         .field_bit_size = 8,
27810         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27811         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27812         },
27813         {
27814         .description = "wc_profile_id",
27815         .field_bit_size = 8,
27816         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27817         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27818         },
27819         {
27820         .description = "wc_key_id",
27821         .field_bit_size = 8,
27822         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27823         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27824         },
27825         {
27826         .description = "flow_sig_id",
27827         .field_bit_size = 8,
27828         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27829         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27830         },
27831         /* class_tid: 1, thor, table: wm.l4 */
27832         {
27833         .description = "ctxt_data",
27834         .field_bit_size = 14,
27835         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27836         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27837         },
27838         {
27839         .description = "meta_prof",
27840         .field_bit_size = 3,
27841         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27842         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27843         },
27844         {
27845         .description = "opcode",
27846         .field_bit_size = 3,
27847         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27848         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27849         },
27850         {
27851         .description = "data",
27852         .field_bit_size = 16,
27853         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27854         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
27855         .field_opr1 = {
27856         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
27857         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
27858         },
27859         {
27860         .description = "strength",
27861         .field_bit_size = 2,
27862         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27863         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
27864         .field_opr1 = {
27865         1}
27866         },
27867         /* class_tid: 1, thor, table: wm.l4_low */
27868         {
27869         .description = "ctxt_data",
27870         .field_bit_size = 14,
27871         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27872         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27873         },
27874         {
27875         .description = "meta_prof",
27876         .field_bit_size = 3,
27877         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27878         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27879         },
27880         {
27881         .description = "opcode",
27882         .field_bit_size = 3,
27883         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27884         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27885         },
27886         {
27887         .description = "data",
27888         .field_bit_size = 16,
27889         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27890         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
27891         .field_opr1 = {
27892         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
27893         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
27894         },
27895         {
27896         .description = "strength",
27897         .field_bit_size = 2,
27898         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27899         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
27900         .field_opr1 = {
27901         1}
27902         },
27903         /* class_tid: 2, thor, table: l2_cntxt_tcam.0 */
27904         {
27905         .description = "prof_func_id",
27906         .field_bit_size = 7,
27907         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27908         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
27909         .field_opr1 = {
27910         (BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 >> 8) & 0xff,
27911         BNXT_ULP_GLB_RF_IDX_APP_GLB_PROF_FUNC_ID_0 & 0xff}
27912         },
27913         {
27914         .description = "ctxt_meta_prof",
27915         .field_bit_size = 3,
27916         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27917         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27918         },
27919         {
27920         .description = "def_ctxt_data",
27921         .field_bit_size = 16,
27922         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27923         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
27924         .field_opr1 = {
27925         (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
27926         BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
27927         },
27928         {
27929         .description = "ctxt_opcode",
27930         .field_bit_size = 3,
27931         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27932         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
27933         .field_opr1 = {
27934         ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
27935         },
27936         {
27937         .description = "l2_cntxt_id",
27938         .field_bit_size = 10,
27939         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
27940         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
27941         .field_opr1 = {
27942         (BNXT_ULP_RF_IDX_PHY_PORT >> 8) & 0xff,
27943         BNXT_ULP_RF_IDX_PHY_PORT & 0xff},
27944         .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
27945         .field_opr2 = {
27946                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 >> 8) & 0xff,
27947                 BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_1 & 0xff},
27948         .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
27949         .field_opr3 = {
27950         (BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 >> 8) & 0xff,
27951         BNXT_ULP_GLB_RF_IDX_APP_GLB_L2_CNTXT_ID_0 & 0xff}
27952         },
27953         {
27954         .description = "parif",
27955         .field_bit_size = 4,
27956         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27957         .field_src1 = BNXT_ULP_FIELD_SRC_CF,
27958         .field_opr1 = {
27959         (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
27960         BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
27961         },
27962         /* class_tid: 2, thor, table: mac_addr_cache.wr */
27963         {
27964         .description = "rid",
27965         .field_bit_size = 32,
27966         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27967         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
27968         .field_opr1 = {
27969         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
27970         BNXT_ULP_RF_IDX_RID & 0xff}
27971         },
27972         {
27973         .description = "l2_cntxt_tcam_index",
27974         .field_bit_size = 10,
27975         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27976         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27977         },
27978         {
27979         .description = "l2_cntxt_id",
27980         .field_bit_size = 10,
27981         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27982         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27983         },
27984         {
27985         .description = "src_property_ptr",
27986         .field_bit_size = 10,
27987         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27988         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
27989         },
27990         /* class_tid: 2, thor, table: fkb_select.l3_l4_wm */
27991         {
27992         .description = "l2_cntxt_id.en",
27993         .field_bit_size = 1,
27994         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
27995         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
27996         .field_opr1 = {
27997         1}
27998         },
27999         {
28000         .description = "parif.en",
28001         .field_bit_size = 1,
28002         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28003         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28004         },
28005         {
28006         .description = "spif.en",
28007         .field_bit_size = 1,
28008         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28009         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28010         },
28011         {
28012         .description = "svif.en",
28013         .field_bit_size = 1,
28014         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28015         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28016         },
28017         {
28018         .description = "lcos.en",
28019         .field_bit_size = 1,
28020         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28021         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28022         },
28023         {
28024         .description = "meta.en",
28025         .field_bit_size = 1,
28026         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28027         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28028         },
28029         {
28030         .description = "rcyc_cnt.en",
28031         .field_bit_size = 1,
28032         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28033         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28034         },
28035         {
28036         .description = "loopback.en",
28037         .field_bit_size = 1,
28038         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28039         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28040         },
28041         {
28042         .description = "tl2_l2type.en",
28043         .field_bit_size = 1,
28044         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28045         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28046         },
28047         {
28048         .description = "tl2_dmac.en",
28049         .field_bit_size = 1,
28050         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28051         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28052         },
28053         {
28054         .description = "tl2_smac.en",
28055         .field_bit_size = 1,
28056         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28057         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28058         },
28059         {
28060         .description = "tl2_dt.en",
28061         .field_bit_size = 1,
28062         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28063         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28064         },
28065         {
28066         .description = "tl2_sa.en",
28067         .field_bit_size = 1,
28068         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28069         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28070         },
28071         {
28072         .description = "tl2_nvt.en",
28073         .field_bit_size = 1,
28074         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28075         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28076         },
28077         {
28078         .description = "tl2_ovp.en",
28079         .field_bit_size = 1,
28080         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28081         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28082         },
28083         {
28084         .description = "tl2_ovd.en",
28085         .field_bit_size = 1,
28086         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28087         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28088         },
28089         {
28090         .description = "tl2_ovv.en",
28091         .field_bit_size = 1,
28092         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28093         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28094         },
28095         {
28096         .description = "tl2_ovt.en",
28097         .field_bit_size = 1,
28098         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28099         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28100         },
28101         {
28102         .description = "tl2_ivp.en",
28103         .field_bit_size = 1,
28104         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28105         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28106         },
28107         {
28108         .description = "tl2_ivd.en",
28109         .field_bit_size = 1,
28110         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28111         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28112         },
28113         {
28114         .description = "tl2_ivv.en",
28115         .field_bit_size = 1,
28116         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28117         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28118         },
28119         {
28120         .description = "tl2_ivt.en",
28121         .field_bit_size = 1,
28122         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28123         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28124         },
28125         {
28126         .description = "tl2_etype.en",
28127         .field_bit_size = 1,
28128         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28129         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28130         },
28131         {
28132         .description = "tl3_l3type.en",
28133         .field_bit_size = 1,
28134         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28135         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28136         },
28137         {
28138         .description = "tl3_sip.en",
28139         .field_bit_size = 1,
28140         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28141         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28142         },
28143         {
28144         .description = "tl3_sip_selcmp.en",
28145         .field_bit_size = 1,
28146         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28147         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28148         },
28149         {
28150         .description = "tl3_dip.en",
28151         .field_bit_size = 1,
28152         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28153         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28154         },
28155         {
28156         .description = "tl3_dip_selcmp.en",
28157         .field_bit_size = 1,
28158         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28159         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28160         },
28161         {
28162         .description = "tl3_ttl.en",
28163         .field_bit_size = 1,
28164         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28165         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28166         },
28167         {
28168         .description = "tl3_prot.en",
28169         .field_bit_size = 1,
28170         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28171         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
28172         .field_opr1 = {
28173         1}
28174         },
28175         {
28176         .description = "tl3_fid.en",
28177         .field_bit_size = 1,
28178         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28179         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28180         },
28181         {
28182         .description = "tl3_qos.en",
28183         .field_bit_size = 1,
28184         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28185         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28186         },
28187         {
28188         .description = "tl3_ieh_nonext.en",
28189         .field_bit_size = 1,
28190         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28191         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28192         },
28193         {
28194         .description = "tl3_ieh_esp.en",
28195         .field_bit_size = 1,
28196         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28197         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28198         },
28199         {
28200         .description = "tl3_ieh_auth.en",
28201         .field_bit_size = 1,
28202         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28203         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28204         },
28205         {
28206         .description = "tl3_ieh_dest.en",
28207         .field_bit_size = 1,
28208         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28209         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28210         },
28211         {
28212         .description = "tl3_ieh_frag.en",
28213         .field_bit_size = 1,
28214         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28215         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28216         },
28217         {
28218         .description = "tl3_ieh_rthdr.en",
28219         .field_bit_size = 1,
28220         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28221         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28222         },
28223         {
28224         .description = "tl3_ieh_hop.en",
28225         .field_bit_size = 1,
28226         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28227         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28228         },
28229         {
28230         .description = "tl3_ieh_1frag.en",
28231         .field_bit_size = 1,
28232         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28233         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28234         },
28235         {
28236         .description = "tl3_df.en",
28237         .field_bit_size = 1,
28238         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28239         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28240         },
28241         {
28242         .description = "tl3_l3err.en",
28243         .field_bit_size = 1,
28244         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28245         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28246         },
28247         {
28248         .description = "tl4_l4type.en",
28249         .field_bit_size = 1,
28250         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28251         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28252         },
28253         {
28254         .description = "tl4_src.en",
28255         .field_bit_size = 1,
28256         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28257         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28258         },
28259         {
28260         .description = "tl4_dst.en",
28261         .field_bit_size = 1,
28262         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28263         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28264         },
28265         {
28266         .description = "tl4_flags.en",
28267         .field_bit_size = 1,
28268         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28269         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28270         },
28271         {
28272         .description = "tl4_seq.en",
28273         .field_bit_size = 1,
28274         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28275         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28276         },
28277         {
28278         .description = "tl4_pa.en",
28279         .field_bit_size = 1,
28280         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28281         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28282         },
28283         {
28284         .description = "tl4_opt.en",
28285         .field_bit_size = 1,
28286         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28287         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28288         },
28289         {
28290         .description = "tl4_tcpts.en",
28291         .field_bit_size = 1,
28292         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28293         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28294         },
28295         {
28296         .description = "tl4_err.en",
28297         .field_bit_size = 1,
28298         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28299         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28300         },
28301         {
28302         .description = "tuntype.en",
28303         .field_bit_size = 1,
28304         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28305         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28306         },
28307         {
28308         .description = "tflags.en",
28309         .field_bit_size = 1,
28310         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28311         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28312         },
28313         {
28314         .description = "tids.en",
28315         .field_bit_size = 1,
28316         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28317         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28318         },
28319         {
28320         .description = "tid.en",
28321         .field_bit_size = 1,
28322         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28323         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28324         },
28325         {
28326         .description = "tctxts.en",
28327         .field_bit_size = 1,
28328         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28329         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28330         },
28331         {
28332         .description = "tctxt.en",
28333         .field_bit_size = 1,
28334         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28335         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28336         },
28337         {
28338         .description = "tqos.en",
28339         .field_bit_size = 1,
28340         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28341         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28342         },
28343         {
28344         .description = "terr.en",
28345         .field_bit_size = 1,
28346         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28347         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28348         },
28349         {
28350         .description = "l2_l2type.en",
28351         .field_bit_size = 1,
28352         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28353         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28354         },
28355         {
28356         .description = "l2_dmac.en",
28357         .field_bit_size = 1,
28358         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28359         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28360         },
28361         {
28362         .description = "l2_smac.en",
28363         .field_bit_size = 1,
28364         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28365         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28366         },
28367         {
28368         .description = "l2_dt.en",
28369         .field_bit_size = 1,
28370         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28371         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28372         },
28373         {
28374         .description = "l2_sa.en",
28375         .field_bit_size = 1,
28376         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28377         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28378         },
28379         {
28380         .description = "l2_nvt.en",
28381         .field_bit_size = 1,
28382         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28383         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28384         },
28385         {
28386         .description = "l2_ovp.en",
28387         .field_bit_size = 1,
28388         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28389         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28390         },
28391         {
28392         .description = "l2_ovd.en",
28393         .field_bit_size = 1,
28394         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28395         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28396         },
28397         {
28398         .description = "l2_ovv.en",
28399         .field_bit_size = 1,
28400         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28401         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28402         },
28403         {
28404         .description = "l2_ovt.en",
28405         .field_bit_size = 1,
28406         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28407         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28408         },
28409         {
28410         .description = "l2_ivp.en",
28411         .field_bit_size = 1,
28412         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28413         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28414         },
28415         {
28416         .description = "l2_ivd.en",
28417         .field_bit_size = 1,
28418         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28419         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28420         },
28421         {
28422         .description = "l2_ivv.en",
28423         .field_bit_size = 1,
28424         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28425         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28426         },
28427         {
28428         .description = "l2_ivt.en",
28429         .field_bit_size = 1,
28430         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28431         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28432         },
28433         {
28434         .description = "l2_etype.en",
28435         .field_bit_size = 1,
28436         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28437         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28438         },
28439         {
28440         .description = "l3_l3type.en",
28441         .field_bit_size = 1,
28442         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28443         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28444         },
28445         {
28446         .description = "l3_sip.en",
28447         .field_bit_size = 1,
28448         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28449         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28450         },
28451         {
28452         .description = "l3_sip_selcmp.en",
28453         .field_bit_size = 1,
28454         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28455         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28456         },
28457         {
28458         .description = "l3_dip.en",
28459         .field_bit_size = 1,
28460         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28461         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28462         },
28463         {
28464         .description = "l3_dip_selcmp.en",
28465         .field_bit_size = 1,
28466         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28467         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28468         },
28469         {
28470         .description = "l3_ttl.en",
28471         .field_bit_size = 1,
28472         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28473         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28474         },
28475         {
28476         .description = "l3_prot.en",
28477         .field_bit_size = 1,
28478         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28479         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
28480         .field_opr1 = {
28481         1}
28482         },
28483         {
28484         .description = "l3_fid.en",
28485         .field_bit_size = 1,
28486         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28487         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28488         },
28489         {
28490         .description = "l3_qos.en",
28491         .field_bit_size = 1,
28492         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28493         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28494         },
28495         {
28496         .description = "l3_ieh_nonext.en",
28497         .field_bit_size = 1,
28498         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28499         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28500         },
28501         {
28502         .description = "l3_ieh_esp.en",
28503         .field_bit_size = 1,
28504         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28505         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28506         },
28507         {
28508         .description = "l3_ieh_auth.en",
28509         .field_bit_size = 1,
28510         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28511         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28512         },
28513         {
28514         .description = "l3_ieh_dest.en",
28515         .field_bit_size = 1,
28516         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28517         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28518         },
28519         {
28520         .description = "l3_ieh_frag.en",
28521         .field_bit_size = 1,
28522         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28523         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28524         },
28525         {
28526         .description = "l3_ieh_rthdr.en",
28527         .field_bit_size = 1,
28528         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28529         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28530         },
28531         {
28532         .description = "l3_ieh_hop.en",
28533         .field_bit_size = 1,
28534         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28535         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28536         },
28537         {
28538         .description = "l3_ieh_1frag.en",
28539         .field_bit_size = 1,
28540         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28541         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28542         },
28543         {
28544         .description = "l3_df.en",
28545         .field_bit_size = 1,
28546         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28547         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28548         },
28549         {
28550         .description = "l3_l3err.en",
28551         .field_bit_size = 1,
28552         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28553         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28554         },
28555         {
28556         .description = "l4_l4type.en",
28557         .field_bit_size = 1,
28558         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28559         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28560         },
28561         {
28562         .description = "l4_src.en",
28563         .field_bit_size = 1,
28564         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28565         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28566         },
28567         {
28568         .description = "l4_dst.en",
28569         .field_bit_size = 1,
28570         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28571         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
28572         .field_opr1 = {
28573         1}
28574         },
28575         {
28576         .description = "l4_flags.en",
28577         .field_bit_size = 1,
28578         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28579         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28580         },
28581         {
28582         .description = "l4_seq.en",
28583         .field_bit_size = 1,
28584         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28585         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28586         },
28587         {
28588         .description = "l4_ack.en",
28589         .field_bit_size = 1,
28590         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28591         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28592         },
28593         {
28594         .description = "l4_win.en",
28595         .field_bit_size = 1,
28596         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28597         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28598         },
28599         {
28600         .description = "l4_pa.en",
28601         .field_bit_size = 1,
28602         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28603         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28604         },
28605         {
28606         .description = "l4_opt.en",
28607         .field_bit_size = 1,
28608         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28609         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28610         },
28611         {
28612         .description = "l4_tcpts.en",
28613         .field_bit_size = 1,
28614         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28615         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28616         },
28617         {
28618         .description = "l4_tsval.en",
28619         .field_bit_size = 1,
28620         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28621         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28622         },
28623         {
28624         .description = "l4_txecr.en",
28625         .field_bit_size = 1,
28626         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28627         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28628         },
28629         {
28630         .description = "l4_err.en",
28631         .field_bit_size = 1,
28632         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28633         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28634         },
28635         /* class_tid: 2, thor, table: profile_tcam.l3_l4 */
28636         {
28637         .description = "wc_key_id",
28638         .field_bit_size = 6,
28639         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28640         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
28641         .field_opr1 = {
28642         (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 >> 8) & 0xff,
28643         BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_KEY_ID_0 & 0xff}
28644         },
28645         {
28646         .description = "wc_profile_id",
28647         .field_bit_size = 8,
28648         .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
28649         .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
28650         .field_opr1 = {
28651         ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
28652         ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
28653         ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
28654         ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
28655         ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
28656         ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
28657         ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
28658         (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
28659         .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
28660         .field_opr2 = {
28661                 (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
28662                 BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_0 & 0xff},
28663         .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
28664         .field_opr3 = {
28665         (BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 >> 8) & 0xff,
28666         BNXT_ULP_GLB_RF_IDX_APP_GLB_WC_PROFILE_ID_1 & 0xff}
28667         },
28668         {
28669         .description = "wc_search_en",
28670         .field_bit_size = 1,
28671         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28672         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
28673         .field_opr1 = {
28674         1}
28675         },
28676         {
28677         .description = "em_key_type",
28678         .field_bit_size = 2,
28679         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28680         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28681         },
28682         {
28683         .description = "em_key_id",
28684         .field_bit_size = 6,
28685         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28686         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28687         },
28688         {
28689         .description = "em_profile_id",
28690         .field_bit_size = 8,
28691         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28692         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28693         },
28694         {
28695         .description = "em_search_en",
28696         .field_bit_size = 1,
28697         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28698         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28699         },
28700         {
28701         .description = "pl_byp_lkup_en",
28702         .field_bit_size = 1,
28703         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28704         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28705         },
28706         /* class_tid: 2, thor, table: profile_tcam_cache.wr */
28707         {
28708         .description = "rid",
28709         .field_bit_size = 32,
28710         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28711         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
28712         .field_opr1 = {
28713         (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
28714         BNXT_ULP_RF_IDX_RID & 0xff}
28715         },
28716         {
28717         .description = "profile_tcam_index",
28718         .field_bit_size = 10,
28719         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28720         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28721         },
28722         {
28723         .description = "em_profile_id",
28724         .field_bit_size = 8,
28725         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28726         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28727         },
28728         {
28729         .description = "em_key_id",
28730         .field_bit_size = 8,
28731         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28732         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28733         },
28734         {
28735         .description = "wc_profile_id",
28736         .field_bit_size = 8,
28737         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28738         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28739         },
28740         {
28741         .description = "wc_key_id",
28742         .field_bit_size = 8,
28743         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28744         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28745         },
28746         {
28747         .description = "flow_sig_id",
28748         .field_bit_size = 8,
28749         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28750         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28751         },
28752         /* class_tid: 2, thor, table: wm.l4 */
28753         {
28754         .description = "ctxt_data",
28755         .field_bit_size = 14,
28756         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28757         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28758         },
28759         {
28760         .description = "meta_prof",
28761         .field_bit_size = 3,
28762         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28763         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28764         },
28765         {
28766         .description = "opcode",
28767         .field_bit_size = 3,
28768         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28769         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28770         },
28771         {
28772         .description = "data",
28773         .field_bit_size = 16,
28774         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28775         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
28776         .field_opr1 = {
28777         (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
28778         BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
28779         },
28780         {
28781         .description = "strength",
28782         .field_bit_size = 2,
28783         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28784         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
28785         .field_opr1 = {
28786         1}
28787         },
28788         /* class_tid: 4, thor, table: int_full_act_record.0 */
28789         {
28790         .description = "sp_rec_ptr",
28791         .field_bit_size = 16,
28792         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28793         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28794         },
28795         {
28796         .description = "encap_ptr",
28797         .field_bit_size = 16,
28798         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28799         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28800         },
28801         {
28802         .description = "mod_rec_ptr",
28803         .field_bit_size = 16,
28804         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28805         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28806         },
28807         {
28808         .description = "rsvd1",
28809         .field_bit_size = 16,
28810         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28811         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28812         },
28813         {
28814         .description = "rsvd0",
28815         .field_bit_size = 8,
28816         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28817         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28818         },
28819         {
28820         .description = "decap_func",
28821         .field_bit_size = 5,
28822         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28823         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28824         },
28825         {
28826         .description = "meter",
28827         .field_bit_size = 10,
28828         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28829         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28830         },
28831         {
28832         .description = "stats_op",
28833         .field_bit_size = 1,
28834         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28835         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28836         },
28837         {
28838         .description = "stats_ptr",
28839         .field_bit_size = 16,
28840         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28841         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28842         },
28843         {
28844         .description = "vnic_or_vport",
28845         .field_bit_size = 11,
28846         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28847         .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
28848         .field_opr1 = {
28849                 (BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC >> 8) & 0xff,
28850                 BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC & 0xff}
28851         },
28852         {
28853         .description = "use_default",
28854         .field_bit_size = 1,
28855         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28856         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28857         },
28858         {
28859         .description = "mirror",
28860         .field_bit_size = 4,
28861         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28862         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28863         },
28864         {
28865         .description = "cond_copy",
28866         .field_bit_size = 1,
28867         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28868         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28869         },
28870         {
28871         .description = "vlan_del_rpt",
28872         .field_bit_size = 2,
28873         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28874         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28875         },
28876         {
28877         .description = "drop",
28878         .field_bit_size = 1,
28879         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28880         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28881         },
28882         {
28883         .description = "hit",
28884         .field_bit_size = 1,
28885         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28886         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28887         },
28888         {
28889         .description = "type",
28890         .field_bit_size = 3,
28891         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28892         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
28893         .field_opr1 = {
28894         1}
28895         },
28896         /* class_tid: 4, thor, table: port_table.wr_0 */
28897         {
28898         .description = "rid",
28899         .field_bit_size = 32,
28900         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28901         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28902         },
28903         {
28904         .description = "drv_func.mac",
28905         .field_bit_size = 48,
28906         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28907         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28908         },
28909         {
28910         .description = "drv_func.parent.mac",
28911         .field_bit_size = 48,
28912         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28913         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
28914         .field_opr1 = {
28915         (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
28916         BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
28917         },
28918         {
28919         .description = "phy_port",
28920         .field_bit_size = 8,
28921         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28922         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28923         },
28924         {
28925         .description = "default_arec_ptr",
28926         .field_bit_size = 16,
28927         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28928         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
28929         .field_opr1 = {
28930         (BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0 >> 8) & 0xff,
28931         BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_0 & 0xff}
28932         },
28933         /* class_tid: 4, thor, table: int_full_act_record.1 */
28934         {
28935         .description = "sp_rec_ptr",
28936         .field_bit_size = 16,
28937         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28938         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28939         },
28940         {
28941         .description = "encap_ptr",
28942         .field_bit_size = 16,
28943         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28944         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28945         },
28946         {
28947         .description = "mod_rec_ptr",
28948         .field_bit_size = 16,
28949         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28950         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28951         },
28952         {
28953         .description = "rsvd1",
28954         .field_bit_size = 16,
28955         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28956         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28957         },
28958         {
28959         .description = "rsvd0",
28960         .field_bit_size = 8,
28961         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28962         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28963         },
28964         {
28965         .description = "decap_func",
28966         .field_bit_size = 5,
28967         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28968         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28969         },
28970         {
28971         .description = "meter",
28972         .field_bit_size = 10,
28973         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28974         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28975         },
28976         {
28977         .description = "stats_op",
28978         .field_bit_size = 1,
28979         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28980         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28981         },
28982         {
28983         .description = "stats_ptr",
28984         .field_bit_size = 16,
28985         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28986         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
28987         },
28988         {
28989         .description = "vnic_or_vport",
28990         .field_bit_size = 11,
28991         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
28992         .field_src1 = BNXT_ULP_FIELD_SRC_PORT_TABLE,
28993         .field_opr1 = {
28994                 (BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC >> 8) & 0xff,
28995                 BNXT_ULP_PORT_TABLE_DRV_FUNC_PARENT_VNIC & 0xff}
28996         },
28997         {
28998         .description = "use_default",
28999         .field_bit_size = 1,
29000         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
29001         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
29002         },
29003         {
29004         .description = "mirror",
29005         .field_bit_size = 4,
29006         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
29007         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
29008         },
29009         {
29010         .description = "cond_copy",
29011         .field_bit_size = 1,
29012         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
29013         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
29014         },
29015         {
29016         .description = "vlan_del_rpt",
29017         .field_bit_size = 2,
29018         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
29019         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
29020         },
29021         {
29022         .description = "drop",
29023         .field_bit_size = 1,
29024         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
29025         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
29026         },
29027         {
29028         .description = "hit",
29029         .field_bit_size = 1,
29030         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
29031         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
29032         },
29033         {
29034         .description = "type",
29035         .field_bit_size = 3,
29036         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
29037         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
29038         .field_opr1 = {
29039         1}
29040         },
29041         /* class_tid: 4, thor, table: port_table.wr_1 */
29042         {
29043         .description = "rid",
29044         .field_bit_size = 32,
29045         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
29046         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
29047         },
29048         {
29049         .description = "drv_func.mac",
29050         .field_bit_size = 48,
29051         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
29052         .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
29053         },
29054         {
29055         .description = "drv_func.parent.mac",
29056         .field_bit_size = 48,
29057         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
29058         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
29059         .field_opr1 = {
29060         (BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC >> 8) & 0xff,
29061         BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC & 0xff}
29062         },
29063         {
29064         .description = "phy_port",
29065         .field_bit_size = 8,
29066         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
29067         .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
29068         .field_opr1 = {
29069         1}
29070         },
29071         {
29072         .description = "default_arec_ptr",
29073         .field_bit_size = 16,
29074         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
29075         .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
29076         .field_opr1 = {
29077         (BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1 >> 8) & 0xff,
29078         BNXT_ULP_GLB_RF_IDX_APP_GLB_AREC_PTR_1 & 0xff}
29079         },
29080         /* class_tid: 4, thor, table: parif_def_arec_ptr.ing_0 */
29081         {
29082         .description = "act_rec_ptr",
29083         .field_bit_size = 32,
29084         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
29085         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
29086         .field_opr1 = {
29087         (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
29088         BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
29089         },
29090         /* class_tid: 4, thor, table: parif_def_err_arec_ptr.ing_0 */
29091         {
29092         .description = "act_rec_ptr",
29093         .field_bit_size = 32,
29094         .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
29095         .field_src1 = BNXT_ULP_FIELD_SRC_RF,
29096         .field_opr1 = {
29097         (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
29098         BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
29099         }
29100 };
29101
29102 struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
29103         /* class_tid: 1, thor, table: port_table.rd */
29104         {
29105         .description = "default_arec_ptr",
29106         .regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,
29107         .ident_bit_size = 16,
29108         .ident_bit_pos = 136
29109         },
29110         {
29111         .description = "drv_func.parent.mac",
29112         .regfile_idx = BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC,
29113         .ident_bit_size = 48,
29114         .ident_bit_pos = 80
29115         },
29116         {
29117         .description = "phy_port",
29118         .regfile_idx = BNXT_ULP_RF_IDX_PHY_PORT,
29119         .ident_bit_size = 8,
29120         .ident_bit_pos = 128
29121         },
29122         /* class_tid: 1, thor, table: l2_cntxt_tcam.gre */
29123         {
29124         .description = "l2_cntxt_id",
29125         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
29126         .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
29127         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
29128         .ident_bit_size = 10,
29129         .ident_bit_pos = 29
29130         },
29131         /* class_tid: 1, thor, table: profile_tcam.icmpv4 */
29132         {
29133         .description = "em_profile_id",
29134         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
29135         .ident_type = TF_IDENT_TYPE_EM_PROF,
29136         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
29137         .ident_bit_size = 8,
29138         .ident_bit_pos = 23
29139         },
29140         /* class_tid: 1, thor, table: profile_tcam.icmpv6 */
29141         {
29142         .description = "em_profile_id",
29143         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
29144         .ident_type = TF_IDENT_TYPE_EM_PROF,
29145         .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
29146         .ident_bit_size = 8,
29147         .ident_bit_pos = 23
29148         },
29149         /* class_tid: 2, thor, table: port_table.rd */
29150         {
29151         .description = "default_arec_ptr",
29152         .regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,
29153         .ident_bit_size = 16,
29154         .ident_bit_pos = 136
29155         },
29156         {
29157         .description = "drv_func.parent.mac",
29158         .regfile_idx = BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC,
29159         .ident_bit_size = 48,
29160         .ident_bit_pos = 80
29161         },
29162         {
29163         .description = "phy_port",
29164         .regfile_idx = BNXT_ULP_RF_IDX_PHY_PORT,
29165         .ident_bit_size = 8,
29166         .ident_bit_pos = 128
29167         },
29168         /* class_tid: 2, thor, table: l2_cntxt_tcam.0 */
29169         {
29170         .description = "l2_cntxt_id",
29171         .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
29172         .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
29173         .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
29174         .ident_bit_size = 10,
29175         .ident_bit_pos = 29
29176         },
29177         /* class_tid: 4, thor, table: port_table.rd */
29178         {
29179         .description = "default_arec_ptr",
29180         .regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,
29181         .ident_bit_size = 16,
29182         .ident_bit_pos = 136
29183         }
29184 };
29185