1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2014-2021 Broadcom
6 /* date: Wed Dec 2 12:05:11 2020 */
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_wh_plus_class_tmpl_list[] = {
15 /* class_tid: 1, wh_plus, ingress */
17 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
21 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
25 /* class_tid: 2, wh_plus, ingress */
27 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
31 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
35 /* class_tid: 3, wh_plus, egress */
37 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
41 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
45 /* class_tid: 4, wh_plus, egress */
47 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
51 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
55 /* class_tid: 5, wh_plus, egress */
57 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
61 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
65 /* class_tid: 6, wh_plus, egress */
67 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
71 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
77 struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
78 { /* class_tid: 1, wh_plus, table: l2_cntxt_tcam_cache.rd */
79 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
80 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
82 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
83 .direction = TF_DIR_RX,
86 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
89 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
90 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
91 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
93 .blob_key_bit_size = 8,
99 { /* class_tid: 1, wh_plus, table: l2_cntxt_tcam.0 */
100 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
101 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
102 .direction = TF_DIR_RX,
105 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
108 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_SRCH_ALLOC_WR_REGFILE,
109 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
110 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
111 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
112 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
115 .blob_key_bit_size = 167,
117 .key_num_fields = 13,
118 .result_start_idx = 0,
119 .result_bit_size = 64,
120 .result_num_fields = 13,
121 .encap_num_fields = 0,
122 .ident_start_idx = 1,
125 { /* class_tid: 1, wh_plus, table: profile_tcam_cache.rd */
126 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
127 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
129 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
130 .direction = TF_DIR_RX,
133 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
136 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
137 .accept_opcode = BNXT_ULP_ACCEPT_OPC_FLOW_SIG_ID_MATCH,
138 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
140 .blob_key_bit_size = 14,
143 .ident_start_idx = 2,
146 { /* class_tid: 1, wh_plus, table: branch.0 */
147 .resource_func = BNXT_ULP_RESOURCE_FUNC_BRANCH_TABLE,
148 .direction = TF_DIR_RX,
151 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
154 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
155 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH
157 { /* class_tid: 1, wh_plus, table: profile_tcam.0 */
158 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
159 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
160 .direction = TF_DIR_RX,
163 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
166 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
167 .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
168 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
169 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_PUSH_REGFILE,
170 .fdb_operand = BNXT_ULP_RF_IDX_RID,
171 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
172 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
174 .blob_key_bit_size = 81,
176 .key_num_fields = 43,
177 .result_start_idx = 13,
178 .result_bit_size = 38,
179 .result_num_fields = 8,
180 .encap_num_fields = 0,
181 .ident_start_idx = 5,
184 { /* class_tid: 1, wh_plus, table: profile_tcam_cache.wr */
185 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
186 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
188 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
189 .direction = TF_DIR_RX,
192 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
195 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
196 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
197 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
199 .blob_key_bit_size = 14,
202 .result_start_idx = 21,
203 .result_bit_size = 66,
204 .result_num_fields = 5,
205 .encap_num_fields = 0
207 { /* class_tid: 1, wh_plus, table: em.int_0 */
208 .resource_func = BNXT_ULP_RESOURCE_FUNC_INT_EM_TABLE,
209 .resource_type = TF_MEM_INTERNAL,
210 .direction = TF_DIR_RX,
211 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
214 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
217 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
218 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
219 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
220 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
222 .blob_key_bit_size = 176,
224 .key_num_fields = 10,
225 .result_start_idx = 26,
226 .result_bit_size = 64,
227 .result_num_fields = 9,
228 .encap_num_fields = 0
230 { /* class_tid: 1, wh_plus, table: eem.ext_0 */
231 .resource_func = BNXT_ULP_RESOURCE_FUNC_EXT_EM_TABLE,
232 .resource_type = TF_MEM_EXTERNAL,
233 .direction = TF_DIR_RX,
234 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,
237 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
240 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
241 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
242 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
243 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
245 .blob_key_bit_size = 448,
247 .key_num_fields = 10,
248 .result_start_idx = 35,
249 .result_bit_size = 64,
250 .result_num_fields = 9,
251 .encap_num_fields = 0
253 { /* class_tid: 1, wh_plus, table: last */
254 .resource_func = BNXT_ULP_RESOURCE_FUNC_BRANCH_TABLE,
255 .direction = TF_DIR_RX,
258 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
261 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
262 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH
264 { /* class_tid: 2, wh_plus, table: int_full_act_record.0 */
265 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
266 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
268 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
269 .direction = TF_DIR_RX,
272 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
275 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
276 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
277 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
278 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
279 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
280 .result_start_idx = 44,
281 .result_bit_size = 128,
282 .result_num_fields = 26,
283 .encap_num_fields = 0
285 { /* class_tid: 2, wh_plus, table: l2_cntxt_tcam.0 */
286 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
287 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
288 .direction = TF_DIR_RX,
291 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
294 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
295 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
296 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
297 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_PUSH_REGFILE,
298 .fdb_operand = BNXT_ULP_RF_IDX_RID,
299 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
301 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
302 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
304 .blob_key_bit_size = 167,
306 .key_num_fields = 13,
307 .result_start_idx = 70,
308 .result_bit_size = 64,
309 .result_num_fields = 13,
310 .encap_num_fields = 0,
311 .ident_start_idx = 6,
314 { /* class_tid: 2, wh_plus, table: l2_cntxt_tcam_cache.wr */
315 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
316 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
318 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
319 .direction = TF_DIR_RX,
322 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
325 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
326 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
327 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
329 .blob_key_bit_size = 8,
332 .result_start_idx = 83,
333 .result_bit_size = 62,
334 .result_num_fields = 4,
335 .encap_num_fields = 0
337 { /* class_tid: 2, wh_plus, table: parif_def_lkup_arec_ptr.0 */
338 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
339 .resource_type = TF_IF_TBL_TYPE_LKUP_PARIF_DFLT_ACT_REC_PTR,
340 .direction = TF_DIR_RX,
343 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
346 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
347 .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
348 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
349 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
350 .result_start_idx = 87,
351 .result_bit_size = 32,
352 .result_num_fields = 1,
353 .encap_num_fields = 0
355 { /* class_tid: 2, wh_plus, table: parif_def_arec_ptr.0 */
356 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
357 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
358 .direction = TF_DIR_RX,
361 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
364 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
365 .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
366 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
367 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
368 .result_start_idx = 88,
369 .result_bit_size = 32,
370 .result_num_fields = 1,
371 .encap_num_fields = 0
373 { /* class_tid: 2, wh_plus, table: parif_def_err_arec_ptr.0 */
374 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
375 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
376 .direction = TF_DIR_RX,
379 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
382 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
383 .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
384 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
385 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
386 .result_start_idx = 89,
387 .result_bit_size = 32,
388 .result_num_fields = 1,
389 .encap_num_fields = 0
391 { /* class_tid: 3, wh_plus, table: int_full_act_record.0 */
392 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
393 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
395 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
396 .direction = TF_DIR_TX,
399 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
402 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
403 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
404 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
405 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
406 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
407 .result_start_idx = 90,
408 .result_bit_size = 128,
409 .result_num_fields = 26,
410 .encap_num_fields = 0
412 { /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_bypass.vfr_0 */
413 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
414 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
415 .direction = TF_DIR_TX,
418 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
421 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
422 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
423 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
424 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
425 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
427 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
428 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
430 .blob_key_bit_size = 167,
432 .key_num_fields = 13,
433 .result_start_idx = 116,
434 .result_bit_size = 64,
435 .result_num_fields = 13,
436 .encap_num_fields = 0,
437 .ident_start_idx = 7,
440 { /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.rd */
441 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
442 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
444 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
445 .direction = TF_DIR_TX,
448 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
451 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
452 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
453 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
454 .key_start_idx = 110,
455 .blob_key_bit_size = 8,
458 .ident_start_idx = 7,
461 { /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.0 */
462 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
463 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
464 .direction = TF_DIR_TX,
467 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
470 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
471 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
472 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
473 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_PUSH_REGFILE,
474 .fdb_operand = BNXT_ULP_RF_IDX_RID,
475 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
476 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
477 .key_start_idx = 111,
478 .blob_key_bit_size = 167,
480 .key_num_fields = 13,
481 .result_start_idx = 129,
482 .result_bit_size = 64,
483 .result_num_fields = 13,
484 .encap_num_fields = 0,
485 .ident_start_idx = 8,
488 { /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.wr */
489 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
490 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
492 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
493 .direction = TF_DIR_TX,
496 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
499 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
500 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
501 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
502 .key_start_idx = 124,
503 .blob_key_bit_size = 8,
506 .result_start_idx = 142,
507 .result_bit_size = 62,
508 .result_num_fields = 4,
509 .encap_num_fields = 0
511 { /* class_tid: 3, wh_plus, table: parif_def_lkup_arec_ptr.0 */
512 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
513 .resource_type = TF_IF_TBL_TYPE_LKUP_PARIF_DFLT_ACT_REC_PTR,
514 .direction = TF_DIR_TX,
517 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
518 .cond_start_idx = 10,
520 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
521 .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
522 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
523 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
524 .result_start_idx = 146,
525 .result_bit_size = 32,
526 .result_num_fields = 1,
527 .encap_num_fields = 0
529 { /* class_tid: 3, wh_plus, table: parif_def_arec_ptr.0 */
530 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
531 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
532 .direction = TF_DIR_TX,
535 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
536 .cond_start_idx = 10,
538 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
539 .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
540 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
541 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
542 .result_start_idx = 147,
543 .result_bit_size = 32,
544 .result_num_fields = 1,
545 .encap_num_fields = 0
547 { /* class_tid: 3, wh_plus, table: parif_def_err_arec_ptr.0 */
548 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
549 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
550 .direction = TF_DIR_TX,
553 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
554 .cond_start_idx = 10,
556 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
557 .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
558 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
559 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
560 .result_start_idx = 148,
561 .result_bit_size = 32,
562 .result_num_fields = 1,
563 .encap_num_fields = 0
565 { /* class_tid: 4, wh_plus, table: int_vtag_encap_record.egr0 */
566 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
567 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
569 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
570 .direction = TF_DIR_TX,
573 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
574 .cond_start_idx = 10,
576 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE,
577 .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
578 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
579 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
580 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
581 .result_start_idx = 149,
582 .result_bit_size = 0,
583 .result_num_fields = 0,
584 .encap_num_fields = 12
586 { /* class_tid: 4, wh_plus, table: int_full_act_record.egr0 */
587 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
588 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
590 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
591 .direction = TF_DIR_TX,
594 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
595 .cond_start_idx = 10,
597 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
598 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
599 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
600 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
601 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
602 .result_start_idx = 161,
603 .result_bit_size = 128,
604 .result_num_fields = 26,
605 .encap_num_fields = 0
607 { /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.egr0 */
608 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
609 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
610 .direction = TF_DIR_TX,
613 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
614 .cond_start_idx = 10,
616 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
617 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
618 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
619 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_PUSH_REGFILE,
620 .fdb_operand = BNXT_ULP_RF_IDX_RID,
621 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
623 .key_start_idx = 125,
624 .blob_key_bit_size = 167,
626 .key_num_fields = 13,
627 .result_start_idx = 187,
628 .result_bit_size = 64,
629 .result_num_fields = 13,
630 .encap_num_fields = 0,
631 .ident_start_idx = 9,
634 { /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.wr_egr0 */
635 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
636 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
638 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
639 .direction = TF_DIR_TX,
642 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
643 .cond_start_idx = 10,
645 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
646 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
647 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
648 .key_start_idx = 138,
649 .blob_key_bit_size = 8,
652 .result_start_idx = 200,
653 .result_bit_size = 62,
654 .result_num_fields = 4,
655 .encap_num_fields = 0,
656 .ident_start_idx = 9,
659 { /* class_tid: 4, wh_plus, table: int_full_act_record.ing0 */
660 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
661 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
663 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
664 .direction = TF_DIR_RX,
667 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
668 .cond_start_idx = 10,
670 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
671 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
672 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
673 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
674 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
675 .result_start_idx = 204,
676 .result_bit_size = 128,
677 .result_num_fields = 26,
678 .encap_num_fields = 0
680 { /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.dtagged_ing0 */
681 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
682 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
683 .direction = TF_DIR_RX,
686 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
687 .cond_start_idx = 10,
689 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
690 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
691 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
692 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
693 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
695 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
696 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
697 .key_start_idx = 139,
698 .blob_key_bit_size = 167,
700 .key_num_fields = 13,
701 .result_start_idx = 230,
702 .result_bit_size = 64,
703 .result_num_fields = 13,
704 .encap_num_fields = 0,
705 .ident_start_idx = 9,
708 { /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.stagged_ing0 */
709 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
710 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
711 .direction = TF_DIR_RX,
714 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
715 .cond_start_idx = 10,
717 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
718 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
719 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
720 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
721 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
723 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
724 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
725 .key_start_idx = 152,
726 .blob_key_bit_size = 167,
728 .key_num_fields = 13,
729 .result_start_idx = 243,
730 .result_bit_size = 64,
731 .result_num_fields = 13,
732 .encap_num_fields = 0,
733 .ident_start_idx = 9,
736 { /* class_tid: 5, wh_plus, table: l2_cntxt_tcam.egr */
737 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
738 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
739 .direction = TF_DIR_TX,
742 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
743 .cond_start_idx = 10,
745 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
746 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
747 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
748 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_PUSH_REGFILE,
749 .fdb_operand = BNXT_ULP_RF_IDX_RID,
750 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
752 .key_start_idx = 165,
753 .blob_key_bit_size = 167,
755 .key_num_fields = 13,
756 .result_start_idx = 256,
757 .result_bit_size = 64,
758 .result_num_fields = 13,
759 .encap_num_fields = 0,
760 .ident_start_idx = 9,
763 { /* class_tid: 5, wh_plus, table: l2_cntxt_tcam_cache.egr_wr */
764 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
765 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
767 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
768 .direction = TF_DIR_TX,
771 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
772 .cond_start_idx = 10,
774 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
775 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
776 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
777 .key_start_idx = 178,
778 .blob_key_bit_size = 8,
781 .result_start_idx = 269,
782 .result_bit_size = 62,
783 .result_num_fields = 4,
784 .encap_num_fields = 0
786 { /* class_tid: 5, wh_plus, table: parif_def_lkup_arec_ptr.egr */
787 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
788 .resource_type = TF_IF_TBL_TYPE_LKUP_PARIF_DFLT_ACT_REC_PTR,
789 .direction = TF_DIR_TX,
792 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
793 .cond_start_idx = 10,
795 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
796 .tbl_operand = BNXT_ULP_CF_IDX_VF_FUNC_PARIF,
797 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
798 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
799 .result_start_idx = 273,
800 .result_bit_size = 32,
801 .result_num_fields = 1,
802 .encap_num_fields = 0
804 { /* class_tid: 5, wh_plus, table: parif_def_arec_ptr.egr */
805 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
806 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
807 .direction = TF_DIR_TX,
810 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
811 .cond_start_idx = 10,
813 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
814 .tbl_operand = BNXT_ULP_CF_IDX_VF_FUNC_PARIF,
815 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
816 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
817 .result_start_idx = 274,
818 .result_bit_size = 32,
819 .result_num_fields = 1,
820 .encap_num_fields = 0
822 { /* class_tid: 5, wh_plus, table: parif_def_err_arec_ptr.egr */
823 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
824 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
825 .direction = TF_DIR_TX,
828 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
829 .cond_start_idx = 10,
831 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
832 .tbl_operand = BNXT_ULP_CF_IDX_VF_FUNC_PARIF,
833 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
834 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
835 .result_start_idx = 275,
836 .result_bit_size = 32,
837 .result_num_fields = 1,
838 .encap_num_fields = 0
840 { /* class_tid: 5, wh_plus, table: int_full_act_record.ing */
841 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
842 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
844 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
845 .direction = TF_DIR_RX,
848 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
849 .cond_start_idx = 10,
851 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
852 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
853 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
854 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
855 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_AND_SET_VFR_FLAG,
856 .result_start_idx = 276,
857 .result_bit_size = 128,
858 .result_num_fields = 26,
859 .encap_num_fields = 0
861 { /* class_tid: 5, wh_plus, table: l2_cntxt_tcam_bypass.ing */
862 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
863 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
864 .direction = TF_DIR_RX,
867 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
868 .cond_start_idx = 10,
870 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
871 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
872 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
873 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH,
874 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
876 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
877 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
878 .key_start_idx = 179,
879 .blob_key_bit_size = 167,
881 .key_num_fields = 13,
882 .result_start_idx = 302,
883 .result_bit_size = 64,
884 .result_num_fields = 13,
885 .encap_num_fields = 0,
886 .ident_start_idx = 10,
889 { /* class_tid: 6, wh_plus, table: int_full_act_record.0 */
890 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
891 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
893 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
894 .direction = TF_DIR_TX,
897 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
898 .cond_start_idx = 10,
900 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
901 .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
902 .accept_opcode = BNXT_ULP_ACCEPT_OPC_ALWAYS,
903 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
904 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
905 .result_start_idx = 315,
906 .result_bit_size = 128,
907 .result_num_fields = 26,
908 .encap_num_fields = 0
912 struct bnxt_ulp_mapper_cond_info ulp_wh_plus_class_cond_list[] = {
914 .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET,
915 .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
918 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
919 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_HIT
922 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
923 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
926 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
927 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
930 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
931 .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE
934 .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
935 .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE
938 .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
939 .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE
942 .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
943 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_HIT
946 .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
947 .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE
950 .cond_opcode = BNXT_ULP_COND_OPC_RF_NOT_SET,
951 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_HIT
955 struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
956 /* class_tid: 1, wh_plus, table: l2_cntxt_tcam_cache.rd */
959 .description = "svif",
961 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
962 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
964 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
965 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
968 .description = "svif",
970 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
971 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
973 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
974 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
977 /* class_tid: 1, wh_plus, table: l2_cntxt_tcam.0 */
980 .description = "l2_ivlan_vid",
981 .field_bit_size = 12,
982 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
983 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
985 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
986 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}
989 .description = "l2_ivlan_vid",
990 .field_bit_size = 12,
991 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
992 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
994 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
995 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff}
1000 .description = "l2_ovlan_vid",
1001 .field_bit_size = 12,
1002 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1003 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1005 .field_info_spec = {
1006 .description = "l2_ovlan_vid",
1007 .field_bit_size = 12,
1008 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1009 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1013 .field_info_mask = {
1014 .description = "mac0_addr",
1015 .field_bit_size = 48,
1016 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1017 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1019 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
1020 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
1022 .field_info_spec = {
1023 .description = "mac0_addr",
1024 .field_bit_size = 48,
1025 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1026 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1028 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
1029 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
1033 .field_info_mask = {
1034 .description = "svif",
1035 .field_bit_size = 8,
1036 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1037 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1039 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
1040 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
1042 .field_info_spec = {
1043 .description = "svif",
1044 .field_bit_size = 8,
1045 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1046 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1048 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
1049 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
1053 .field_info_mask = {
1054 .description = "sparif",
1055 .field_bit_size = 4,
1056 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1057 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1059 .field_info_spec = {
1060 .description = "sparif",
1061 .field_bit_size = 4,
1062 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1063 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1067 .field_info_mask = {
1068 .description = "tl2_ivlan_vid",
1069 .field_bit_size = 12,
1070 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1071 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1073 .field_info_spec = {
1074 .description = "tl2_ivlan_vid",
1075 .field_bit_size = 12,
1076 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1077 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1081 .field_info_mask = {
1082 .description = "tl2_ovlan_vid",
1083 .field_bit_size = 12,
1084 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1085 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1087 .field_info_spec = {
1088 .description = "tl2_ovlan_vid",
1089 .field_bit_size = 12,
1090 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1091 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1095 .field_info_mask = {
1096 .description = "mac1_addr",
1097 .field_bit_size = 48,
1098 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1099 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1101 .field_info_spec = {
1102 .description = "mac1_addr",
1103 .field_bit_size = 48,
1104 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1105 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1109 .field_info_mask = {
1110 .description = "l2_num_vtags",
1111 .field_bit_size = 2,
1112 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1113 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1117 .field_info_spec = {
1118 .description = "l2_num_vtags",
1119 .field_bit_size = 2,
1120 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1121 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1123 (BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff,
1124 BNXT_ULP_CF_IDX_O_VTAG_NUM & 0xff}
1128 .field_info_mask = {
1129 .description = "tl2_num_vtags",
1130 .field_bit_size = 2,
1131 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1132 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1134 .field_info_spec = {
1135 .description = "tl2_num_vtags",
1136 .field_bit_size = 2,
1137 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1138 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1142 .field_info_mask = {
1143 .description = "tun_hdr_type",
1144 .field_bit_size = 4,
1145 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1146 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1148 .field_info_spec = {
1149 .description = "tun_hdr_type",
1150 .field_bit_size = 4,
1151 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1152 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1156 .field_info_mask = {
1157 .description = "key_type",
1158 .field_bit_size = 2,
1159 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1160 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1164 .field_info_spec = {
1165 .description = "key_type",
1166 .field_bit_size = 2,
1167 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1168 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1172 .field_info_mask = {
1173 .description = "valid",
1174 .field_bit_size = 1,
1175 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1176 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1180 .field_info_spec = {
1181 .description = "valid",
1182 .field_bit_size = 1,
1183 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1184 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1189 /* class_tid: 1, wh_plus, table: profile_tcam_cache.rd */
1191 .field_info_mask = {
1192 .description = "recycle_cnt",
1193 .field_bit_size = 2,
1194 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1195 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1199 .field_info_spec = {
1200 .description = "recycle_cnt",
1201 .field_bit_size = 2,
1202 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1203 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1207 .field_info_mask = {
1208 .description = "prof_func_id",
1209 .field_bit_size = 7,
1210 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1211 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1215 .field_info_spec = {
1216 .description = "prof_func_id",
1217 .field_bit_size = 7,
1218 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1219 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
1221 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
1222 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
1226 .field_info_mask = {
1227 .description = "hdr_sig_id",
1228 .field_bit_size = 5,
1229 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1230 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1234 .field_info_spec = {
1235 .description = "hdr_sig_id",
1236 .field_bit_size = 5,
1237 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1238 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1240 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
1241 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
1244 /* class_tid: 1, wh_plus, table: profile_tcam.0 */
1246 .field_info_mask = {
1247 .description = "l4_hdr_is_udp_tcp",
1248 .field_bit_size = 1,
1249 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1250 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1252 .field_info_spec = {
1253 .description = "l4_hdr_is_udp_tcp",
1254 .field_bit_size = 1,
1255 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1256 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1260 .field_info_mask = {
1261 .description = "l4_hdr_type",
1262 .field_bit_size = 4,
1263 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1264 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1268 .field_info_spec = {
1269 .description = "l4_hdr_type",
1270 .field_bit_size = 4,
1271 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
1273 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
1274 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
1275 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
1276 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
1277 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
1278 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
1279 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
1280 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
1281 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1283 ULP_WP_SYM_L4_HDR_TYPE_TCP},
1284 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
1286 ULP_WP_SYM_L4_HDR_TYPE_UDP}
1290 .field_info_mask = {
1291 .description = "l4_hdr_error",
1292 .field_bit_size = 1,
1293 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1294 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1298 .field_info_spec = {
1299 .description = "l4_hdr_error",
1300 .field_bit_size = 1,
1301 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1302 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1306 .field_info_mask = {
1307 .description = "l4_hdr_valid",
1308 .field_bit_size = 1,
1309 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1310 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1314 .field_info_spec = {
1315 .description = "l4_hdr_valid",
1316 .field_bit_size = 1,
1317 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1318 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1320 ULP_WP_SYM_L4_HDR_VALID_YES}
1324 .field_info_mask = {
1325 .description = "l3_ipv6_cmp_dst",
1326 .field_bit_size = 1,
1327 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1328 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1330 .field_info_spec = {
1331 .description = "l3_ipv6_cmp_dst",
1332 .field_bit_size = 1,
1333 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1334 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1338 .field_info_mask = {
1339 .description = "l3_ipv6_cmp_src",
1340 .field_bit_size = 1,
1341 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1342 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1344 .field_info_spec = {
1345 .description = "l3_ipv6_cmp_src",
1346 .field_bit_size = 1,
1347 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1348 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1352 .field_info_mask = {
1353 .description = "l3_hdr_isIP",
1354 .field_bit_size = 1,
1355 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1356 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1358 .field_info_spec = {
1359 .description = "l3_hdr_isIP",
1360 .field_bit_size = 1,
1361 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1362 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1366 .field_info_mask = {
1367 .description = "l3_hdr_type",
1368 .field_bit_size = 4,
1369 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1370 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1374 .field_info_spec = {
1375 .description = "l3_hdr_type",
1376 .field_bit_size = 4,
1377 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
1379 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
1380 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
1381 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
1382 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
1383 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
1384 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
1385 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
1386 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
1387 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1389 ULP_WP_SYM_L3_HDR_TYPE_IPV4},
1390 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
1392 ULP_WP_SYM_L3_HDR_TYPE_IPV6}
1396 .field_info_mask = {
1397 .description = "l3_hdr_error",
1398 .field_bit_size = 1,
1399 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1400 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1404 .field_info_spec = {
1405 .description = "l3_hdr_error",
1406 .field_bit_size = 1,
1407 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1408 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1412 .field_info_mask = {
1413 .description = "l3_hdr_valid",
1414 .field_bit_size = 1,
1415 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1416 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1420 .field_info_spec = {
1421 .description = "l3_hdr_valid",
1422 .field_bit_size = 1,
1423 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1424 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1426 ULP_WP_SYM_L3_HDR_VALID_YES}
1430 .field_info_mask = {
1431 .description = "l2_two_vtags",
1432 .field_bit_size = 1,
1433 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1434 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1438 .field_info_spec = {
1439 .description = "l2_two_vtags",
1440 .field_bit_size = 1,
1441 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1442 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1446 .field_info_mask = {
1447 .description = "l2_vtag_present",
1448 .field_bit_size = 1,
1449 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1450 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1454 .field_info_spec = {
1455 .description = "l2_vtag_present",
1456 .field_bit_size = 1,
1457 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1458 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1460 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
1461 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
1465 .field_info_mask = {
1466 .description = "l2_uc_mc_bc",
1467 .field_bit_size = 2,
1468 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1469 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1473 .field_info_spec = {
1474 .description = "l2_uc_mc_bc",
1475 .field_bit_size = 2,
1476 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1477 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1481 .field_info_mask = {
1482 .description = "l2_hdr_type",
1483 .field_bit_size = 2,
1484 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1485 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1489 .field_info_spec = {
1490 .description = "l2_hdr_type",
1491 .field_bit_size = 2,
1492 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1493 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1497 .field_info_mask = {
1498 .description = "l2_hdr_error",
1499 .field_bit_size = 1,
1500 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1501 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1505 .field_info_spec = {
1506 .description = "l2_hdr_error",
1507 .field_bit_size = 1,
1508 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1509 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1513 .field_info_mask = {
1514 .description = "l2_hdr_valid",
1515 .field_bit_size = 1,
1516 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1517 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1521 .field_info_spec = {
1522 .description = "l2_hdr_valid",
1523 .field_bit_size = 1,
1524 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1525 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1527 ULP_WP_SYM_L2_HDR_VALID_YES}
1531 .field_info_mask = {
1532 .description = "tun_hdr_flags",
1533 .field_bit_size = 3,
1534 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1535 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1537 .field_info_spec = {
1538 .description = "tun_hdr_flags",
1539 .field_bit_size = 3,
1540 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1541 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1545 .field_info_mask = {
1546 .description = "tun_hdr_type",
1547 .field_bit_size = 4,
1548 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1549 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1551 .field_info_spec = {
1552 .description = "tun_hdr_type",
1553 .field_bit_size = 4,
1554 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1555 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1559 .field_info_mask = {
1560 .description = "tun_hdr_err",
1561 .field_bit_size = 1,
1562 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1563 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1565 .field_info_spec = {
1566 .description = "tun_hdr_err",
1567 .field_bit_size = 1,
1568 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1569 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1573 .field_info_mask = {
1574 .description = "tun_hdr_valid",
1575 .field_bit_size = 1,
1576 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1577 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1581 .field_info_spec = {
1582 .description = "tun_hdr_valid",
1583 .field_bit_size = 1,
1584 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1585 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1589 .field_info_mask = {
1590 .description = "tl4_hdr_is_udp_tcp",
1591 .field_bit_size = 1,
1592 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1593 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1595 .field_info_spec = {
1596 .description = "tl4_hdr_is_udp_tcp",
1597 .field_bit_size = 1,
1598 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1599 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1603 .field_info_mask = {
1604 .description = "tl4_hdr_type",
1605 .field_bit_size = 4,
1606 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1607 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1609 .field_info_spec = {
1610 .description = "tl4_hdr_type",
1611 .field_bit_size = 4,
1612 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1613 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1617 .field_info_mask = {
1618 .description = "tl4_hdr_error",
1619 .field_bit_size = 1,
1620 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1621 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1623 .field_info_spec = {
1624 .description = "tl4_hdr_error",
1625 .field_bit_size = 1,
1626 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1627 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1631 .field_info_mask = {
1632 .description = "tl4_hdr_valid",
1633 .field_bit_size = 1,
1634 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1635 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1639 .field_info_spec = {
1640 .description = "tl4_hdr_valid",
1641 .field_bit_size = 1,
1642 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1643 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1647 .field_info_mask = {
1648 .description = "tl3_ipv6_cmp_dst",
1649 .field_bit_size = 1,
1650 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1651 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1653 .field_info_spec = {
1654 .description = "tl3_ipv6_cmp_dst",
1655 .field_bit_size = 1,
1656 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1657 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1661 .field_info_mask = {
1662 .description = "tl3_ipv6_cmp_src",
1663 .field_bit_size = 1,
1664 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1665 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1667 .field_info_spec = {
1668 .description = "tl3_ipv6_cmp_src",
1669 .field_bit_size = 1,
1670 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1671 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1675 .field_info_mask = {
1676 .description = "tl3_hdr_isIP",
1677 .field_bit_size = 1,
1678 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1679 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1681 .field_info_spec = {
1682 .description = "tl3_hdr_isIP",
1683 .field_bit_size = 1,
1684 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1685 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1689 .field_info_mask = {
1690 .description = "tl3_hdr_type",
1691 .field_bit_size = 4,
1692 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1693 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1695 .field_info_spec = {
1696 .description = "tl3_hdr_type",
1697 .field_bit_size = 4,
1698 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1699 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1703 .field_info_mask = {
1704 .description = "tl3_hdr_error",
1705 .field_bit_size = 1,
1706 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1707 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1709 .field_info_spec = {
1710 .description = "tl3_hdr_error",
1711 .field_bit_size = 1,
1712 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1713 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1717 .field_info_mask = {
1718 .description = "tl3_hdr_valid",
1719 .field_bit_size = 1,
1720 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1721 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1725 .field_info_spec = {
1726 .description = "tl3_hdr_valid",
1727 .field_bit_size = 1,
1728 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1729 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1733 .field_info_mask = {
1734 .description = "tl2_two_vtags",
1735 .field_bit_size = 1,
1736 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1737 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1739 .field_info_spec = {
1740 .description = "tl2_two_vtags",
1741 .field_bit_size = 1,
1742 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1743 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1747 .field_info_mask = {
1748 .description = "tl2_vtag_present",
1749 .field_bit_size = 1,
1750 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1751 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1753 .field_info_spec = {
1754 .description = "tl2_vtag_present",
1755 .field_bit_size = 1,
1756 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1757 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1761 .field_info_mask = {
1762 .description = "tl2_uc_mc_bc",
1763 .field_bit_size = 2,
1764 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1765 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1767 .field_info_spec = {
1768 .description = "tl2_uc_mc_bc",
1769 .field_bit_size = 2,
1770 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1771 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1775 .field_info_mask = {
1776 .description = "tl2_hdr_type",
1777 .field_bit_size = 2,
1778 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1779 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1781 .field_info_spec = {
1782 .description = "tl2_hdr_type",
1783 .field_bit_size = 2,
1784 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1785 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1789 .field_info_mask = {
1790 .description = "tl2_hdr_valid",
1791 .field_bit_size = 1,
1792 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1793 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1797 .field_info_spec = {
1798 .description = "tl2_hdr_valid",
1799 .field_bit_size = 1,
1800 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1801 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1805 .field_info_mask = {
1806 .description = "hrec_next",
1807 .field_bit_size = 1,
1808 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1809 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1811 .field_info_spec = {
1812 .description = "hrec_next",
1813 .field_bit_size = 1,
1814 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1815 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1819 .field_info_mask = {
1820 .description = "reserved",
1821 .field_bit_size = 9,
1822 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1823 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1825 .field_info_spec = {
1826 .description = "reserved",
1827 .field_bit_size = 9,
1828 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1829 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1833 .field_info_mask = {
1834 .description = "prof_func_id",
1835 .field_bit_size = 7,
1836 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1837 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1841 .field_info_spec = {
1842 .description = "prof_func_id",
1843 .field_bit_size = 7,
1844 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1845 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
1847 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
1848 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}
1852 .field_info_mask = {
1853 .description = "agg_error",
1854 .field_bit_size = 1,
1855 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1856 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1858 .field_info_spec = {
1859 .description = "agg_error",
1860 .field_bit_size = 1,
1861 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1862 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1866 .field_info_mask = {
1867 .description = "recycle_cnt",
1868 .field_bit_size = 2,
1869 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1870 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1874 .field_info_spec = {
1875 .description = "recycle_cnt",
1876 .field_bit_size = 2,
1877 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1878 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1882 .field_info_mask = {
1883 .description = "pkt_type_0",
1884 .field_bit_size = 2,
1885 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1886 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1888 .field_info_spec = {
1889 .description = "pkt_type_0",
1890 .field_bit_size = 2,
1891 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1892 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1896 .field_info_mask = {
1897 .description = "pkt_type_1",
1898 .field_bit_size = 2,
1899 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1900 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1904 .field_info_spec = {
1905 .description = "pkt_type_1",
1906 .field_bit_size = 2,
1907 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1908 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1912 .field_info_mask = {
1913 .description = "valid",
1914 .field_bit_size = 1,
1915 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1916 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1920 .field_info_spec = {
1921 .description = "valid",
1922 .field_bit_size = 1,
1923 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1924 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1929 /* class_tid: 1, wh_plus, table: profile_tcam_cache.wr */
1931 .field_info_mask = {
1932 .description = "recycle_cnt",
1933 .field_bit_size = 2,
1934 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1935 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1939 .field_info_spec = {
1940 .description = "recycle_cnt",
1941 .field_bit_size = 2,
1942 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1943 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1947 .field_info_mask = {
1948 .description = "prof_func_id",
1949 .field_bit_size = 7,
1950 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1951 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1955 .field_info_spec = {
1956 .description = "prof_func_id",
1957 .field_bit_size = 7,
1958 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1959 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
1961 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
1962 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
1966 .field_info_mask = {
1967 .description = "hdr_sig_id",
1968 .field_bit_size = 5,
1969 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1970 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1974 .field_info_spec = {
1975 .description = "hdr_sig_id",
1976 .field_bit_size = 5,
1977 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1978 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1980 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
1981 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
1984 /* class_tid: 1, wh_plus, table: em.int_0 */
1986 .field_info_mask = {
1987 .description = "spare",
1988 .field_bit_size = 3,
1989 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1990 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1992 .field_info_spec = {
1993 .description = "spare",
1994 .field_bit_size = 3,
1995 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
1996 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2000 .field_info_mask = {
2001 .description = "local_cos",
2002 .field_bit_size = 3,
2003 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2004 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2008 .field_info_spec = {
2009 .description = "local_cos",
2010 .field_bit_size = 3,
2011 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2012 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2016 .field_info_mask = {
2017 .description = "o_l4.dport",
2018 .field_bit_size = 16,
2019 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2020 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2025 .field_info_spec = {
2026 .description = "o_l4.dport",
2027 .field_bit_size = 16,
2028 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
2030 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
2031 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
2032 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
2033 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
2034 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
2035 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
2036 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
2037 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
2038 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2040 (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
2041 BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
2042 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
2044 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
2045 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}
2049 .field_info_mask = {
2050 .description = "o_l4.sport",
2051 .field_bit_size = 16,
2052 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2053 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2058 .field_info_spec = {
2059 .description = "o_l4.sport",
2060 .field_bit_size = 16,
2061 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
2063 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
2064 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
2065 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
2066 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
2067 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
2068 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
2069 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
2070 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
2071 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2073 (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
2074 BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
2075 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
2077 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
2078 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}
2082 .field_info_mask = {
2083 .description = "o_ipv4.ip_proto",
2084 .field_bit_size = 8,
2085 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2086 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2090 .field_info_spec = {
2091 .description = "o_ipv4.ip_proto",
2092 .field_bit_size = 8,
2093 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
2095 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
2096 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
2097 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
2098 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
2099 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
2100 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
2101 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
2102 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
2103 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2105 ULP_WP_SYM_IP_PROTO_TCP},
2106 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2108 ULP_WP_SYM_IP_PROTO_UDP}
2112 .field_info_mask = {
2113 .description = "o_ipv4.dst",
2114 .field_bit_size = 32,
2115 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2116 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2118 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
2119 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
2121 .field_info_spec = {
2122 .description = "o_ipv4.dst",
2123 .field_bit_size = 32,
2124 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2125 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2127 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
2128 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
2132 .field_info_mask = {
2133 .description = "o_ipv4.src",
2134 .field_bit_size = 32,
2135 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2136 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2138 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
2139 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
2141 .field_info_spec = {
2142 .description = "o_ipv4.src",
2143 .field_bit_size = 32,
2144 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2145 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2147 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
2148 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
2152 .field_info_mask = {
2153 .description = "o_eth.smac",
2154 .field_bit_size = 48,
2155 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2156 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2165 .field_info_spec = {
2166 .description = "o_eth.smac",
2167 .field_bit_size = 48,
2168 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2169 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2173 .field_info_mask = {
2174 .description = "l2_cntxt_id",
2175 .field_bit_size = 10,
2176 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2177 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2182 .field_info_spec = {
2183 .description = "l2_cntxt_id",
2184 .field_bit_size = 10,
2185 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2186 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2188 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
2189 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
2193 .field_info_mask = {
2194 .description = "em_profile_id",
2195 .field_bit_size = 8,
2196 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2197 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2201 .field_info_spec = {
2202 .description = "em_profile_id",
2203 .field_bit_size = 8,
2204 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2205 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2207 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
2208 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
2211 /* class_tid: 1, wh_plus, table: eem.ext_0 */
2213 .field_info_mask = {
2214 .description = "spare",
2215 .field_bit_size = 275,
2216 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2217 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2219 .field_info_spec = {
2220 .description = "spare",
2221 .field_bit_size = 275,
2222 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2223 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2227 .field_info_mask = {
2228 .description = "local_cos",
2229 .field_bit_size = 3,
2230 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2231 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2235 .field_info_spec = {
2236 .description = "local_cos",
2237 .field_bit_size = 3,
2238 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2239 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2243 .field_info_mask = {
2244 .description = "o_l4.dport",
2245 .field_bit_size = 16,
2246 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2247 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2252 .field_info_spec = {
2253 .description = "o_l4.dport",
2254 .field_bit_size = 16,
2255 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
2257 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
2258 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
2259 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
2260 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
2261 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
2262 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
2263 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
2264 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
2265 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2267 (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
2268 BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff},
2269 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
2271 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
2272 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff}
2276 .field_info_mask = {
2277 .description = "o_l4.sport",
2278 .field_bit_size = 16,
2279 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2280 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2285 .field_info_spec = {
2286 .description = "o_l4.sport",
2287 .field_bit_size = 16,
2288 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
2290 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
2291 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
2292 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
2293 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
2294 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
2295 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
2296 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
2297 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
2298 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2300 (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
2301 BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff},
2302 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
2304 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
2305 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff}
2309 .field_info_mask = {
2310 .description = "o_ipv4.ip_proto",
2311 .field_bit_size = 8,
2312 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2313 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2317 .field_info_spec = {
2318 .description = "o_ipv4.ip_proto",
2319 .field_bit_size = 8,
2320 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_HDR_BIT,
2322 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
2323 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
2324 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
2325 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
2326 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
2327 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
2328 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
2329 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
2330 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2332 ULP_WP_SYM_IP_PROTO_TCP},
2333 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2335 ULP_WP_SYM_IP_PROTO_UDP}
2339 .field_info_mask = {
2340 .description = "o_ipv4.dst",
2341 .field_bit_size = 32,
2342 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2343 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2345 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
2346 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
2348 .field_info_spec = {
2349 .description = "o_ipv4.dst",
2350 .field_bit_size = 32,
2351 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2352 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2354 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
2355 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
2359 .field_info_mask = {
2360 .description = "o_ipv4.src",
2361 .field_bit_size = 32,
2362 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2363 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2365 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
2366 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
2368 .field_info_spec = {
2369 .description = "o_ipv4.src",
2370 .field_bit_size = 32,
2371 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2372 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2374 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
2375 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
2379 .field_info_mask = {
2380 .description = "o_eth.smac",
2381 .field_bit_size = 48,
2382 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2383 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2392 .field_info_spec = {
2393 .description = "o_eth.smac",
2394 .field_bit_size = 48,
2395 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2396 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2400 .field_info_mask = {
2401 .description = "l2_cntxt_id",
2402 .field_bit_size = 10,
2403 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2404 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2409 .field_info_spec = {
2410 .description = "l2_cntxt_id",
2411 .field_bit_size = 10,
2412 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2413 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2415 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
2416 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
2420 .field_info_mask = {
2421 .description = "em_profile_id",
2422 .field_bit_size = 8,
2423 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2424 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2428 .field_info_spec = {
2429 .description = "em_profile_id",
2430 .field_bit_size = 8,
2431 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2432 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2434 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
2435 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
2438 /* class_tid: 2, wh_plus, table: l2_cntxt_tcam.0 */
2440 .field_info_mask = {
2441 .description = "l2_ivlan_vid",
2442 .field_bit_size = 12,
2443 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2444 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2446 .field_info_spec = {
2447 .description = "l2_ivlan_vid",
2448 .field_bit_size = 12,
2449 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2450 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2454 .field_info_mask = {
2455 .description = "l2_ovlan_vid",
2456 .field_bit_size = 12,
2457 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2458 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2460 .field_info_spec = {
2461 .description = "l2_ovlan_vid",
2462 .field_bit_size = 12,
2463 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2464 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2468 .field_info_mask = {
2469 .description = "mac0_addr",
2470 .field_bit_size = 48,
2471 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2472 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2474 .field_info_spec = {
2475 .description = "mac0_addr",
2476 .field_bit_size = 48,
2477 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2478 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2482 .field_info_mask = {
2483 .description = "svif",
2484 .field_bit_size = 8,
2485 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2486 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2490 .field_info_spec = {
2491 .description = "svif",
2492 .field_bit_size = 8,
2493 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2494 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2496 (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
2497 BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
2501 .field_info_mask = {
2502 .description = "sparif",
2503 .field_bit_size = 4,
2504 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2505 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2507 .field_info_spec = {
2508 .description = "sparif",
2509 .field_bit_size = 4,
2510 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2511 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2515 .field_info_mask = {
2516 .description = "tl2_ivlan_vid",
2517 .field_bit_size = 12,
2518 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2519 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2521 .field_info_spec = {
2522 .description = "tl2_ivlan_vid",
2523 .field_bit_size = 12,
2524 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2525 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2529 .field_info_mask = {
2530 .description = "tl2_ovlan_vid",
2531 .field_bit_size = 12,
2532 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2533 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2535 .field_info_spec = {
2536 .description = "tl2_ovlan_vid",
2537 .field_bit_size = 12,
2538 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2539 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2543 .field_info_mask = {
2544 .description = "mac1_addr",
2545 .field_bit_size = 48,
2546 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2547 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2549 .field_info_spec = {
2550 .description = "mac1_addr",
2551 .field_bit_size = 48,
2552 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2553 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2557 .field_info_mask = {
2558 .description = "l2_num_vtags",
2559 .field_bit_size = 2,
2560 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2561 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2563 .field_info_spec = {
2564 .description = "l2_num_vtags",
2565 .field_bit_size = 2,
2566 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2567 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2571 .field_info_mask = {
2572 .description = "tl2_num_vtags",
2573 .field_bit_size = 2,
2574 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2575 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2577 .field_info_spec = {
2578 .description = "tl2_num_vtags",
2579 .field_bit_size = 2,
2580 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2581 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2585 .field_info_mask = {
2586 .description = "tun_hdr_type",
2587 .field_bit_size = 4,
2588 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2589 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2591 .field_info_spec = {
2592 .description = "tun_hdr_type",
2593 .field_bit_size = 4,
2594 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2595 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2599 .field_info_mask = {
2600 .description = "key_type",
2601 .field_bit_size = 2,
2602 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2603 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2607 .field_info_spec = {
2608 .description = "key_type",
2609 .field_bit_size = 2,
2610 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2611 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2615 .field_info_mask = {
2616 .description = "valid",
2617 .field_bit_size = 1,
2618 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2619 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2623 .field_info_spec = {
2624 .description = "valid",
2625 .field_bit_size = 1,
2626 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2627 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2632 /* class_tid: 2, wh_plus, table: l2_cntxt_tcam_cache.wr */
2634 .field_info_mask = {
2635 .description = "svif",
2636 .field_bit_size = 8,
2637 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2638 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2642 .field_info_spec = {
2643 .description = "svif",
2644 .field_bit_size = 8,
2645 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2646 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2648 (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
2649 BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
2652 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_bypass.vfr_0 */
2654 .field_info_mask = {
2655 .description = "l2_ivlan_vid",
2656 .field_bit_size = 12,
2657 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2658 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2660 .field_info_spec = {
2661 .description = "l2_ivlan_vid",
2662 .field_bit_size = 12,
2663 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2664 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2668 .field_info_mask = {
2669 .description = "l2_ovlan_vid",
2670 .field_bit_size = 12,
2671 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2672 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2674 .field_info_spec = {
2675 .description = "l2_ovlan_vid",
2676 .field_bit_size = 12,
2677 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2678 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2682 .field_info_mask = {
2683 .description = "mac0_addr",
2684 .field_bit_size = 48,
2685 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2686 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2688 .field_info_spec = {
2689 .description = "mac0_addr",
2690 .field_bit_size = 48,
2691 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2692 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2696 .field_info_mask = {
2697 .description = "svif",
2698 .field_bit_size = 8,
2699 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2700 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2704 .field_info_spec = {
2705 .description = "svif",
2706 .field_bit_size = 8,
2707 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2708 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2710 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
2711 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
2715 .field_info_mask = {
2716 .description = "sparif",
2717 .field_bit_size = 4,
2718 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2719 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2721 .field_info_spec = {
2722 .description = "sparif",
2723 .field_bit_size = 4,
2724 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2725 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2729 .field_info_mask = {
2730 .description = "tl2_ivlan_vid",
2731 .field_bit_size = 12,
2732 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2733 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2735 .field_info_spec = {
2736 .description = "tl2_ivlan_vid",
2737 .field_bit_size = 12,
2738 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2739 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2743 .field_info_mask = {
2744 .description = "tl2_ovlan_vid",
2745 .field_bit_size = 12,
2746 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2747 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2749 .field_info_spec = {
2750 .description = "tl2_ovlan_vid",
2751 .field_bit_size = 12,
2752 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2753 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2757 .field_info_mask = {
2758 .description = "mac1_addr",
2759 .field_bit_size = 48,
2760 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2761 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2763 .field_info_spec = {
2764 .description = "mac1_addr",
2765 .field_bit_size = 48,
2766 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2767 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2771 .field_info_mask = {
2772 .description = "l2_num_vtags",
2773 .field_bit_size = 2,
2774 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2775 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2777 .field_info_spec = {
2778 .description = "l2_num_vtags",
2779 .field_bit_size = 2,
2780 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2781 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2785 .field_info_mask = {
2786 .description = "tl2_num_vtags",
2787 .field_bit_size = 2,
2788 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2789 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2791 .field_info_spec = {
2792 .description = "tl2_num_vtags",
2793 .field_bit_size = 2,
2794 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2795 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2799 .field_info_mask = {
2800 .description = "tun_hdr_type",
2801 .field_bit_size = 4,
2802 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2803 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2805 .field_info_spec = {
2806 .description = "tun_hdr_type",
2807 .field_bit_size = 4,
2808 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2809 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2813 .field_info_mask = {
2814 .description = "key_type",
2815 .field_bit_size = 2,
2816 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2817 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2821 .field_info_spec = {
2822 .description = "key_type",
2823 .field_bit_size = 2,
2824 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2825 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2829 .field_info_mask = {
2830 .description = "valid",
2831 .field_bit_size = 1,
2832 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2833 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2837 .field_info_spec = {
2838 .description = "valid",
2839 .field_bit_size = 1,
2840 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2841 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2846 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.rd */
2848 .field_info_mask = {
2849 .description = "svif",
2850 .field_bit_size = 8,
2851 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2852 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2856 .field_info_spec = {
2857 .description = "svif",
2858 .field_bit_size = 8,
2859 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2860 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2862 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
2863 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
2866 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.0 */
2868 .field_info_mask = {
2869 .description = "l2_ivlan_vid",
2870 .field_bit_size = 12,
2871 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2872 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2874 .field_info_spec = {
2875 .description = "l2_ivlan_vid",
2876 .field_bit_size = 12,
2877 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2878 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2882 .field_info_mask = {
2883 .description = "l2_ovlan_vid",
2884 .field_bit_size = 12,
2885 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2886 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2888 .field_info_spec = {
2889 .description = "l2_ovlan_vid",
2890 .field_bit_size = 12,
2891 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2892 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2896 .field_info_mask = {
2897 .description = "mac0_addr",
2898 .field_bit_size = 48,
2899 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2900 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2902 .field_info_spec = {
2903 .description = "mac0_addr",
2904 .field_bit_size = 48,
2905 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2906 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2910 .field_info_mask = {
2911 .description = "svif",
2912 .field_bit_size = 8,
2913 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2914 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2918 .field_info_spec = {
2919 .description = "svif",
2920 .field_bit_size = 8,
2921 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2922 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2924 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
2925 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
2929 .field_info_mask = {
2930 .description = "sparif",
2931 .field_bit_size = 4,
2932 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2933 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2935 .field_info_spec = {
2936 .description = "sparif",
2937 .field_bit_size = 4,
2938 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2939 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2943 .field_info_mask = {
2944 .description = "tl2_ivlan_vid",
2945 .field_bit_size = 12,
2946 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2947 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2949 .field_info_spec = {
2950 .description = "tl2_ivlan_vid",
2951 .field_bit_size = 12,
2952 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2953 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2957 .field_info_mask = {
2958 .description = "tl2_ovlan_vid",
2959 .field_bit_size = 12,
2960 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2961 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2963 .field_info_spec = {
2964 .description = "tl2_ovlan_vid",
2965 .field_bit_size = 12,
2966 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2967 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2971 .field_info_mask = {
2972 .description = "mac1_addr",
2973 .field_bit_size = 48,
2974 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2975 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2977 .field_info_spec = {
2978 .description = "mac1_addr",
2979 .field_bit_size = 48,
2980 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2981 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2985 .field_info_mask = {
2986 .description = "l2_num_vtags",
2987 .field_bit_size = 2,
2988 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2989 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2991 .field_info_spec = {
2992 .description = "l2_num_vtags",
2993 .field_bit_size = 2,
2994 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
2995 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2999 .field_info_mask = {
3000 .description = "tl2_num_vtags",
3001 .field_bit_size = 2,
3002 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3003 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3005 .field_info_spec = {
3006 .description = "tl2_num_vtags",
3007 .field_bit_size = 2,
3008 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3009 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3013 .field_info_mask = {
3014 .description = "tun_hdr_type",
3015 .field_bit_size = 4,
3016 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3017 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3019 .field_info_spec = {
3020 .description = "tun_hdr_type",
3021 .field_bit_size = 4,
3022 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3023 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3027 .field_info_mask = {
3028 .description = "key_type",
3029 .field_bit_size = 2,
3030 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3031 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3035 .field_info_spec = {
3036 .description = "key_type",
3037 .field_bit_size = 2,
3038 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3039 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3043 .field_info_mask = {
3044 .description = "valid",
3045 .field_bit_size = 1,
3046 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3047 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3051 .field_info_spec = {
3052 .description = "valid",
3053 .field_bit_size = 1,
3054 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3055 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3060 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.wr */
3062 .field_info_mask = {
3063 .description = "svif",
3064 .field_bit_size = 8,
3065 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3066 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3070 .field_info_spec = {
3071 .description = "svif",
3072 .field_bit_size = 8,
3073 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3074 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3076 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
3077 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
3080 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.egr0 */
3082 .field_info_mask = {
3083 .description = "l2_ivlan_vid",
3084 .field_bit_size = 12,
3085 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3086 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3088 .field_info_spec = {
3089 .description = "l2_ivlan_vid",
3090 .field_bit_size = 12,
3091 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3092 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3096 .field_info_mask = {
3097 .description = "l2_ovlan_vid",
3098 .field_bit_size = 12,
3099 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3100 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3102 .field_info_spec = {
3103 .description = "l2_ovlan_vid",
3104 .field_bit_size = 12,
3105 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3106 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3110 .field_info_mask = {
3111 .description = "mac0_addr",
3112 .field_bit_size = 48,
3113 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3114 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3116 .field_info_spec = {
3117 .description = "mac0_addr",
3118 .field_bit_size = 48,
3119 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3120 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3124 .field_info_mask = {
3125 .description = "svif",
3126 .field_bit_size = 8,
3127 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3128 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3132 .field_info_spec = {
3133 .description = "svif",
3134 .field_bit_size = 8,
3135 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3136 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3138 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
3139 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
3143 .field_info_mask = {
3144 .description = "sparif",
3145 .field_bit_size = 4,
3146 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3147 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3149 .field_info_spec = {
3150 .description = "sparif",
3151 .field_bit_size = 4,
3152 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3153 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3157 .field_info_mask = {
3158 .description = "tl2_ivlan_vid",
3159 .field_bit_size = 12,
3160 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3161 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3163 .field_info_spec = {
3164 .description = "tl2_ivlan_vid",
3165 .field_bit_size = 12,
3166 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3167 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3171 .field_info_mask = {
3172 .description = "tl2_ovlan_vid",
3173 .field_bit_size = 12,
3174 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3175 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3177 .field_info_spec = {
3178 .description = "tl2_ovlan_vid",
3179 .field_bit_size = 12,
3180 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3181 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3185 .field_info_mask = {
3186 .description = "mac1_addr",
3187 .field_bit_size = 48,
3188 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3189 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3191 .field_info_spec = {
3192 .description = "mac1_addr",
3193 .field_bit_size = 48,
3194 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3195 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3199 .field_info_mask = {
3200 .description = "l2_num_vtags",
3201 .field_bit_size = 2,
3202 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3203 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3205 .field_info_spec = {
3206 .description = "l2_num_vtags",
3207 .field_bit_size = 2,
3208 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3209 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3213 .field_info_mask = {
3214 .description = "tl2_num_vtags",
3215 .field_bit_size = 2,
3216 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3217 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3219 .field_info_spec = {
3220 .description = "tl2_num_vtags",
3221 .field_bit_size = 2,
3222 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3223 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3227 .field_info_mask = {
3228 .description = "tun_hdr_type",
3229 .field_bit_size = 4,
3230 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3231 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3233 .field_info_spec = {
3234 .description = "tun_hdr_type",
3235 .field_bit_size = 4,
3236 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3237 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3241 .field_info_mask = {
3242 .description = "key_type",
3243 .field_bit_size = 2,
3244 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3245 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3249 .field_info_spec = {
3250 .description = "key_type",
3251 .field_bit_size = 2,
3252 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3253 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3257 .field_info_mask = {
3258 .description = "valid",
3259 .field_bit_size = 1,
3260 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3261 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3265 .field_info_spec = {
3266 .description = "valid",
3267 .field_bit_size = 1,
3268 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3269 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3274 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.wr_egr0 */
3276 .field_info_mask = {
3277 .description = "svif",
3278 .field_bit_size = 8,
3279 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3280 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3284 .field_info_spec = {
3285 .description = "svif",
3286 .field_bit_size = 8,
3287 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3288 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3290 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
3291 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
3294 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.dtagged_ing0 */
3296 .field_info_mask = {
3297 .description = "l2_ivlan_vid",
3298 .field_bit_size = 12,
3299 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3300 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3302 .field_info_spec = {
3303 .description = "l2_ivlan_vid",
3304 .field_bit_size = 12,
3305 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3306 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3310 .field_info_mask = {
3311 .description = "l2_ovlan_vid",
3312 .field_bit_size = 12,
3313 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3314 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3319 .field_info_spec = {
3320 .description = "l2_ovlan_vid",
3321 .field_bit_size = 12,
3322 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3323 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3325 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
3326 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
3330 .field_info_mask = {
3331 .description = "mac0_addr",
3332 .field_bit_size = 48,
3333 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3334 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3336 .field_info_spec = {
3337 .description = "mac0_addr",
3338 .field_bit_size = 48,
3339 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3340 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3344 .field_info_mask = {
3345 .description = "svif",
3346 .field_bit_size = 8,
3347 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3348 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3352 .field_info_spec = {
3353 .description = "svif",
3354 .field_bit_size = 8,
3355 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3356 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3358 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
3359 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
3363 .field_info_mask = {
3364 .description = "sparif",
3365 .field_bit_size = 4,
3366 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3367 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3369 .field_info_spec = {
3370 .description = "sparif",
3371 .field_bit_size = 4,
3372 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3373 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3377 .field_info_mask = {
3378 .description = "tl2_ivlan_vid",
3379 .field_bit_size = 12,
3380 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3381 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3383 .field_info_spec = {
3384 .description = "tl2_ivlan_vid",
3385 .field_bit_size = 12,
3386 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3387 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3391 .field_info_mask = {
3392 .description = "tl2_ovlan_vid",
3393 .field_bit_size = 12,
3394 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3395 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3397 .field_info_spec = {
3398 .description = "tl2_ovlan_vid",
3399 .field_bit_size = 12,
3400 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3401 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3405 .field_info_mask = {
3406 .description = "mac1_addr",
3407 .field_bit_size = 48,
3408 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3409 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3411 .field_info_spec = {
3412 .description = "mac1_addr",
3413 .field_bit_size = 48,
3414 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3415 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3419 .field_info_mask = {
3420 .description = "l2_num_vtags",
3421 .field_bit_size = 2,
3422 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3423 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3427 .field_info_spec = {
3428 .description = "l2_num_vtags",
3429 .field_bit_size = 2,
3430 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3431 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3437 .field_info_mask = {
3438 .description = "tl2_num_vtags",
3439 .field_bit_size = 2,
3440 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3441 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3443 .field_info_spec = {
3444 .description = "tl2_num_vtags",
3445 .field_bit_size = 2,
3446 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3447 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3451 .field_info_mask = {
3452 .description = "tun_hdr_type",
3453 .field_bit_size = 4,
3454 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3455 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3459 .field_info_spec = {
3460 .description = "tun_hdr_type",
3461 .field_bit_size = 4,
3462 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3463 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3465 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
3469 .field_info_mask = {
3470 .description = "key_type",
3471 .field_bit_size = 2,
3472 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3473 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3477 .field_info_spec = {
3478 .description = "key_type",
3479 .field_bit_size = 2,
3480 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3481 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3485 .field_info_mask = {
3486 .description = "valid",
3487 .field_bit_size = 1,
3488 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3489 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3493 .field_info_spec = {
3494 .description = "valid",
3495 .field_bit_size = 1,
3496 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3497 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3502 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.stagged_ing0 */
3504 .field_info_mask = {
3505 .description = "l2_ivlan_vid",
3506 .field_bit_size = 12,
3507 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3508 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3513 .field_info_spec = {
3514 .description = "l2_ivlan_vid",
3515 .field_bit_size = 12,
3516 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3517 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3519 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
3520 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
3524 .field_info_mask = {
3525 .description = "l2_ovlan_vid",
3526 .field_bit_size = 12,
3527 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3528 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3530 .field_info_spec = {
3531 .description = "l2_ovlan_vid",
3532 .field_bit_size = 12,
3533 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3534 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3538 .field_info_mask = {
3539 .description = "mac0_addr",
3540 .field_bit_size = 48,
3541 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3542 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3544 .field_info_spec = {
3545 .description = "mac0_addr",
3546 .field_bit_size = 48,
3547 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3548 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3552 .field_info_mask = {
3553 .description = "svif",
3554 .field_bit_size = 8,
3555 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3556 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3560 .field_info_spec = {
3561 .description = "svif",
3562 .field_bit_size = 8,
3563 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3564 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3566 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
3567 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
3571 .field_info_mask = {
3572 .description = "sparif",
3573 .field_bit_size = 4,
3574 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3575 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3577 .field_info_spec = {
3578 .description = "sparif",
3579 .field_bit_size = 4,
3580 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3581 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3585 .field_info_mask = {
3586 .description = "tl2_ivlan_vid",
3587 .field_bit_size = 12,
3588 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3589 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3591 .field_info_spec = {
3592 .description = "tl2_ivlan_vid",
3593 .field_bit_size = 12,
3594 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3595 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3599 .field_info_mask = {
3600 .description = "tl2_ovlan_vid",
3601 .field_bit_size = 12,
3602 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3603 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3605 .field_info_spec = {
3606 .description = "tl2_ovlan_vid",
3607 .field_bit_size = 12,
3608 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3609 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3613 .field_info_mask = {
3614 .description = "mac1_addr",
3615 .field_bit_size = 48,
3616 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3617 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3619 .field_info_spec = {
3620 .description = "mac1_addr",
3621 .field_bit_size = 48,
3622 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3623 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3627 .field_info_mask = {
3628 .description = "l2_num_vtags",
3629 .field_bit_size = 2,
3630 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3631 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3635 .field_info_spec = {
3636 .description = "l2_num_vtags",
3637 .field_bit_size = 2,
3638 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3639 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3645 .field_info_mask = {
3646 .description = "tl2_num_vtags",
3647 .field_bit_size = 2,
3648 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3649 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3651 .field_info_spec = {
3652 .description = "tl2_num_vtags",
3653 .field_bit_size = 2,
3654 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3655 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3659 .field_info_mask = {
3660 .description = "tun_hdr_type",
3661 .field_bit_size = 4,
3662 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3663 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3667 .field_info_spec = {
3668 .description = "tun_hdr_type",
3669 .field_bit_size = 4,
3670 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3671 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3673 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
3677 .field_info_mask = {
3678 .description = "key_type",
3679 .field_bit_size = 2,
3680 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3681 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3685 .field_info_spec = {
3686 .description = "key_type",
3687 .field_bit_size = 2,
3688 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3689 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3693 .field_info_mask = {
3694 .description = "valid",
3695 .field_bit_size = 1,
3696 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3697 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3701 .field_info_spec = {
3702 .description = "valid",
3703 .field_bit_size = 1,
3704 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3705 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3710 /* class_tid: 5, wh_plus, table: l2_cntxt_tcam.egr */
3712 .field_info_mask = {
3713 .description = "l2_ivlan_vid",
3714 .field_bit_size = 12,
3715 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3716 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3718 .field_info_spec = {
3719 .description = "l2_ivlan_vid",
3720 .field_bit_size = 12,
3721 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3722 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3726 .field_info_mask = {
3727 .description = "l2_ovlan_vid",
3728 .field_bit_size = 12,
3729 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3730 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3732 .field_info_spec = {
3733 .description = "l2_ovlan_vid",
3734 .field_bit_size = 12,
3735 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3736 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3740 .field_info_mask = {
3741 .description = "mac0_addr",
3742 .field_bit_size = 48,
3743 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3744 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3746 .field_info_spec = {
3747 .description = "mac0_addr",
3748 .field_bit_size = 48,
3749 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3750 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3754 .field_info_mask = {
3755 .description = "svif",
3756 .field_bit_size = 8,
3757 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3758 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3762 .field_info_spec = {
3763 .description = "svif",
3764 .field_bit_size = 8,
3765 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3766 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3768 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
3769 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
3773 .field_info_mask = {
3774 .description = "sparif",
3775 .field_bit_size = 4,
3776 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3777 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3779 .field_info_spec = {
3780 .description = "sparif",
3781 .field_bit_size = 4,
3782 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3783 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3787 .field_info_mask = {
3788 .description = "tl2_ivlan_vid",
3789 .field_bit_size = 12,
3790 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3791 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3793 .field_info_spec = {
3794 .description = "tl2_ivlan_vid",
3795 .field_bit_size = 12,
3796 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3797 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3801 .field_info_mask = {
3802 .description = "tl2_ovlan_vid",
3803 .field_bit_size = 12,
3804 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3805 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3807 .field_info_spec = {
3808 .description = "tl2_ovlan_vid",
3809 .field_bit_size = 12,
3810 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3811 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3815 .field_info_mask = {
3816 .description = "mac1_addr",
3817 .field_bit_size = 48,
3818 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3819 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3821 .field_info_spec = {
3822 .description = "mac1_addr",
3823 .field_bit_size = 48,
3824 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3825 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3829 .field_info_mask = {
3830 .description = "l2_num_vtags",
3831 .field_bit_size = 2,
3832 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3833 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3835 .field_info_spec = {
3836 .description = "l2_num_vtags",
3837 .field_bit_size = 2,
3838 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3839 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3843 .field_info_mask = {
3844 .description = "tl2_num_vtags",
3845 .field_bit_size = 2,
3846 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3847 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3849 .field_info_spec = {
3850 .description = "tl2_num_vtags",
3851 .field_bit_size = 2,
3852 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3853 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3857 .field_info_mask = {
3858 .description = "tun_hdr_type",
3859 .field_bit_size = 4,
3860 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3861 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3863 .field_info_spec = {
3864 .description = "tun_hdr_type",
3865 .field_bit_size = 4,
3866 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3867 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3871 .field_info_mask = {
3872 .description = "key_type",
3873 .field_bit_size = 2,
3874 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3875 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3879 .field_info_spec = {
3880 .description = "key_type",
3881 .field_bit_size = 2,
3882 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3883 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3887 .field_info_mask = {
3888 .description = "valid",
3889 .field_bit_size = 1,
3890 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3891 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3895 .field_info_spec = {
3896 .description = "valid",
3897 .field_bit_size = 1,
3898 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3899 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3904 /* class_tid: 5, wh_plus, table: l2_cntxt_tcam_cache.egr_wr */
3906 .field_info_mask = {
3907 .description = "svif",
3908 .field_bit_size = 8,
3909 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3910 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3914 .field_info_spec = {
3915 .description = "svif",
3916 .field_bit_size = 8,
3917 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3918 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3920 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
3921 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
3924 /* class_tid: 5, wh_plus, table: l2_cntxt_tcam_bypass.ing */
3926 .field_info_mask = {
3927 .description = "l2_ivlan_vid",
3928 .field_bit_size = 12,
3929 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3930 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3932 .field_info_spec = {
3933 .description = "l2_ivlan_vid",
3934 .field_bit_size = 12,
3935 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3936 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3940 .field_info_mask = {
3941 .description = "l2_ovlan_vid",
3942 .field_bit_size = 12,
3943 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3944 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3946 .field_info_spec = {
3947 .description = "l2_ovlan_vid",
3948 .field_bit_size = 12,
3949 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3950 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3954 .field_info_mask = {
3955 .description = "mac0_addr",
3956 .field_bit_size = 48,
3957 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3958 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3960 .field_info_spec = {
3961 .description = "mac0_addr",
3962 .field_bit_size = 48,
3963 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3964 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3968 .field_info_mask = {
3969 .description = "svif",
3970 .field_bit_size = 8,
3971 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3972 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3976 .field_info_spec = {
3977 .description = "svif",
3978 .field_bit_size = 8,
3979 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3980 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3982 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
3983 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
3987 .field_info_mask = {
3988 .description = "sparif",
3989 .field_bit_size = 4,
3990 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3991 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3993 .field_info_spec = {
3994 .description = "sparif",
3995 .field_bit_size = 4,
3996 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
3997 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4001 .field_info_mask = {
4002 .description = "tl2_ivlan_vid",
4003 .field_bit_size = 12,
4004 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4005 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4007 .field_info_spec = {
4008 .description = "tl2_ivlan_vid",
4009 .field_bit_size = 12,
4010 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4011 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4015 .field_info_mask = {
4016 .description = "tl2_ovlan_vid",
4017 .field_bit_size = 12,
4018 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4019 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4021 .field_info_spec = {
4022 .description = "tl2_ovlan_vid",
4023 .field_bit_size = 12,
4024 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4025 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4029 .field_info_mask = {
4030 .description = "mac1_addr",
4031 .field_bit_size = 48,
4032 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4033 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4035 .field_info_spec = {
4036 .description = "mac1_addr",
4037 .field_bit_size = 48,
4038 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4039 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4043 .field_info_mask = {
4044 .description = "l2_num_vtags",
4045 .field_bit_size = 2,
4046 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4047 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4049 .field_info_spec = {
4050 .description = "l2_num_vtags",
4051 .field_bit_size = 2,
4052 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4053 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4057 .field_info_mask = {
4058 .description = "tl2_num_vtags",
4059 .field_bit_size = 2,
4060 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4061 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4063 .field_info_spec = {
4064 .description = "tl2_num_vtags",
4065 .field_bit_size = 2,
4066 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4067 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4071 .field_info_mask = {
4072 .description = "tun_hdr_type",
4073 .field_bit_size = 4,
4074 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4075 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4077 .field_info_spec = {
4078 .description = "tun_hdr_type",
4079 .field_bit_size = 4,
4080 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4081 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4085 .field_info_mask = {
4086 .description = "key_type",
4087 .field_bit_size = 2,
4088 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4089 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4093 .field_info_spec = {
4094 .description = "key_type",
4095 .field_bit_size = 2,
4096 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4097 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4101 .field_info_mask = {
4102 .description = "valid",
4103 .field_bit_size = 1,
4104 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4105 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4109 .field_info_spec = {
4110 .description = "valid",
4111 .field_bit_size = 1,
4112 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4113 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4120 struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
4121 /* class_tid: 1, wh_plus, table: l2_cntxt_tcam.0 */
4123 .description = "l2_cntxt_id",
4124 .field_bit_size = 10,
4125 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4126 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4128 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
4129 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
4132 .description = "prof_func_id",
4133 .field_bit_size = 7,
4134 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4135 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
4137 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
4138 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}
4141 .description = "l2_byp_lkup_en",
4142 .field_bit_size = 1,
4143 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4144 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4147 .description = "parif",
4148 .field_bit_size = 4,
4149 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4150 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4152 (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
4153 BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
4156 .description = "allowed_pri",
4157 .field_bit_size = 8,
4158 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4159 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4162 .description = "default_pri",
4163 .field_bit_size = 3,
4164 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4165 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4168 .description = "allowed_tpid",
4169 .field_bit_size = 6,
4170 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4171 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4174 .description = "default_tpid",
4175 .field_bit_size = 3,
4176 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4177 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4180 .description = "bd_act_en",
4181 .field_bit_size = 1,
4182 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4183 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4186 .description = "sp_rec_ptr",
4187 .field_bit_size = 16,
4188 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4189 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4192 .description = "byp_sp_lkup",
4193 .field_bit_size = 1,
4194 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4195 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4200 .description = "pri_anti_spoof_ctl",
4201 .field_bit_size = 2,
4202 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4203 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4206 .description = "tpid_anti_spoof_ctl",
4207 .field_bit_size = 2,
4208 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4209 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4211 /* class_tid: 1, wh_plus, table: profile_tcam.0 */
4213 .description = "wc_key_id",
4214 .field_bit_size = 4,
4215 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4216 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4221 .description = "wc_profile_id",
4222 .field_bit_size = 8,
4223 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4224 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4227 .description = "wc_search_en",
4228 .field_bit_size = 1,
4229 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4230 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4233 .description = "em_key_mask",
4234 .field_bit_size = 10,
4235 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4236 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4242 .description = "em_key_id",
4243 .field_bit_size = 5,
4244 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4245 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4250 .description = "em_profile_id",
4251 .field_bit_size = 8,
4252 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4253 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4255 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
4256 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
4259 .description = "em_search_en",
4260 .field_bit_size = 1,
4261 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4262 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4267 .description = "pl_byp_lkup_en",
4268 .field_bit_size = 1,
4269 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4270 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4272 /* class_tid: 1, wh_plus, table: profile_tcam_cache.wr */
4274 .description = "rid",
4275 .field_bit_size = 32,
4276 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4277 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4279 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
4280 BNXT_ULP_RF_IDX_RID & 0xff}
4283 .description = "profile_tcam_index",
4284 .field_bit_size = 10,
4285 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4286 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4288 (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
4289 BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff}
4292 .description = "em_profile_id",
4293 .field_bit_size = 8,
4294 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4295 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4297 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
4298 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
4301 .description = "wm_profile_id",
4302 .field_bit_size = 8,
4303 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4304 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4307 .description = "flow_sig_id",
4308 .field_bit_size = 8,
4309 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4310 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4312 (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff,
4313 BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff}
4315 /* class_tid: 1, wh_plus, table: em.int_0 */
4317 .description = "act_rec_ptr",
4318 .field_bit_size = 33,
4319 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4320 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4322 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
4323 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
4326 .description = "ext_flow_cntr",
4327 .field_bit_size = 1,
4328 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4329 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4332 .description = "act_rec_int",
4333 .field_bit_size = 1,
4334 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4335 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4338 .description = "act_rec_size",
4339 .field_bit_size = 5,
4340 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4341 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4344 .description = "key_size",
4345 .field_bit_size = 9,
4346 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4347 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4350 .description = "reserved",
4351 .field_bit_size = 11,
4352 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4353 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4356 .description = "strength",
4357 .field_bit_size = 2,
4358 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4359 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4364 .description = "l1_cacheable",
4365 .field_bit_size = 1,
4366 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4367 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4370 .description = "valid",
4371 .field_bit_size = 1,
4372 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4373 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4377 /* class_tid: 1, wh_plus, table: eem.ext_0 */
4379 .description = "act_rec_ptr",
4380 .field_bit_size = 33,
4381 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4382 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4384 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
4385 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
4388 .description = "ext_flow_cntr",
4389 .field_bit_size = 1,
4390 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4391 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4394 .description = "act_rec_int",
4395 .field_bit_size = 1,
4396 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4397 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4399 ULP_WP_SYM_EEM_ACT_REC_INT}
4402 .description = "act_rec_size",
4403 .field_bit_size = 5,
4404 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4405 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4407 (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
4408 BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
4411 .description = "key_size",
4412 .field_bit_size = 9,
4413 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4414 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4420 .description = "reserved",
4421 .field_bit_size = 11,
4422 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4423 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4426 .description = "strength",
4427 .field_bit_size = 2,
4428 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4429 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4434 .description = "l1_cacheable",
4435 .field_bit_size = 1,
4436 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4437 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4440 .description = "valid",
4441 .field_bit_size = 1,
4442 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4443 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4447 /* class_tid: 2, wh_plus, table: int_full_act_record.0 */
4449 .description = "flow_cntr_ptr",
4450 .field_bit_size = 14,
4451 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4452 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4455 .description = "age_enable",
4456 .field_bit_size = 1,
4457 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4458 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4461 .description = "agg_cntr_en",
4462 .field_bit_size = 1,
4463 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4464 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4467 .description = "rate_cntr_en",
4468 .field_bit_size = 1,
4469 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4470 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4473 .description = "flow_cntr_en",
4474 .field_bit_size = 1,
4475 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4476 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4479 .description = "tcpflags_key",
4480 .field_bit_size = 8,
4481 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4482 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4485 .description = "tcpflags_mir",
4486 .field_bit_size = 1,
4487 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4488 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4491 .description = "tcpflags_match",
4492 .field_bit_size = 1,
4493 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4494 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4497 .description = "encap_ptr",
4498 .field_bit_size = 11,
4499 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4500 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4503 .description = "dst_ip_ptr",
4504 .field_bit_size = 10,
4505 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4506 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4509 .description = "tcp_dst_port",
4510 .field_bit_size = 16,
4511 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4512 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4515 .description = "src_ip_ptr",
4516 .field_bit_size = 10,
4517 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4518 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4521 .description = "tcp_src_port",
4522 .field_bit_size = 16,
4523 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4524 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4527 .description = "meter_id",
4528 .field_bit_size = 10,
4529 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4530 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4533 .description = "l3_rdir",
4534 .field_bit_size = 1,
4535 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4536 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4539 .description = "tl3_rdir",
4540 .field_bit_size = 1,
4541 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4542 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4545 .description = "l3_ttl_dec",
4546 .field_bit_size = 1,
4547 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4548 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4551 .description = "tl3_ttl_dec",
4552 .field_bit_size = 1,
4553 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4554 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4557 .description = "decap_func",
4558 .field_bit_size = 4,
4559 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4560 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4563 .description = "vnic_or_vport",
4564 .field_bit_size = 12,
4565 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4566 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4568 (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
4569 BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}
4572 .description = "pop_vlan",
4573 .field_bit_size = 1,
4574 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4575 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4578 .description = "meter",
4579 .field_bit_size = 1,
4580 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4581 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4584 .description = "mirror",
4585 .field_bit_size = 2,
4586 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4587 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4590 .description = "drop",
4591 .field_bit_size = 1,
4592 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4593 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4596 .description = "hit",
4597 .field_bit_size = 1,
4598 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4599 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4602 .description = "type",
4603 .field_bit_size = 1,
4604 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4605 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4607 /* class_tid: 2, wh_plus, table: l2_cntxt_tcam.0 */
4609 .description = "l2_cntxt_id",
4610 .field_bit_size = 10,
4611 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4612 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4614 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
4615 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
4618 .description = "prof_func_id",
4619 .field_bit_size = 7,
4620 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4621 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
4623 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
4624 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
4627 .description = "l2_byp_lkup_en",
4628 .field_bit_size = 1,
4629 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4630 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4633 .description = "parif",
4634 .field_bit_size = 4,
4635 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4636 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4638 (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
4639 BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
4642 .description = "allowed_pri",
4643 .field_bit_size = 8,
4644 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4645 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4648 .description = "default_pri",
4649 .field_bit_size = 3,
4650 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4651 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4654 .description = "allowed_tpid",
4655 .field_bit_size = 6,
4656 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4657 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4660 .description = "default_tpid",
4661 .field_bit_size = 3,
4662 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4663 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4666 .description = "bd_act_en",
4667 .field_bit_size = 1,
4668 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4669 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4672 .description = "sp_rec_ptr",
4673 .field_bit_size = 16,
4674 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4675 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4678 .description = "byp_sp_lkup",
4679 .field_bit_size = 1,
4680 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4681 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4686 .description = "pri_anti_spoof_ctl",
4687 .field_bit_size = 2,
4688 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4689 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4692 .description = "tpid_anti_spoof_ctl",
4693 .field_bit_size = 2,
4694 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4695 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4697 /* class_tid: 2, wh_plus, table: l2_cntxt_tcam_cache.wr */
4699 .description = "rid",
4700 .field_bit_size = 32,
4701 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4702 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4704 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
4705 BNXT_ULP_RF_IDX_RID & 0xff}
4708 .description = "l2_cntxt_tcam_index",
4709 .field_bit_size = 10,
4710 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4711 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4713 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
4714 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
4717 .description = "l2_cntxt_id",
4718 .field_bit_size = 10,
4719 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4720 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4722 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
4723 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
4726 .description = "src_property_ptr",
4727 .field_bit_size = 10,
4728 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4729 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4731 /* class_tid: 2, wh_plus, table: parif_def_lkup_arec_ptr.0 */
4733 .description = "act_rec_ptr",
4734 .field_bit_size = 32,
4735 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4736 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4738 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
4739 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
4741 /* class_tid: 2, wh_plus, table: parif_def_arec_ptr.0 */
4743 .description = "act_rec_ptr",
4744 .field_bit_size = 32,
4745 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4746 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4748 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
4749 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
4751 /* class_tid: 2, wh_plus, table: parif_def_err_arec_ptr.0 */
4753 .description = "act_rec_ptr",
4754 .field_bit_size = 32,
4755 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4756 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4758 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
4759 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
4761 /* class_tid: 3, wh_plus, table: int_full_act_record.0 */
4763 .description = "flow_cntr_ptr",
4764 .field_bit_size = 14,
4765 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4766 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4769 .description = "age_enable",
4770 .field_bit_size = 1,
4771 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4772 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4775 .description = "agg_cntr_en",
4776 .field_bit_size = 1,
4777 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4778 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4781 .description = "rate_cntr_en",
4782 .field_bit_size = 1,
4783 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4784 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4787 .description = "flow_cntr_en",
4788 .field_bit_size = 1,
4789 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4790 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4793 .description = "tcpflags_key",
4794 .field_bit_size = 8,
4795 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4796 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4799 .description = "tcpflags_mir",
4800 .field_bit_size = 1,
4801 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4802 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4805 .description = "tcpflags_match",
4806 .field_bit_size = 1,
4807 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4808 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4811 .description = "encap_ptr",
4812 .field_bit_size = 11,
4813 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4814 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4817 .description = "dst_ip_ptr",
4818 .field_bit_size = 10,
4819 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4820 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4823 .description = "tcp_dst_port",
4824 .field_bit_size = 16,
4825 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4826 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4829 .description = "src_ip_ptr",
4830 .field_bit_size = 10,
4831 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4832 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4835 .description = "tcp_src_port",
4836 .field_bit_size = 16,
4837 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4838 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4841 .description = "meter_id",
4842 .field_bit_size = 10,
4843 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4844 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4847 .description = "l3_rdir",
4848 .field_bit_size = 1,
4849 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4850 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4853 .description = "tl3_rdir",
4854 .field_bit_size = 1,
4855 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4856 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4859 .description = "l3_ttl_dec",
4860 .field_bit_size = 1,
4861 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4862 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4865 .description = "tl3_ttl_dec",
4866 .field_bit_size = 1,
4867 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4868 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4871 .description = "decap_func",
4872 .field_bit_size = 4,
4873 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4874 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4877 .description = "vnic_or_vport",
4878 .field_bit_size = 12,
4879 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4880 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4882 (BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff,
4883 BNXT_ULP_CF_IDX_PHY_PORT_VPORT & 0xff}
4886 .description = "pop_vlan",
4887 .field_bit_size = 1,
4888 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4889 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4892 .description = "meter",
4893 .field_bit_size = 1,
4894 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4895 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4898 .description = "mirror",
4899 .field_bit_size = 2,
4900 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4901 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4904 .description = "drop",
4905 .field_bit_size = 1,
4906 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4907 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4910 .description = "hit",
4911 .field_bit_size = 1,
4912 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4913 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4916 .description = "type",
4917 .field_bit_size = 1,
4918 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4919 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4921 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_bypass.vfr_0 */
4923 .description = "act_record_ptr",
4924 .field_bit_size = 16,
4925 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4926 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4929 .description = "reserved",
4930 .field_bit_size = 1,
4931 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4932 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4935 .description = "l2_byp_lkup_en",
4936 .field_bit_size = 1,
4937 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4938 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4943 .description = "parif",
4944 .field_bit_size = 4,
4945 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4946 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4948 (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
4949 BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
4952 .description = "allowed_pri",
4953 .field_bit_size = 8,
4954 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4955 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4958 .description = "default_pri",
4959 .field_bit_size = 3,
4960 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4961 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4964 .description = "allowed_tpid",
4965 .field_bit_size = 6,
4966 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4967 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4970 .description = "default_tpid",
4971 .field_bit_size = 3,
4972 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4973 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4976 .description = "bd_act_en",
4977 .field_bit_size = 1,
4978 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4979 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4984 .description = "sp_rec_ptr",
4985 .field_bit_size = 16,
4986 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4987 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4990 .description = "byp_sp_lkup",
4991 .field_bit_size = 1,
4992 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
4993 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4998 .description = "pri_anti_spoof_ctl",
4999 .field_bit_size = 2,
5000 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5001 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5004 .description = "tpid_anti_spoof_ctl",
5005 .field_bit_size = 2,
5006 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5007 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5009 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.0 */
5011 .description = "l2_cntxt_id",
5012 .field_bit_size = 10,
5013 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5014 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5016 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
5017 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
5020 .description = "prof_func_id",
5021 .field_bit_size = 7,
5022 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5023 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
5025 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
5026 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
5029 .description = "l2_byp_lkup_en",
5030 .field_bit_size = 1,
5031 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5032 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5035 .description = "parif",
5036 .field_bit_size = 4,
5037 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5038 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5040 (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
5041 BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
5044 .description = "allowed_pri",
5045 .field_bit_size = 8,
5046 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5047 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5050 .description = "default_pri",
5051 .field_bit_size = 3,
5052 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5053 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5056 .description = "allowed_tpid",
5057 .field_bit_size = 6,
5058 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5059 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5062 .description = "default_tpid",
5063 .field_bit_size = 3,
5064 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5065 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5068 .description = "bd_act_en",
5069 .field_bit_size = 1,
5070 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5071 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5074 .description = "sp_rec_ptr",
5075 .field_bit_size = 16,
5076 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5077 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5080 .description = "byp_sp_lkup",
5081 .field_bit_size = 1,
5082 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5083 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5088 .description = "pri_anti_spoof_ctl",
5089 .field_bit_size = 2,
5090 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5091 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5094 .description = "tpid_anti_spoof_ctl",
5095 .field_bit_size = 2,
5096 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5097 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5099 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.wr */
5101 .description = "rid",
5102 .field_bit_size = 32,
5103 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5104 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5106 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
5107 BNXT_ULP_RF_IDX_RID & 0xff}
5110 .description = "l2_cntxt_tcam_index",
5111 .field_bit_size = 10,
5112 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5113 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5115 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
5116 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
5119 .description = "l2_cntxt_id",
5120 .field_bit_size = 10,
5121 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5122 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5124 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
5125 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
5128 .description = "src_property_ptr",
5129 .field_bit_size = 10,
5130 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5131 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5133 /* class_tid: 3, wh_plus, table: parif_def_lkup_arec_ptr.0 */
5135 .description = "act_rec_ptr",
5136 .field_bit_size = 32,
5137 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5138 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5140 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
5141 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
5143 /* class_tid: 3, wh_plus, table: parif_def_arec_ptr.0 */
5145 .description = "act_rec_ptr",
5146 .field_bit_size = 32,
5147 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5148 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5150 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
5151 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
5153 /* class_tid: 3, wh_plus, table: parif_def_err_arec_ptr.0 */
5155 .description = "act_rec_ptr",
5156 .field_bit_size = 32,
5157 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5158 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5160 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
5161 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
5163 /* class_tid: 4, wh_plus, table: int_vtag_encap_record.egr0 */
5165 .description = "ecv_tun_type",
5166 .field_bit_size = 3,
5167 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5168 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5171 .description = "ecv_l4_type",
5172 .field_bit_size = 3,
5173 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5174 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5177 .description = "ecv_l3_type",
5178 .field_bit_size = 3,
5179 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5180 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5183 .description = "ecv_l2_en",
5184 .field_bit_size = 1,
5185 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5186 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5189 .description = "ecv_vtag_type",
5190 .field_bit_size = 4,
5191 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5192 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5194 ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
5197 .description = "ecv_custom_en",
5198 .field_bit_size = 1,
5199 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5200 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5203 .description = "ecv_valid",
5204 .field_bit_size = 1,
5205 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5206 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5209 .description = "vtag_tpid",
5210 .field_bit_size = 16,
5211 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5212 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5218 .description = "vtag_vid",
5219 .field_bit_size = 12,
5220 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5221 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5223 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
5224 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
5227 .description = "vtag_de",
5228 .field_bit_size = 1,
5229 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5230 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5233 .description = "vtag_pcp",
5234 .field_bit_size = 3,
5235 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5236 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5239 .description = "spare",
5240 .field_bit_size = 80,
5241 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5242 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5244 /* class_tid: 4, wh_plus, table: int_full_act_record.egr0 */
5246 .description = "flow_cntr_ptr",
5247 .field_bit_size = 14,
5248 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5249 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5252 .description = "age_enable",
5253 .field_bit_size = 1,
5254 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5255 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5258 .description = "agg_cntr_en",
5259 .field_bit_size = 1,
5260 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5261 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5264 .description = "rate_cntr_en",
5265 .field_bit_size = 1,
5266 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5267 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5270 .description = "flow_cntr_en",
5271 .field_bit_size = 1,
5272 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5273 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5276 .description = "tcpflags_key",
5277 .field_bit_size = 8,
5278 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5279 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5282 .description = "tcpflags_mir",
5283 .field_bit_size = 1,
5284 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5285 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5288 .description = "tcpflags_match",
5289 .field_bit_size = 1,
5290 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5291 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5294 .description = "encap_ptr",
5295 .field_bit_size = 11,
5296 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5297 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5299 (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
5300 BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
5303 .description = "dst_ip_ptr",
5304 .field_bit_size = 10,
5305 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5306 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5309 .description = "tcp_dst_port",
5310 .field_bit_size = 16,
5311 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5312 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5315 .description = "src_ip_ptr",
5316 .field_bit_size = 10,
5317 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5318 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5321 .description = "tcp_src_port",
5322 .field_bit_size = 16,
5323 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5324 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5327 .description = "meter_id",
5328 .field_bit_size = 10,
5329 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5330 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5333 .description = "l3_rdir",
5334 .field_bit_size = 1,
5335 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5336 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5339 .description = "tl3_rdir",
5340 .field_bit_size = 1,
5341 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5342 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5345 .description = "l3_ttl_dec",
5346 .field_bit_size = 1,
5347 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5348 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5351 .description = "tl3_ttl_dec",
5352 .field_bit_size = 1,
5353 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5354 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5357 .description = "decap_func",
5358 .field_bit_size = 4,
5359 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5360 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5363 .description = "vnic_or_vport",
5364 .field_bit_size = 12,
5365 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5366 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5368 (ULP_WP_SYM_LOOPBACK_PORT >> 8) & 0xff,
5369 ULP_WP_SYM_LOOPBACK_PORT & 0xff}
5372 .description = "pop_vlan",
5373 .field_bit_size = 1,
5374 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5375 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5378 .description = "meter",
5379 .field_bit_size = 1,
5380 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5381 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5384 .description = "mirror",
5385 .field_bit_size = 2,
5386 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5387 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5390 .description = "drop",
5391 .field_bit_size = 1,
5392 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5393 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5396 .description = "hit",
5397 .field_bit_size = 1,
5398 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5399 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5402 .description = "type",
5403 .field_bit_size = 1,
5404 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5405 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5407 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.egr0 */
5409 .description = "act_record_ptr",
5410 .field_bit_size = 16,
5411 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5412 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5415 .description = "reserved",
5416 .field_bit_size = 1,
5417 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5418 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5421 .description = "l2_byp_lkup_en",
5422 .field_bit_size = 1,
5423 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5424 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5429 .description = "parif",
5430 .field_bit_size = 4,
5431 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5432 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5435 .description = "allowed_pri",
5436 .field_bit_size = 8,
5437 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5438 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5441 .description = "default_pri",
5442 .field_bit_size = 3,
5443 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5444 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5447 .description = "allowed_tpid",
5448 .field_bit_size = 6,
5449 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5450 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5453 .description = "default_tpid",
5454 .field_bit_size = 3,
5455 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5456 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5459 .description = "bd_act_en",
5460 .field_bit_size = 1,
5461 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5462 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5467 .description = "sp_rec_ptr",
5468 .field_bit_size = 16,
5469 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5470 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5473 .description = "byp_sp_lkup",
5474 .field_bit_size = 1,
5475 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5476 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5481 .description = "pri_anti_spoof_ctl",
5482 .field_bit_size = 2,
5483 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5484 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5487 .description = "tpid_anti_spoof_ctl",
5488 .field_bit_size = 2,
5489 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5490 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5492 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.wr_egr0 */
5494 .description = "rid",
5495 .field_bit_size = 32,
5496 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5497 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5499 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
5500 BNXT_ULP_RF_IDX_RID & 0xff}
5503 .description = "l2_cntxt_tcam_index",
5504 .field_bit_size = 10,
5505 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5506 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5508 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
5509 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
5512 .description = "l2_cntxt_id",
5513 .field_bit_size = 10,
5514 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5515 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5518 .description = "src_property_ptr",
5519 .field_bit_size = 10,
5520 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5521 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5523 /* class_tid: 4, wh_plus, table: int_full_act_record.ing0 */
5525 .description = "flow_cntr_ptr",
5526 .field_bit_size = 14,
5527 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5528 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5531 .description = "age_enable",
5532 .field_bit_size = 1,
5533 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5534 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5537 .description = "agg_cntr_en",
5538 .field_bit_size = 1,
5539 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5540 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5543 .description = "rate_cntr_en",
5544 .field_bit_size = 1,
5545 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5546 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5549 .description = "flow_cntr_en",
5550 .field_bit_size = 1,
5551 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5552 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5555 .description = "tcpflags_key",
5556 .field_bit_size = 8,
5557 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5558 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5561 .description = "tcpflags_mir",
5562 .field_bit_size = 1,
5563 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5564 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5567 .description = "tcpflags_match",
5568 .field_bit_size = 1,
5569 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5570 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5573 .description = "encap_ptr",
5574 .field_bit_size = 11,
5575 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5576 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5579 .description = "dst_ip_ptr",
5580 .field_bit_size = 10,
5581 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5582 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5585 .description = "tcp_dst_port",
5586 .field_bit_size = 16,
5587 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5588 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5591 .description = "src_ip_ptr",
5592 .field_bit_size = 10,
5593 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5594 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5597 .description = "tcp_src_port",
5598 .field_bit_size = 16,
5599 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5600 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5603 .description = "meter_id",
5604 .field_bit_size = 10,
5605 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5606 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5609 .description = "l3_rdir",
5610 .field_bit_size = 1,
5611 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5612 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5615 .description = "tl3_rdir",
5616 .field_bit_size = 1,
5617 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5618 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5621 .description = "l3_ttl_dec",
5622 .field_bit_size = 1,
5623 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5624 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5627 .description = "tl3_ttl_dec",
5628 .field_bit_size = 1,
5629 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5630 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5633 .description = "decap_func",
5634 .field_bit_size = 4,
5635 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5636 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5639 .description = "vnic_or_vport",
5640 .field_bit_size = 12,
5641 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5642 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5644 (BNXT_ULP_CF_IDX_VF_FUNC_VNIC >> 8) & 0xff,
5645 BNXT_ULP_CF_IDX_VF_FUNC_VNIC & 0xff}
5648 .description = "pop_vlan",
5649 .field_bit_size = 1,
5650 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5651 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5656 .description = "meter",
5657 .field_bit_size = 1,
5658 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5659 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5662 .description = "mirror",
5663 .field_bit_size = 2,
5664 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5665 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5668 .description = "drop",
5669 .field_bit_size = 1,
5670 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5671 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5674 .description = "hit",
5675 .field_bit_size = 1,
5676 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5677 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5680 .description = "type",
5681 .field_bit_size = 1,
5682 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5683 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5685 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.dtagged_ing0 */
5687 .description = "act_record_ptr",
5688 .field_bit_size = 16,
5689 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5690 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5692 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
5693 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
5696 .description = "reserved",
5697 .field_bit_size = 1,
5698 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5699 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5702 .description = "l2_byp_lkup_en",
5703 .field_bit_size = 1,
5704 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5705 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5710 .description = "parif",
5711 .field_bit_size = 4,
5712 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5713 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5716 .description = "allowed_pri",
5717 .field_bit_size = 8,
5718 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5719 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5722 .description = "default_pri",
5723 .field_bit_size = 3,
5724 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5725 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5728 .description = "allowed_tpid",
5729 .field_bit_size = 6,
5730 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5731 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5734 .description = "default_tpid",
5735 .field_bit_size = 3,
5736 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5737 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5740 .description = "bd_act_en",
5741 .field_bit_size = 1,
5742 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5743 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5746 .description = "sp_rec_ptr",
5747 .field_bit_size = 16,
5748 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5749 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5752 .description = "byp_sp_lkup",
5753 .field_bit_size = 1,
5754 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5755 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5760 .description = "pri_anti_spoof_ctl",
5761 .field_bit_size = 2,
5762 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5763 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5766 .description = "tpid_anti_spoof_ctl",
5767 .field_bit_size = 2,
5768 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5769 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5771 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.stagged_ing0 */
5773 .description = "act_record_ptr",
5774 .field_bit_size = 16,
5775 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5776 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5778 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
5779 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
5782 .description = "reserved",
5783 .field_bit_size = 1,
5784 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5785 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5788 .description = "l2_byp_lkup_en",
5789 .field_bit_size = 1,
5790 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5791 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5796 .description = "parif",
5797 .field_bit_size = 4,
5798 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5799 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5802 .description = "allowed_pri",
5803 .field_bit_size = 8,
5804 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5805 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5808 .description = "default_pri",
5809 .field_bit_size = 3,
5810 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5811 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5814 .description = "allowed_tpid",
5815 .field_bit_size = 6,
5816 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5817 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5820 .description = "default_tpid",
5821 .field_bit_size = 3,
5822 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5823 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5826 .description = "bd_act_en",
5827 .field_bit_size = 1,
5828 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5829 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5832 .description = "sp_rec_ptr",
5833 .field_bit_size = 16,
5834 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5835 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5838 .description = "byp_sp_lkup",
5839 .field_bit_size = 1,
5840 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5841 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5846 .description = "pri_anti_spoof_ctl",
5847 .field_bit_size = 2,
5848 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5849 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5852 .description = "tpid_anti_spoof_ctl",
5853 .field_bit_size = 2,
5854 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5855 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5857 /* class_tid: 5, wh_plus, table: l2_cntxt_tcam.egr */
5859 .description = "l2_cntxt_id",
5860 .field_bit_size = 10,
5861 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5862 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5864 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
5865 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
5868 .description = "prof_func_id",
5869 .field_bit_size = 7,
5870 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5871 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
5873 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
5874 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
5877 .description = "l2_byp_lkup_en",
5878 .field_bit_size = 1,
5879 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5880 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5883 .description = "parif",
5884 .field_bit_size = 4,
5885 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5886 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5888 (BNXT_ULP_CF_IDX_VF_FUNC_PARIF >> 8) & 0xff,
5889 BNXT_ULP_CF_IDX_VF_FUNC_PARIF & 0xff}
5892 .description = "allowed_pri",
5893 .field_bit_size = 8,
5894 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5895 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5898 .description = "default_pri",
5899 .field_bit_size = 3,
5900 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5901 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5904 .description = "allowed_tpid",
5905 .field_bit_size = 6,
5906 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5907 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5910 .description = "default_tpid",
5911 .field_bit_size = 3,
5912 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5913 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5916 .description = "bd_act_en",
5917 .field_bit_size = 1,
5918 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5919 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5922 .description = "sp_rec_ptr",
5923 .field_bit_size = 16,
5924 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5925 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5928 .description = "byp_sp_lkup",
5929 .field_bit_size = 1,
5930 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5931 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5936 .description = "pri_anti_spoof_ctl",
5937 .field_bit_size = 2,
5938 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5939 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5942 .description = "tpid_anti_spoof_ctl",
5943 .field_bit_size = 2,
5944 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5945 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5947 /* class_tid: 5, wh_plus, table: l2_cntxt_tcam_cache.egr_wr */
5949 .description = "rid",
5950 .field_bit_size = 32,
5951 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5952 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5954 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
5955 BNXT_ULP_RF_IDX_RID & 0xff}
5958 .description = "l2_cntxt_tcam_index",
5959 .field_bit_size = 10,
5960 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5961 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5963 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
5964 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
5967 .description = "l2_cntxt_id",
5968 .field_bit_size = 10,
5969 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5970 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5972 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
5973 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
5976 .description = "src_property_ptr",
5977 .field_bit_size = 10,
5978 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5979 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5981 /* class_tid: 5, wh_plus, table: parif_def_lkup_arec_ptr.egr */
5983 .description = "act_rec_ptr",
5984 .field_bit_size = 32,
5985 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5986 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
5988 (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
5989 BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
5991 /* class_tid: 5, wh_plus, table: parif_def_arec_ptr.egr */
5993 .description = "act_rec_ptr",
5994 .field_bit_size = 32,
5995 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
5996 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
5998 (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
5999 BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
6001 /* class_tid: 5, wh_plus, table: parif_def_err_arec_ptr.egr */
6003 .description = "act_rec_ptr",
6004 .field_bit_size = 32,
6005 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6006 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
6008 (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
6009 BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
6011 /* class_tid: 5, wh_plus, table: int_full_act_record.ing */
6013 .description = "flow_cntr_ptr",
6014 .field_bit_size = 14,
6015 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6016 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6019 .description = "age_enable",
6020 .field_bit_size = 1,
6021 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6022 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6025 .description = "agg_cntr_en",
6026 .field_bit_size = 1,
6027 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6028 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6031 .description = "rate_cntr_en",
6032 .field_bit_size = 1,
6033 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6034 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6037 .description = "flow_cntr_en",
6038 .field_bit_size = 1,
6039 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6040 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6043 .description = "tcpflags_key",
6044 .field_bit_size = 8,
6045 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6046 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6049 .description = "tcpflags_mir",
6050 .field_bit_size = 1,
6051 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6052 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6055 .description = "tcpflags_match",
6056 .field_bit_size = 1,
6057 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6058 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6061 .description = "encap_ptr",
6062 .field_bit_size = 11,
6063 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6064 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6067 .description = "dst_ip_ptr",
6068 .field_bit_size = 10,
6069 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6070 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6073 .description = "tcp_dst_port",
6074 .field_bit_size = 16,
6075 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6076 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6079 .description = "src_ip_ptr",
6080 .field_bit_size = 10,
6081 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6082 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6085 .description = "tcp_src_port",
6086 .field_bit_size = 16,
6087 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6088 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6091 .description = "meter_id",
6092 .field_bit_size = 10,
6093 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6094 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6097 .description = "l3_rdir",
6098 .field_bit_size = 1,
6099 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6100 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6103 .description = "tl3_rdir",
6104 .field_bit_size = 1,
6105 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6106 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6109 .description = "l3_ttl_dec",
6110 .field_bit_size = 1,
6111 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6112 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6115 .description = "tl3_ttl_dec",
6116 .field_bit_size = 1,
6117 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6118 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6121 .description = "decap_func",
6122 .field_bit_size = 4,
6123 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6124 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6127 .description = "vnic_or_vport",
6128 .field_bit_size = 12,
6129 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6130 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
6132 (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
6133 BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}
6136 .description = "pop_vlan",
6137 .field_bit_size = 1,
6138 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6139 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6142 .description = "meter",
6143 .field_bit_size = 1,
6144 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6145 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6148 .description = "mirror",
6149 .field_bit_size = 2,
6150 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6151 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6154 .description = "drop",
6155 .field_bit_size = 1,
6156 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6157 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6160 .description = "hit",
6161 .field_bit_size = 1,
6162 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6163 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6166 .description = "type",
6167 .field_bit_size = 1,
6168 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6169 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6171 /* class_tid: 5, wh_plus, table: l2_cntxt_tcam_bypass.ing */
6173 .description = "act_record_ptr",
6174 .field_bit_size = 16,
6175 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6176 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
6178 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
6179 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
6182 .description = "reserved",
6183 .field_bit_size = 1,
6184 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6185 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6188 .description = "l2_byp_lkup_en",
6189 .field_bit_size = 1,
6190 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6191 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6196 .description = "parif",
6197 .field_bit_size = 4,
6198 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6199 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6202 .description = "allowed_pri",
6203 .field_bit_size = 8,
6204 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6205 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6208 .description = "default_pri",
6209 .field_bit_size = 3,
6210 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6211 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6214 .description = "allowed_tpid",
6215 .field_bit_size = 6,
6216 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6217 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6220 .description = "default_tpid",
6221 .field_bit_size = 3,
6222 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6223 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6226 .description = "bd_act_en",
6227 .field_bit_size = 1,
6228 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6229 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6232 .description = "sp_rec_ptr",
6233 .field_bit_size = 16,
6234 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6235 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6238 .description = "byp_sp_lkup",
6239 .field_bit_size = 1,
6240 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6241 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6246 .description = "pri_anti_spoof_ctl",
6247 .field_bit_size = 2,
6248 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6249 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6252 .description = "tpid_anti_spoof_ctl",
6253 .field_bit_size = 2,
6254 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6255 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6257 /* class_tid: 6, wh_plus, table: int_full_act_record.0 */
6259 .description = "flow_cntr_ptr",
6260 .field_bit_size = 14,
6261 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6262 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6265 .description = "age_enable",
6266 .field_bit_size = 1,
6267 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6268 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6271 .description = "agg_cntr_en",
6272 .field_bit_size = 1,
6273 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6274 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6277 .description = "rate_cntr_en",
6278 .field_bit_size = 1,
6279 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6280 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6283 .description = "flow_cntr_en",
6284 .field_bit_size = 1,
6285 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6286 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6289 .description = "tcpflags_key",
6290 .field_bit_size = 8,
6291 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6292 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6295 .description = "tcpflags_mir",
6296 .field_bit_size = 1,
6297 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6298 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6301 .description = "tcpflags_match",
6302 .field_bit_size = 1,
6303 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6304 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6307 .description = "encap_ptr",
6308 .field_bit_size = 11,
6309 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6310 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6313 .description = "dst_ip_ptr",
6314 .field_bit_size = 10,
6315 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6316 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6319 .description = "tcp_dst_port",
6320 .field_bit_size = 16,
6321 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6322 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6325 .description = "src_ip_ptr",
6326 .field_bit_size = 10,
6327 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6328 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6331 .description = "tcp_src_port",
6332 .field_bit_size = 16,
6333 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6334 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6337 .description = "meter_id",
6338 .field_bit_size = 10,
6339 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6340 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6343 .description = "l3_rdir",
6344 .field_bit_size = 1,
6345 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6346 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6349 .description = "tl3_rdir",
6350 .field_bit_size = 1,
6351 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6352 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6355 .description = "l3_ttl_dec",
6356 .field_bit_size = 1,
6357 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6358 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6361 .description = "tl3_ttl_dec",
6362 .field_bit_size = 1,
6363 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6364 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6367 .description = "decap_func",
6368 .field_bit_size = 4,
6369 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6370 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6373 .description = "vnic_or_vport",
6374 .field_bit_size = 12,
6375 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6376 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6378 (ULP_WP_SYM_LOOPBACK_PORT >> 8) & 0xff,
6379 ULP_WP_SYM_LOOPBACK_PORT & 0xff}
6382 .description = "pop_vlan",
6383 .field_bit_size = 1,
6384 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6385 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6388 .description = "meter",
6389 .field_bit_size = 1,
6390 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6391 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6394 .description = "mirror",
6395 .field_bit_size = 2,
6396 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6397 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6400 .description = "drop",
6401 .field_bit_size = 1,
6402 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6403 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6406 .description = "hit",
6407 .field_bit_size = 1,
6408 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6409 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6412 .description = "type",
6413 .field_bit_size = 1,
6414 .field_cond_src = BNXT_ULP_FIELD_COND_SRC_TRUE,
6415 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6419 struct bnxt_ulp_mapper_ident_info ulp_wh_plus_class_ident_list[] = {
6420 /* class_tid: 1, wh_plus, table: l2_cntxt_tcam_cache.rd */
6422 .description = "l2_cntxt_id",
6423 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
6424 .ident_bit_size = 10,
6427 /* class_tid: 1, wh_plus, table: l2_cntxt_tcam.0 */
6429 .description = "l2_cntxt_id",
6430 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
6431 .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
6432 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
6433 .ident_bit_size = 10,
6436 /* class_tid: 1, wh_plus, table: profile_tcam_cache.rd */
6438 .description = "profile_tcam_index",
6439 .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
6440 .ident_bit_size = 10,
6444 .description = "em_profile_id",
6445 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
6446 .ident_bit_size = 8,
6450 .description = "flow_sig_id",
6451 .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
6452 .ident_bit_size = 8,
6455 /* class_tid: 1, wh_plus, table: profile_tcam.0 */
6457 .description = "em_profile_id",
6458 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
6459 .ident_type = TF_IDENT_TYPE_EM_PROF,
6460 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
6461 .ident_bit_size = 8,
6464 /* class_tid: 2, wh_plus, table: l2_cntxt_tcam.0 */
6466 .description = "l2_cntxt_id",
6467 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
6468 .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
6469 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
6470 .ident_bit_size = 10,
6473 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.rd */
6475 .description = "l2_cntxt_id",
6476 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
6477 .ident_bit_size = 10,
6480 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.0 */
6482 .description = "l2_cntxt_id",
6483 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
6484 .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
6485 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
6486 .ident_bit_size = 10,
6489 /* class_tid: 5, wh_plus, table: l2_cntxt_tcam.egr */
6491 .description = "l2_cntxt_id",
6492 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
6493 .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
6494 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
6495 .ident_bit_size = 10,