1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2014-2021 Broadcom
6 /* date: Thu May 13 18:15:56 2021 */
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"
13 /* Mapper templates for header class list */
14 struct bnxt_ulp_mapper_tmpl_info ulp_thor_class_tmpl_list[] = {
15 /* class_tid: 1, ingress */
17 .device_name = BNXT_ULP_DEVICE_ID_THOR,
21 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
25 /* class_tid: 3, ingress */
27 .device_name = BNXT_ULP_DEVICE_ID_THOR,
31 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
35 /* class_tid: 4, egress */
37 .device_name = BNXT_ULP_DEVICE_ID_THOR,
41 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
47 struct bnxt_ulp_mapper_tbl_info ulp_thor_class_tbl_list[] = {
48 { /* class_tid: 1, , table: port_table.rd */
49 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
51 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,
52 .direction = TF_DIR_RX,
56 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
59 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
60 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
61 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
62 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
64 .blob_key_bit_size = 10,
70 { /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */
71 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
72 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
74 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
75 .direction = TF_DIR_RX,
79 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
82 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
83 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
84 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
85 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
87 .blob_key_bit_size = 8,
93 { /* class_tid: 1, , table: mac_addr_cache.rd */
94 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
96 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
97 .direction = TF_DIR_RX,
100 .cond_false_goto = 1,
101 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
104 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
105 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
106 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
107 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
109 .blob_key_bit_size = 73,
112 .ident_start_idx = 4,
115 { /* class_tid: 1, , table: control.0 */
116 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
117 .direction = TF_DIR_RX,
120 .cond_false_goto = 3,
121 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
124 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
125 .fdb_operand = BNXT_ULP_RF_IDX_RID,
126 .byte_order = BNXT_ULP_BYTE_ORDER_LE
128 { /* class_tid: 1, , table: l2_cntxt_tcam.0 */
129 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
130 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
131 .direction = TF_DIR_RX,
134 .cond_false_goto = 1,
135 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
138 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
139 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
140 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
141 .fdb_operand = BNXT_ULP_RF_IDX_RID,
142 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
144 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
146 .blob_key_bit_size = 213,
148 .key_num_fields = 21,
149 .result_start_idx = 0,
150 .result_bit_size = 43,
151 .result_num_fields = 6,
152 .ident_start_idx = 5,
155 { /* class_tid: 1, , table: mac_addr_cache.wr */
156 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
158 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
159 .direction = TF_DIR_RX,
162 .cond_false_goto = 1,
163 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
166 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
167 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
168 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
169 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
171 .blob_key_bit_size = 73,
174 .result_start_idx = 6,
175 .result_bit_size = 62,
176 .result_num_fields = 4
178 { /* class_tid: 1, , table: profile_tcam_cache.l3_l4_rd */
179 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
181 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
182 .direction = TF_DIR_RX,
185 .cond_false_goto = 1,
186 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
189 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
190 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
191 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
192 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
194 .blob_key_bit_size = 14,
197 .ident_start_idx = 6,
200 { /* class_tid: 1, , table: control.l3_l4 */
201 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
202 .direction = TF_DIR_RX,
205 .cond_false_goto = 4,
206 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
209 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
210 .fdb_operand = BNXT_ULP_RF_IDX_RID,
211 .byte_order = BNXT_ULP_BYTE_ORDER_LE
213 { /* class_tid: 1, , table: fkb_select.l3_l4_wm */
214 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
215 .resource_type = TF_TBL_TYPE_WC_FKB,
216 .direction = TF_DIR_RX,
219 .cond_false_goto = 1,
220 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
223 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
224 .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_0,
225 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
226 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
227 .result_start_idx = 10,
228 .result_bit_size = 106,
229 .result_num_fields = 106
231 { /* class_tid: 1, , table: profile_tcam.l3_l4 */
232 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
233 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
234 .direction = TF_DIR_RX,
237 .cond_false_goto = 1,
238 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
241 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
242 .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
243 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
244 .fdb_operand = BNXT_ULP_RF_IDX_RID,
245 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
247 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
248 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
249 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
251 .blob_key_bit_size = 94,
253 .key_num_fields = 43,
254 .result_start_idx = 116,
255 .result_bit_size = 33,
256 .result_num_fields = 8,
257 .ident_start_idx = 6,
260 { /* class_tid: 1, , table: profile_tcam_cache.l3_l4_wr */
261 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
263 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
264 .direction = TF_DIR_RX,
267 .cond_false_goto = 1,
268 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
271 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
272 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
273 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
274 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
276 .blob_key_bit_size = 14,
279 .result_start_idx = 124,
280 .result_bit_size = 138,
281 .result_num_fields = 7
283 { /* class_tid: 1, , table: wm.l3_l4 */
284 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
285 .resource_type = TF_TCAM_TBL_TYPE_WC_TCAM,
286 .direction = TF_DIR_RX,
289 .cond_false_goto = 0,
290 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
293 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
294 .tbl_operand = BNXT_ULP_RF_IDX_WC_TCAM_INDEX_0,
295 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
296 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
298 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
299 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
300 .byte_order = BNXT_ULP_BYTE_ORDER_BE,
302 .blob_key_bit_size = 0,
304 .key_num_fields = 114,
305 .result_start_idx = 131,
306 .result_bit_size = 38,
307 .result_num_fields = 5
309 { /* class_tid: 3, , table: int_full_act_record.0 */
310 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
311 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
313 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
314 .direction = TF_DIR_RX,
317 .cond_false_goto = 1,
318 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
321 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
322 .tbl_operand = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,
323 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
324 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
325 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
326 .result_start_idx = 136,
327 .result_bit_size = 128,
328 .result_num_fields = 17
330 { /* class_tid: 3, , table: port_table.wr_0 */
331 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
333 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PORT_TABLE,
334 .direction = TF_DIR_RX,
337 .cond_false_goto = 1,
338 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
341 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
342 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
343 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
344 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
345 .key_start_idx = 196,
346 .blob_key_bit_size = 10,
349 .result_start_idx = 153,
350 .result_bit_size = 152,
351 .result_num_fields = 5
353 { /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_rd */
354 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
356 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
357 .direction = TF_DIR_RX,
360 .cond_false_goto = 1,
361 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
364 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
365 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
366 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
367 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
368 .key_start_idx = 197,
369 .blob_key_bit_size = 8,
372 .ident_start_idx = 6,
375 { /* class_tid: 3, , table: control.ing_0 */
376 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
377 .direction = TF_DIR_RX,
380 .cond_false_goto = 3,
381 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
384 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
385 .fdb_operand = BNXT_ULP_RF_IDX_RID,
386 .byte_order = BNXT_ULP_BYTE_ORDER_LE
388 { /* class_tid: 3, , table: l2_cntxt_tcam.ing_0 */
389 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
390 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
391 .direction = TF_DIR_RX,
394 .cond_false_goto = 1,
395 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
396 .cond_start_idx = 10,
398 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
399 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
400 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
401 .fdb_operand = BNXT_ULP_RF_IDX_RID,
402 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
404 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
405 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
406 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
407 .key_start_idx = 198,
408 .blob_key_bit_size = 213,
410 .key_num_fields = 21,
411 .result_start_idx = 158,
412 .result_bit_size = 43,
413 .result_num_fields = 6,
414 .ident_start_idx = 6,
417 { /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_wr */
418 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
420 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
421 .direction = TF_DIR_RX,
424 .cond_false_goto = 1,
425 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
426 .cond_start_idx = 10,
428 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
429 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
430 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
431 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
432 .key_start_idx = 219,
433 .blob_key_bit_size = 8,
436 .result_start_idx = 164,
437 .result_bit_size = 62,
438 .result_num_fields = 4
440 { /* class_tid: 3, , table: parif_def_arec_ptr.ing_0 */
441 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
442 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
443 .direction = TF_DIR_RX,
446 .cond_false_goto = 1,
447 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
448 .cond_start_idx = 10,
450 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
451 .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
452 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
453 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
454 .result_start_idx = 168,
455 .result_bit_size = 32,
456 .result_num_fields = 1
458 { /* class_tid: 3, , table: parif_def_err_arec_ptr.ing_0 */
459 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
460 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
461 .direction = TF_DIR_RX,
464 .cond_false_goto = 1,
465 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
466 .cond_start_idx = 10,
468 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
469 .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
470 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
471 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
472 .result_start_idx = 169,
473 .result_bit_size = 32,
474 .result_num_fields = 1
476 { /* class_tid: 3, , table: control.egr_0 */
477 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
478 .direction = TF_DIR_RX,
481 .cond_false_goto = 0,
482 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
483 .cond_start_idx = 10,
485 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
486 .byte_order = BNXT_ULP_BYTE_ORDER_LE
488 { /* class_tid: 3, , table: int_full_act_record.egr_0 */
489 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
490 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
492 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
493 .direction = TF_DIR_TX,
496 .cond_false_goto = 1,
497 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
498 .cond_start_idx = 11,
500 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
501 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
502 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
503 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
504 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
505 .result_start_idx = 170,
506 .result_bit_size = 128,
507 .result_num_fields = 17,
508 .encap_num_fields = 0
510 { /* class_tid: 3, , table: l2_cntxt_tcam_cache.egr_rd */
511 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
513 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
514 .direction = TF_DIR_TX,
517 .cond_false_goto = 1,
518 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
519 .cond_start_idx = 11,
521 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
522 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
523 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
524 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
525 .key_start_idx = 220,
526 .blob_key_bit_size = 8,
529 .ident_start_idx = 7,
532 { /* class_tid: 3, , table: control.egr_1 */
533 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
534 .direction = TF_DIR_RX,
537 .cond_false_goto = 2,
538 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
539 .cond_start_idx = 11,
541 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
542 .fdb_operand = BNXT_ULP_RF_IDX_RID,
543 .byte_order = BNXT_ULP_BYTE_ORDER_LE
545 { /* class_tid: 3, , table: l2_cntxt_tcam.egr_0 */
546 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
547 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
548 .direction = TF_DIR_TX,
551 .cond_false_goto = 1,
552 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
553 .cond_start_idx = 12,
555 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
556 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
557 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
558 .fdb_operand = BNXT_ULP_RF_IDX_RID,
559 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
560 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
561 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
562 .key_start_idx = 221,
563 .blob_key_bit_size = 213,
565 .key_num_fields = 21,
566 .result_start_idx = 187,
567 .result_bit_size = 43,
568 .result_num_fields = 6,
569 .ident_start_idx = 7,
572 { /* class_tid: 3, , table: parif_def_arec_ptr.egr_0 */
573 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
574 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
575 .direction = TF_DIR_TX,
578 .cond_false_goto = 1,
579 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
580 .cond_start_idx = 12,
582 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
583 .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
584 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
585 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
586 .result_start_idx = 193,
587 .result_bit_size = 32,
588 .result_num_fields = 1
590 { /* class_tid: 3, , table: parif_def_err_arec_ptr.egr_0 */
591 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
592 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
593 .direction = TF_DIR_TX,
596 .cond_false_goto = 0,
597 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
598 .cond_start_idx = 12,
600 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
601 .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
602 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
603 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
604 .result_start_idx = 194,
605 .result_bit_size = 32,
606 .result_num_fields = 1
608 { /* class_tid: 4, , table: int_full_act_record.loopback */
609 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
610 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
612 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
613 .direction = TF_DIR_TX,
616 .cond_false_goto = 1,
617 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
618 .cond_start_idx = 13,
620 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_GLB_REGFILE,
621 .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
622 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
623 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
624 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
625 .result_start_idx = 195,
626 .result_bit_size = 128,
627 .result_num_fields = 17,
628 .encap_num_fields = 0
630 { /* class_tid: 4, , table: parif_def_arec_ptr.vf_egr */
631 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
632 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
633 .direction = TF_DIR_TX,
636 .cond_false_goto = 1,
637 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
638 .cond_start_idx = 13,
640 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,
641 .tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF,
642 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
643 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
644 .result_start_idx = 212,
645 .result_bit_size = 32,
646 .result_num_fields = 1
648 { /* class_tid: 4, , table: parif_def_err_arec_ptr.vf_egr */
649 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
650 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
651 .direction = TF_DIR_TX,
654 .cond_false_goto = 1,
655 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
656 .cond_start_idx = 13,
658 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,
659 .tbl_operand = ULP_THOR_SYM_LOOPBACK_PARIF,
660 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
661 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
662 .result_start_idx = 213,
663 .result_bit_size = 32,
664 .result_num_fields = 1
666 { /* class_tid: 4, , table: int_full_act_record.vf_ing */
667 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
668 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
670 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
671 .direction = TF_DIR_RX,
674 .cond_false_goto = 1,
675 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
676 .cond_start_idx = 13,
678 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
679 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
680 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
681 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_AND_SET_VFR_FLAG,
682 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
683 .result_start_idx = 214,
684 .result_bit_size = 128,
685 .result_num_fields = 17,
686 .encap_num_fields = 0
688 { /* class_tid: 4, , table: vtag_encap_record.vfr_egr0 */
689 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
690 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
692 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
693 .direction = TF_DIR_TX,
696 .cond_false_goto = 1,
697 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
698 .cond_start_idx = 13,
700 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
701 .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
702 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
703 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
704 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
705 .result_start_idx = 231,
706 .result_bit_size = 0,
707 .result_num_fields = 0,
708 .encap_num_fields = 11
710 { /* class_tid: 4, , table: int_full_act_record.vfr_egr0 */
711 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
712 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
714 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
715 .direction = TF_DIR_TX,
718 .cond_false_goto = 0,
719 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
720 .cond_start_idx = 13,
722 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
723 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
724 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
725 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
726 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
727 .result_start_idx = 242,
728 .result_bit_size = 128,
729 .result_num_fields = 17
733 struct bnxt_ulp_mapper_cond_info ulp_thor_class_cond_list[] = {
734 /* cond_reject: thor, class_tid: 1 */
736 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
737 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
740 .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_IS_SET,
741 .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
744 .cond_opcode = BNXT_ULP_COND_OPC_FLOW_PAT_MATCH,
748 .cond_opcode = BNXT_ULP_COND_OPC_FLOW_PAT_MATCH,
751 /* cond_execute: class_tid: 1, l2_cntxt_tcam_cache.rd */
753 .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET,
754 .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
756 /* cond_execute: class_tid: 1, control.0 */
758 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
759 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
761 /* cond_execute: class_tid: 1, control.l3_l4 */
763 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
764 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
766 /* cond_execute: class_tid: 1, wm.l3_l4 */
768 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
769 .cond_operand = BNXT_ULP_CF_IDX_O_L4
771 /* cond_reject: thor, class_tid: 3 */
773 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
774 .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE
776 /* cond_execute: class_tid: 3, control.ing_0 */
778 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
779 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
781 /* cond_execute: class_tid: 3, control.egr_0 */
783 .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
784 .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE
786 /* cond_execute: class_tid: 3, control.egr_1 */
788 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
789 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
791 /* cond_reject: thor, class_tid: 4 */
793 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
794 .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE
798 struct bnxt_ulp_mapper_key_info ulp_thor_class_key_info_list[] = {
799 /* class_tid: 1, , table: port_table.rd */
802 .description = "dev.port_id",
803 .field_bit_size = 10,
804 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
805 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
811 .description = "dev.port_id",
812 .field_bit_size = 10,
813 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
814 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
816 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
817 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
820 /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */
823 .description = "svif",
825 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
826 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
828 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
829 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
832 .description = "svif",
834 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
835 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
837 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
838 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
841 /* class_tid: 1, , table: mac_addr_cache.rd */
844 .description = "svif",
846 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
847 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
849 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
850 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
853 .description = "svif",
855 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
856 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
858 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
859 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
864 .description = "tun_hdr",
866 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
867 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
869 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
872 .description = "tun_hdr",
874 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
875 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
877 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
882 .description = "one_tag",
884 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
885 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
888 .description = "one_tag",
890 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
891 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
896 .description = "vid",
897 .field_bit_size = 12,
898 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
899 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
902 .description = "vid",
903 .field_bit_size = 12,
904 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
905 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
910 .description = "mac_addr",
911 .field_bit_size = 48,
912 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
913 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
915 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
916 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
919 .description = "mac_addr",
920 .field_bit_size = 48,
921 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
922 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
924 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
925 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
928 /* class_tid: 1, , table: l2_cntxt_tcam.0 */
931 .description = "etype",
932 .field_bit_size = 16,
933 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
934 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
937 .description = "etype",
938 .field_bit_size = 16,
939 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
940 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
945 .description = "l2_ivlan_tpid_sel",
947 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
948 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
951 .description = "l2_ivlan_tpid_sel",
953 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
954 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
959 .description = "l2_ivlan_vid",
960 .field_bit_size = 12,
961 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
962 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
965 .description = "l2_ivlan_vid",
966 .field_bit_size = 12,
967 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
968 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
973 .description = "l2_ovlan_tpid_sel",
975 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
976 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
979 .description = "l2_ovlan_tpid_sel",
981 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
982 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
987 .description = "l2_ovlan_vid",
988 .field_bit_size = 12,
989 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
990 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
993 .description = "l2_ovlan_vid",
994 .field_bit_size = 12,
995 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
996 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1000 .field_info_mask = {
1001 .description = "two_vtags",
1002 .field_bit_size = 1,
1003 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1004 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1006 .field_info_spec = {
1007 .description = "two_vtags",
1008 .field_bit_size = 1,
1009 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1010 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1014 .field_info_mask = {
1015 .description = "vtag_present",
1016 .field_bit_size = 1,
1017 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1018 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1020 .field_info_spec = {
1021 .description = "vtag_present",
1022 .field_bit_size = 1,
1023 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1024 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1028 .field_info_mask = {
1029 .description = "mac1_addr",
1030 .field_bit_size = 48,
1031 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1032 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1034 .field_info_spec = {
1035 .description = "mac1_addr",
1036 .field_bit_size = 48,
1037 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1038 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1042 .field_info_mask = {
1043 .description = "mac0_addr",
1044 .field_bit_size = 48,
1045 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1046 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1048 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
1049 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
1051 .field_info_spec = {
1052 .description = "mac0_addr",
1053 .field_bit_size = 48,
1054 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1055 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1057 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
1058 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
1062 .field_info_mask = {
1063 .description = "tunnel_id",
1064 .field_bit_size = 24,
1065 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1066 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1068 .field_info_spec = {
1069 .description = "tunnel_id",
1070 .field_bit_size = 24,
1071 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1072 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1076 .field_info_mask = {
1077 .description = "tun_hdr_type",
1078 .field_bit_size = 4,
1079 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1080 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1082 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
1084 .field_info_spec = {
1085 .description = "tun_hdr_type",
1086 .field_bit_size = 4,
1087 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1088 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1090 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
1094 .field_info_mask = {
1095 .description = "llc",
1096 .field_bit_size = 1,
1097 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1098 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1100 .field_info_spec = {
1101 .description = "llc",
1102 .field_bit_size = 1,
1103 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1104 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1108 .field_info_mask = {
1109 .description = "roce",
1110 .field_bit_size = 1,
1111 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1112 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1114 .field_info_spec = {
1115 .description = "roce",
1116 .field_bit_size = 1,
1117 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1118 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1122 .field_info_mask = {
1123 .description = "metadata",
1124 .field_bit_size = 16,
1125 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1126 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1128 .field_info_spec = {
1129 .description = "metadata",
1130 .field_bit_size = 16,
1131 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1132 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1136 .field_info_mask = {
1137 .description = "svif",
1138 .field_bit_size = 11,
1139 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1140 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1142 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
1143 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
1145 .field_info_spec = {
1146 .description = "svif",
1147 .field_bit_size = 11,
1148 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1149 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1151 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
1152 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
1156 .field_info_mask = {
1157 .description = "parif",
1158 .field_bit_size = 4,
1159 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1160 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1162 .field_info_spec = {
1163 .description = "parif",
1164 .field_bit_size = 4,
1165 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1166 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1170 .field_info_mask = {
1171 .description = "spif",
1172 .field_bit_size = 2,
1173 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1174 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1176 .field_info_spec = {
1177 .description = "spif",
1178 .field_bit_size = 2,
1179 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1180 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1184 .field_info_mask = {
1185 .description = "loopback",
1186 .field_bit_size = 1,
1187 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1188 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1190 .field_info_spec = {
1191 .description = "loopback",
1192 .field_bit_size = 1,
1193 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1194 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1198 .field_info_mask = {
1199 .description = "recycle_cnt",
1200 .field_bit_size = 2,
1201 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1202 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1204 .field_info_spec = {
1205 .description = "recycle_cnt",
1206 .field_bit_size = 2,
1207 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1208 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1212 .field_info_mask = {
1213 .description = "mpass_cnt",
1214 .field_bit_size = 2,
1215 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1216 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1220 .field_info_spec = {
1221 .description = "mpass_cnt",
1222 .field_bit_size = 2,
1223 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1224 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1228 .field_info_mask = {
1229 .description = "valid",
1230 .field_bit_size = 1,
1231 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1232 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1236 .field_info_spec = {
1237 .description = "valid",
1238 .field_bit_size = 1,
1239 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1240 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1245 /* class_tid: 1, , table: mac_addr_cache.wr */
1247 .field_info_mask = {
1248 .description = "svif",
1249 .field_bit_size = 8,
1250 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1251 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1253 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
1254 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
1256 .field_info_spec = {
1257 .description = "svif",
1258 .field_bit_size = 8,
1259 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1260 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1262 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
1263 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
1267 .field_info_mask = {
1268 .description = "tun_hdr",
1269 .field_bit_size = 4,
1270 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1271 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1273 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
1275 .field_info_spec = {
1276 .description = "tun_hdr",
1277 .field_bit_size = 4,
1278 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1279 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1281 ULP_THOR_SYM_TUN_HDR_TYPE_NONE}
1285 .field_info_mask = {
1286 .description = "one_tag",
1287 .field_bit_size = 1,
1288 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1289 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1291 .field_info_spec = {
1292 .description = "one_tag",
1293 .field_bit_size = 1,
1294 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1295 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1299 .field_info_mask = {
1300 .description = "vid",
1301 .field_bit_size = 12,
1302 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1303 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1305 .field_info_spec = {
1306 .description = "vid",
1307 .field_bit_size = 12,
1308 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1309 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1313 .field_info_mask = {
1314 .description = "mac_addr",
1315 .field_bit_size = 48,
1316 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1317 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1319 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
1320 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
1322 .field_info_spec = {
1323 .description = "mac_addr",
1324 .field_bit_size = 48,
1325 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1326 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1328 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
1329 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
1332 /* class_tid: 1, , table: profile_tcam_cache.l3_l4_rd */
1334 .field_info_mask = {
1335 .description = "recycle_cnt",
1336 .field_bit_size = 2,
1337 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1338 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1342 .field_info_spec = {
1343 .description = "recycle_cnt",
1344 .field_bit_size = 2,
1345 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1346 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1350 .field_info_mask = {
1351 .description = "prof_func_id",
1352 .field_bit_size = 7,
1353 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1354 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1358 .field_info_spec = {
1359 .description = "prof_func_id",
1360 .field_bit_size = 7,
1361 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1362 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
1364 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
1365 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
1366 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
1368 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
1369 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
1370 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
1372 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
1373 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
1377 .field_info_mask = {
1378 .description = "hdr_sig_id",
1379 .field_bit_size = 5,
1380 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1381 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1385 .field_info_spec = {
1386 .description = "hdr_sig_id",
1387 .field_bit_size = 5,
1388 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1389 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1391 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
1392 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
1395 /* class_tid: 1, , table: profile_tcam.l3_l4 */
1397 .field_info_mask = {
1398 .description = "l4_hdr_is_udp_tcp",
1399 .field_bit_size = 1,
1400 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1401 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1403 .field_info_spec = {
1404 .description = "l4_hdr_is_udp_tcp",
1405 .field_bit_size = 1,
1406 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1407 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1411 .field_info_mask = {
1412 .description = "l4_hdr_type",
1413 .field_bit_size = 4,
1414 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1415 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1417 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
1418 BNXT_ULP_CF_IDX_O_L4 & 0xff},
1419 .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
1420 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1422 .field_info_spec = {
1423 .description = "l4_hdr_type",
1424 .field_bit_size = 4,
1425 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1426 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
1428 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
1429 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
1430 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
1431 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
1432 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
1433 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
1434 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
1435 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
1436 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
1438 ULP_THOR_SYM_L4_HDR_TYPE_TCP},
1439 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
1441 ULP_THOR_SYM_L4_HDR_TYPE_UDP}
1445 .field_info_mask = {
1446 .description = "l4_hdr_error",
1447 .field_bit_size = 1,
1448 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1449 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1451 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
1452 BNXT_ULP_CF_IDX_O_L4 & 0xff}
1454 .field_info_spec = {
1455 .description = "l4_hdr_error",
1456 .field_bit_size = 1,
1457 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1458 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1462 .field_info_mask = {
1463 .description = "l4_hdr_valid",
1464 .field_bit_size = 1,
1465 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1466 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1468 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
1469 BNXT_ULP_CF_IDX_O_L4 & 0xff}
1471 .field_info_spec = {
1472 .description = "l4_hdr_valid",
1473 .field_bit_size = 1,
1474 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1475 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1477 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
1478 BNXT_ULP_CF_IDX_O_L4 & 0xff}
1482 .field_info_mask = {
1483 .description = "ieh",
1484 .field_bit_size = 8,
1485 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1486 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1488 .field_info_spec = {
1489 .description = "ieh",
1490 .field_bit_size = 8,
1491 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1492 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1496 .field_info_mask = {
1497 .description = "l3_ipv6_cmp_dst",
1498 .field_bit_size = 1,
1499 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1500 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1502 .field_info_spec = {
1503 .description = "l3_ipv6_cmp_dst",
1504 .field_bit_size = 1,
1505 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1506 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1510 .field_info_mask = {
1511 .description = "l3_ipv6_cmp_src",
1512 .field_bit_size = 1,
1513 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1514 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1516 .field_info_spec = {
1517 .description = "l3_ipv6_cmp_src",
1518 .field_bit_size = 1,
1519 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1520 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1524 .field_info_mask = {
1525 .description = "l3_hdr_isIP",
1526 .field_bit_size = 1,
1527 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1528 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1530 .field_info_spec = {
1531 .description = "l3_hdr_isIP",
1532 .field_bit_size = 1,
1533 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1534 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1538 .field_info_mask = {
1539 .description = "l3_hdr_type",
1540 .field_bit_size = 4,
1541 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1542 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1546 .field_info_spec = {
1547 .description = "l3_hdr_type",
1548 .field_bit_size = 4,
1549 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1550 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1554 .field_info_mask = {
1555 .description = "l3_hdr_error",
1556 .field_bit_size = 1,
1557 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1558 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1562 .field_info_spec = {
1563 .description = "l3_hdr_error",
1564 .field_bit_size = 1,
1565 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1566 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1570 .field_info_mask = {
1571 .description = "l3_hdr_valid",
1572 .field_bit_size = 1,
1573 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1574 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1578 .field_info_spec = {
1579 .description = "l3_hdr_valid",
1580 .field_bit_size = 1,
1581 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1582 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1584 ULP_THOR_SYM_L3_HDR_VALID_YES}
1588 .field_info_mask = {
1589 .description = "l2_two_vtags",
1590 .field_bit_size = 1,
1591 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1592 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1594 .field_info_spec = {
1595 .description = "l2_two_vtags",
1596 .field_bit_size = 1,
1597 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1598 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1602 .field_info_mask = {
1603 .description = "l2_vtag_present",
1604 .field_bit_size = 1,
1605 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1606 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1608 .field_info_spec = {
1609 .description = "l2_vtag_present",
1610 .field_bit_size = 1,
1611 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1612 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1616 .field_info_mask = {
1617 .description = "l2_uc_mc_bc",
1618 .field_bit_size = 2,
1619 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1620 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1624 .field_info_spec = {
1625 .description = "l2_uc_mc_bc",
1626 .field_bit_size = 2,
1627 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1628 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1632 .field_info_mask = {
1633 .description = "l2_hdr_type",
1634 .field_bit_size = 2,
1635 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1636 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1640 .field_info_spec = {
1641 .description = "l2_hdr_type",
1642 .field_bit_size = 2,
1643 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1644 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1648 .field_info_mask = {
1649 .description = "l2_hdr_error",
1650 .field_bit_size = 1,
1651 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1652 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1656 .field_info_spec = {
1657 .description = "l2_hdr_error",
1658 .field_bit_size = 1,
1659 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1660 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1664 .field_info_mask = {
1665 .description = "l2_hdr_valid",
1666 .field_bit_size = 1,
1667 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1668 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1672 .field_info_spec = {
1673 .description = "l2_hdr_valid",
1674 .field_bit_size = 1,
1675 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1676 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1678 ULP_THOR_SYM_L2_HDR_VALID_YES}
1682 .field_info_mask = {
1683 .description = "tun_hdr_flags",
1684 .field_bit_size = 3,
1685 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1686 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1688 .field_info_spec = {
1689 .description = "tun_hdr_flags",
1690 .field_bit_size = 3,
1691 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1692 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1696 .field_info_mask = {
1697 .description = "tun_hdr_type",
1698 .field_bit_size = 4,
1699 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1700 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1702 .field_info_spec = {
1703 .description = "tun_hdr_type",
1704 .field_bit_size = 4,
1705 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1706 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1710 .field_info_mask = {
1711 .description = "tun_hdr_err",
1712 .field_bit_size = 1,
1713 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1714 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1716 .field_info_spec = {
1717 .description = "tun_hdr_err",
1718 .field_bit_size = 1,
1719 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1720 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1724 .field_info_mask = {
1725 .description = "tun_hdr_valid",
1726 .field_bit_size = 1,
1727 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1728 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1732 .field_info_spec = {
1733 .description = "tun_hdr_valid",
1734 .field_bit_size = 1,
1735 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1736 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1740 .field_info_mask = {
1741 .description = "tl4_hdr_is_udp_tcp",
1742 .field_bit_size = 1,
1743 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1744 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1746 .field_info_spec = {
1747 .description = "tl4_hdr_is_udp_tcp",
1748 .field_bit_size = 1,
1749 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1750 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1754 .field_info_mask = {
1755 .description = "tl4_hdr_type",
1756 .field_bit_size = 4,
1757 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1758 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1760 .field_info_spec = {
1761 .description = "tl4_hdr_type",
1762 .field_bit_size = 4,
1763 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1764 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1768 .field_info_mask = {
1769 .description = "tl4_hdr_error",
1770 .field_bit_size = 1,
1771 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1772 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1774 .field_info_spec = {
1775 .description = "tl4_hdr_error",
1776 .field_bit_size = 1,
1777 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1778 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1782 .field_info_mask = {
1783 .description = "tl4_hdr_valid",
1784 .field_bit_size = 1,
1785 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1786 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1790 .field_info_spec = {
1791 .description = "tl4_hdr_valid",
1792 .field_bit_size = 1,
1793 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1794 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1798 .field_info_mask = {
1799 .description = "tl3_ipv6_cmp_dst",
1800 .field_bit_size = 1,
1801 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1802 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1804 .field_info_spec = {
1805 .description = "tl3_ipv6_cmp_dst",
1806 .field_bit_size = 1,
1807 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1808 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1812 .field_info_mask = {
1813 .description = "tl3_ipv6_cmp_src",
1814 .field_bit_size = 1,
1815 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1816 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1818 .field_info_spec = {
1819 .description = "tl3_ipv6_cmp_src",
1820 .field_bit_size = 1,
1821 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1822 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1826 .field_info_mask = {
1827 .description = "tl3_hdr_isIP",
1828 .field_bit_size = 1,
1829 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1830 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1832 .field_info_spec = {
1833 .description = "tl3_hdr_isIP",
1834 .field_bit_size = 1,
1835 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1836 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1840 .field_info_mask = {
1841 .description = "tl3_hdr_type",
1842 .field_bit_size = 4,
1843 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1844 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1846 .field_info_spec = {
1847 .description = "tl3_hdr_type",
1848 .field_bit_size = 4,
1849 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1850 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1854 .field_info_mask = {
1855 .description = "tl3_hdr_error",
1856 .field_bit_size = 1,
1857 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1858 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1860 .field_info_spec = {
1861 .description = "tl3_hdr_error",
1862 .field_bit_size = 1,
1863 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1864 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1868 .field_info_mask = {
1869 .description = "tl3_hdr_valid",
1870 .field_bit_size = 1,
1871 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1872 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1876 .field_info_spec = {
1877 .description = "tl3_hdr_valid",
1878 .field_bit_size = 1,
1879 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1880 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1884 .field_info_mask = {
1885 .description = "tl2_two_vtags",
1886 .field_bit_size = 1,
1887 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1888 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1890 .field_info_spec = {
1891 .description = "tl2_two_vtags",
1892 .field_bit_size = 1,
1893 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1894 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1898 .field_info_mask = {
1899 .description = "tl2_vtag_present",
1900 .field_bit_size = 1,
1901 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1902 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1904 .field_info_spec = {
1905 .description = "tl2_vtag_present",
1906 .field_bit_size = 1,
1907 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1908 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1912 .field_info_mask = {
1913 .description = "tl2_uc_mc_bc",
1914 .field_bit_size = 2,
1915 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1916 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1918 .field_info_spec = {
1919 .description = "tl2_uc_mc_bc",
1920 .field_bit_size = 2,
1921 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1922 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1926 .field_info_mask = {
1927 .description = "tl2_hdr_type",
1928 .field_bit_size = 2,
1929 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1930 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1932 .field_info_spec = {
1933 .description = "tl2_hdr_type",
1934 .field_bit_size = 2,
1935 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1936 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1940 .field_info_mask = {
1941 .description = "tl2_hdr_valid",
1942 .field_bit_size = 1,
1943 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1944 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1948 .field_info_spec = {
1949 .description = "tl2_hdr_valid",
1950 .field_bit_size = 1,
1951 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1952 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1956 .field_info_mask = {
1957 .description = "hrec_next",
1958 .field_bit_size = 1,
1959 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1960 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1962 .field_info_spec = {
1963 .description = "hrec_next",
1964 .field_bit_size = 1,
1965 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1966 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1970 .field_info_mask = {
1971 .description = "prof_func_id",
1972 .field_bit_size = 7,
1973 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1974 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1978 .field_info_spec = {
1979 .description = "prof_func_id",
1980 .field_bit_size = 7,
1981 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1982 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
1984 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
1985 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
1986 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
1988 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
1989 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
1990 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
1992 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
1993 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
1997 .field_info_mask = {
1998 .description = "agg_error",
1999 .field_bit_size = 1,
2000 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2001 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2003 .field_info_spec = {
2004 .description = "agg_error",
2005 .field_bit_size = 1,
2006 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2007 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2011 .field_info_mask = {
2012 .description = "metadata",
2013 .field_bit_size = 16,
2014 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2015 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2017 .field_info_spec = {
2018 .description = "metadata",
2019 .field_bit_size = 16,
2020 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2021 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2025 .field_info_mask = {
2026 .description = "pkt_type_0",
2027 .field_bit_size = 2,
2028 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2029 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2031 .field_info_spec = {
2032 .description = "pkt_type_0",
2033 .field_bit_size = 2,
2034 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2035 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2039 .field_info_mask = {
2040 .description = "pkt_type_1",
2041 .field_bit_size = 2,
2042 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2043 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2045 .field_info_spec = {
2046 .description = "pkt_type_1",
2047 .field_bit_size = 2,
2048 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2049 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2053 .field_info_mask = {
2054 .description = "valid",
2055 .field_bit_size = 1,
2056 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2057 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2061 .field_info_spec = {
2062 .description = "valid",
2063 .field_bit_size = 1,
2064 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2065 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2070 /* class_tid: 1, , table: profile_tcam_cache.l3_l4_wr */
2072 .field_info_mask = {
2073 .description = "recycle_cnt",
2074 .field_bit_size = 2,
2075 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2076 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2080 .field_info_spec = {
2081 .description = "recycle_cnt",
2082 .field_bit_size = 2,
2083 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2084 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2088 .field_info_mask = {
2089 .description = "prof_func_id",
2090 .field_bit_size = 7,
2091 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2092 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2096 .field_info_spec = {
2097 .description = "prof_func_id",
2098 .field_bit_size = 7,
2099 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2100 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
2102 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
2103 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
2104 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
2106 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
2107 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
2108 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
2110 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
2111 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
2115 .field_info_mask = {
2116 .description = "hdr_sig_id",
2117 .field_bit_size = 5,
2118 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2119 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2123 .field_info_spec = {
2124 .description = "hdr_sig_id",
2125 .field_bit_size = 5,
2126 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2127 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2129 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
2130 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
2133 /* class_tid: 1, , table: wm.l3_l4 */
2135 .field_info_mask = {
2136 .description = "wc_profile_id",
2137 .field_bit_size = 8,
2138 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2139 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2143 .field_info_spec = {
2144 .description = "wc_profile_id",
2145 .field_bit_size = 8,
2146 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2147 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
2149 (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
2150 BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0 & 0xff}
2154 .field_info_mask = {
2155 .description = "l2_cntxt_id",
2156 .field_bit_size = 10,
2157 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2158 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2163 .field_info_spec = {
2164 .description = "l2_cntxt_id",
2165 .field_bit_size = 10,
2166 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2167 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2169 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
2170 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
2174 .field_info_mask = {
2175 .description = "parif",
2176 .field_bit_size = 4,
2177 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2179 .field_info_spec = {
2180 .description = "parif",
2181 .field_bit_size = 4,
2182 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2186 .field_info_mask = {
2187 .description = "spif",
2188 .field_bit_size = 2,
2189 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2191 .field_info_spec = {
2192 .description = "spif",
2193 .field_bit_size = 2,
2194 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2198 .field_info_mask = {
2199 .description = "svif",
2200 .field_bit_size = 11,
2201 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2203 .field_info_spec = {
2204 .description = "svif",
2205 .field_bit_size = 11,
2206 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2210 .field_info_mask = {
2211 .description = "lcos",
2212 .field_bit_size = 3,
2213 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2215 .field_info_spec = {
2216 .description = "lcos",
2217 .field_bit_size = 3,
2218 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2222 .field_info_mask = {
2223 .description = "meta",
2224 .field_bit_size = 16,
2225 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2227 .field_info_spec = {
2228 .description = "meta",
2229 .field_bit_size = 16,
2230 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2234 .field_info_mask = {
2235 .description = "rcyc_cnt",
2236 .field_bit_size = 2,
2237 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2239 .field_info_spec = {
2240 .description = "rcyc_cnt",
2241 .field_bit_size = 2,
2242 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2246 .field_info_mask = {
2247 .description = "loopback",
2248 .field_bit_size = 1,
2249 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2251 .field_info_spec = {
2252 .description = "loopback",
2253 .field_bit_size = 1,
2254 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2258 .field_info_mask = {
2259 .description = "tl2_l2type",
2260 .field_bit_size = 2,
2261 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2263 .field_info_spec = {
2264 .description = "tl2_l2type",
2265 .field_bit_size = 2,
2266 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2270 .field_info_mask = {
2271 .description = "tl2_dmac",
2272 .field_bit_size = 48,
2273 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2275 .field_info_spec = {
2276 .description = "tl2_dmac",
2277 .field_bit_size = 48,
2278 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2282 .field_info_mask = {
2283 .description = "tl2_smac",
2284 .field_bit_size = 48,
2285 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2287 .field_info_spec = {
2288 .description = "tl2_smac",
2289 .field_bit_size = 48,
2290 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2294 .field_info_mask = {
2295 .description = "tl2_dt",
2296 .field_bit_size = 2,
2297 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2299 .field_info_spec = {
2300 .description = "tl2_dt",
2301 .field_bit_size = 2,
2302 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2306 .field_info_mask = {
2307 .description = "tl2_sa",
2308 .field_bit_size = 1,
2309 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2311 .field_info_spec = {
2312 .description = "tl2_sa",
2313 .field_bit_size = 1,
2314 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2318 .field_info_mask = {
2319 .description = "tl2_nvt",
2320 .field_bit_size = 2,
2321 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2323 .field_info_spec = {
2324 .description = "tl2_nvt",
2325 .field_bit_size = 2,
2326 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2330 .field_info_mask = {
2331 .description = "tl2_ovp",
2332 .field_bit_size = 3,
2333 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2335 .field_info_spec = {
2336 .description = "tl2_ovp",
2337 .field_bit_size = 3,
2338 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2342 .field_info_mask = {
2343 .description = "tl2_ovd",
2344 .field_bit_size = 1,
2345 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2347 .field_info_spec = {
2348 .description = "tl2_ovd",
2349 .field_bit_size = 1,
2350 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2354 .field_info_mask = {
2355 .description = "tl2_ovv",
2356 .field_bit_size = 12,
2357 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2359 .field_info_spec = {
2360 .description = "tl2_ovv",
2361 .field_bit_size = 12,
2362 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2366 .field_info_mask = {
2367 .description = "tl2_ovt",
2368 .field_bit_size = 3,
2369 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2371 .field_info_spec = {
2372 .description = "tl2_ovt",
2373 .field_bit_size = 3,
2374 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2378 .field_info_mask = {
2379 .description = "tl2_ivp",
2380 .field_bit_size = 3,
2381 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2383 .field_info_spec = {
2384 .description = "tl2_ivp",
2385 .field_bit_size = 3,
2386 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2390 .field_info_mask = {
2391 .description = "tl2_ivd",
2392 .field_bit_size = 1,
2393 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2395 .field_info_spec = {
2396 .description = "tl2_ivd",
2397 .field_bit_size = 1,
2398 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2402 .field_info_mask = {
2403 .description = "tl2_ivv",
2404 .field_bit_size = 12,
2405 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2407 .field_info_spec = {
2408 .description = "tl2_ivv",
2409 .field_bit_size = 12,
2410 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2414 .field_info_mask = {
2415 .description = "tl2_ivt",
2416 .field_bit_size = 3,
2417 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2419 .field_info_spec = {
2420 .description = "tl2_ivt",
2421 .field_bit_size = 3,
2422 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2426 .field_info_mask = {
2427 .description = "tl2_etype",
2428 .field_bit_size = 16,
2429 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2431 .field_info_spec = {
2432 .description = "tl2_etype",
2433 .field_bit_size = 16,
2434 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2438 .field_info_mask = {
2439 .description = "tl3.l3type",
2440 .field_bit_size = 4,
2441 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2443 .field_info_spec = {
2444 .description = "tl3.l3type",
2445 .field_bit_size = 4,
2446 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2450 .field_info_mask = {
2451 .description = "tl3.sip.ipv4",
2452 .field_bit_size = 32,
2453 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2455 .field_info_spec = {
2456 .description = "tl3.sip.ipv4",
2457 .field_bit_size = 32,
2458 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2462 .field_info_mask = {
2463 .description = "tl3.sip.ipv6",
2464 .field_bit_size = 128,
2465 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2467 .field_info_spec = {
2468 .description = "tl3.sip.ipv6",
2469 .field_bit_size = 128,
2470 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2474 .field_info_mask = {
2475 .description = "tl3.sip_selcmp.ipv6",
2476 .field_bit_size = 72,
2477 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2479 .field_info_spec = {
2480 .description = "tl3.sip_selcmp.ipv6",
2481 .field_bit_size = 72,
2482 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2486 .field_info_mask = {
2487 .description = "tl3.dip.ipv4",
2488 .field_bit_size = 32,
2489 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2491 .field_info_spec = {
2492 .description = "tl3.dip.ipv4",
2493 .field_bit_size = 32,
2494 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2498 .field_info_mask = {
2499 .description = "tl3.dip.ipv6",
2500 .field_bit_size = 128,
2501 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2503 .field_info_spec = {
2504 .description = "tl3.dip.ipv6",
2505 .field_bit_size = 128,
2506 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2510 .field_info_mask = {
2511 .description = "tl3.dip_selcmp.ipv6",
2512 .field_bit_size = 72,
2513 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2515 .field_info_spec = {
2516 .description = "tl3.dip_selcmp.ipv6",
2517 .field_bit_size = 72,
2518 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2522 .field_info_mask = {
2523 .description = "tl3.ttl",
2524 .field_bit_size = 8,
2525 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2527 .field_info_spec = {
2528 .description = "tl3.ttl",
2529 .field_bit_size = 8,
2530 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2534 .field_info_mask = {
2535 .description = "tl3.prot",
2536 .field_bit_size = 8,
2537 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2539 .field_info_spec = {
2540 .description = "tl3.prot",
2541 .field_bit_size = 8,
2542 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2546 .field_info_mask = {
2547 .description = "tl3.fid.ipv4",
2548 .field_bit_size = 16,
2549 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2551 .field_info_spec = {
2552 .description = "tl3.fid.ipv4",
2553 .field_bit_size = 16,
2554 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2558 .field_info_mask = {
2559 .description = "tl3.fid.ipv6",
2560 .field_bit_size = 20,
2561 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2563 .field_info_spec = {
2564 .description = "tl3.fid.ipv6",
2565 .field_bit_size = 20,
2566 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2570 .field_info_mask = {
2571 .description = "tl3.qos",
2572 .field_bit_size = 8,
2573 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2575 .field_info_spec = {
2576 .description = "tl3.qos",
2577 .field_bit_size = 8,
2578 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2582 .field_info_mask = {
2583 .description = "tl3.ieh_nonext",
2584 .field_bit_size = 1,
2585 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2587 .field_info_spec = {
2588 .description = "tl3.ieh_nonext",
2589 .field_bit_size = 1,
2590 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2594 .field_info_mask = {
2595 .description = "tl3.ieh_esp",
2596 .field_bit_size = 1,
2597 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2599 .field_info_spec = {
2600 .description = "tl3.ieh_esp",
2601 .field_bit_size = 1,
2602 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2606 .field_info_mask = {
2607 .description = "tl3.ieh_auth",
2608 .field_bit_size = 1,
2609 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2611 .field_info_spec = {
2612 .description = "tl3.ieh_auth",
2613 .field_bit_size = 1,
2614 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2618 .field_info_mask = {
2619 .description = "tl3.ieh_dest",
2620 .field_bit_size = 1,
2621 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2623 .field_info_spec = {
2624 .description = "tl3.ieh_dest",
2625 .field_bit_size = 1,
2626 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2630 .field_info_mask = {
2631 .description = "tl3.ieh_frag",
2632 .field_bit_size = 1,
2633 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2635 .field_info_spec = {
2636 .description = "tl3.ieh_frag",
2637 .field_bit_size = 1,
2638 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2642 .field_info_mask = {
2643 .description = "tl3.ieh_rthdr",
2644 .field_bit_size = 1,
2645 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2647 .field_info_spec = {
2648 .description = "tl3.ieh_rthdr",
2649 .field_bit_size = 1,
2650 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2654 .field_info_mask = {
2655 .description = "tl3.ieh_hop",
2656 .field_bit_size = 1,
2657 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2659 .field_info_spec = {
2660 .description = "tl3.ieh_hop",
2661 .field_bit_size = 1,
2662 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2666 .field_info_mask = {
2667 .description = "tl3.ieh_1frag",
2668 .field_bit_size = 1,
2669 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2671 .field_info_spec = {
2672 .description = "tl3.ieh_1frag",
2673 .field_bit_size = 1,
2674 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2678 .field_info_mask = {
2679 .description = "tl3.df",
2680 .field_bit_size = 1,
2681 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2683 .field_info_spec = {
2684 .description = "tl3.df",
2685 .field_bit_size = 1,
2686 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2690 .field_info_mask = {
2691 .description = "tl3.l3err",
2692 .field_bit_size = 4,
2693 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2695 .field_info_spec = {
2696 .description = "tl3.l3err",
2697 .field_bit_size = 4,
2698 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2702 .field_info_mask = {
2703 .description = "tl4.l4type",
2704 .field_bit_size = 4,
2705 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2707 .field_info_spec = {
2708 .description = "tl4.l4type",
2709 .field_bit_size = 4,
2710 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2714 .field_info_mask = {
2715 .description = "tl4.src",
2716 .field_bit_size = 16,
2717 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2719 .field_info_spec = {
2720 .description = "tl4.src",
2721 .field_bit_size = 16,
2722 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2726 .field_info_mask = {
2727 .description = "tl4.dst",
2728 .field_bit_size = 16,
2729 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2731 .field_info_spec = {
2732 .description = "tl4.dst",
2733 .field_bit_size = 16,
2734 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2738 .field_info_mask = {
2739 .description = "tl4.flags",
2740 .field_bit_size = 9,
2741 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2743 .field_info_spec = {
2744 .description = "tl4.flags",
2745 .field_bit_size = 9,
2746 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2750 .field_info_mask = {
2751 .description = "tl4.seq",
2752 .field_bit_size = 32,
2753 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2755 .field_info_spec = {
2756 .description = "tl4.seq",
2757 .field_bit_size = 32,
2758 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2762 .field_info_mask = {
2763 .description = "tl4.pa",
2764 .field_bit_size = 1,
2765 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2767 .field_info_spec = {
2768 .description = "tl4.pa",
2769 .field_bit_size = 1,
2770 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2774 .field_info_mask = {
2775 .description = "tl4.opt",
2776 .field_bit_size = 1,
2777 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2779 .field_info_spec = {
2780 .description = "tl4.opt",
2781 .field_bit_size = 1,
2782 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2786 .field_info_mask = {
2787 .description = "tl4.tcpts",
2788 .field_bit_size = 1,
2789 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2791 .field_info_spec = {
2792 .description = "tl4.tcpts",
2793 .field_bit_size = 1,
2794 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2798 .field_info_mask = {
2799 .description = "tl4.err",
2800 .field_bit_size = 4,
2801 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2803 .field_info_spec = {
2804 .description = "tl4.err",
2805 .field_bit_size = 4,
2806 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2810 .field_info_mask = {
2811 .description = "tuntype",
2812 .field_bit_size = 4,
2813 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2815 .field_info_spec = {
2816 .description = "tuntype",
2817 .field_bit_size = 4,
2818 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2822 .field_info_mask = {
2823 .description = "tflags",
2824 .field_bit_size = 3,
2825 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2827 .field_info_spec = {
2828 .description = "tflags",
2829 .field_bit_size = 3,
2830 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2834 .field_info_mask = {
2835 .description = "tids",
2836 .field_bit_size = 24,
2837 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2839 .field_info_spec = {
2840 .description = "tids",
2841 .field_bit_size = 24,
2842 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2846 .field_info_mask = {
2847 .description = "tid",
2848 .field_bit_size = 32,
2849 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2851 .field_info_spec = {
2852 .description = "tid",
2853 .field_bit_size = 32,
2854 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2858 .field_info_mask = {
2859 .description = "tctxts",
2860 .field_bit_size = 24,
2861 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2863 .field_info_spec = {
2864 .description = "tctxts",
2865 .field_bit_size = 24,
2866 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2870 .field_info_mask = {
2871 .description = "tctxt",
2872 .field_bit_size = 32,
2873 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2875 .field_info_spec = {
2876 .description = "tctxt",
2877 .field_bit_size = 32,
2878 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2882 .field_info_mask = {
2883 .description = "tqos",
2884 .field_bit_size = 3,
2885 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2887 .field_info_spec = {
2888 .description = "tqos",
2889 .field_bit_size = 3,
2890 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2894 .field_info_mask = {
2895 .description = "terr",
2896 .field_bit_size = 4,
2897 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2899 .field_info_spec = {
2900 .description = "terr",
2901 .field_bit_size = 4,
2902 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2906 .field_info_mask = {
2907 .description = "l2_l2type",
2908 .field_bit_size = 2,
2909 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2911 .field_info_spec = {
2912 .description = "l2_l2type",
2913 .field_bit_size = 2,
2914 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2918 .field_info_mask = {
2919 .description = "l2_dmac",
2920 .field_bit_size = 48,
2921 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2923 .field_info_spec = {
2924 .description = "l2_dmac",
2925 .field_bit_size = 48,
2926 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2930 .field_info_mask = {
2931 .description = "l2_smac",
2932 .field_bit_size = 48,
2933 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2935 .field_info_spec = {
2936 .description = "l2_smac",
2937 .field_bit_size = 48,
2938 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2942 .field_info_mask = {
2943 .description = "l2_dt",
2944 .field_bit_size = 2,
2945 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2947 .field_info_spec = {
2948 .description = "l2_dt",
2949 .field_bit_size = 2,
2950 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2954 .field_info_mask = {
2955 .description = "l2_sa",
2956 .field_bit_size = 1,
2957 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2959 .field_info_spec = {
2960 .description = "l2_sa",
2961 .field_bit_size = 1,
2962 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2966 .field_info_mask = {
2967 .description = "l2_nvt",
2968 .field_bit_size = 2,
2969 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2971 .field_info_spec = {
2972 .description = "l2_nvt",
2973 .field_bit_size = 2,
2974 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2978 .field_info_mask = {
2979 .description = "l2_ovp",
2980 .field_bit_size = 3,
2981 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2983 .field_info_spec = {
2984 .description = "l2_ovp",
2985 .field_bit_size = 3,
2986 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2990 .field_info_mask = {
2991 .description = "l2_ovd",
2992 .field_bit_size = 1,
2993 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2995 .field_info_spec = {
2996 .description = "l2_ovd",
2997 .field_bit_size = 1,
2998 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3002 .field_info_mask = {
3003 .description = "l2_ovv",
3004 .field_bit_size = 12,
3005 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3007 .field_info_spec = {
3008 .description = "l2_ovv",
3009 .field_bit_size = 12,
3010 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3014 .field_info_mask = {
3015 .description = "l2_ovt",
3016 .field_bit_size = 3,
3017 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3019 .field_info_spec = {
3020 .description = "l2_ovt",
3021 .field_bit_size = 3,
3022 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3026 .field_info_mask = {
3027 .description = "l2_ivp",
3028 .field_bit_size = 3,
3029 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3031 .field_info_spec = {
3032 .description = "l2_ivp",
3033 .field_bit_size = 3,
3034 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3038 .field_info_mask = {
3039 .description = "l2_ivd",
3040 .field_bit_size = 1,
3041 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3043 .field_info_spec = {
3044 .description = "l2_ivd",
3045 .field_bit_size = 1,
3046 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3050 .field_info_mask = {
3051 .description = "l2_ivv",
3052 .field_bit_size = 12,
3053 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3055 .field_info_spec = {
3056 .description = "l2_ivv",
3057 .field_bit_size = 12,
3058 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3062 .field_info_mask = {
3063 .description = "l2_ivt",
3064 .field_bit_size = 3,
3065 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3067 .field_info_spec = {
3068 .description = "l2_ivt",
3069 .field_bit_size = 3,
3070 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3074 .field_info_mask = {
3075 .description = "l2_etype",
3076 .field_bit_size = 16,
3077 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3079 .field_info_spec = {
3080 .description = "l2_etype",
3081 .field_bit_size = 16,
3082 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3086 .field_info_mask = {
3087 .description = "l3.l3type",
3088 .field_bit_size = 4,
3089 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3091 .field_info_spec = {
3092 .description = "l3.l3type",
3093 .field_bit_size = 4,
3094 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3098 .field_info_mask = {
3099 .description = "l3.sip.ipv4",
3100 .field_bit_size = 32,
3101 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3102 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
3104 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
3105 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
3107 .field_info_spec = {
3108 .description = "l3.sip.ipv4",
3109 .field_bit_size = 32,
3110 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3111 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
3113 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
3114 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
3118 .field_info_mask = {
3119 .description = "l3.sip.ipv6",
3120 .field_bit_size = 128,
3121 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3123 .field_info_spec = {
3124 .description = "l3.sip.ipv6",
3125 .field_bit_size = 128,
3126 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3130 .field_info_mask = {
3131 .description = "l3.sip_selcmp.ipv6",
3132 .field_bit_size = 72,
3133 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3135 .field_info_spec = {
3136 .description = "l3.sip_selcmp.ipv6",
3137 .field_bit_size = 72,
3138 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3142 .field_info_mask = {
3143 .description = "l3.dip.ipv4",
3144 .field_bit_size = 32,
3145 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3146 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
3148 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
3149 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
3151 .field_info_spec = {
3152 .description = "l3.dip.ipv4",
3153 .field_bit_size = 32,
3154 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3155 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
3157 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
3158 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
3162 .field_info_mask = {
3163 .description = "l3.dip.ipv6",
3164 .field_bit_size = 128,
3165 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3167 .field_info_spec = {
3168 .description = "l3.dip.ipv6",
3169 .field_bit_size = 128,
3170 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3174 .field_info_mask = {
3175 .description = "l3.dip_selcmp.ipv6",
3176 .field_bit_size = 72,
3177 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3179 .field_info_spec = {
3180 .description = "l3.dip_selcmp.ipv6",
3181 .field_bit_size = 72,
3182 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3186 .field_info_mask = {
3187 .description = "l3.ttl",
3188 .field_bit_size = 8,
3189 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3191 .field_info_spec = {
3192 .description = "l3.ttl",
3193 .field_bit_size = 8,
3194 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3198 .field_info_mask = {
3199 .description = "l3.prot",
3200 .field_bit_size = 8,
3201 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3202 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3204 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
3205 BNXT_ULP_CF_IDX_O_L4 & 0xff},
3206 .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
3207 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
3209 .field_info_spec = {
3210 .description = "l3.prot",
3211 .field_bit_size = 8,
3212 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3213 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3215 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
3216 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff}
3220 .field_info_mask = {
3221 .description = "l3.fid.ipv4",
3222 .field_bit_size = 16,
3223 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3225 .field_info_spec = {
3226 .description = "l3.fid.ipv4",
3227 .field_bit_size = 16,
3228 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3232 .field_info_mask = {
3233 .description = "l3.fid.ipv6",
3234 .field_bit_size = 20,
3235 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3237 .field_info_spec = {
3238 .description = "l3.fid.ipv6",
3239 .field_bit_size = 20,
3240 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3244 .field_info_mask = {
3245 .description = "l3.qos",
3246 .field_bit_size = 8,
3247 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3249 .field_info_spec = {
3250 .description = "l3.qos",
3251 .field_bit_size = 8,
3252 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3256 .field_info_mask = {
3257 .description = "l3.ieh_nonext",
3258 .field_bit_size = 1,
3259 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3261 .field_info_spec = {
3262 .description = "l3.ieh_nonext",
3263 .field_bit_size = 1,
3264 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3268 .field_info_mask = {
3269 .description = "l3.ieh_esp",
3270 .field_bit_size = 1,
3271 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3273 .field_info_spec = {
3274 .description = "l3.ieh_esp",
3275 .field_bit_size = 1,
3276 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3280 .field_info_mask = {
3281 .description = "l3.ieh_auth",
3282 .field_bit_size = 1,
3283 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3285 .field_info_spec = {
3286 .description = "l3.ieh_auth",
3287 .field_bit_size = 1,
3288 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3292 .field_info_mask = {
3293 .description = "l3.ieh_dest",
3294 .field_bit_size = 1,
3295 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3297 .field_info_spec = {
3298 .description = "l3.ieh_dest",
3299 .field_bit_size = 1,
3300 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3304 .field_info_mask = {
3305 .description = "l3.ieh_frag",
3306 .field_bit_size = 1,
3307 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3309 .field_info_spec = {
3310 .description = "l3.ieh_frag",
3311 .field_bit_size = 1,
3312 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3316 .field_info_mask = {
3317 .description = "l3.ieh_rthdr",
3318 .field_bit_size = 1,
3319 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3321 .field_info_spec = {
3322 .description = "l3.ieh_rthdr",
3323 .field_bit_size = 1,
3324 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3328 .field_info_mask = {
3329 .description = "l3.ieh_hop",
3330 .field_bit_size = 1,
3331 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3333 .field_info_spec = {
3334 .description = "l3.ieh_hop",
3335 .field_bit_size = 1,
3336 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3340 .field_info_mask = {
3341 .description = "l3.ieh_1frag",
3342 .field_bit_size = 1,
3343 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3345 .field_info_spec = {
3346 .description = "l3.ieh_1frag",
3347 .field_bit_size = 1,
3348 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3352 .field_info_mask = {
3353 .description = "l3.df",
3354 .field_bit_size = 1,
3355 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3357 .field_info_spec = {
3358 .description = "l3.df",
3359 .field_bit_size = 1,
3360 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3364 .field_info_mask = {
3365 .description = "l3.l3err.ipv4",
3366 .field_bit_size = 4,
3367 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3369 .field_info_spec = {
3370 .description = "l3.l3err.ipv4",
3371 .field_bit_size = 4,
3372 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3376 .field_info_mask = {
3377 .description = "l3.l3err.ipv6",
3378 .field_bit_size = 4,
3379 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3381 .field_info_spec = {
3382 .description = "l3.l3err.ipv6",
3383 .field_bit_size = 4,
3384 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3388 .field_info_mask = {
3389 .description = "l4.l4type",
3390 .field_bit_size = 4,
3391 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3393 .field_info_spec = {
3394 .description = "l4.l4type",
3395 .field_bit_size = 4,
3396 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3400 .field_info_mask = {
3401 .description = "l4.src",
3402 .field_bit_size = 16,
3403 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3404 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
3406 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
3407 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
3408 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
3409 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
3410 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
3411 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
3412 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
3413 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
3414 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
3416 (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
3417 BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
3418 .field_src3 = BNXT_ULP_FIELD_SRC_HF,
3420 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
3421 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}
3423 .field_info_spec = {
3424 .description = "l4.src",
3425 .field_bit_size = 16,
3426 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3427 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
3429 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
3430 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
3431 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
3432 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
3433 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
3434 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
3435 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
3436 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
3437 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
3439 (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
3440 BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
3441 .field_src3 = BNXT_ULP_FIELD_SRC_HF,
3443 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
3444 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}
3448 .field_info_mask = {
3449 .description = "l4.dst",
3450 .field_bit_size = 16,
3451 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3452 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
3454 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
3455 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
3456 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
3457 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
3458 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
3459 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
3460 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
3461 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
3462 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
3464 (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
3465 BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
3466 .field_src3 = BNXT_ULP_FIELD_SRC_HF,
3468 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
3469 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}
3471 .field_info_spec = {
3472 .description = "l4.dst",
3473 .field_bit_size = 16,
3474 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3475 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
3477 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
3478 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
3479 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
3480 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
3481 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
3482 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
3483 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
3484 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
3485 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
3487 (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
3488 BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
3489 .field_src3 = BNXT_ULP_FIELD_SRC_HF,
3491 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
3492 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}
3496 .field_info_mask = {
3497 .description = "l4.flags",
3498 .field_bit_size = 9,
3499 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3501 .field_info_spec = {
3502 .description = "l4.flags",
3503 .field_bit_size = 9,
3504 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3508 .field_info_mask = {
3509 .description = "l4.seq",
3510 .field_bit_size = 32,
3511 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3513 .field_info_spec = {
3514 .description = "l4.seq",
3515 .field_bit_size = 32,
3516 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3520 .field_info_mask = {
3521 .description = "l4.ack",
3522 .field_bit_size = 32,
3523 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3525 .field_info_spec = {
3526 .description = "l4.ack",
3527 .field_bit_size = 32,
3528 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3532 .field_info_mask = {
3533 .description = "l4.win",
3534 .field_bit_size = 16,
3535 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3537 .field_info_spec = {
3538 .description = "l4.win",
3539 .field_bit_size = 16,
3540 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3544 .field_info_mask = {
3545 .description = "l4.pa",
3546 .field_bit_size = 1,
3547 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3549 .field_info_spec = {
3550 .description = "l4.pa",
3551 .field_bit_size = 1,
3552 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3556 .field_info_mask = {
3557 .description = "l4.opt",
3558 .field_bit_size = 1,
3559 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3561 .field_info_spec = {
3562 .description = "l4.opt",
3563 .field_bit_size = 1,
3564 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3568 .field_info_mask = {
3569 .description = "l4.tcpts",
3570 .field_bit_size = 1,
3571 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3573 .field_info_spec = {
3574 .description = "l4.tcpts",
3575 .field_bit_size = 1,
3576 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3580 .field_info_mask = {
3581 .description = "l4.tsval",
3582 .field_bit_size = 32,
3583 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3585 .field_info_spec = {
3586 .description = "l4.tsval",
3587 .field_bit_size = 32,
3588 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3592 .field_info_mask = {
3593 .description = "l4.txecr",
3594 .field_bit_size = 32,
3595 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3597 .field_info_spec = {
3598 .description = "l4.txecr",
3599 .field_bit_size = 32,
3600 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3604 .field_info_mask = {
3605 .description = "l4.err",
3606 .field_bit_size = 4,
3607 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3609 .field_info_spec = {
3610 .description = "l4.err",
3611 .field_bit_size = 4,
3612 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3615 /* class_tid: 3, , table: port_table.wr_0 */
3617 .field_info_mask = {
3618 .description = "dev.port_id",
3619 .field_bit_size = 10,
3620 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3621 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3626 .field_info_spec = {
3627 .description = "dev.port_id",
3628 .field_bit_size = 10,
3629 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3630 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3632 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
3633 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
3636 /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_rd */
3638 .field_info_mask = {
3639 .description = "svif",
3640 .field_bit_size = 8,
3641 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3642 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3646 .field_info_spec = {
3647 .description = "svif",
3648 .field_bit_size = 8,
3649 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3650 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3652 (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
3653 BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
3656 /* class_tid: 3, , table: l2_cntxt_tcam.ing_0 */
3658 .field_info_mask = {
3659 .description = "etype",
3660 .field_bit_size = 16,
3661 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3662 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3664 .field_info_spec = {
3665 .description = "etype",
3666 .field_bit_size = 16,
3667 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3668 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3672 .field_info_mask = {
3673 .description = "l2_ivlan_tpid_sel",
3674 .field_bit_size = 3,
3675 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3676 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3678 .field_info_spec = {
3679 .description = "l2_ivlan_tpid_sel",
3680 .field_bit_size = 3,
3681 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3682 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3686 .field_info_mask = {
3687 .description = "l2_ivlan_vid",
3688 .field_bit_size = 12,
3689 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3690 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3692 .field_info_spec = {
3693 .description = "l2_ivlan_vid",
3694 .field_bit_size = 12,
3695 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3696 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3700 .field_info_mask = {
3701 .description = "l2_ovlan_tpid_sel",
3702 .field_bit_size = 3,
3703 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3704 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3706 .field_info_spec = {
3707 .description = "l2_ovlan_tpid_sel",
3708 .field_bit_size = 3,
3709 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3710 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3714 .field_info_mask = {
3715 .description = "l2_ovlan_vid",
3716 .field_bit_size = 12,
3717 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3718 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3720 .field_info_spec = {
3721 .description = "l2_ovlan_vid",
3722 .field_bit_size = 12,
3723 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3724 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3728 .field_info_mask = {
3729 .description = "two_vtags",
3730 .field_bit_size = 1,
3731 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3732 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3734 .field_info_spec = {
3735 .description = "two_vtags",
3736 .field_bit_size = 1,
3737 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3738 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3742 .field_info_mask = {
3743 .description = "vtag_present",
3744 .field_bit_size = 1,
3745 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3746 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3748 .field_info_spec = {
3749 .description = "vtag_present",
3750 .field_bit_size = 1,
3751 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3752 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3756 .field_info_mask = {
3757 .description = "mac1_addr",
3758 .field_bit_size = 48,
3759 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3760 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3762 .field_info_spec = {
3763 .description = "mac1_addr",
3764 .field_bit_size = 48,
3765 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3766 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3770 .field_info_mask = {
3771 .description = "mac0_addr",
3772 .field_bit_size = 48,
3773 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3774 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3776 .field_info_spec = {
3777 .description = "mac0_addr",
3778 .field_bit_size = 48,
3779 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3780 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3784 .field_info_mask = {
3785 .description = "tunnel_id",
3786 .field_bit_size = 24,
3787 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3788 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3790 .field_info_spec = {
3791 .description = "tunnel_id",
3792 .field_bit_size = 24,
3793 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3794 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3798 .field_info_mask = {
3799 .description = "tun_hdr_type",
3800 .field_bit_size = 4,
3801 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3802 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3804 .field_info_spec = {
3805 .description = "tun_hdr_type",
3806 .field_bit_size = 4,
3807 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3808 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3812 .field_info_mask = {
3813 .description = "llc",
3814 .field_bit_size = 1,
3815 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3816 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3818 .field_info_spec = {
3819 .description = "llc",
3820 .field_bit_size = 1,
3821 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3822 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3826 .field_info_mask = {
3827 .description = "roce",
3828 .field_bit_size = 1,
3829 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3830 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3832 .field_info_spec = {
3833 .description = "roce",
3834 .field_bit_size = 1,
3835 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3836 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3840 .field_info_mask = {
3841 .description = "metadata",
3842 .field_bit_size = 16,
3843 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3844 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3846 .field_info_spec = {
3847 .description = "metadata",
3848 .field_bit_size = 16,
3849 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3850 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3854 .field_info_mask = {
3855 .description = "svif",
3856 .field_bit_size = 11,
3857 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3858 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3863 .field_info_spec = {
3864 .description = "svif",
3865 .field_bit_size = 11,
3866 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3867 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3869 (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
3870 BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
3874 .field_info_mask = {
3875 .description = "parif",
3876 .field_bit_size = 4,
3877 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3878 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3880 .field_info_spec = {
3881 .description = "parif",
3882 .field_bit_size = 4,
3883 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3884 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3888 .field_info_mask = {
3889 .description = "spif",
3890 .field_bit_size = 2,
3891 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3892 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3894 .field_info_spec = {
3895 .description = "spif",
3896 .field_bit_size = 2,
3897 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3898 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3902 .field_info_mask = {
3903 .description = "loopback",
3904 .field_bit_size = 1,
3905 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3906 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3908 .field_info_spec = {
3909 .description = "loopback",
3910 .field_bit_size = 1,
3911 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3912 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3916 .field_info_mask = {
3917 .description = "recycle_cnt",
3918 .field_bit_size = 2,
3919 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3920 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3922 .field_info_spec = {
3923 .description = "recycle_cnt",
3924 .field_bit_size = 2,
3925 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3926 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3930 .field_info_mask = {
3931 .description = "mpass_cnt",
3932 .field_bit_size = 2,
3933 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3934 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3936 .field_info_spec = {
3937 .description = "mpass_cnt",
3938 .field_bit_size = 2,
3939 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3940 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3944 .field_info_mask = {
3945 .description = "valid",
3946 .field_bit_size = 1,
3947 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3948 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3952 .field_info_spec = {
3953 .description = "valid",
3954 .field_bit_size = 1,
3955 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3956 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3961 /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_wr */
3963 .field_info_mask = {
3964 .description = "svif",
3965 .field_bit_size = 8,
3966 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3967 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3971 .field_info_spec = {
3972 .description = "svif",
3973 .field_bit_size = 8,
3974 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3975 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3977 (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
3978 BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
3981 /* class_tid: 3, , table: l2_cntxt_tcam_cache.egr_rd */
3983 .field_info_mask = {
3984 .description = "svif",
3985 .field_bit_size = 8,
3986 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3987 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3991 .field_info_spec = {
3992 .description = "svif",
3993 .field_bit_size = 8,
3994 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3995 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3997 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
3998 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
4001 /* class_tid: 3, , table: l2_cntxt_tcam.egr_0 */
4003 .field_info_mask = {
4004 .description = "etype",
4005 .field_bit_size = 16,
4006 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4007 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4009 .field_info_spec = {
4010 .description = "etype",
4011 .field_bit_size = 16,
4012 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4013 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4017 .field_info_mask = {
4018 .description = "l2_ivlan_tpid_sel",
4019 .field_bit_size = 3,
4020 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4021 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4023 .field_info_spec = {
4024 .description = "l2_ivlan_tpid_sel",
4025 .field_bit_size = 3,
4026 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4027 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4031 .field_info_mask = {
4032 .description = "l2_ivlan_vid",
4033 .field_bit_size = 12,
4034 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4035 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4037 .field_info_spec = {
4038 .description = "l2_ivlan_vid",
4039 .field_bit_size = 12,
4040 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4041 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4045 .field_info_mask = {
4046 .description = "l2_ovlan_tpid_sel",
4047 .field_bit_size = 3,
4048 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4049 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4051 .field_info_spec = {
4052 .description = "l2_ovlan_tpid_sel",
4053 .field_bit_size = 3,
4054 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4055 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4059 .field_info_mask = {
4060 .description = "l2_ovlan_vid",
4061 .field_bit_size = 12,
4062 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4063 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4065 .field_info_spec = {
4066 .description = "l2_ovlan_vid",
4067 .field_bit_size = 12,
4068 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4069 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4073 .field_info_mask = {
4074 .description = "two_vtags",
4075 .field_bit_size = 1,
4076 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4077 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4079 .field_info_spec = {
4080 .description = "two_vtags",
4081 .field_bit_size = 1,
4082 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4083 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4087 .field_info_mask = {
4088 .description = "vtag_present",
4089 .field_bit_size = 1,
4090 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4091 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4093 .field_info_spec = {
4094 .description = "vtag_present",
4095 .field_bit_size = 1,
4096 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4097 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4101 .field_info_mask = {
4102 .description = "mac1_addr",
4103 .field_bit_size = 48,
4104 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4105 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4107 .field_info_spec = {
4108 .description = "mac1_addr",
4109 .field_bit_size = 48,
4110 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4111 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4115 .field_info_mask = {
4116 .description = "mac0_addr",
4117 .field_bit_size = 48,
4118 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4119 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4121 .field_info_spec = {
4122 .description = "mac0_addr",
4123 .field_bit_size = 48,
4124 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4125 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4129 .field_info_mask = {
4130 .description = "tunnel_id",
4131 .field_bit_size = 24,
4132 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4133 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4135 .field_info_spec = {
4136 .description = "tunnel_id",
4137 .field_bit_size = 24,
4138 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4139 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4143 .field_info_mask = {
4144 .description = "tun_hdr_type",
4145 .field_bit_size = 4,
4146 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4147 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4149 .field_info_spec = {
4150 .description = "tun_hdr_type",
4151 .field_bit_size = 4,
4152 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4153 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4157 .field_info_mask = {
4158 .description = "llc",
4159 .field_bit_size = 1,
4160 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4161 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4163 .field_info_spec = {
4164 .description = "llc",
4165 .field_bit_size = 1,
4166 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4167 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4171 .field_info_mask = {
4172 .description = "roce",
4173 .field_bit_size = 1,
4174 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4175 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4177 .field_info_spec = {
4178 .description = "roce",
4179 .field_bit_size = 1,
4180 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4181 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4185 .field_info_mask = {
4186 .description = "metadata",
4187 .field_bit_size = 16,
4188 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4189 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4191 .field_info_spec = {
4192 .description = "metadata",
4193 .field_bit_size = 16,
4194 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4195 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4199 .field_info_mask = {
4200 .description = "svif",
4201 .field_bit_size = 11,
4202 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4203 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4208 .field_info_spec = {
4209 .description = "svif",
4210 .field_bit_size = 11,
4211 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4212 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4214 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
4215 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
4219 .field_info_mask = {
4220 .description = "parif",
4221 .field_bit_size = 4,
4222 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4223 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4225 .field_info_spec = {
4226 .description = "parif",
4227 .field_bit_size = 4,
4228 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4229 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4233 .field_info_mask = {
4234 .description = "spif",
4235 .field_bit_size = 2,
4236 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4237 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4239 .field_info_spec = {
4240 .description = "spif",
4241 .field_bit_size = 2,
4242 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4243 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4247 .field_info_mask = {
4248 .description = "loopback",
4249 .field_bit_size = 1,
4250 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4251 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4253 .field_info_spec = {
4254 .description = "loopback",
4255 .field_bit_size = 1,
4256 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4257 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4261 .field_info_mask = {
4262 .description = "recycle_cnt",
4263 .field_bit_size = 2,
4264 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4265 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4267 .field_info_spec = {
4268 .description = "recycle_cnt",
4269 .field_bit_size = 2,
4270 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4271 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4275 .field_info_mask = {
4276 .description = "mpass_cnt",
4277 .field_bit_size = 2,
4278 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4279 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4281 .field_info_spec = {
4282 .description = "mpass_cnt",
4283 .field_bit_size = 2,
4284 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4285 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4289 .field_info_mask = {
4290 .description = "valid",
4291 .field_bit_size = 1,
4292 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4293 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4297 .field_info_spec = {
4298 .description = "valid",
4299 .field_bit_size = 1,
4300 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4301 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4308 struct bnxt_ulp_mapper_field_info ulp_thor_class_result_field_list[] = {
4309 /* class_tid: 1, , table: l2_cntxt_tcam.0 */
4311 .description = "prof_func_id",
4312 .field_bit_size = 7,
4313 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4314 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
4316 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
4317 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
4318 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
4320 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
4321 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
4322 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
4324 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
4325 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
4328 .description = "ctxt_meta_prof",
4329 .field_bit_size = 3,
4330 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4331 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4334 .description = "def_ctxt_data",
4335 .field_bit_size = 16,
4336 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4337 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4339 (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
4340 BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
4343 .description = "ctxt_opcode",
4344 .field_bit_size = 3,
4345 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4346 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4348 ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
4351 .description = "l2_cntxt_id",
4352 .field_bit_size = 10,
4353 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4354 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4356 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
4357 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
4360 .description = "parif",
4361 .field_bit_size = 4,
4362 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4363 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4365 (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
4366 BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
4368 /* class_tid: 1, , table: mac_addr_cache.wr */
4370 .description = "rid",
4371 .field_bit_size = 32,
4372 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4373 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4375 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
4376 BNXT_ULP_RF_IDX_RID & 0xff}
4379 .description = "l2_cntxt_tcam_index",
4380 .field_bit_size = 10,
4381 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4382 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4385 .description = "l2_cntxt_id",
4386 .field_bit_size = 10,
4387 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4388 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4390 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
4391 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
4394 .description = "src_property_ptr",
4395 .field_bit_size = 10,
4396 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4397 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4399 /* class_tid: 1, , table: fkb_select.l3_l4_wm */
4401 .description = "l2_cntxt_id.en",
4402 .field_bit_size = 1,
4403 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4404 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4409 .description = "parif.en",
4410 .field_bit_size = 1,
4411 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4412 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4415 .description = "spif.en",
4416 .field_bit_size = 1,
4417 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4418 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4421 .description = "svif.en",
4422 .field_bit_size = 1,
4423 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4424 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4427 .description = "lcos.en",
4428 .field_bit_size = 1,
4429 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4430 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4433 .description = "meta.en",
4434 .field_bit_size = 1,
4435 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4436 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4439 .description = "rcyc_cnt.en",
4440 .field_bit_size = 1,
4441 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4442 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4445 .description = "loopback.en",
4446 .field_bit_size = 1,
4447 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4448 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4451 .description = "tl2_l2type.en",
4452 .field_bit_size = 1,
4453 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4454 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4457 .description = "tl2_dmac.en",
4458 .field_bit_size = 1,
4459 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4460 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4463 .description = "tl2_smac.en",
4464 .field_bit_size = 1,
4465 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4466 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4469 .description = "tl2_dt.en",
4470 .field_bit_size = 1,
4471 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4472 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4475 .description = "tl2_sa.en",
4476 .field_bit_size = 1,
4477 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4478 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4481 .description = "tl2_nvt.en",
4482 .field_bit_size = 1,
4483 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4484 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4487 .description = "tl2_ovp.en",
4488 .field_bit_size = 1,
4489 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4490 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4493 .description = "tl2_ovd.en",
4494 .field_bit_size = 1,
4495 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4496 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4499 .description = "tl2_ovv.en",
4500 .field_bit_size = 1,
4501 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4502 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4505 .description = "tl2_ovt.en",
4506 .field_bit_size = 1,
4507 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4508 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4511 .description = "tl2_ivp.en",
4512 .field_bit_size = 1,
4513 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4514 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4517 .description = "tl2_ivd.en",
4518 .field_bit_size = 1,
4519 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4520 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4523 .description = "tl2_ivv.en",
4524 .field_bit_size = 1,
4525 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4526 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4529 .description = "tl2_ivt.en",
4530 .field_bit_size = 1,
4531 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4532 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4535 .description = "tl2_etype.en",
4536 .field_bit_size = 1,
4537 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4538 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4541 .description = "tl3_l3type.en",
4542 .field_bit_size = 1,
4543 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4544 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4547 .description = "tl3_sip.en",
4548 .field_bit_size = 1,
4549 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4550 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4553 .description = "tl3_sip_selcmp.en",
4554 .field_bit_size = 1,
4555 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4556 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4559 .description = "tl3_dip.en",
4560 .field_bit_size = 1,
4561 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4562 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4565 .description = "tl3_dip_selcmp.en",
4566 .field_bit_size = 1,
4567 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4568 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4571 .description = "tl3_ttl.en",
4572 .field_bit_size = 1,
4573 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4574 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4577 .description = "tl3_prot.en",
4578 .field_bit_size = 1,
4579 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4580 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4583 .description = "tl3_fid.en",
4584 .field_bit_size = 1,
4585 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4586 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4589 .description = "tl3_qos.en",
4590 .field_bit_size = 1,
4591 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4592 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4595 .description = "tl3_ieh_nonext.en",
4596 .field_bit_size = 1,
4597 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4598 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4601 .description = "tl3_ieh_esp.en",
4602 .field_bit_size = 1,
4603 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4604 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4607 .description = "tl3_ieh_auth.en",
4608 .field_bit_size = 1,
4609 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4610 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4613 .description = "tl3_ieh_dest.en",
4614 .field_bit_size = 1,
4615 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4616 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4619 .description = "tl3_ieh_frag.en",
4620 .field_bit_size = 1,
4621 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4622 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4625 .description = "tl3_ieh_rthdr.en",
4626 .field_bit_size = 1,
4627 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4628 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4631 .description = "tl3_ieh_hop.en",
4632 .field_bit_size = 1,
4633 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4634 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4637 .description = "tl3_ieh_1frag.en",
4638 .field_bit_size = 1,
4639 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4640 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4643 .description = "tl3_df.en",
4644 .field_bit_size = 1,
4645 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4646 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4649 .description = "tl3_l3err.en",
4650 .field_bit_size = 1,
4651 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4652 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4655 .description = "tl4_l4type.en",
4656 .field_bit_size = 1,
4657 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4658 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4661 .description = "tl4_src.en",
4662 .field_bit_size = 1,
4663 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4664 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4667 .description = "tl4_dst.en",
4668 .field_bit_size = 1,
4669 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4670 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4673 .description = "tl4_flags.en",
4674 .field_bit_size = 1,
4675 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4676 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4679 .description = "tl4_seq.en",
4680 .field_bit_size = 1,
4681 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4682 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4685 .description = "tl4_pa.en",
4686 .field_bit_size = 1,
4687 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4688 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4691 .description = "tl4_opt.en",
4692 .field_bit_size = 1,
4693 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4694 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4697 .description = "tl4_tcpts.en",
4698 .field_bit_size = 1,
4699 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4700 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4703 .description = "tl4_err.en",
4704 .field_bit_size = 1,
4705 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4706 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4709 .description = "tuntype.en",
4710 .field_bit_size = 1,
4711 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4712 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4715 .description = "tflags.en",
4716 .field_bit_size = 1,
4717 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4718 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4721 .description = "tids.en",
4722 .field_bit_size = 1,
4723 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4724 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4727 .description = "tid.en",
4728 .field_bit_size = 1,
4729 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4730 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4733 .description = "tctxts.en",
4734 .field_bit_size = 1,
4735 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4736 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4739 .description = "tctxt.en",
4740 .field_bit_size = 1,
4741 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4742 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4745 .description = "tqos.en",
4746 .field_bit_size = 1,
4747 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4748 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4751 .description = "terr.en",
4752 .field_bit_size = 1,
4753 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4754 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4757 .description = "l2_l2type.en",
4758 .field_bit_size = 1,
4759 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4760 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4763 .description = "l2_dmac.en",
4764 .field_bit_size = 1,
4765 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4766 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4769 .description = "l2_smac.en",
4770 .field_bit_size = 1,
4771 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4772 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4775 .description = "l2_dt.en",
4776 .field_bit_size = 1,
4777 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4778 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4781 .description = "l2_sa.en",
4782 .field_bit_size = 1,
4783 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4784 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4787 .description = "l2_nvt.en",
4788 .field_bit_size = 1,
4789 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4790 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4793 .description = "l2_ovp.en",
4794 .field_bit_size = 1,
4795 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4796 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4799 .description = "l2_ovd.en",
4800 .field_bit_size = 1,
4801 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4802 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4805 .description = "l2_ovv.en",
4806 .field_bit_size = 1,
4807 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4808 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4811 .description = "l2_ovt.en",
4812 .field_bit_size = 1,
4813 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4814 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4817 .description = "l2_ivp.en",
4818 .field_bit_size = 1,
4819 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4820 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4823 .description = "l2_ivd.en",
4824 .field_bit_size = 1,
4825 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4826 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4829 .description = "l2_ivv.en",
4830 .field_bit_size = 1,
4831 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4832 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4835 .description = "l2_ivt.en",
4836 .field_bit_size = 1,
4837 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4838 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4841 .description = "l2_etype.en",
4842 .field_bit_size = 1,
4843 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4844 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4847 .description = "l3_l3type.en",
4848 .field_bit_size = 1,
4849 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4850 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4853 .description = "l3_sip.en",
4854 .field_bit_size = 1,
4855 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4856 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4861 .description = "l3_sip_selcmp.en",
4862 .field_bit_size = 1,
4863 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4864 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4867 .description = "l3_dip.en",
4868 .field_bit_size = 1,
4869 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4870 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4875 .description = "l3_dip_selcmp.en",
4876 .field_bit_size = 1,
4877 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4878 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4881 .description = "l3_ttl.en",
4882 .field_bit_size = 1,
4883 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4884 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4887 .description = "l3_prot.en",
4888 .field_bit_size = 1,
4889 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4890 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4895 .description = "l3_fid.en",
4896 .field_bit_size = 1,
4897 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4898 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4901 .description = "l3_qos.en",
4902 .field_bit_size = 1,
4903 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4904 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4907 .description = "l3_ieh_nonext.en",
4908 .field_bit_size = 1,
4909 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4910 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4913 .description = "l3_ieh_esp.en",
4914 .field_bit_size = 1,
4915 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4916 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4919 .description = "l3_ieh_auth.en",
4920 .field_bit_size = 1,
4921 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4922 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4925 .description = "l3_ieh_dest.en",
4926 .field_bit_size = 1,
4927 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4928 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4931 .description = "l3_ieh_frag.en",
4932 .field_bit_size = 1,
4933 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4934 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4937 .description = "l3_ieh_rthdr.en",
4938 .field_bit_size = 1,
4939 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4940 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4943 .description = "l3_ieh_hop.en",
4944 .field_bit_size = 1,
4945 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4946 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4949 .description = "l3_ieh_1frag.en",
4950 .field_bit_size = 1,
4951 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4952 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4955 .description = "l3_df.en",
4956 .field_bit_size = 1,
4957 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4958 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4961 .description = "l3_l3err.en",
4962 .field_bit_size = 1,
4963 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4964 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4967 .description = "l4_l4type.en",
4968 .field_bit_size = 1,
4969 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4970 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4973 .description = "l4_src.en",
4974 .field_bit_size = 1,
4975 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4976 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4981 .description = "l4_dst.en",
4982 .field_bit_size = 1,
4983 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4984 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4989 .description = "l4_flags.en",
4990 .field_bit_size = 1,
4991 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4992 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4995 .description = "l4_seq.en",
4996 .field_bit_size = 1,
4997 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4998 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5001 .description = "l4_ack.en",
5002 .field_bit_size = 1,
5003 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5004 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5007 .description = "l4_win.en",
5008 .field_bit_size = 1,
5009 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5010 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5013 .description = "l4_pa.en",
5014 .field_bit_size = 1,
5015 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5016 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5019 .description = "l4_opt.en",
5020 .field_bit_size = 1,
5021 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5022 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5025 .description = "l4_tcpts.en",
5026 .field_bit_size = 1,
5027 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5028 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5031 .description = "l4_tsval.en",
5032 .field_bit_size = 1,
5033 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5034 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5037 .description = "l4_txecr.en",
5038 .field_bit_size = 1,
5039 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5040 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5043 .description = "l4_err.en",
5044 .field_bit_size = 1,
5045 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5046 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5048 /* class_tid: 1, , table: profile_tcam.l3_l4 */
5050 .description = "wc_key_id",
5051 .field_bit_size = 6,
5052 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5053 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
5055 (BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_0 >> 8) & 0xff,
5056 BNXT_ULP_GLB_RF_IDX_GLB_WC_KEY_ID_0 & 0xff}
5059 .description = "wc_profile_id",
5060 .field_bit_size = 8,
5061 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5062 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
5064 (BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0 >> 8) & 0xff,
5065 BNXT_ULP_GLB_RF_IDX_GLB_WC_PROFILE_ID_0 & 0xff}
5068 .description = "wc_search_en",
5069 .field_bit_size = 1,
5070 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5071 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5076 .description = "em_key_type",
5077 .field_bit_size = 2,
5078 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5079 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5082 .description = "em_key_id",
5083 .field_bit_size = 6,
5084 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5085 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5088 .description = "em_profile_id",
5089 .field_bit_size = 8,
5090 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5091 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5094 .description = "em_search_en",
5095 .field_bit_size = 1,
5096 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5097 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5100 .description = "pl_byp_lkup_en",
5101 .field_bit_size = 1,
5102 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5103 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5105 /* class_tid: 1, , table: profile_tcam_cache.l3_l4_wr */
5107 .description = "rid",
5108 .field_bit_size = 32,
5109 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5110 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5112 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
5113 BNXT_ULP_RF_IDX_RID & 0xff}
5116 .description = "profile_tcam_index",
5117 .field_bit_size = 10,
5118 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5119 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5122 .description = "em_profile_id",
5123 .field_bit_size = 8,
5124 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5125 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5128 .description = "em_key_id",
5129 .field_bit_size = 8,
5130 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5131 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5134 .description = "wc_profile_id",
5135 .field_bit_size = 8,
5136 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5137 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5140 .description = "wc_key_id",
5141 .field_bit_size = 8,
5142 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5143 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5146 .description = "flow_sig_id",
5147 .field_bit_size = 64,
5148 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5149 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5151 (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff,
5152 BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff}
5154 /* class_tid: 1, , table: wm.l3_l4 */
5156 .description = "ctxt_data",
5157 .field_bit_size = 14,
5158 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5159 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5162 .description = "meta_prof",
5163 .field_bit_size = 3,
5164 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5165 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5168 .description = "opcode",
5169 .field_bit_size = 3,
5170 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5171 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5174 .description = "data",
5175 .field_bit_size = 16,
5176 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5177 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5179 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
5180 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
5183 .description = "strength",
5184 .field_bit_size = 2,
5185 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5186 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5190 /* class_tid: 3, , table: int_full_act_record.0 */
5192 .description = "sp_rec_ptr",
5193 .field_bit_size = 16,
5194 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5195 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5198 .description = "encap_ptr",
5199 .field_bit_size = 16,
5200 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5201 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5204 .description = "mod_rec_ptr",
5205 .field_bit_size = 16,
5206 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5207 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5210 .description = "rsvd1",
5211 .field_bit_size = 16,
5212 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5213 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5216 .description = "rsvd0",
5217 .field_bit_size = 8,
5218 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5219 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5222 .description = "decap_func",
5223 .field_bit_size = 5,
5224 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5225 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5228 .description = "meter",
5229 .field_bit_size = 10,
5230 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5231 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5234 .description = "stats_op",
5235 .field_bit_size = 1,
5236 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5237 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5240 .description = "stats_ptr",
5241 .field_bit_size = 16,
5242 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5243 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5246 .description = "vnic_or_vport",
5247 .field_bit_size = 11,
5248 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5249 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5251 (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
5252 BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}
5255 .description = "use_default",
5256 .field_bit_size = 1,
5257 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5258 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5261 .description = "mirror",
5262 .field_bit_size = 4,
5263 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5264 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5267 .description = "cond_copy",
5268 .field_bit_size = 1,
5269 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5270 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5273 .description = "vlan_del_rpt",
5274 .field_bit_size = 2,
5275 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5276 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5279 .description = "drop",
5280 .field_bit_size = 1,
5281 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5282 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5285 .description = "hit",
5286 .field_bit_size = 1,
5287 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5288 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5291 .description = "type",
5292 .field_bit_size = 3,
5293 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5294 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5298 /* class_tid: 3, , table: port_table.wr_0 */
5300 .description = "rid",
5301 .field_bit_size = 32,
5302 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5303 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5306 .description = "drv_func.mac",
5307 .field_bit_size = 48,
5308 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5309 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5312 .description = "drv_func.parent.mac",
5313 .field_bit_size = 48,
5314 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5315 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5318 .description = "phy_port",
5319 .field_bit_size = 8,
5320 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5321 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5324 .description = "default_arec_ptr",
5325 .field_bit_size = 16,
5326 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5327 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5329 (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
5330 BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
5332 /* class_tid: 3, , table: l2_cntxt_tcam.ing_0 */
5334 .description = "prof_func_id",
5335 .field_bit_size = 7,
5336 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5337 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
5339 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
5340 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
5343 .description = "ctxt_meta_prof",
5344 .field_bit_size = 3,
5345 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5346 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5349 .description = "def_ctxt_data",
5350 .field_bit_size = 16,
5351 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5352 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5354 (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
5355 BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
5358 .description = "ctxt_opcode",
5359 .field_bit_size = 3,
5360 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5361 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5363 ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
5366 .description = "l2_cntxt_id",
5367 .field_bit_size = 10,
5368 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5369 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5371 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
5372 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
5375 .description = "parif",
5376 .field_bit_size = 4,
5377 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5378 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5380 (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
5381 BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
5383 /* class_tid: 3, , table: l2_cntxt_tcam_cache.ing_wr */
5385 .description = "rid",
5386 .field_bit_size = 32,
5387 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5388 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5390 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
5391 BNXT_ULP_RF_IDX_RID & 0xff}
5394 .description = "l2_cntxt_tcam_index",
5395 .field_bit_size = 10,
5396 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5397 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5399 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
5400 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
5403 .description = "l2_cntxt_id",
5404 .field_bit_size = 10,
5405 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5406 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5408 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
5409 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
5412 .description = "src_property_ptr",
5413 .field_bit_size = 10,
5414 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5415 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5417 /* class_tid: 3, , table: parif_def_arec_ptr.ing_0 */
5419 .description = "act_rec_ptr",
5420 .field_bit_size = 32,
5421 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5422 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5424 (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
5425 BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
5427 /* class_tid: 3, , table: parif_def_err_arec_ptr.ing_0 */
5429 .description = "act_rec_ptr",
5430 .field_bit_size = 32,
5431 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5432 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5434 (BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR >> 8) & 0xff,
5435 BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR & 0xff}
5437 /* class_tid: 3, , table: int_full_act_record.egr_0 */
5439 .description = "sp_rec_ptr",
5440 .field_bit_size = 16,
5441 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5442 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5445 .description = "encap_ptr",
5446 .field_bit_size = 16,
5447 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5448 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5451 .description = "mod_rec_ptr",
5452 .field_bit_size = 16,
5453 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5454 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5457 .description = "rsvd1",
5458 .field_bit_size = 16,
5459 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5460 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5463 .description = "rsvd0",
5464 .field_bit_size = 8,
5465 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5466 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5469 .description = "decap_func",
5470 .field_bit_size = 5,
5471 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5472 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5475 .description = "meter",
5476 .field_bit_size = 10,
5477 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5478 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5481 .description = "stats_op",
5482 .field_bit_size = 1,
5483 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5484 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5487 .description = "stats_ptr",
5488 .field_bit_size = 16,
5489 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5490 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5493 .description = "vnic_or_vport",
5494 .field_bit_size = 11,
5495 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5496 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5498 (BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff,
5499 BNXT_ULP_CF_IDX_PHY_PORT_VPORT & 0xff}
5502 .description = "use_default",
5503 .field_bit_size = 1,
5504 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5505 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5508 .description = "mirror",
5509 .field_bit_size = 4,
5510 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5511 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5514 .description = "cond_copy",
5515 .field_bit_size = 1,
5516 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5517 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5520 .description = "vlan_del_rpt",
5521 .field_bit_size = 2,
5522 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5523 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5526 .description = "drop",
5527 .field_bit_size = 1,
5528 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5529 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5532 .description = "hit",
5533 .field_bit_size = 1,
5534 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5535 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5538 .description = "type",
5539 .field_bit_size = 3,
5540 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5541 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5545 /* class_tid: 3, , table: l2_cntxt_tcam.egr_0 */
5547 .description = "prof_func_id",
5548 .field_bit_size = 7,
5549 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5550 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
5552 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
5553 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
5556 .description = "ctxt_meta_prof",
5557 .field_bit_size = 3,
5558 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5559 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5562 .description = "def_ctxt_data",
5563 .field_bit_size = 16,
5564 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5565 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5567 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
5568 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
5571 .description = "ctxt_opcode",
5572 .field_bit_size = 3,
5573 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5574 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5576 ULP_THOR_SYM_CTXT_OPCODE_NORMAL_FLOW}
5579 .description = "l2_cntxt_id",
5580 .field_bit_size = 10,
5581 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5582 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5584 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
5585 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
5588 .description = "parif",
5589 .field_bit_size = 4,
5590 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5591 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5593 (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
5594 BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
5596 /* class_tid: 3, , table: parif_def_arec_ptr.egr_0 */
5598 .description = "act_rec_ptr",
5599 .field_bit_size = 32,
5600 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5601 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5603 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
5604 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
5606 /* class_tid: 3, , table: parif_def_err_arec_ptr.egr_0 */
5608 .description = "act_rec_ptr",
5609 .field_bit_size = 32,
5610 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5611 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5613 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
5614 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
5616 /* class_tid: 4, , table: int_full_act_record.loopback */
5618 .description = "sp_rec_ptr",
5619 .field_bit_size = 16,
5620 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5621 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5624 .description = "encap_ptr",
5625 .field_bit_size = 16,
5626 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5627 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5630 .description = "mod_rec_ptr",
5631 .field_bit_size = 16,
5632 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5633 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5636 .description = "rsvd1",
5637 .field_bit_size = 16,
5638 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5639 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5642 .description = "rsvd0",
5643 .field_bit_size = 8,
5644 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5645 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5648 .description = "decap_func",
5649 .field_bit_size = 5,
5650 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5651 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5654 .description = "meter",
5655 .field_bit_size = 10,
5656 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5657 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5660 .description = "stats_op",
5661 .field_bit_size = 1,
5662 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5663 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5666 .description = "stats_ptr",
5667 .field_bit_size = 16,
5668 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5669 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5672 .description = "vnic_or_vport",
5673 .field_bit_size = 11,
5674 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5675 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5677 (ULP_THOR_SYM_LOOPBACK_PORT >> 8) & 0xff,
5678 ULP_THOR_SYM_LOOPBACK_PORT & 0xff}
5681 .description = "use_default",
5682 .field_bit_size = 1,
5683 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5684 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5687 .description = "mirror",
5688 .field_bit_size = 4,
5689 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5690 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5693 .description = "cond_copy",
5694 .field_bit_size = 1,
5695 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5696 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5699 .description = "vlan_del_rpt",
5700 .field_bit_size = 2,
5701 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5702 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5705 .description = "drop",
5706 .field_bit_size = 1,
5707 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5708 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5711 .description = "hit",
5712 .field_bit_size = 1,
5713 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5714 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5717 .description = "type",
5718 .field_bit_size = 3,
5719 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5720 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5724 /* class_tid: 4, , table: parif_def_arec_ptr.vf_egr */
5726 .description = "act_rec_ptr",
5727 .field_bit_size = 32,
5728 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5729 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
5731 (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
5732 BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
5734 /* class_tid: 4, , table: parif_def_err_arec_ptr.vf_egr */
5736 .description = "act_rec_ptr",
5737 .field_bit_size = 32,
5738 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5739 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
5741 (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
5742 BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
5744 /* class_tid: 4, , table: int_full_act_record.vf_ing */
5746 .description = "sp_rec_ptr",
5747 .field_bit_size = 16,
5748 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5749 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5752 .description = "encap_ptr",
5753 .field_bit_size = 16,
5754 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5755 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5758 .description = "mod_rec_ptr",
5759 .field_bit_size = 16,
5760 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5761 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5764 .description = "rsvd1",
5765 .field_bit_size = 16,
5766 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5767 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5770 .description = "rsvd0",
5771 .field_bit_size = 8,
5772 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5773 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5776 .description = "decap_func",
5777 .field_bit_size = 5,
5778 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5779 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5782 .description = "meter",
5783 .field_bit_size = 10,
5784 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5785 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5788 .description = "stats_op",
5789 .field_bit_size = 1,
5790 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5791 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5794 .description = "stats_ptr",
5795 .field_bit_size = 16,
5796 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5797 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5800 .description = "vnic_or_vport",
5801 .field_bit_size = 11,
5802 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5803 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5805 (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
5806 BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}
5809 .description = "use_default",
5810 .field_bit_size = 1,
5811 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5812 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5815 .description = "mirror",
5816 .field_bit_size = 4,
5817 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5818 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5821 .description = "cond_copy",
5822 .field_bit_size = 1,
5823 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5824 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5827 .description = "vlan_del_rpt",
5828 .field_bit_size = 2,
5829 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5830 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5833 .description = "drop",
5834 .field_bit_size = 1,
5835 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5836 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5839 .description = "hit",
5840 .field_bit_size = 1,
5841 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5842 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5845 .description = "type",
5846 .field_bit_size = 3,
5847 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5848 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5852 /* class_tid: 4, , table: vtag_encap_record.vfr_egr0 */
5854 .description = "ecv_tun_type",
5855 .field_bit_size = 3,
5856 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5857 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5860 .description = "ecv_l4_type",
5861 .field_bit_size = 3,
5862 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5863 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5866 .description = "ecv_l3_type",
5867 .field_bit_size = 3,
5868 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5869 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5872 .description = "ecv_l2_en",
5873 .field_bit_size = 1,
5874 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5875 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5878 .description = "ecv_vtag_type",
5879 .field_bit_size = 4,
5880 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5881 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5883 ULP_THOR_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
5886 .description = "rsrvd",
5887 .field_bit_size = 1,
5888 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5889 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5892 .description = "ecv_valid",
5893 .field_bit_size = 1,
5894 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5895 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5900 .description = "vtag_tpid",
5901 .field_bit_size = 16,
5902 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5903 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5909 .description = "vtag_vid",
5910 .field_bit_size = 12,
5911 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5912 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5914 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
5915 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
5918 .description = "vtag_de",
5919 .field_bit_size = 1,
5920 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5921 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5924 .description = "vtag_pcp",
5925 .field_bit_size = 3,
5926 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5927 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
5929 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
5930 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff}
5932 /* class_tid: 4, , table: int_full_act_record.vfr_egr0 */
5934 .description = "sp_rec_ptr",
5935 .field_bit_size = 16,
5936 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5937 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5940 .description = "encap_ptr",
5941 .field_bit_size = 16,
5942 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5943 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5945 (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
5946 BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
5949 .description = "mod_rec_ptr",
5950 .field_bit_size = 16,
5951 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5952 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5955 .description = "rsvd1",
5956 .field_bit_size = 16,
5957 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5958 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5961 .description = "rsvd0",
5962 .field_bit_size = 8,
5963 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5964 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5967 .description = "decap_func",
5968 .field_bit_size = 5,
5969 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5970 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5973 .description = "meter",
5974 .field_bit_size = 10,
5975 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5976 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5979 .description = "stats_op",
5980 .field_bit_size = 1,
5981 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5982 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5985 .description = "stats_ptr",
5986 .field_bit_size = 16,
5987 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5988 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5991 .description = "vnic_or_vport",
5992 .field_bit_size = 11,
5993 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5994 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5996 (ULP_THOR_SYM_LOOPBACK_PORT >> 8) & 0xff,
5997 ULP_THOR_SYM_LOOPBACK_PORT & 0xff}
6000 .description = "use_default",
6001 .field_bit_size = 1,
6002 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6003 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6006 .description = "mirror",
6007 .field_bit_size = 4,
6008 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6009 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6012 .description = "cond_copy",
6013 .field_bit_size = 1,
6014 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6015 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6018 .description = "vlan_del_rpt",
6019 .field_bit_size = 2,
6020 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6021 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6024 .description = "drop",
6025 .field_bit_size = 1,
6026 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6027 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6030 .description = "hit",
6031 .field_bit_size = 1,
6032 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6033 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6036 .description = "type",
6037 .field_bit_size = 3,
6038 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6039 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6045 struct bnxt_ulp_mapper_ident_info ulp_thor_class_ident_list[] = {
6046 /* class_tid: 1, , table: port_table.rd */
6048 .description = "default_arec_ptr",
6049 .regfile_idx = BNXT_ULP_RF_IDX_DEFAULT_AREC_PTR,
6050 .ident_bit_size = 16,
6051 .ident_bit_pos = 136
6054 .description = "drv_func.parent.mac",
6055 .regfile_idx = BNXT_ULP_RF_IDX_DRV_FUNC_PARENT_MAC,
6056 .ident_bit_size = 48,
6060 .description = "phy_port",
6061 .regfile_idx = BNXT_ULP_RF_IDX_PHY_PORT,
6062 .ident_bit_size = 8,
6063 .ident_bit_pos = 128
6065 /* class_tid: 1, , table: l2_cntxt_tcam_cache.rd */
6067 .description = "l2_cntxt_id",
6068 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
6069 .ident_bit_size = 10,
6072 /* class_tid: 1, , table: mac_addr_cache.rd */
6074 .description = "l2_cntxt_id",
6075 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
6076 .ident_bit_size = 10,
6079 /* class_tid: 1, , table: l2_cntxt_tcam.0 */
6081 .description = "l2_cntxt_id",
6082 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
6083 .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
6084 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
6085 .ident_bit_size = 10,
6088 /* class_tid: 3, , table: l2_cntxt_tcam.ing_0 */
6090 .description = "l2_cntxt_id",
6091 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
6092 .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
6093 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
6094 .ident_bit_size = 10,
6097 /* class_tid: 3, , table: l2_cntxt_tcam.egr_0 */
6099 .description = "l2_cntxt_id",
6100 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
6101 .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
6102 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
6103 .ident_bit_size = 10,