1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2014-2021 Broadcom
6 /* date: Wed Apr 14 09:56:27 2021 */
8 #include "ulp_template_db_enum.h"
9 #include "ulp_template_db_field.h"
10 #include "ulp_template_struct.h"
11 #include "ulp_template_db_tbl.h"
13 /* Mapper templates for header class list */
14 struct bnxt_ulp_mapper_tmpl_info ulp_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_AND,
25 /* class_tid: 2, wh_plus, egress */
27 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
31 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
35 /* class_tid: 3, wh_plus, ingress */
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,
57 struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_class_tbl_list[] = {
58 { /* class_tid: 1, wh_plus, table: l2_cntxt_tcam_cache.rd */
59 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
60 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
62 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
63 .direction = TF_DIR_RX,
67 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
70 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
71 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
72 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
73 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
75 .blob_key_bit_size = 8,
81 { /* class_tid: 1, wh_plus, table: mac_addr_cache.rd */
82 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
84 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
85 .direction = TF_DIR_RX,
89 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
92 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
93 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
94 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
95 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
97 .blob_key_bit_size = 73,
100 .ident_start_idx = 1,
103 { /* class_tid: 1, wh_plus, table: control.0 */
104 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
105 .direction = TF_DIR_RX,
108 .cond_false_goto = 3,
109 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
112 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
113 .fdb_operand = BNXT_ULP_RF_IDX_RID,
114 .byte_order = BNXT_ULP_BYTE_ORDER_LE
116 { /* class_tid: 1, wh_plus, table: l2_cntxt_tcam.0 */
117 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
118 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
119 .direction = TF_DIR_RX,
122 .cond_false_goto = 1,
123 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
126 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
127 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
128 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
129 .fdb_operand = BNXT_ULP_RF_IDX_RID,
130 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
132 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
134 .blob_key_bit_size = 167,
136 .key_num_fields = 13,
137 .result_start_idx = 0,
138 .result_bit_size = 64,
139 .result_num_fields = 13,
140 .ident_start_idx = 2,
143 { /* class_tid: 1, wh_plus, table: mac_addr_cache.wr */
144 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
146 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
147 .direction = TF_DIR_RX,
150 .cond_false_goto = 1,
151 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
154 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
155 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
156 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
157 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
159 .blob_key_bit_size = 73,
162 .result_start_idx = 13,
163 .result_bit_size = 62,
164 .result_num_fields = 4
166 { /* class_tid: 1, wh_plus, table: profile_tcam_cache.rd */
167 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
168 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
170 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
171 .direction = TF_DIR_RX,
174 .cond_false_goto = 1,
175 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
178 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
179 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
180 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
181 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
183 .blob_key_bit_size = 14,
186 .ident_start_idx = 3,
189 { /* class_tid: 1, wh_plus, table: control.1 */
190 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
191 .direction = TF_DIR_RX,
194 .cond_false_goto = 1,
195 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
198 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
199 .fdb_operand = BNXT_ULP_RF_IDX_RID,
200 .byte_order = BNXT_ULP_BYTE_ORDER_LE
202 { /* class_tid: 1, wh_plus, table: control.2 */
203 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
204 .direction = TF_DIR_RX,
207 .cond_false_goto = 1023,
208 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
211 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
213 .func_opc = BNXT_ULP_FUNC_OPC_EQ,
214 .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
215 .func_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
216 .func_src2 = BNXT_ULP_FUNC_SRC_COMP_FIELD,
217 .func_opr2 = BNXT_ULP_CF_IDX_FLOW_SIG_ID,
218 .func_dst_opr = BNXT_ULP_RF_IDX_CC },
219 .byte_order = BNXT_ULP_BYTE_ORDER_LE
221 { /* class_tid: 1, wh_plus, table: profile_tcam.ipv4 */
222 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
223 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
224 .direction = TF_DIR_RX,
227 .cond_false_goto = 1,
228 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
231 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
232 .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
233 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
234 .fdb_operand = BNXT_ULP_RF_IDX_RID,
235 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
236 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
237 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
239 .blob_key_bit_size = 81,
241 .key_num_fields = 43,
242 .result_start_idx = 17,
243 .result_bit_size = 38,
244 .result_num_fields = 17,
245 .ident_start_idx = 6,
248 { /* class_tid: 1, wh_plus, table: profile_tcam.ipv6 */
249 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
250 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
251 .direction = TF_DIR_RX,
254 .cond_false_goto = 1,
255 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
258 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
259 .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
260 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
261 .fdb_operand = BNXT_ULP_RF_IDX_RID,
262 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
263 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
264 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
266 .blob_key_bit_size = 81,
268 .key_num_fields = 43,
269 .result_start_idx = 34,
270 .result_bit_size = 38,
271 .result_num_fields = 17,
272 .ident_start_idx = 7,
275 { /* class_tid: 1, wh_plus, table: profile_tcam.ipv4_vxlan */
276 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
277 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
278 .direction = TF_DIR_RX,
281 .cond_false_goto = 1,
282 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
285 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
286 .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
287 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
288 .fdb_operand = BNXT_ULP_RF_IDX_RID,
289 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
290 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
291 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
292 .key_start_idx = 113,
293 .blob_key_bit_size = 81,
295 .key_num_fields = 43,
296 .result_start_idx = 51,
297 .result_bit_size = 38,
298 .result_num_fields = 17,
299 .ident_start_idx = 8,
302 { /* class_tid: 1, wh_plus, table: profile_tcam_cache.wr */
303 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
304 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
306 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
307 .direction = TF_DIR_RX,
310 .cond_false_goto = 1,
311 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
312 .cond_start_idx = 11,
314 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
315 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
316 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
317 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
318 .key_start_idx = 156,
319 .blob_key_bit_size = 14,
322 .result_start_idx = 68,
323 .result_bit_size = 90,
324 .result_num_fields = 5
326 { /* class_tid: 1, wh_plus, table: em.ipv4 */
327 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
328 .resource_type = TF_MEM_INTERNAL,
329 .direction = TF_DIR_RX,
332 .cond_false_goto = 1,
333 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
334 .cond_start_idx = 11,
336 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
337 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
338 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
339 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
340 .key_start_idx = 159,
341 .blob_key_bit_size = 176,
343 .key_num_fields = 10,
344 .result_start_idx = 73,
345 .result_bit_size = 64,
346 .result_num_fields = 9
348 { /* class_tid: 1, wh_plus, table: eem.ipv4 */
349 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
350 .resource_type = TF_MEM_EXTERNAL,
351 .direction = TF_DIR_RX,
354 .cond_false_goto = 1,
355 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
356 .cond_start_idx = 14,
358 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
359 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
360 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
361 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
362 .key_start_idx = 169,
363 .blob_key_bit_size = 448,
365 .key_num_fields = 10,
366 .result_start_idx = 82,
367 .result_bit_size = 64,
368 .result_num_fields = 9
370 { /* class_tid: 1, wh_plus, table: em.ipv6 */
371 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
372 .resource_type = TF_MEM_INTERNAL,
373 .direction = TF_DIR_RX,
376 .cond_false_goto = 1,
377 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
378 .cond_start_idx = 17,
380 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
381 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
382 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
383 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
384 .key_start_idx = 179,
385 .blob_key_bit_size = 416,
387 .key_num_fields = 11,
388 .result_start_idx = 91,
389 .result_bit_size = 64,
390 .result_num_fields = 9
392 { /* class_tid: 1, wh_plus, table: eem.ipv6 */
393 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
394 .resource_type = TF_MEM_EXTERNAL,
395 .direction = TF_DIR_RX,
398 .cond_false_goto = 1,
399 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
400 .cond_start_idx = 20,
402 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
403 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
404 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
405 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
406 .key_start_idx = 190,
407 .blob_key_bit_size = 448,
409 .key_num_fields = 11,
410 .result_start_idx = 100,
411 .result_bit_size = 64,
412 .result_num_fields = 9
414 { /* class_tid: 1, wh_plus, table: em.vxlan */
415 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
416 .resource_type = TF_MEM_INTERNAL,
417 .direction = TF_DIR_RX,
420 .cond_false_goto = 1,
421 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
422 .cond_start_idx = 23,
424 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
425 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
426 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
427 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
428 .key_start_idx = 201,
429 .blob_key_bit_size = 200,
431 .key_num_fields = 11,
432 .result_start_idx = 109,
433 .result_bit_size = 64,
434 .result_num_fields = 9
436 { /* class_tid: 1, wh_plus, table: eem.vxlan */
437 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
438 .resource_type = TF_MEM_EXTERNAL,
439 .direction = TF_DIR_RX,
442 .cond_false_goto = 0,
443 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
444 .cond_start_idx = 24,
446 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
447 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
448 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
449 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
450 .key_start_idx = 212,
451 .blob_key_bit_size = 448,
453 .key_num_fields = 11,
454 .result_start_idx = 118,
455 .result_bit_size = 64,
456 .result_num_fields = 9
458 { /* class_tid: 2, wh_plus, table: l2_cntxt_tcam_cache.rd */
459 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
461 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
462 .direction = TF_DIR_TX,
465 .cond_false_goto = 1,
466 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
467 .cond_start_idx = 25,
469 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
470 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
471 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
472 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
473 .key_start_idx = 223,
474 .blob_key_bit_size = 8,
477 .ident_start_idx = 9,
480 { /* class_tid: 2, wh_plus, table: mac_addr_cache.rd */
481 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
483 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
484 .direction = TF_DIR_TX,
487 .cond_false_goto = 1,
488 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
489 .cond_start_idx = 26,
491 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
492 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
493 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
494 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
495 .key_start_idx = 224,
496 .blob_key_bit_size = 73,
499 .ident_start_idx = 10,
502 { /* class_tid: 2, wh_plus, table: control.0 */
503 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
504 .direction = TF_DIR_TX,
507 .cond_false_goto = 3,
508 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
509 .cond_start_idx = 26,
511 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
512 .fdb_operand = BNXT_ULP_RF_IDX_RID,
513 .byte_order = BNXT_ULP_BYTE_ORDER_LE
515 { /* class_tid: 2, wh_plus, table: l2_cntxt_tcam.0 */
516 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
517 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
518 .direction = TF_DIR_TX,
521 .cond_false_goto = 1,
522 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
523 .cond_start_idx = 27,
525 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
526 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
527 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
528 .fdb_operand = BNXT_ULP_RF_IDX_RID,
529 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
531 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
532 .key_start_idx = 229,
533 .blob_key_bit_size = 167,
535 .key_num_fields = 13,
536 .result_start_idx = 127,
537 .result_bit_size = 64,
538 .result_num_fields = 13,
539 .ident_start_idx = 11,
542 { /* class_tid: 2, wh_plus, table: mac_addr_cache.wr */
543 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
545 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_MAC_ADDR_CACHE,
546 .direction = TF_DIR_TX,
549 .cond_false_goto = 1,
550 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
551 .cond_start_idx = 27,
553 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
554 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
555 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
556 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
557 .key_start_idx = 242,
558 .blob_key_bit_size = 73,
561 .result_start_idx = 140,
562 .result_bit_size = 62,
563 .result_num_fields = 4
565 { /* class_tid: 2, wh_plus, table: profile_tcam_cache.rd */
566 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
568 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
569 .direction = TF_DIR_TX,
572 .cond_false_goto = 1,
573 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
574 .cond_start_idx = 27,
576 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
577 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
578 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
579 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
580 .key_start_idx = 247,
581 .blob_key_bit_size = 14,
584 .ident_start_idx = 12,
587 { /* class_tid: 2, wh_plus, table: control.gen_tbl_miss */
588 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
589 .direction = TF_DIR_TX,
592 .cond_false_goto = 1,
593 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
594 .cond_start_idx = 27,
596 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
597 .fdb_operand = BNXT_ULP_RF_IDX_RID,
598 .byte_order = BNXT_ULP_BYTE_ORDER_LE
600 { /* class_tid: 2, wh_plus, table: control.conflict_check */
601 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
602 .direction = TF_DIR_TX,
605 .cond_false_goto = 1023,
606 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
607 .cond_start_idx = 28,
609 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
611 .func_opc = BNXT_ULP_FUNC_OPC_EQ,
612 .func_src1 = BNXT_ULP_FUNC_SRC_REGFILE,
613 .func_opr1 = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
614 .func_src2 = BNXT_ULP_FUNC_SRC_COMP_FIELD,
615 .func_opr2 = BNXT_ULP_CF_IDX_FLOW_SIG_ID,
616 .func_dst_opr = BNXT_ULP_RF_IDX_CC },
617 .byte_order = BNXT_ULP_BYTE_ORDER_LE
619 { /* class_tid: 2, wh_plus, table: profile_tcam.ipv4 */
620 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
621 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
622 .direction = TF_DIR_TX,
625 .cond_false_goto = 1,
626 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
627 .cond_start_idx = 29,
629 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
630 .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
631 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
632 .fdb_operand = BNXT_ULP_RF_IDX_RID,
633 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
634 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
635 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
636 .key_start_idx = 250,
637 .blob_key_bit_size = 81,
639 .key_num_fields = 43,
640 .result_start_idx = 144,
641 .result_bit_size = 38,
642 .result_num_fields = 17,
643 .ident_start_idx = 15,
646 { /* class_tid: 2, wh_plus, table: profile_tcam.ipv6 */
647 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
648 .resource_type = TF_TCAM_TBL_TYPE_PROF_TCAM,
649 .direction = TF_DIR_TX,
652 .cond_false_goto = 1,
653 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
654 .cond_start_idx = 30,
656 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
657 .tbl_operand = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
658 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
659 .fdb_operand = BNXT_ULP_RF_IDX_RID,
660 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
661 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
662 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
663 .key_start_idx = 293,
664 .blob_key_bit_size = 81,
666 .key_num_fields = 43,
667 .result_start_idx = 161,
668 .result_bit_size = 38,
669 .result_num_fields = 17,
670 .ident_start_idx = 16,
673 { /* class_tid: 2, wh_plus, table: profile_tcam_cache.wr */
674 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
676 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_PROFILE_TCAM,
677 .direction = TF_DIR_TX,
680 .cond_false_goto = 1,
681 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
682 .cond_start_idx = 30,
684 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
685 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
686 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
687 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
688 .key_start_idx = 336,
689 .blob_key_bit_size = 14,
692 .result_start_idx = 178,
693 .result_bit_size = 90,
694 .result_num_fields = 5
696 { /* class_tid: 2, wh_plus, table: em.ipv4 */
697 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
698 .resource_type = TF_MEM_INTERNAL,
699 .direction = TF_DIR_TX,
702 .cond_false_goto = 1,
703 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
704 .cond_start_idx = 30,
706 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
707 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
708 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
709 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
710 .key_start_idx = 339,
711 .blob_key_bit_size = 176,
713 .key_num_fields = 10,
714 .result_start_idx = 183,
715 .result_bit_size = 64,
716 .result_num_fields = 9
718 { /* class_tid: 2, wh_plus, table: eem.ipv4 */
719 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
720 .resource_type = TF_MEM_EXTERNAL,
721 .direction = TF_DIR_TX,
724 .cond_false_goto = 1,
725 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
726 .cond_start_idx = 32,
728 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
729 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
730 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
731 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
732 .key_start_idx = 349,
733 .blob_key_bit_size = 448,
735 .key_num_fields = 10,
736 .result_start_idx = 192,
737 .result_bit_size = 64,
738 .result_num_fields = 9
740 { /* class_tid: 2, wh_plus, table: em.ipv6 */
741 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
742 .resource_type = TF_MEM_INTERNAL,
743 .direction = TF_DIR_TX,
746 .cond_false_goto = 1,
747 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
748 .cond_start_idx = 34,
750 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
751 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
752 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
753 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
754 .key_start_idx = 359,
755 .blob_key_bit_size = 416,
757 .key_num_fields = 11,
758 .result_start_idx = 201,
759 .result_bit_size = 64,
760 .result_num_fields = 9
762 { /* class_tid: 2, wh_plus, table: eem.ipv6 */
763 .resource_func = BNXT_ULP_RESOURCE_FUNC_EM_TABLE,
764 .resource_type = TF_MEM_EXTERNAL,
765 .direction = TF_DIR_TX,
768 .cond_false_goto = 0,
769 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
770 .cond_start_idx = 35,
772 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
773 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_IF_MARK_ACTION,
774 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_YES,
775 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
776 .key_start_idx = 370,
777 .blob_key_bit_size = 448,
779 .key_num_fields = 11,
780 .result_start_idx = 210,
781 .result_bit_size = 64,
782 .result_num_fields = 9
784 { /* class_tid: 3, wh_plus, table: int_full_act_record.ing_0 */
785 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
786 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
788 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
789 .direction = TF_DIR_RX,
792 .cond_false_goto = 1,
793 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
794 .cond_start_idx = 35,
796 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
797 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
798 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
799 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
800 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
801 .result_start_idx = 219,
802 .result_bit_size = 128,
803 .result_num_fields = 26
805 { /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.ing_rd */
806 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
808 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
809 .direction = TF_DIR_RX,
812 .cond_false_goto = 1,
813 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
814 .cond_start_idx = 35,
816 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
817 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
818 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
819 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
820 .key_start_idx = 381,
821 .blob_key_bit_size = 8,
824 .ident_start_idx = 17,
827 { /* class_tid: 3, wh_plus, table: control.ing_0 */
828 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
829 .direction = TF_DIR_RX,
832 .cond_false_goto = 3,
833 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
834 .cond_start_idx = 35,
836 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
837 .fdb_operand = BNXT_ULP_RF_IDX_RID,
838 .byte_order = BNXT_ULP_BYTE_ORDER_LE
840 { /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.ing_0 */
841 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
842 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
843 .direction = TF_DIR_RX,
846 .cond_false_goto = 1,
847 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
848 .cond_start_idx = 36,
850 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
851 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
852 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
853 .fdb_operand = BNXT_ULP_RF_IDX_RID,
854 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
856 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
857 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
858 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
859 .key_start_idx = 382,
860 .blob_key_bit_size = 167,
862 .key_num_fields = 13,
863 .result_start_idx = 245,
864 .result_bit_size = 64,
865 .result_num_fields = 13,
866 .ident_start_idx = 17,
869 { /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.ing_wr */
870 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
872 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
873 .direction = TF_DIR_RX,
876 .cond_false_goto = 1,
877 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
878 .cond_start_idx = 36,
880 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
881 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
882 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
883 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
884 .key_start_idx = 395,
885 .blob_key_bit_size = 8,
888 .result_start_idx = 258,
889 .result_bit_size = 62,
890 .result_num_fields = 4
892 { /* class_tid: 3, wh_plus, table: parif_def_lkup_arec_ptr.ing_0 */
893 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
894 .resource_type = TF_IF_TBL_TYPE_LKUP_PARIF_DFLT_ACT_REC_PTR,
895 .direction = TF_DIR_RX,
898 .cond_false_goto = 1,
899 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
900 .cond_start_idx = 36,
902 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
903 .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
904 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
905 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
906 .result_start_idx = 262,
907 .result_bit_size = 32,
908 .result_num_fields = 1
910 { /* class_tid: 3, wh_plus, table: parif_def_arec_ptr.ing_0 */
911 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
912 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
913 .direction = TF_DIR_RX,
916 .cond_false_goto = 1,
917 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
918 .cond_start_idx = 36,
920 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
921 .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
922 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
923 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
924 .result_start_idx = 263,
925 .result_bit_size = 32,
926 .result_num_fields = 1
928 { /* class_tid: 3, wh_plus, table: parif_def_err_arec_ptr.ing_0 */
929 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
930 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
931 .direction = TF_DIR_RX,
934 .cond_false_goto = 1,
935 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
936 .cond_start_idx = 36,
938 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
939 .tbl_operand = BNXT_ULP_CF_IDX_PHY_PORT_PARIF,
940 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
941 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
942 .result_start_idx = 264,
943 .result_bit_size = 32,
944 .result_num_fields = 1
946 { /* class_tid: 3, wh_plus, table: control.egr_0 */
947 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
948 .direction = TF_DIR_RX,
951 .cond_false_goto = 6,
952 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
953 .cond_start_idx = 36,
955 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
956 .byte_order = BNXT_ULP_BYTE_ORDER_LE
958 { /* class_tid: 3, wh_plus, table: int_full_act_record.egr_vfr */
959 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
960 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
962 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
963 .direction = TF_DIR_TX,
966 .cond_false_goto = 1,
967 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
968 .cond_start_idx = 37,
970 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
971 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
972 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
973 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
974 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
975 .result_start_idx = 265,
976 .result_bit_size = 128,
977 .result_num_fields = 26,
978 .encap_num_fields = 0
980 { /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_rd_vfr */
981 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
983 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
984 .direction = TF_DIR_TX,
987 .cond_false_goto = 1,
988 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
989 .cond_start_idx = 37,
991 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
992 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
993 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
994 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
995 .key_start_idx = 396,
996 .blob_key_bit_size = 8,
999 .ident_start_idx = 18,
1002 { /* class_tid: 3, wh_plus, table: control.egr_1 */
1003 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1004 .direction = TF_DIR_RX,
1006 .cond_true_goto = 1,
1007 .cond_false_goto = 0,
1008 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1009 .cond_start_idx = 37,
1011 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
1012 .fdb_operand = BNXT_ULP_RF_IDX_RID,
1013 .byte_order = BNXT_ULP_BYTE_ORDER_LE
1015 { /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_bypass.egr_vfr */
1016 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1017 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1018 .direction = TF_DIR_TX,
1020 .cond_true_goto = 1,
1021 .cond_false_goto = 1,
1022 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1023 .cond_start_idx = 38,
1025 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1026 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
1027 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
1028 .fdb_operand = BNXT_ULP_RF_IDX_RID,
1029 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
1031 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1032 .key_start_idx = 397,
1033 .blob_key_bit_size = 167,
1034 .key_bit_size = 167,
1035 .key_num_fields = 13,
1036 .result_start_idx = 291,
1037 .result_bit_size = 64,
1038 .result_num_fields = 13,
1039 .ident_start_idx = 18,
1042 { /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_wr_vfr */
1043 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1044 .resource_sub_type =
1045 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1046 .direction = TF_DIR_TX,
1048 .cond_true_goto = 0,
1049 .cond_false_goto = 1,
1050 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1051 .cond_start_idx = 38,
1053 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
1054 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1055 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1056 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1057 .key_start_idx = 410,
1058 .blob_key_bit_size = 8,
1060 .key_num_fields = 1,
1061 .result_start_idx = 304,
1062 .result_bit_size = 62,
1063 .result_num_fields = 4
1065 { /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.rd */
1066 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1067 .resource_sub_type =
1068 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1069 .direction = TF_DIR_TX,
1071 .cond_true_goto = 1,
1072 .cond_false_goto = 1,
1073 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1074 .cond_start_idx = 38,
1076 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
1077 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1078 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1079 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1080 .key_start_idx = 411,
1081 .blob_key_bit_size = 8,
1083 .key_num_fields = 1,
1084 .ident_start_idx = 18,
1087 { /* class_tid: 3, wh_plus, table: control.egr_2 */
1088 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1089 .direction = TF_DIR_RX,
1091 .cond_true_goto = 1,
1092 .cond_false_goto = 3,
1093 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1094 .cond_start_idx = 38,
1096 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
1097 .fdb_operand = BNXT_ULP_RF_IDX_RID,
1098 .byte_order = BNXT_ULP_BYTE_ORDER_LE
1100 { /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.egr_0 */
1101 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1102 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1103 .direction = TF_DIR_TX,
1105 .cond_true_goto = 1,
1106 .cond_false_goto = 1,
1107 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1108 .cond_start_idx = 39,
1110 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1111 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
1112 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
1113 .fdb_operand = BNXT_ULP_RF_IDX_RID,
1114 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1115 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
1116 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1117 .key_start_idx = 412,
1118 .blob_key_bit_size = 167,
1119 .key_bit_size = 167,
1120 .key_num_fields = 13,
1121 .result_start_idx = 308,
1122 .result_bit_size = 64,
1123 .result_num_fields = 13,
1124 .ident_start_idx = 18,
1127 { /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_wr */
1128 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1129 .resource_sub_type =
1130 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1131 .direction = TF_DIR_TX,
1133 .cond_true_goto = 1,
1134 .cond_false_goto = 1,
1135 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1136 .cond_start_idx = 39,
1138 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
1139 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1140 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1141 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1142 .key_start_idx = 425,
1143 .blob_key_bit_size = 8,
1145 .key_num_fields = 1,
1146 .result_start_idx = 321,
1147 .result_bit_size = 62,
1148 .result_num_fields = 4
1150 { /* class_tid: 3, wh_plus, table: int_full_act_record.egr_0 */
1151 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1152 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1153 .resource_sub_type =
1154 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
1155 .direction = TF_DIR_TX,
1157 .cond_true_goto = 1,
1158 .cond_false_goto = 1,
1159 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1160 .cond_start_idx = 41,
1162 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
1163 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
1164 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1165 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1166 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1167 .result_start_idx = 325,
1168 .result_bit_size = 128,
1169 .result_num_fields = 26,
1170 .encap_num_fields = 0
1172 { /* class_tid: 3, wh_plus, table: parif_def_lkup_arec_ptr.egr_0 */
1173 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1174 .resource_type = TF_IF_TBL_TYPE_LKUP_PARIF_DFLT_ACT_REC_PTR,
1175 .direction = TF_DIR_TX,
1177 .cond_true_goto = 1,
1178 .cond_false_goto = 1,
1179 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1180 .cond_start_idx = 41,
1182 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
1183 .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
1184 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1185 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1186 .result_start_idx = 351,
1187 .result_bit_size = 32,
1188 .result_num_fields = 1
1190 { /* class_tid: 3, wh_plus, table: parif_def_arec_ptr.egr_0 */
1191 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1192 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
1193 .direction = TF_DIR_TX,
1195 .cond_true_goto = 1,
1196 .cond_false_goto = 1,
1197 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1198 .cond_start_idx = 41,
1200 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
1201 .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
1202 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1203 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1204 .result_start_idx = 352,
1205 .result_bit_size = 32,
1206 .result_num_fields = 1
1208 { /* class_tid: 3, wh_plus, table: parif_def_err_arec_ptr.egr_0 */
1209 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1210 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
1211 .direction = TF_DIR_TX,
1213 .cond_true_goto = 0,
1214 .cond_false_goto = 0,
1215 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1216 .cond_start_idx = 41,
1218 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_COMP_FIELD,
1219 .tbl_operand = BNXT_ULP_CF_IDX_DRV_FUNC_PARIF,
1220 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1221 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1222 .result_start_idx = 353,
1223 .result_bit_size = 32,
1224 .result_num_fields = 1
1226 { /* class_tid: 4, wh_plus, table: int_full_act_record.loopback */
1227 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1228 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1229 .resource_sub_type =
1230 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
1231 .direction = TF_DIR_TX,
1233 .cond_true_goto = 1,
1234 .cond_false_goto = 1,
1235 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1236 .cond_start_idx = 41,
1238 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_GLB_REGFILE,
1239 .tbl_operand = BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR,
1240 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
1241 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1242 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1243 .result_start_idx = 354,
1244 .result_bit_size = 128,
1245 .result_num_fields = 26,
1246 .encap_num_fields = 0
1248 { /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vf_rd_egr */
1249 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1250 .resource_sub_type =
1251 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1252 .direction = TF_DIR_TX,
1254 .cond_true_goto = 1,
1255 .cond_false_goto = 1,
1256 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1257 .cond_start_idx = 41,
1259 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
1260 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1261 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1262 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1263 .key_start_idx = 426,
1264 .blob_key_bit_size = 8,
1266 .key_num_fields = 1,
1267 .ident_start_idx = 19,
1270 { /* class_tid: 4, wh_plus, table: control.vf_0 */
1271 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1272 .direction = TF_DIR_TX,
1274 .cond_true_goto = 1,
1275 .cond_false_goto = 3,
1276 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1277 .cond_start_idx = 41,
1279 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
1280 .fdb_operand = BNXT_ULP_RF_IDX_RID,
1281 .byte_order = BNXT_ULP_BYTE_ORDER_LE
1283 { /* class_tid: 4, wh_plus, table: l2_cntxt_tcam.vf_egr */
1284 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1285 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1286 .direction = TF_DIR_TX,
1288 .cond_true_goto = 1,
1289 .cond_false_goto = 1,
1290 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1291 .cond_start_idx = 42,
1293 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1294 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
1295 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
1296 .fdb_operand = BNXT_ULP_RF_IDX_RID,
1297 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
1299 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1300 .key_start_idx = 427,
1301 .blob_key_bit_size = 167,
1302 .key_bit_size = 167,
1303 .key_num_fields = 13,
1304 .result_start_idx = 380,
1305 .result_bit_size = 64,
1306 .result_num_fields = 13,
1307 .ident_start_idx = 19,
1310 { /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vf_egr_wr */
1311 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1312 .resource_sub_type =
1313 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1314 .direction = TF_DIR_TX,
1316 .cond_true_goto = 1,
1317 .cond_false_goto = 1,
1318 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1319 .cond_start_idx = 42,
1321 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
1322 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1323 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1324 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1325 .key_start_idx = 440,
1326 .blob_key_bit_size = 8,
1328 .key_num_fields = 1,
1329 .result_start_idx = 393,
1330 .result_bit_size = 62,
1331 .result_num_fields = 4
1333 { /* class_tid: 4, wh_plus, table: parif_def_lkup_arec_ptr.vf_egr */
1334 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1335 .resource_type = TF_IF_TBL_TYPE_LKUP_PARIF_DFLT_ACT_REC_PTR,
1336 .direction = TF_DIR_TX,
1338 .cond_true_goto = 1,
1339 .cond_false_goto = 1,
1340 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1341 .cond_start_idx = 42,
1343 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,
1344 .tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF,
1345 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1346 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1347 .result_start_idx = 397,
1348 .result_bit_size = 32,
1349 .result_num_fields = 1
1351 { /* class_tid: 4, wh_plus, table: parif_def_arec_ptr.vf_egr */
1352 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1353 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_DFLT_ACT_REC_PTR,
1354 .direction = TF_DIR_TX,
1356 .cond_true_goto = 1,
1357 .cond_false_goto = 1,
1358 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1359 .cond_start_idx = 42,
1361 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,
1362 .tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF,
1363 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1364 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1365 .result_start_idx = 398,
1366 .result_bit_size = 32,
1367 .result_num_fields = 1
1369 { /* class_tid: 4, wh_plus, table: parif_def_err_arec_ptr.vf_egr */
1370 .resource_func = BNXT_ULP_RESOURCE_FUNC_IF_TABLE,
1371 .resource_type = TF_IF_TBL_TYPE_PROF_PARIF_ERR_ACT_REC_PTR,
1372 .direction = TF_DIR_TX,
1374 .cond_true_goto = 1,
1375 .cond_false_goto = 1,
1376 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1377 .cond_start_idx = 42,
1379 .tbl_opcode = BNXT_ULP_IF_TBL_OPC_WR_CONST,
1380 .tbl_operand = ULP_WP_SYM_LOOPBACK_PARIF,
1381 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1382 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1383 .result_start_idx = 399,
1384 .result_bit_size = 32,
1385 .result_num_fields = 1
1387 { /* class_tid: 4, wh_plus, table: int_full_act_record.vf_ing */
1388 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1389 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1390 .resource_sub_type =
1391 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
1392 .direction = TF_DIR_RX,
1394 .cond_true_goto = 1,
1395 .cond_false_goto = 1,
1396 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1397 .cond_start_idx = 42,
1399 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
1400 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
1401 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1402 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_PUSH_AND_SET_VFR_FLAG,
1403 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1404 .result_start_idx = 400,
1405 .result_bit_size = 128,
1406 .result_num_fields = 26,
1407 .encap_num_fields = 0
1409 { /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.vf_ing */
1410 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1411 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1412 .direction = TF_DIR_RX,
1414 .cond_true_goto = 1,
1415 .cond_false_goto = 1,
1416 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1417 .cond_start_idx = 42,
1419 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1420 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
1421 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1422 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
1424 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1425 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
1426 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1427 .key_start_idx = 441,
1428 .blob_key_bit_size = 167,
1429 .key_bit_size = 167,
1430 .key_num_fields = 13,
1431 .result_start_idx = 426,
1432 .result_bit_size = 64,
1433 .result_num_fields = 13,
1434 .ident_start_idx = 20,
1437 { /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vfr_rd_egr0 */
1438 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1439 .resource_sub_type =
1440 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1441 .direction = TF_DIR_TX,
1443 .cond_true_goto = 1,
1444 .cond_false_goto = 1,
1445 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1446 .cond_start_idx = 42,
1448 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
1449 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1450 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1451 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1452 .key_start_idx = 454,
1453 .blob_key_bit_size = 8,
1455 .key_num_fields = 1,
1456 .ident_start_idx = 20,
1459 { /* class_tid: 4, wh_plus, table: control.vfr_0 */
1460 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
1461 .direction = TF_DIR_TX,
1463 .cond_true_goto = 1,
1464 .cond_false_goto = 3,
1465 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
1466 .cond_start_idx = 42,
1468 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
1469 .fdb_operand = BNXT_ULP_RF_IDX_RID,
1470 .byte_order = BNXT_ULP_BYTE_ORDER_LE
1472 { /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.vfr_egr0 */
1473 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1474 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_LOW,
1475 .direction = TF_DIR_TX,
1477 .cond_true_goto = 1,
1478 .cond_false_goto = 1,
1479 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1480 .cond_start_idx = 43,
1482 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1483 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
1484 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
1485 .fdb_operand = BNXT_ULP_RF_IDX_RID,
1486 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
1488 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1489 .key_start_idx = 455,
1490 .blob_key_bit_size = 167,
1491 .key_bit_size = 167,
1492 .key_num_fields = 13,
1493 .result_start_idx = 439,
1494 .result_bit_size = 64,
1495 .result_num_fields = 13,
1496 .ident_start_idx = 20,
1499 { /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vfr_wr_egr0 */
1500 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
1501 .resource_sub_type =
1502 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_L2_CNTXT_TCAM,
1503 .direction = TF_DIR_TX,
1505 .cond_true_goto = 1,
1506 .cond_false_goto = 1,
1507 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1508 .cond_start_idx = 43,
1510 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
1511 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
1512 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1513 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1514 .key_start_idx = 468,
1515 .blob_key_bit_size = 8,
1517 .key_num_fields = 1,
1518 .result_start_idx = 452,
1519 .result_bit_size = 62,
1520 .result_num_fields = 4
1522 { /* class_tid: 4, wh_plus, table: int_vtag_encap_record.vfr_egr0 */
1523 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1524 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
1525 .resource_sub_type =
1526 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
1527 .direction = TF_DIR_TX,
1529 .cond_true_goto = 1,
1530 .cond_false_goto = 1,
1531 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1532 .cond_start_idx = 43,
1534 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
1535 .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
1536 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1537 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1538 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1539 .result_start_idx = 456,
1540 .result_bit_size = 0,
1541 .result_num_fields = 0,
1542 .encap_num_fields = 12
1544 { /* class_tid: 4, wh_plus, table: int_full_act_record.vfr_egr0 */
1545 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1546 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1547 .resource_sub_type =
1548 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_VFR_CFA_ACTION,
1549 .direction = TF_DIR_TX,
1551 .cond_true_goto = 1,
1552 .cond_false_goto = 1,
1553 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1554 .cond_start_idx = 43,
1556 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
1557 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
1558 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1559 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1560 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1561 .result_start_idx = 468,
1562 .result_bit_size = 128,
1563 .result_num_fields = 26
1565 { /* class_tid: 4, wh_plus, table: int_full_act_record.vfr_ing0 */
1566 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1567 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1568 .resource_sub_type =
1569 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
1570 .direction = TF_DIR_RX,
1572 .cond_true_goto = 1,
1573 .cond_false_goto = 1,
1574 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1575 .cond_start_idx = 43,
1577 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
1578 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
1579 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1580 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1581 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1582 .result_start_idx = 494,
1583 .result_bit_size = 128,
1584 .result_num_fields = 26
1586 { /* class_tid: 4, table: l2_cntxt_tcam_bypass.vfr_dtagged_ing0 */
1587 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1588 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1589 .direction = TF_DIR_RX,
1591 .cond_true_goto = 1,
1592 .cond_false_goto = 1,
1593 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1594 .cond_start_idx = 43,
1596 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1597 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
1598 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1599 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
1601 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1602 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
1603 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1604 .key_start_idx = 469,
1605 .blob_key_bit_size = 167,
1606 .key_bit_size = 167,
1607 .key_num_fields = 13,
1608 .result_start_idx = 520,
1609 .result_bit_size = 64,
1610 .result_num_fields = 13,
1611 .ident_start_idx = 20,
1614 { /* class_tid: 4, table: l2_cntxt_tcam_bypass.vfr_stagged_ing0 */
1615 .resource_func = BNXT_ULP_RESOURCE_FUNC_TCAM_TABLE,
1616 .resource_type = TF_TCAM_TBL_TYPE_L2_CTXT_TCAM_HIGH,
1617 .direction = TF_DIR_RX,
1619 .cond_true_goto = 0,
1620 .cond_false_goto = 0,
1621 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
1622 .cond_start_idx = 43,
1624 .tbl_opcode = BNXT_ULP_TCAM_TBL_OPC_ALLOC_WR_REGFILE,
1625 .tbl_operand = BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0,
1626 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
1627 .pri_opcode = BNXT_ULP_PRI_OPC_CONST,
1629 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
1630 .critical_resource = BNXT_ULP_CRITICAL_RESOURCE_NO,
1631 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
1632 .key_start_idx = 482,
1633 .blob_key_bit_size = 167,
1634 .key_bit_size = 167,
1635 .key_num_fields = 13,
1636 .result_start_idx = 533,
1637 .result_bit_size = 64,
1638 .result_num_fields = 13,
1639 .ident_start_idx = 20,
1644 struct bnxt_ulp_mapper_cond_info ulp_wh_plus_class_cond_list[] = {
1645 /* cond_reject: wh_plus, class_tid: 1 */
1647 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
1648 .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
1650 /* cond_execute: class_tid: 1, l2_cntxt_tcam_cache.rd */
1652 .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET,
1653 .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_DMAC
1655 /* cond_execute: class_tid: 1, control.0 */
1657 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1658 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1660 /* cond_execute: class_tid: 1, control.1 */
1662 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1663 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1665 /* cond_execute: class_tid: 1, control.2 */
1667 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1668 .cond_operand = BNXT_ULP_RF_IDX_CC
1670 /* cond_execute: class_tid: 1, profile_tcam.ipv4 */
1672 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1673 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
1676 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
1677 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
1679 /* cond_execute: class_tid: 1, profile_tcam.ipv6 */
1681 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1682 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
1685 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
1686 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
1688 /* cond_execute: class_tid: 1, profile_tcam.ipv4_vxlan */
1690 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1691 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
1694 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1695 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
1697 /* cond_execute: class_tid: 1, em.ipv4 */
1699 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
1702 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1703 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
1706 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
1707 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
1709 /* cond_execute: class_tid: 1, eem.ipv4 */
1711 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
1714 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1715 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
1718 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
1719 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
1721 /* cond_execute: class_tid: 1, em.ipv6 */
1723 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
1726 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1727 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
1730 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
1731 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
1733 /* cond_execute: class_tid: 1, eem.ipv6 */
1735 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
1738 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1739 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
1742 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_NOT_SET,
1743 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
1745 /* cond_execute: class_tid: 1, em.vxlan */
1747 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
1749 /* cond_reject: wh_plus, class_tid: 2 */
1751 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
1752 .cond_operand = BNXT_ULP_CF_IDX_WC_MATCH
1754 /* cond_execute: class_tid: 2, l2_cntxt_tcam_cache.rd */
1756 .cond_opcode = BNXT_ULP_COND_OPC_FIELD_BIT_NOT_SET,
1757 .cond_operand = BNXT_ULP_GLB_HF_ID_O_ETH_SMAC
1759 /* cond_execute: class_tid: 2, control.0 */
1761 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1762 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1764 /* cond_execute: class_tid: 2, control.gen_tbl_miss */
1766 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1767 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1769 /* cond_execute: class_tid: 2, control.conflict_check */
1771 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1772 .cond_operand = BNXT_ULP_RF_IDX_CC
1774 /* cond_execute: class_tid: 2, profile_tcam.ipv4 */
1776 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1777 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
1779 /* cond_execute: class_tid: 2, em.ipv4 */
1781 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
1784 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1785 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
1787 /* cond_execute: class_tid: 2, eem.ipv4 */
1789 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
1792 .cond_opcode = BNXT_ULP_COND_OPC_HDR_BIT_IS_SET,
1793 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
1795 /* cond_execute: class_tid: 2, em.ipv6 */
1797 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
1799 /* cond_execute: class_tid: 3, control.ing_0 */
1801 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1802 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1804 /* cond_execute: class_tid: 3, control.egr_0 */
1806 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
1807 .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE
1809 /* cond_execute: class_tid: 3, control.egr_1 */
1811 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1812 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1814 /* cond_execute: class_tid: 3, control.egr_2 */
1816 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1817 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1819 /* cond_execute: class_tid: 3, l2_cntxt_tcam_cache.egr_wr */
1821 .cond_opcode = BNXT_ULP_COND_OPC_CF_NOT_SET,
1822 .cond_operand = BNXT_ULP_CF_IDX_VFR_MODE
1825 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1826 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1828 /* cond_execute: class_tid: 4, control.vf_0 */
1830 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1831 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1833 /* cond_execute: class_tid: 4, control.vfr_0 */
1835 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
1836 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
1840 struct bnxt_ulp_mapper_key_info ulp_wh_plus_class_key_info_list[] = {
1841 /* class_tid: 1, wh_plus, table: l2_cntxt_tcam_cache.rd */
1843 .field_info_mask = {
1844 .description = "svif",
1845 .field_bit_size = 8,
1846 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1847 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1849 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
1850 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
1852 .field_info_spec = {
1853 .description = "svif",
1854 .field_bit_size = 8,
1855 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1856 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1858 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
1859 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
1862 /* class_tid: 1, wh_plus, table: mac_addr_cache.rd */
1864 .field_info_mask = {
1865 .description = "svif",
1866 .field_bit_size = 8,
1867 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1868 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1870 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
1871 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
1873 .field_info_spec = {
1874 .description = "svif",
1875 .field_bit_size = 8,
1876 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1877 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1879 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
1880 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
1884 .field_info_mask = {
1885 .description = "tun_hdr",
1886 .field_bit_size = 4,
1887 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1888 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1890 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
1892 .field_info_spec = {
1893 .description = "tun_hdr",
1894 .field_bit_size = 4,
1895 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1896 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1898 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
1902 .field_info_mask = {
1903 .description = "one_tag",
1904 .field_bit_size = 1,
1905 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1906 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1910 .field_info_spec = {
1911 .description = "one_tag",
1912 .field_bit_size = 1,
1913 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1914 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1916 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
1917 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
1921 .field_info_mask = {
1922 .description = "vid",
1923 .field_bit_size = 12,
1924 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1925 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
1927 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
1928 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
1929 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
1930 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
1931 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
1932 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
1933 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
1934 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
1935 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
1937 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
1938 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
1939 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1941 .field_info_spec = {
1942 .description = "vid",
1943 .field_bit_size = 12,
1944 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1945 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
1947 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
1948 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
1949 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
1950 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
1951 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
1952 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
1953 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
1954 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
1955 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
1957 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
1958 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
1959 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1963 .field_info_mask = {
1964 .description = "mac_addr",
1965 .field_bit_size = 48,
1966 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1967 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1969 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
1970 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
1972 .field_info_spec = {
1973 .description = "mac_addr",
1974 .field_bit_size = 48,
1975 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1976 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
1978 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
1979 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
1982 /* class_tid: 1, wh_plus, table: l2_cntxt_tcam.0 */
1984 .field_info_mask = {
1985 .description = "l2_ivlan_vid",
1986 .field_bit_size = 12,
1987 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1988 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
1990 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
1991 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
1992 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
1993 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
1994 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
1995 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
1996 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
1997 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
1998 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
2000 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
2001 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
2002 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2004 .field_info_spec = {
2005 .description = "l2_ivlan_vid",
2006 .field_bit_size = 12,
2007 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2008 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
2010 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
2011 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
2012 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
2013 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
2014 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
2015 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
2016 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
2017 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
2018 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
2020 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
2021 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
2022 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2026 .field_info_mask = {
2027 .description = "l2_ovlan_vid",
2028 .field_bit_size = 12,
2029 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2030 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2032 .field_info_spec = {
2033 .description = "l2_ovlan_vid",
2034 .field_bit_size = 12,
2035 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2036 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2040 .field_info_mask = {
2041 .description = "mac0_addr",
2042 .field_bit_size = 48,
2043 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2044 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2046 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
2047 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
2049 .field_info_spec = {
2050 .description = "mac0_addr",
2051 .field_bit_size = 48,
2052 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2053 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2055 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
2056 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
2060 .field_info_mask = {
2061 .description = "svif",
2062 .field_bit_size = 8,
2063 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2064 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2066 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
2067 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
2069 .field_info_spec = {
2070 .description = "svif",
2071 .field_bit_size = 8,
2072 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2073 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2075 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
2076 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
2080 .field_info_mask = {
2081 .description = "sparif",
2082 .field_bit_size = 4,
2083 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2084 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2086 .field_info_spec = {
2087 .description = "sparif",
2088 .field_bit_size = 4,
2089 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2090 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2094 .field_info_mask = {
2095 .description = "tl2_ivlan_vid",
2096 .field_bit_size = 12,
2097 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2098 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2100 .field_info_spec = {
2101 .description = "tl2_ivlan_vid",
2102 .field_bit_size = 12,
2103 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2104 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2108 .field_info_mask = {
2109 .description = "tl2_ovlan_vid",
2110 .field_bit_size = 12,
2111 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2112 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2114 .field_info_spec = {
2115 .description = "tl2_ovlan_vid",
2116 .field_bit_size = 12,
2117 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2118 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2122 .field_info_mask = {
2123 .description = "mac1_addr",
2124 .field_bit_size = 48,
2125 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2126 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2128 .field_info_spec = {
2129 .description = "mac1_addr",
2130 .field_bit_size = 48,
2131 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2132 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2136 .field_info_mask = {
2137 .description = "l2_num_vtags",
2138 .field_bit_size = 2,
2139 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2140 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2144 .field_info_spec = {
2145 .description = "l2_num_vtags",
2146 .field_bit_size = 2,
2147 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2148 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2150 (BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff,
2151 BNXT_ULP_CF_IDX_O_VTAG_NUM & 0xff}
2155 .field_info_mask = {
2156 .description = "tl2_num_vtags",
2157 .field_bit_size = 2,
2158 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2159 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2161 .field_info_spec = {
2162 .description = "tl2_num_vtags",
2163 .field_bit_size = 2,
2164 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2165 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2169 .field_info_mask = {
2170 .description = "tun_hdr_type",
2171 .field_bit_size = 4,
2172 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2173 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2175 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
2177 .field_info_spec = {
2178 .description = "tun_hdr_type",
2179 .field_bit_size = 4,
2180 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2181 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2183 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
2187 .field_info_mask = {
2188 .description = "key_type",
2189 .field_bit_size = 2,
2190 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2191 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2193 .field_info_spec = {
2194 .description = "key_type",
2195 .field_bit_size = 2,
2196 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2197 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2201 .field_info_mask = {
2202 .description = "valid",
2203 .field_bit_size = 1,
2204 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2205 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2209 .field_info_spec = {
2210 .description = "valid",
2211 .field_bit_size = 1,
2212 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2213 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2218 /* class_tid: 1, wh_plus, table: mac_addr_cache.wr */
2220 .field_info_mask = {
2221 .description = "svif",
2222 .field_bit_size = 8,
2223 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2224 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2226 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
2227 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
2229 .field_info_spec = {
2230 .description = "svif",
2231 .field_bit_size = 8,
2232 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2233 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2235 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
2236 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
2240 .field_info_mask = {
2241 .description = "tun_hdr",
2242 .field_bit_size = 4,
2243 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2244 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2246 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
2248 .field_info_spec = {
2249 .description = "tun_hdr",
2250 .field_bit_size = 4,
2251 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2252 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2254 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
2258 .field_info_mask = {
2259 .description = "one_tag",
2260 .field_bit_size = 1,
2261 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2262 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2266 .field_info_spec = {
2267 .description = "one_tag",
2268 .field_bit_size = 1,
2269 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2270 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2272 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
2273 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
2277 .field_info_mask = {
2278 .description = "vid",
2279 .field_bit_size = 12,
2280 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2281 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
2283 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
2284 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
2285 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
2286 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
2287 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
2288 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
2289 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
2290 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
2291 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
2293 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
2294 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
2295 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2297 .field_info_spec = {
2298 .description = "vid",
2299 .field_bit_size = 12,
2300 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2301 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
2303 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
2304 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
2305 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
2306 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
2307 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
2308 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
2309 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
2310 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
2311 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
2313 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
2314 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
2315 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2319 .field_info_mask = {
2320 .description = "mac_addr",
2321 .field_bit_size = 48,
2322 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2323 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2325 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
2326 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
2328 .field_info_spec = {
2329 .description = "mac_addr",
2330 .field_bit_size = 48,
2331 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2332 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
2334 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
2335 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
2338 /* class_tid: 1, wh_plus, table: profile_tcam_cache.rd */
2340 .field_info_mask = {
2341 .description = "recycle_cnt",
2342 .field_bit_size = 2,
2343 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2344 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2348 .field_info_spec = {
2349 .description = "recycle_cnt",
2350 .field_bit_size = 2,
2351 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2352 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2356 .field_info_mask = {
2357 .description = "prof_func_id",
2358 .field_bit_size = 7,
2359 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2360 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2364 .field_info_spec = {
2365 .description = "prof_func_id",
2366 .field_bit_size = 7,
2367 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2368 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
2370 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
2371 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
2372 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
2374 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
2375 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
2376 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
2378 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
2379 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
2383 .field_info_mask = {
2384 .description = "hdr_sig_id",
2385 .field_bit_size = 5,
2386 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2387 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2391 .field_info_spec = {
2392 .description = "hdr_sig_id",
2393 .field_bit_size = 5,
2394 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2395 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2397 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
2398 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
2401 /* class_tid: 1, wh_plus, table: profile_tcam.ipv4 */
2403 .field_info_mask = {
2404 .description = "l4_hdr_is_udp_tcp",
2405 .field_bit_size = 1,
2406 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2407 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2409 .field_info_spec = {
2410 .description = "l4_hdr_is_udp_tcp",
2411 .field_bit_size = 1,
2412 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2413 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2417 .field_info_mask = {
2418 .description = "l4_hdr_type",
2419 .field_bit_size = 4,
2420 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2421 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2423 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
2424 BNXT_ULP_CF_IDX_O_L4 & 0xff},
2425 .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
2426 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2428 .field_info_spec = {
2429 .description = "l4_hdr_type",
2430 .field_bit_size = 4,
2431 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2432 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
2434 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
2435 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
2436 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
2437 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
2438 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
2439 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
2440 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
2441 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
2442 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2444 ULP_WP_SYM_L4_HDR_TYPE_TCP},
2445 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
2447 ULP_WP_SYM_L4_HDR_TYPE_UDP}
2451 .field_info_mask = {
2452 .description = "l4_hdr_error",
2453 .field_bit_size = 1,
2454 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2455 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2457 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
2458 BNXT_ULP_CF_IDX_O_L4 & 0xff}
2460 .field_info_spec = {
2461 .description = "l4_hdr_error",
2462 .field_bit_size = 1,
2463 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2464 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2468 .field_info_mask = {
2469 .description = "l4_hdr_valid",
2470 .field_bit_size = 1,
2471 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2472 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2474 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
2475 BNXT_ULP_CF_IDX_O_L4 & 0xff}
2477 .field_info_spec = {
2478 .description = "l4_hdr_valid",
2479 .field_bit_size = 1,
2480 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2481 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2483 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
2484 BNXT_ULP_CF_IDX_O_L4 & 0xff}
2488 .field_info_mask = {
2489 .description = "l3_ipv6_cmp_dst",
2490 .field_bit_size = 1,
2491 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2492 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2494 .field_info_spec = {
2495 .description = "l3_ipv6_cmp_dst",
2496 .field_bit_size = 1,
2497 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2498 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2502 .field_info_mask = {
2503 .description = "l3_ipv6_cmp_src",
2504 .field_bit_size = 1,
2505 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2506 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2508 .field_info_spec = {
2509 .description = "l3_ipv6_cmp_src",
2510 .field_bit_size = 1,
2511 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2512 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2516 .field_info_mask = {
2517 .description = "l3_hdr_isIP",
2518 .field_bit_size = 1,
2519 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2520 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2522 .field_info_spec = {
2523 .description = "l3_hdr_isIP",
2524 .field_bit_size = 1,
2525 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2526 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2530 .field_info_mask = {
2531 .description = "l3_hdr_type",
2532 .field_bit_size = 4,
2533 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2534 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2538 .field_info_spec = {
2539 .description = "l3_hdr_type",
2540 .field_bit_size = 4,
2541 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2542 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2546 .field_info_mask = {
2547 .description = "l3_hdr_error",
2548 .field_bit_size = 1,
2549 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2550 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2554 .field_info_spec = {
2555 .description = "l3_hdr_error",
2556 .field_bit_size = 1,
2557 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2558 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2562 .field_info_mask = {
2563 .description = "l3_hdr_valid",
2564 .field_bit_size = 1,
2565 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2566 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2570 .field_info_spec = {
2571 .description = "l3_hdr_valid",
2572 .field_bit_size = 1,
2573 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2574 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2576 ULP_WP_SYM_L3_HDR_VALID_YES}
2580 .field_info_mask = {
2581 .description = "l2_two_vtags",
2582 .field_bit_size = 1,
2583 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2584 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2588 .field_info_spec = {
2589 .description = "l2_two_vtags",
2590 .field_bit_size = 1,
2591 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2592 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2596 .field_info_mask = {
2597 .description = "l2_vtag_present",
2598 .field_bit_size = 1,
2599 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2600 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2604 .field_info_spec = {
2605 .description = "l2_vtag_present",
2606 .field_bit_size = 1,
2607 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2608 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2610 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
2611 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
2615 .field_info_mask = {
2616 .description = "l2_uc_mc_bc",
2617 .field_bit_size = 2,
2618 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2619 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2623 .field_info_spec = {
2624 .description = "l2_uc_mc_bc",
2625 .field_bit_size = 2,
2626 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2627 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2631 .field_info_mask = {
2632 .description = "l2_hdr_type",
2633 .field_bit_size = 2,
2634 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2635 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2639 .field_info_spec = {
2640 .description = "l2_hdr_type",
2641 .field_bit_size = 2,
2642 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2643 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2647 .field_info_mask = {
2648 .description = "l2_hdr_error",
2649 .field_bit_size = 1,
2650 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2651 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2655 .field_info_spec = {
2656 .description = "l2_hdr_error",
2657 .field_bit_size = 1,
2658 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2659 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2663 .field_info_mask = {
2664 .description = "l2_hdr_valid",
2665 .field_bit_size = 1,
2666 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2667 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2671 .field_info_spec = {
2672 .description = "l2_hdr_valid",
2673 .field_bit_size = 1,
2674 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2675 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2677 ULP_WP_SYM_L2_HDR_VALID_YES}
2681 .field_info_mask = {
2682 .description = "tun_hdr_flags",
2683 .field_bit_size = 3,
2684 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2685 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2687 .field_info_spec = {
2688 .description = "tun_hdr_flags",
2689 .field_bit_size = 3,
2690 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2691 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2695 .field_info_mask = {
2696 .description = "tun_hdr_type",
2697 .field_bit_size = 4,
2698 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2699 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2701 .field_info_spec = {
2702 .description = "tun_hdr_type",
2703 .field_bit_size = 4,
2704 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2705 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2709 .field_info_mask = {
2710 .description = "tun_hdr_err",
2711 .field_bit_size = 1,
2712 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2713 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2715 .field_info_spec = {
2716 .description = "tun_hdr_err",
2717 .field_bit_size = 1,
2718 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2719 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2723 .field_info_mask = {
2724 .description = "tun_hdr_valid",
2725 .field_bit_size = 1,
2726 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2727 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2731 .field_info_spec = {
2732 .description = "tun_hdr_valid",
2733 .field_bit_size = 1,
2734 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2735 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2739 .field_info_mask = {
2740 .description = "tl4_hdr_is_udp_tcp",
2741 .field_bit_size = 1,
2742 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2743 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2745 .field_info_spec = {
2746 .description = "tl4_hdr_is_udp_tcp",
2747 .field_bit_size = 1,
2748 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2749 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2753 .field_info_mask = {
2754 .description = "tl4_hdr_type",
2755 .field_bit_size = 4,
2756 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2757 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2759 .field_info_spec = {
2760 .description = "tl4_hdr_type",
2761 .field_bit_size = 4,
2762 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2763 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2767 .field_info_mask = {
2768 .description = "tl4_hdr_error",
2769 .field_bit_size = 1,
2770 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2771 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2773 .field_info_spec = {
2774 .description = "tl4_hdr_error",
2775 .field_bit_size = 1,
2776 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2777 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2781 .field_info_mask = {
2782 .description = "tl4_hdr_valid",
2783 .field_bit_size = 1,
2784 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2785 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2789 .field_info_spec = {
2790 .description = "tl4_hdr_valid",
2791 .field_bit_size = 1,
2792 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2793 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2797 .field_info_mask = {
2798 .description = "tl3_ipv6_cmp_dst",
2799 .field_bit_size = 1,
2800 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2801 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2803 .field_info_spec = {
2804 .description = "tl3_ipv6_cmp_dst",
2805 .field_bit_size = 1,
2806 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2807 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2811 .field_info_mask = {
2812 .description = "tl3_ipv6_cmp_src",
2813 .field_bit_size = 1,
2814 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2815 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2817 .field_info_spec = {
2818 .description = "tl3_ipv6_cmp_src",
2819 .field_bit_size = 1,
2820 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2821 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2825 .field_info_mask = {
2826 .description = "tl3_hdr_isIP",
2827 .field_bit_size = 1,
2828 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2829 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2831 .field_info_spec = {
2832 .description = "tl3_hdr_isIP",
2833 .field_bit_size = 1,
2834 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2835 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2839 .field_info_mask = {
2840 .description = "tl3_hdr_type",
2841 .field_bit_size = 4,
2842 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2843 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2845 .field_info_spec = {
2846 .description = "tl3_hdr_type",
2847 .field_bit_size = 4,
2848 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2849 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2853 .field_info_mask = {
2854 .description = "tl3_hdr_error",
2855 .field_bit_size = 1,
2856 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2857 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2859 .field_info_spec = {
2860 .description = "tl3_hdr_error",
2861 .field_bit_size = 1,
2862 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2863 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2867 .field_info_mask = {
2868 .description = "tl3_hdr_valid",
2869 .field_bit_size = 1,
2870 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2871 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2875 .field_info_spec = {
2876 .description = "tl3_hdr_valid",
2877 .field_bit_size = 1,
2878 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2879 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2883 .field_info_mask = {
2884 .description = "tl2_two_vtags",
2885 .field_bit_size = 1,
2886 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2887 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2889 .field_info_spec = {
2890 .description = "tl2_two_vtags",
2891 .field_bit_size = 1,
2892 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2893 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2897 .field_info_mask = {
2898 .description = "tl2_vtag_present",
2899 .field_bit_size = 1,
2900 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2901 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2903 .field_info_spec = {
2904 .description = "tl2_vtag_present",
2905 .field_bit_size = 1,
2906 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2907 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2911 .field_info_mask = {
2912 .description = "tl2_uc_mc_bc",
2913 .field_bit_size = 2,
2914 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2915 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2917 .field_info_spec = {
2918 .description = "tl2_uc_mc_bc",
2919 .field_bit_size = 2,
2920 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2921 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2925 .field_info_mask = {
2926 .description = "tl2_hdr_type",
2927 .field_bit_size = 2,
2928 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2929 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2931 .field_info_spec = {
2932 .description = "tl2_hdr_type",
2933 .field_bit_size = 2,
2934 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2935 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2939 .field_info_mask = {
2940 .description = "tl2_hdr_valid",
2941 .field_bit_size = 1,
2942 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2943 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2947 .field_info_spec = {
2948 .description = "tl2_hdr_valid",
2949 .field_bit_size = 1,
2950 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2951 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2955 .field_info_mask = {
2956 .description = "hrec_next",
2957 .field_bit_size = 1,
2958 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2959 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2961 .field_info_spec = {
2962 .description = "hrec_next",
2963 .field_bit_size = 1,
2964 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2965 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2969 .field_info_mask = {
2970 .description = "reserved",
2971 .field_bit_size = 9,
2972 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2973 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2975 .field_info_spec = {
2976 .description = "reserved",
2977 .field_bit_size = 9,
2978 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2979 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2983 .field_info_mask = {
2984 .description = "prof_func_id",
2985 .field_bit_size = 7,
2986 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2987 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
2991 .field_info_spec = {
2992 .description = "prof_func_id",
2993 .field_bit_size = 7,
2994 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2995 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
2997 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
2998 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
2999 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
3001 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
3002 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
3003 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
3005 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
3006 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
3010 .field_info_mask = {
3011 .description = "agg_error",
3012 .field_bit_size = 1,
3013 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3014 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3016 .field_info_spec = {
3017 .description = "agg_error",
3018 .field_bit_size = 1,
3019 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3020 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3024 .field_info_mask = {
3025 .description = "recycle_cnt",
3026 .field_bit_size = 2,
3027 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3028 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3030 .field_info_spec = {
3031 .description = "recycle_cnt",
3032 .field_bit_size = 2,
3033 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3034 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3038 .field_info_mask = {
3039 .description = "pkt_type_0",
3040 .field_bit_size = 2,
3041 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3042 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3044 .field_info_spec = {
3045 .description = "pkt_type_0",
3046 .field_bit_size = 2,
3047 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3048 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3052 .field_info_mask = {
3053 .description = "pkt_type_1",
3054 .field_bit_size = 2,
3055 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3056 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3058 .field_info_spec = {
3059 .description = "pkt_type_1",
3060 .field_bit_size = 2,
3061 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3062 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3066 .field_info_mask = {
3067 .description = "valid",
3068 .field_bit_size = 1,
3069 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3070 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3074 .field_info_spec = {
3075 .description = "valid",
3076 .field_bit_size = 1,
3077 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3078 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3083 /* class_tid: 1, wh_plus, table: profile_tcam.ipv6 */
3085 .field_info_mask = {
3086 .description = "l4_hdr_is_udp_tcp",
3087 .field_bit_size = 1,
3088 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3089 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3091 .field_info_spec = {
3092 .description = "l4_hdr_is_udp_tcp",
3093 .field_bit_size = 1,
3094 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3095 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3099 .field_info_mask = {
3100 .description = "l4_hdr_type",
3101 .field_bit_size = 4,
3102 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3103 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3105 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
3106 BNXT_ULP_CF_IDX_O_L4 & 0xff},
3107 .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
3108 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
3110 .field_info_spec = {
3111 .description = "l4_hdr_type",
3112 .field_bit_size = 4,
3113 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3114 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
3116 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
3117 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
3118 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
3119 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
3120 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
3121 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
3122 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
3123 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
3124 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
3126 ULP_WP_SYM_L4_HDR_TYPE_TCP},
3127 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
3129 ULP_WP_SYM_L4_HDR_TYPE_UDP}
3133 .field_info_mask = {
3134 .description = "l4_hdr_error",
3135 .field_bit_size = 1,
3136 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3137 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3139 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
3140 BNXT_ULP_CF_IDX_O_L4 & 0xff}
3142 .field_info_spec = {
3143 .description = "l4_hdr_error",
3144 .field_bit_size = 1,
3145 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3146 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3150 .field_info_mask = {
3151 .description = "l4_hdr_valid",
3152 .field_bit_size = 1,
3153 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3154 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3156 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
3157 BNXT_ULP_CF_IDX_O_L4 & 0xff}
3159 .field_info_spec = {
3160 .description = "l4_hdr_valid",
3161 .field_bit_size = 1,
3162 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3163 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3165 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
3166 BNXT_ULP_CF_IDX_O_L4 & 0xff}
3170 .field_info_mask = {
3171 .description = "l3_ipv6_cmp_dst",
3172 .field_bit_size = 1,
3173 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3174 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3176 .field_info_spec = {
3177 .description = "l3_ipv6_cmp_dst",
3178 .field_bit_size = 1,
3179 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3180 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3184 .field_info_mask = {
3185 .description = "l3_ipv6_cmp_src",
3186 .field_bit_size = 1,
3187 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3188 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3190 .field_info_spec = {
3191 .description = "l3_ipv6_cmp_src",
3192 .field_bit_size = 1,
3193 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3194 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3198 .field_info_mask = {
3199 .description = "l3_hdr_isIP",
3200 .field_bit_size = 1,
3201 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3202 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3204 .field_info_spec = {
3205 .description = "l3_hdr_isIP",
3206 .field_bit_size = 1,
3207 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3208 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3212 .field_info_mask = {
3213 .description = "l3_hdr_type",
3214 .field_bit_size = 4,
3215 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3216 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3220 .field_info_spec = {
3221 .description = "l3_hdr_type",
3222 .field_bit_size = 4,
3223 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3224 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3226 ULP_WP_SYM_L3_HDR_TYPE_IPV6}
3230 .field_info_mask = {
3231 .description = "l3_hdr_error",
3232 .field_bit_size = 1,
3233 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3234 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3238 .field_info_spec = {
3239 .description = "l3_hdr_error",
3240 .field_bit_size = 1,
3241 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3242 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3246 .field_info_mask = {
3247 .description = "l3_hdr_valid",
3248 .field_bit_size = 1,
3249 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3250 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3254 .field_info_spec = {
3255 .description = "l3_hdr_valid",
3256 .field_bit_size = 1,
3257 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3258 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3260 ULP_WP_SYM_L3_HDR_VALID_YES}
3264 .field_info_mask = {
3265 .description = "l2_two_vtags",
3266 .field_bit_size = 1,
3267 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3268 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3272 .field_info_spec = {
3273 .description = "l2_two_vtags",
3274 .field_bit_size = 1,
3275 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3276 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3280 .field_info_mask = {
3281 .description = "l2_vtag_present",
3282 .field_bit_size = 1,
3283 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3284 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3288 .field_info_spec = {
3289 .description = "l2_vtag_present",
3290 .field_bit_size = 1,
3291 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3292 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3294 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
3295 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
3299 .field_info_mask = {
3300 .description = "l2_uc_mc_bc",
3301 .field_bit_size = 2,
3302 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3303 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3307 .field_info_spec = {
3308 .description = "l2_uc_mc_bc",
3309 .field_bit_size = 2,
3310 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3311 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3315 .field_info_mask = {
3316 .description = "l2_hdr_type",
3317 .field_bit_size = 2,
3318 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3319 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3323 .field_info_spec = {
3324 .description = "l2_hdr_type",
3325 .field_bit_size = 2,
3326 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3327 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3331 .field_info_mask = {
3332 .description = "l2_hdr_error",
3333 .field_bit_size = 1,
3334 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3335 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3339 .field_info_spec = {
3340 .description = "l2_hdr_error",
3341 .field_bit_size = 1,
3342 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3343 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3347 .field_info_mask = {
3348 .description = "l2_hdr_valid",
3349 .field_bit_size = 1,
3350 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3351 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3355 .field_info_spec = {
3356 .description = "l2_hdr_valid",
3357 .field_bit_size = 1,
3358 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3359 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3361 ULP_WP_SYM_L2_HDR_VALID_YES}
3365 .field_info_mask = {
3366 .description = "tun_hdr_flags",
3367 .field_bit_size = 3,
3368 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3369 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3371 .field_info_spec = {
3372 .description = "tun_hdr_flags",
3373 .field_bit_size = 3,
3374 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3375 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3379 .field_info_mask = {
3380 .description = "tun_hdr_type",
3381 .field_bit_size = 4,
3382 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3383 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3385 .field_info_spec = {
3386 .description = "tun_hdr_type",
3387 .field_bit_size = 4,
3388 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3389 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3393 .field_info_mask = {
3394 .description = "tun_hdr_err",
3395 .field_bit_size = 1,
3396 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3397 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3399 .field_info_spec = {
3400 .description = "tun_hdr_err",
3401 .field_bit_size = 1,
3402 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3403 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3407 .field_info_mask = {
3408 .description = "tun_hdr_valid",
3409 .field_bit_size = 1,
3410 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3411 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3415 .field_info_spec = {
3416 .description = "tun_hdr_valid",
3417 .field_bit_size = 1,
3418 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3419 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3423 .field_info_mask = {
3424 .description = "tl4_hdr_is_udp_tcp",
3425 .field_bit_size = 1,
3426 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3427 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3429 .field_info_spec = {
3430 .description = "tl4_hdr_is_udp_tcp",
3431 .field_bit_size = 1,
3432 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3433 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3437 .field_info_mask = {
3438 .description = "tl4_hdr_type",
3439 .field_bit_size = 4,
3440 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3441 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3443 .field_info_spec = {
3444 .description = "tl4_hdr_type",
3445 .field_bit_size = 4,
3446 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3447 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3451 .field_info_mask = {
3452 .description = "tl4_hdr_error",
3453 .field_bit_size = 1,
3454 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3455 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3457 .field_info_spec = {
3458 .description = "tl4_hdr_error",
3459 .field_bit_size = 1,
3460 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3461 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3465 .field_info_mask = {
3466 .description = "tl4_hdr_valid",
3467 .field_bit_size = 1,
3468 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3469 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3473 .field_info_spec = {
3474 .description = "tl4_hdr_valid",
3475 .field_bit_size = 1,
3476 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3477 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3481 .field_info_mask = {
3482 .description = "tl3_ipv6_cmp_dst",
3483 .field_bit_size = 1,
3484 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3485 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3487 .field_info_spec = {
3488 .description = "tl3_ipv6_cmp_dst",
3489 .field_bit_size = 1,
3490 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3491 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3495 .field_info_mask = {
3496 .description = "tl3_ipv6_cmp_src",
3497 .field_bit_size = 1,
3498 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3499 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3501 .field_info_spec = {
3502 .description = "tl3_ipv6_cmp_src",
3503 .field_bit_size = 1,
3504 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3505 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3509 .field_info_mask = {
3510 .description = "tl3_hdr_isIP",
3511 .field_bit_size = 1,
3512 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3513 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3515 .field_info_spec = {
3516 .description = "tl3_hdr_isIP",
3517 .field_bit_size = 1,
3518 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3519 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3523 .field_info_mask = {
3524 .description = "tl3_hdr_type",
3525 .field_bit_size = 4,
3526 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3527 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3529 .field_info_spec = {
3530 .description = "tl3_hdr_type",
3531 .field_bit_size = 4,
3532 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3533 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3537 .field_info_mask = {
3538 .description = "tl3_hdr_error",
3539 .field_bit_size = 1,
3540 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3541 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3543 .field_info_spec = {
3544 .description = "tl3_hdr_error",
3545 .field_bit_size = 1,
3546 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3547 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3551 .field_info_mask = {
3552 .description = "tl3_hdr_valid",
3553 .field_bit_size = 1,
3554 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3555 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3559 .field_info_spec = {
3560 .description = "tl3_hdr_valid",
3561 .field_bit_size = 1,
3562 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3563 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3567 .field_info_mask = {
3568 .description = "tl2_two_vtags",
3569 .field_bit_size = 1,
3570 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3571 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3573 .field_info_spec = {
3574 .description = "tl2_two_vtags",
3575 .field_bit_size = 1,
3576 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3577 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3581 .field_info_mask = {
3582 .description = "tl2_vtag_present",
3583 .field_bit_size = 1,
3584 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3585 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3587 .field_info_spec = {
3588 .description = "tl2_vtag_present",
3589 .field_bit_size = 1,
3590 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3591 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3595 .field_info_mask = {
3596 .description = "tl2_uc_mc_bc",
3597 .field_bit_size = 2,
3598 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3599 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3601 .field_info_spec = {
3602 .description = "tl2_uc_mc_bc",
3603 .field_bit_size = 2,
3604 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3605 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3609 .field_info_mask = {
3610 .description = "tl2_hdr_type",
3611 .field_bit_size = 2,
3612 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3613 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3615 .field_info_spec = {
3616 .description = "tl2_hdr_type",
3617 .field_bit_size = 2,
3618 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3619 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3623 .field_info_mask = {
3624 .description = "tl2_hdr_valid",
3625 .field_bit_size = 1,
3626 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3627 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3631 .field_info_spec = {
3632 .description = "tl2_hdr_valid",
3633 .field_bit_size = 1,
3634 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3635 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3639 .field_info_mask = {
3640 .description = "hrec_next",
3641 .field_bit_size = 1,
3642 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3643 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3645 .field_info_spec = {
3646 .description = "hrec_next",
3647 .field_bit_size = 1,
3648 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3649 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3653 .field_info_mask = {
3654 .description = "reserved",
3655 .field_bit_size = 9,
3656 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3657 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3659 .field_info_spec = {
3660 .description = "reserved",
3661 .field_bit_size = 9,
3662 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3663 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3667 .field_info_mask = {
3668 .description = "prof_func_id",
3669 .field_bit_size = 7,
3670 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3671 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3675 .field_info_spec = {
3676 .description = "prof_func_id",
3677 .field_bit_size = 7,
3678 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3679 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
3681 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
3682 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
3683 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
3685 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
3686 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
3687 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
3689 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
3690 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
3694 .field_info_mask = {
3695 .description = "agg_error",
3696 .field_bit_size = 1,
3697 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3698 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3700 .field_info_spec = {
3701 .description = "agg_error",
3702 .field_bit_size = 1,
3703 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3704 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3708 .field_info_mask = {
3709 .description = "recycle_cnt",
3710 .field_bit_size = 2,
3711 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3712 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3714 .field_info_spec = {
3715 .description = "recycle_cnt",
3716 .field_bit_size = 2,
3717 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3718 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3722 .field_info_mask = {
3723 .description = "pkt_type_0",
3724 .field_bit_size = 2,
3725 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3726 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3728 .field_info_spec = {
3729 .description = "pkt_type_0",
3730 .field_bit_size = 2,
3731 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3732 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3736 .field_info_mask = {
3737 .description = "pkt_type_1",
3738 .field_bit_size = 2,
3739 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3740 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3742 .field_info_spec = {
3743 .description = "pkt_type_1",
3744 .field_bit_size = 2,
3745 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3746 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3750 .field_info_mask = {
3751 .description = "valid",
3752 .field_bit_size = 1,
3753 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3754 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3758 .field_info_spec = {
3759 .description = "valid",
3760 .field_bit_size = 1,
3761 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3762 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3767 /* class_tid: 1, wh_plus, table: profile_tcam.ipv4_vxlan */
3769 .field_info_mask = {
3770 .description = "l4_hdr_is_udp_tcp",
3771 .field_bit_size = 1,
3772 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3773 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3775 .field_info_spec = {
3776 .description = "l4_hdr_is_udp_tcp",
3777 .field_bit_size = 1,
3778 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3779 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3783 .field_info_mask = {
3784 .description = "l4_hdr_type",
3785 .field_bit_size = 4,
3786 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3787 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3791 .field_info_spec = {
3792 .description = "l4_hdr_type",
3793 .field_bit_size = 4,
3794 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3795 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3797 ULP_WP_SYM_L4_HDR_TYPE_UDP}
3801 .field_info_mask = {
3802 .description = "l4_hdr_error",
3803 .field_bit_size = 1,
3804 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3805 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3809 .field_info_spec = {
3810 .description = "l4_hdr_error",
3811 .field_bit_size = 1,
3812 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3813 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3817 .field_info_mask = {
3818 .description = "l4_hdr_valid",
3819 .field_bit_size = 1,
3820 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3821 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3823 .field_info_spec = {
3824 .description = "l4_hdr_valid",
3825 .field_bit_size = 1,
3826 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3827 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3831 .field_info_mask = {
3832 .description = "l3_ipv6_cmp_dst",
3833 .field_bit_size = 1,
3834 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3835 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3837 .field_info_spec = {
3838 .description = "l3_ipv6_cmp_dst",
3839 .field_bit_size = 1,
3840 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3841 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3845 .field_info_mask = {
3846 .description = "l3_ipv6_cmp_src",
3847 .field_bit_size = 1,
3848 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3849 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3851 .field_info_spec = {
3852 .description = "l3_ipv6_cmp_src",
3853 .field_bit_size = 1,
3854 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3855 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3859 .field_info_mask = {
3860 .description = "l3_hdr_isIP",
3861 .field_bit_size = 1,
3862 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3863 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3865 .field_info_spec = {
3866 .description = "l3_hdr_isIP",
3867 .field_bit_size = 1,
3868 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3869 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3873 .field_info_mask = {
3874 .description = "l3_hdr_type",
3875 .field_bit_size = 4,
3876 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3877 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3879 .field_info_spec = {
3880 .description = "l3_hdr_type",
3881 .field_bit_size = 4,
3882 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3883 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3887 .field_info_mask = {
3888 .description = "l3_hdr_error",
3889 .field_bit_size = 1,
3890 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3891 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
3895 .field_info_spec = {
3896 .description = "l3_hdr_error",
3897 .field_bit_size = 1,
3898 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3899 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3903 .field_info_mask = {
3904 .description = "l3_hdr_valid",
3905 .field_bit_size = 1,
3906 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3907 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3909 .field_info_spec = {
3910 .description = "l3_hdr_valid",
3911 .field_bit_size = 1,
3912 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3913 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3917 .field_info_mask = {
3918 .description = "l2_two_vtags",
3919 .field_bit_size = 1,
3920 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3921 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3923 .field_info_spec = {
3924 .description = "l2_two_vtags",
3925 .field_bit_size = 1,
3926 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3927 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3931 .field_info_mask = {
3932 .description = "l2_vtag_present",
3933 .field_bit_size = 1,
3934 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3935 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3937 .field_info_spec = {
3938 .description = "l2_vtag_present",
3939 .field_bit_size = 1,
3940 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3941 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3945 .field_info_mask = {
3946 .description = "l2_uc_mc_bc",
3947 .field_bit_size = 2,
3948 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3949 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3951 .field_info_spec = {
3952 .description = "l2_uc_mc_bc",
3953 .field_bit_size = 2,
3954 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3955 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3959 .field_info_mask = {
3960 .description = "l2_hdr_type",
3961 .field_bit_size = 2,
3962 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3963 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3965 .field_info_spec = {
3966 .description = "l2_hdr_type",
3967 .field_bit_size = 2,
3968 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3969 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3973 .field_info_mask = {
3974 .description = "l2_hdr_error",
3975 .field_bit_size = 1,
3976 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3977 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3979 .field_info_spec = {
3980 .description = "l2_hdr_error",
3981 .field_bit_size = 1,
3982 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3983 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3987 .field_info_mask = {
3988 .description = "l2_hdr_valid",
3989 .field_bit_size = 1,
3990 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3991 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3993 .field_info_spec = {
3994 .description = "l2_hdr_valid",
3995 .field_bit_size = 1,
3996 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3997 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4001 .field_info_mask = {
4002 .description = "tun_hdr_flags",
4003 .field_bit_size = 3,
4004 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4005 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4007 .field_info_spec = {
4008 .description = "tun_hdr_flags",
4009 .field_bit_size = 3,
4010 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4011 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4015 .field_info_mask = {
4016 .description = "tun_hdr_type",
4017 .field_bit_size = 4,
4018 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4019 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4023 .field_info_spec = {
4024 .description = "tun_hdr_type",
4025 .field_bit_size = 4,
4026 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4027 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4031 .field_info_mask = {
4032 .description = "tun_hdr_err",
4033 .field_bit_size = 1,
4034 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4035 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4037 .field_info_spec = {
4038 .description = "tun_hdr_err",
4039 .field_bit_size = 1,
4040 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4041 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4045 .field_info_mask = {
4046 .description = "tun_hdr_valid",
4047 .field_bit_size = 1,
4048 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4049 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4053 .field_info_spec = {
4054 .description = "tun_hdr_valid",
4055 .field_bit_size = 1,
4056 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4057 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4059 ULP_WP_SYM_TUN_HDR_VALID_YES}
4063 .field_info_mask = {
4064 .description = "tl4_hdr_is_udp_tcp",
4065 .field_bit_size = 1,
4066 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4067 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4069 .field_info_spec = {
4070 .description = "tl4_hdr_is_udp_tcp",
4071 .field_bit_size = 1,
4072 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4073 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4077 .field_info_mask = {
4078 .description = "tl4_hdr_type",
4079 .field_bit_size = 4,
4080 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4081 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4083 .field_info_spec = {
4084 .description = "tl4_hdr_type",
4085 .field_bit_size = 4,
4086 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4087 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4091 .field_info_mask = {
4092 .description = "tl4_hdr_error",
4093 .field_bit_size = 1,
4094 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4095 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4097 .field_info_spec = {
4098 .description = "tl4_hdr_error",
4099 .field_bit_size = 1,
4100 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4101 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4105 .field_info_mask = {
4106 .description = "tl4_hdr_valid",
4107 .field_bit_size = 1,
4108 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4109 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4113 .field_info_spec = {
4114 .description = "tl4_hdr_valid",
4115 .field_bit_size = 1,
4116 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4117 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4119 ULP_WP_SYM_TL4_HDR_VALID_YES}
4123 .field_info_mask = {
4124 .description = "tl3_ipv6_cmp_dst",
4125 .field_bit_size = 1,
4126 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4127 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4129 .field_info_spec = {
4130 .description = "tl3_ipv6_cmp_dst",
4131 .field_bit_size = 1,
4132 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4133 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4137 .field_info_mask = {
4138 .description = "tl3_ipv6_cmp_src",
4139 .field_bit_size = 1,
4140 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4141 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4143 .field_info_spec = {
4144 .description = "tl3_ipv6_cmp_src",
4145 .field_bit_size = 1,
4146 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4147 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4151 .field_info_mask = {
4152 .description = "tl3_hdr_isIP",
4153 .field_bit_size = 1,
4154 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4155 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4157 .field_info_spec = {
4158 .description = "tl3_hdr_isIP",
4159 .field_bit_size = 1,
4160 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4161 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4165 .field_info_mask = {
4166 .description = "tl3_hdr_type",
4167 .field_bit_size = 4,
4168 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4169 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4173 .field_info_spec = {
4174 .description = "tl3_hdr_type",
4175 .field_bit_size = 4,
4176 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4177 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4181 .field_info_mask = {
4182 .description = "tl3_hdr_error",
4183 .field_bit_size = 1,
4184 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4185 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4187 .field_info_spec = {
4188 .description = "tl3_hdr_error",
4189 .field_bit_size = 1,
4190 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4191 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4195 .field_info_mask = {
4196 .description = "tl3_hdr_valid",
4197 .field_bit_size = 1,
4198 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4199 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4203 .field_info_spec = {
4204 .description = "tl3_hdr_valid",
4205 .field_bit_size = 1,
4206 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4207 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4209 ULP_WP_SYM_TL3_HDR_VALID_YES}
4213 .field_info_mask = {
4214 .description = "tl2_two_vtags",
4215 .field_bit_size = 1,
4216 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4217 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4219 .field_info_spec = {
4220 .description = "tl2_two_vtags",
4221 .field_bit_size = 1,
4222 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4223 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4227 .field_info_mask = {
4228 .description = "tl2_vtag_present",
4229 .field_bit_size = 1,
4230 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4231 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4233 .field_info_spec = {
4234 .description = "tl2_vtag_present",
4235 .field_bit_size = 1,
4236 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4237 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4241 .field_info_mask = {
4242 .description = "tl2_uc_mc_bc",
4243 .field_bit_size = 2,
4244 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4245 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4249 .field_info_spec = {
4250 .description = "tl2_uc_mc_bc",
4251 .field_bit_size = 2,
4252 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4253 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4257 .field_info_mask = {
4258 .description = "tl2_hdr_type",
4259 .field_bit_size = 2,
4260 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4261 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4263 .field_info_spec = {
4264 .description = "tl2_hdr_type",
4265 .field_bit_size = 2,
4266 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4267 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4271 .field_info_mask = {
4272 .description = "tl2_hdr_valid",
4273 .field_bit_size = 1,
4274 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4275 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4279 .field_info_spec = {
4280 .description = "tl2_hdr_valid",
4281 .field_bit_size = 1,
4282 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4283 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4285 ULP_WP_SYM_TL2_HDR_VALID_YES}
4289 .field_info_mask = {
4290 .description = "hrec_next",
4291 .field_bit_size = 1,
4292 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4293 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4295 .field_info_spec = {
4296 .description = "hrec_next",
4297 .field_bit_size = 1,
4298 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4299 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4303 .field_info_mask = {
4304 .description = "reserved",
4305 .field_bit_size = 9,
4306 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4307 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4309 .field_info_spec = {
4310 .description = "reserved",
4311 .field_bit_size = 9,
4312 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4313 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4317 .field_info_mask = {
4318 .description = "prof_func_id",
4319 .field_bit_size = 7,
4320 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4321 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4325 .field_info_spec = {
4326 .description = "prof_func_id",
4327 .field_bit_size = 7,
4328 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4329 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
4331 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
4332 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}
4336 .field_info_mask = {
4337 .description = "agg_error",
4338 .field_bit_size = 1,
4339 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4340 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4342 .field_info_spec = {
4343 .description = "agg_error",
4344 .field_bit_size = 1,
4345 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4346 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4350 .field_info_mask = {
4351 .description = "recycle_cnt",
4352 .field_bit_size = 2,
4353 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4354 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4356 .field_info_spec = {
4357 .description = "recycle_cnt",
4358 .field_bit_size = 2,
4359 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4360 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4364 .field_info_mask = {
4365 .description = "pkt_type_0",
4366 .field_bit_size = 2,
4367 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4368 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4370 .field_info_spec = {
4371 .description = "pkt_type_0",
4372 .field_bit_size = 2,
4373 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4374 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4378 .field_info_mask = {
4379 .description = "pkt_type_1",
4380 .field_bit_size = 2,
4381 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4382 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4384 .field_info_spec = {
4385 .description = "pkt_type_1",
4386 .field_bit_size = 2,
4387 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4388 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4392 .field_info_mask = {
4393 .description = "valid",
4394 .field_bit_size = 1,
4395 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4396 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4400 .field_info_spec = {
4401 .description = "valid",
4402 .field_bit_size = 1,
4403 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4404 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4409 /* class_tid: 1, wh_plus, table: profile_tcam_cache.wr */
4411 .field_info_mask = {
4412 .description = "recycle_cnt",
4413 .field_bit_size = 2,
4414 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4415 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4419 .field_info_spec = {
4420 .description = "recycle_cnt",
4421 .field_bit_size = 2,
4422 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4423 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4427 .field_info_mask = {
4428 .description = "prof_func_id",
4429 .field_bit_size = 7,
4430 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4431 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4435 .field_info_spec = {
4436 .description = "prof_func_id",
4437 .field_bit_size = 7,
4438 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4439 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
4441 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
4442 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff},
4443 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
4445 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
4446 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
4447 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
4449 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
4450 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
4454 .field_info_mask = {
4455 .description = "hdr_sig_id",
4456 .field_bit_size = 5,
4457 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4458 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4462 .field_info_spec = {
4463 .description = "hdr_sig_id",
4464 .field_bit_size = 5,
4465 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4466 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4468 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
4469 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
4472 /* class_tid: 1, wh_plus, table: em.ipv4 */
4474 .field_info_mask = {
4475 .description = "spare",
4476 .field_bit_size = 3,
4477 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4478 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4480 .field_info_spec = {
4481 .description = "spare",
4482 .field_bit_size = 3,
4483 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4484 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4488 .field_info_mask = {
4489 .description = "local_cos",
4490 .field_bit_size = 3,
4491 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4492 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4494 .field_info_spec = {
4495 .description = "local_cos",
4496 .field_bit_size = 3,
4497 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4498 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4502 .field_info_mask = {
4503 .description = "l4.dst",
4504 .field_bit_size = 16,
4505 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4506 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4511 .field_info_spec = {
4512 .description = "l4.dst",
4513 .field_bit_size = 16,
4514 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4515 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4517 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
4518 BNXT_ULP_CF_IDX_O_L4 & 0xff},
4519 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
4521 (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
4522 BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
4523 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4527 .field_info_mask = {
4528 .description = "l4.src",
4529 .field_bit_size = 16,
4530 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4531 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4536 .field_info_spec = {
4537 .description = "l4.src",
4538 .field_bit_size = 16,
4539 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4540 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4542 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
4543 BNXT_ULP_CF_IDX_O_L4 & 0xff},
4544 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
4546 (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
4547 BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
4548 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4552 .field_info_mask = {
4553 .description = "l3.prot",
4554 .field_bit_size = 8,
4555 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4556 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4560 .field_info_spec = {
4561 .description = "l3.prot",
4562 .field_bit_size = 8,
4563 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4564 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
4566 (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
4567 BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff},
4568 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
4570 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
4571 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
4572 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4576 .field_info_mask = {
4577 .description = "l3.dst",
4578 .field_bit_size = 32,
4579 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4580 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4582 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
4583 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
4585 .field_info_spec = {
4586 .description = "l3.dst",
4587 .field_bit_size = 32,
4588 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4589 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4591 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
4592 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
4596 .field_info_mask = {
4597 .description = "l3.src",
4598 .field_bit_size = 32,
4599 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4600 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4602 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
4603 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
4605 .field_info_spec = {
4606 .description = "l3.src",
4607 .field_bit_size = 32,
4608 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4609 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4611 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
4612 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
4616 .field_info_mask = {
4617 .description = "l2.smac",
4618 .field_bit_size = 48,
4619 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4620 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4622 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
4623 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
4625 .field_info_spec = {
4626 .description = "l2.smac",
4627 .field_bit_size = 48,
4628 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4629 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4631 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
4632 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
4636 .field_info_mask = {
4637 .description = "l2_cntxt_id",
4638 .field_bit_size = 10,
4639 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4640 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4645 .field_info_spec = {
4646 .description = "l2_cntxt_id",
4647 .field_bit_size = 10,
4648 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4649 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4651 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
4652 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
4656 .field_info_mask = {
4657 .description = "em_profile_id",
4658 .field_bit_size = 8,
4659 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4660 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4664 .field_info_spec = {
4665 .description = "em_profile_id",
4666 .field_bit_size = 8,
4667 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4668 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4670 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
4671 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
4674 /* class_tid: 1, wh_plus, table: eem.ipv4 */
4676 .field_info_mask = {
4677 .description = "spare",
4678 .field_bit_size = 275,
4679 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4680 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4682 .field_info_spec = {
4683 .description = "spare",
4684 .field_bit_size = 275,
4685 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4686 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4690 .field_info_mask = {
4691 .description = "local_cos",
4692 .field_bit_size = 3,
4693 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4694 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4696 .field_info_spec = {
4697 .description = "local_cos",
4698 .field_bit_size = 3,
4699 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4700 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4704 .field_info_mask = {
4705 .description = "l4.dst",
4706 .field_bit_size = 16,
4707 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4708 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4713 .field_info_spec = {
4714 .description = "l4.dst",
4715 .field_bit_size = 16,
4716 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4717 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4719 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
4720 BNXT_ULP_CF_IDX_O_L4 & 0xff},
4721 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
4723 (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
4724 BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
4725 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4729 .field_info_mask = {
4730 .description = "l4.src",
4731 .field_bit_size = 16,
4732 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4733 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4738 .field_info_spec = {
4739 .description = "l4.src",
4740 .field_bit_size = 16,
4741 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4742 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4744 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
4745 BNXT_ULP_CF_IDX_O_L4 & 0xff},
4746 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
4748 (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
4749 BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
4750 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4754 .field_info_mask = {
4755 .description = "l3.prot",
4756 .field_bit_size = 8,
4757 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4758 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4762 .field_info_spec = {
4763 .description = "l3.prot",
4764 .field_bit_size = 8,
4765 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4766 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
4768 (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
4769 BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff},
4770 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
4772 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
4773 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
4774 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4778 .field_info_mask = {
4779 .description = "l3.dst",
4780 .field_bit_size = 32,
4781 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4782 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4784 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
4785 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
4787 .field_info_spec = {
4788 .description = "l3.dst",
4789 .field_bit_size = 32,
4790 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4791 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4793 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
4794 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
4798 .field_info_mask = {
4799 .description = "l3.src",
4800 .field_bit_size = 32,
4801 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4802 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4804 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
4805 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
4807 .field_info_spec = {
4808 .description = "l3.src",
4809 .field_bit_size = 32,
4810 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4811 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4813 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
4814 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
4818 .field_info_mask = {
4819 .description = "l2.smac",
4820 .field_bit_size = 48,
4821 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4822 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4824 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
4825 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
4827 .field_info_spec = {
4828 .description = "l2.smac",
4829 .field_bit_size = 48,
4830 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4831 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4833 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
4834 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
4838 .field_info_mask = {
4839 .description = "l2_cntxt_id",
4840 .field_bit_size = 10,
4841 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4842 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4847 .field_info_spec = {
4848 .description = "l2_cntxt_id",
4849 .field_bit_size = 10,
4850 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4851 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4853 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
4854 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
4858 .field_info_mask = {
4859 .description = "em_profile_id",
4860 .field_bit_size = 8,
4861 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4862 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4866 .field_info_spec = {
4867 .description = "em_profile_id",
4868 .field_bit_size = 8,
4869 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4870 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4872 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
4873 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
4876 /* class_tid: 1, wh_plus, table: em.ipv6 */
4878 .field_info_mask = {
4879 .description = "spare",
4880 .field_bit_size = 3,
4881 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4882 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4884 .field_info_spec = {
4885 .description = "spare",
4886 .field_bit_size = 3,
4887 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4888 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4892 .field_info_mask = {
4893 .description = "local_cos",
4894 .field_bit_size = 3,
4895 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4896 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4898 .field_info_spec = {
4899 .description = "local_cos",
4900 .field_bit_size = 3,
4901 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4902 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4906 .field_info_mask = {
4907 .description = "l4.dst",
4908 .field_bit_size = 16,
4909 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4910 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4915 .field_info_spec = {
4916 .description = "l4.dst",
4917 .field_bit_size = 16,
4918 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4919 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4921 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
4922 BNXT_ULP_CF_IDX_O_L4 & 0xff},
4923 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
4925 (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
4926 BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
4927 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4931 .field_info_mask = {
4932 .description = "l4.src",
4933 .field_bit_size = 16,
4934 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4935 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4940 .field_info_spec = {
4941 .description = "l4.src",
4942 .field_bit_size = 16,
4943 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4944 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4946 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
4947 BNXT_ULP_CF_IDX_O_L4 & 0xff},
4948 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
4950 (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
4951 BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
4952 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4956 .field_info_mask = {
4957 .description = "l3.prot",
4958 .field_bit_size = 8,
4959 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4960 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
4964 .field_info_spec = {
4965 .description = "l3.prot",
4966 .field_bit_size = 8,
4967 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4968 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
4970 (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
4971 BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
4972 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
4974 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
4975 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
4976 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4980 .field_info_mask = {
4981 .description = "l3.dst",
4982 .field_bit_size = 128,
4983 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4984 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4986 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
4987 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
4989 .field_info_spec = {
4990 .description = "l3.dst",
4991 .field_bit_size = 128,
4992 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4993 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
4995 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
4996 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
5000 .field_info_mask = {
5001 .description = "l3.src",
5002 .field_bit_size = 128,
5003 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5004 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5006 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
5007 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
5009 .field_info_spec = {
5010 .description = "l3.src",
5011 .field_bit_size = 128,
5012 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5013 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5015 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
5016 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
5020 .field_info_mask = {
5021 .description = "l2.smac",
5022 .field_bit_size = 48,
5023 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5024 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5026 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
5027 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
5029 .field_info_spec = {
5030 .description = "l2.smac",
5031 .field_bit_size = 48,
5032 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5033 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5035 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
5036 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
5040 .field_info_mask = {
5041 .description = "l2.dmac",
5042 .field_bit_size = 48,
5043 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5044 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5046 .field_info_spec = {
5047 .description = "l2.dmac",
5048 .field_bit_size = 48,
5049 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5050 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5054 .field_info_mask = {
5055 .description = "l2_cntxt_id",
5056 .field_bit_size = 10,
5057 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5058 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5063 .field_info_spec = {
5064 .description = "l2_cntxt_id",
5065 .field_bit_size = 10,
5066 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5067 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5069 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
5070 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
5074 .field_info_mask = {
5075 .description = "em_profile_id",
5076 .field_bit_size = 8,
5077 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5078 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5082 .field_info_spec = {
5083 .description = "em_profile_id",
5084 .field_bit_size = 8,
5085 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5086 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5088 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
5089 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
5092 /* class_tid: 1, wh_plus, table: eem.ipv6 */
5094 .field_info_mask = {
5095 .description = "spare",
5096 .field_bit_size = 35,
5097 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5098 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5100 .field_info_spec = {
5101 .description = "spare",
5102 .field_bit_size = 35,
5103 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5104 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5108 .field_info_mask = {
5109 .description = "local_cos",
5110 .field_bit_size = 3,
5111 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5112 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5114 .field_info_spec = {
5115 .description = "local_cos",
5116 .field_bit_size = 3,
5117 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5118 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5122 .field_info_mask = {
5123 .description = "l4.dst",
5124 .field_bit_size = 16,
5125 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5126 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5131 .field_info_spec = {
5132 .description = "l4.dst",
5133 .field_bit_size = 16,
5134 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5135 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5137 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
5138 BNXT_ULP_CF_IDX_O_L4 & 0xff},
5139 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
5141 (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
5142 BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
5143 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
5147 .field_info_mask = {
5148 .description = "l4.src",
5149 .field_bit_size = 16,
5150 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5151 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5156 .field_info_spec = {
5157 .description = "l4.src",
5158 .field_bit_size = 16,
5159 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5160 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5162 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
5163 BNXT_ULP_CF_IDX_O_L4 & 0xff},
5164 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
5166 (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
5167 BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
5168 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
5172 .field_info_mask = {
5173 .description = "l3.prot",
5174 .field_bit_size = 8,
5175 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5176 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5180 .field_info_spec = {
5181 .description = "l3.prot",
5182 .field_bit_size = 8,
5183 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5184 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
5186 (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
5187 BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
5188 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
5190 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
5191 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
5192 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
5196 .field_info_mask = {
5197 .description = "l3.dst",
5198 .field_bit_size = 128,
5199 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5200 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5202 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
5203 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
5205 .field_info_spec = {
5206 .description = "l3.dst",
5207 .field_bit_size = 128,
5208 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5209 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5211 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
5212 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
5216 .field_info_mask = {
5217 .description = "l3.src",
5218 .field_bit_size = 128,
5219 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5220 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5222 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
5223 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
5225 .field_info_spec = {
5226 .description = "l3.src",
5227 .field_bit_size = 128,
5228 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5229 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5231 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
5232 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
5236 .field_info_mask = {
5237 .description = "l2.smac",
5238 .field_bit_size = 48,
5239 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5240 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5242 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
5243 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
5245 .field_info_spec = {
5246 .description = "l2.smac",
5247 .field_bit_size = 48,
5248 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5249 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5251 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
5252 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
5256 .field_info_mask = {
5257 .description = "l2.dmac",
5258 .field_bit_size = 48,
5259 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5260 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5262 .field_info_spec = {
5263 .description = "l2.dmac",
5264 .field_bit_size = 48,
5265 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5266 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5270 .field_info_mask = {
5271 .description = "l2_cntxt_id",
5272 .field_bit_size = 10,
5273 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5274 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5279 .field_info_spec = {
5280 .description = "l2_cntxt_id",
5281 .field_bit_size = 10,
5282 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5283 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5285 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
5286 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
5290 .field_info_mask = {
5291 .description = "em_profile_id",
5292 .field_bit_size = 8,
5293 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5294 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5298 .field_info_spec = {
5299 .description = "em_profile_id",
5300 .field_bit_size = 8,
5301 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5302 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5304 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
5305 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
5308 /* class_tid: 1, wh_plus, table: em.vxlan */
5310 .field_info_mask = {
5311 .description = "spare",
5312 .field_bit_size = 3,
5313 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5314 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5316 .field_info_spec = {
5317 .description = "spare",
5318 .field_bit_size = 3,
5319 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5320 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5324 .field_info_mask = {
5325 .description = "local_cos",
5326 .field_bit_size = 3,
5327 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5328 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5330 .field_info_spec = {
5331 .description = "local_cos",
5332 .field_bit_size = 3,
5333 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5334 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5338 .field_info_mask = {
5339 .description = "tl4.src",
5340 .field_bit_size = 16,
5341 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5342 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5344 .field_info_spec = {
5345 .description = "tl4.src",
5346 .field_bit_size = 16,
5347 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5348 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5352 .field_info_mask = {
5353 .description = "tl4.dst",
5354 .field_bit_size = 16,
5355 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5356 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5361 .field_info_spec = {
5362 .description = "tl4.dst",
5363 .field_bit_size = 16,
5364 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5365 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5372 .field_info_mask = {
5373 .description = "tl3.prot",
5374 .field_bit_size = 8,
5375 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5376 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5380 .field_info_spec = {
5381 .description = "tl3.prot",
5382 .field_bit_size = 8,
5383 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5384 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5390 .field_info_mask = {
5391 .description = "tl3.dst",
5392 .field_bit_size = 32,
5393 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5394 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5396 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
5397 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
5399 .field_info_spec = {
5400 .description = "tl3.dst",
5401 .field_bit_size = 32,
5402 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5403 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5405 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
5406 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
5410 .field_info_mask = {
5411 .description = "tl3.src",
5412 .field_bit_size = 32,
5413 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5414 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5416 .field_info_spec = {
5417 .description = "tl3.src",
5418 .field_bit_size = 32,
5419 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5420 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5424 .field_info_mask = {
5425 .description = "tl2.src",
5426 .field_bit_size = 48,
5427 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5428 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5430 .field_info_spec = {
5431 .description = "tl2.src",
5432 .field_bit_size = 48,
5433 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5434 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5438 .field_info_mask = {
5439 .description = "tun_id",
5440 .field_bit_size = 24,
5441 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5442 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5444 .field_info_spec = {
5445 .description = "tun_id",
5446 .field_bit_size = 24,
5447 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5448 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5452 .field_info_mask = {
5453 .description = "l2_cntxt_id",
5454 .field_bit_size = 10,
5455 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5456 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5461 .field_info_spec = {
5462 .description = "l2_cntxt_id",
5463 .field_bit_size = 10,
5464 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5465 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5467 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
5468 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
5472 .field_info_mask = {
5473 .description = "em_profile_id",
5474 .field_bit_size = 8,
5475 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5476 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5480 .field_info_spec = {
5481 .description = "em_profile_id",
5482 .field_bit_size = 8,
5483 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5484 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5486 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
5487 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
5490 /* class_tid: 1, wh_plus, table: eem.vxlan */
5492 .field_info_mask = {
5493 .description = "spare",
5494 .field_bit_size = 251,
5495 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5496 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5498 .field_info_spec = {
5499 .description = "spare",
5500 .field_bit_size = 251,
5501 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5502 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5506 .field_info_mask = {
5507 .description = "local_cos",
5508 .field_bit_size = 3,
5509 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5510 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5512 .field_info_spec = {
5513 .description = "local_cos",
5514 .field_bit_size = 3,
5515 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5516 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5520 .field_info_mask = {
5521 .description = "tl4.dst",
5522 .field_bit_size = 16,
5523 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5524 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5529 .field_info_spec = {
5530 .description = "tl4.dst",
5531 .field_bit_size = 16,
5532 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5533 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5540 .field_info_mask = {
5541 .description = "tl4.src",
5542 .field_bit_size = 16,
5543 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5544 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5546 .field_info_spec = {
5547 .description = "tl4.src",
5548 .field_bit_size = 16,
5549 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5550 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5554 .field_info_mask = {
5555 .description = "tl3.prot",
5556 .field_bit_size = 8,
5557 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5558 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5562 .field_info_spec = {
5563 .description = "tl3.prot",
5564 .field_bit_size = 8,
5565 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5566 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5572 .field_info_mask = {
5573 .description = "tl3.dst",
5574 .field_bit_size = 32,
5575 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5576 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5578 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
5579 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
5581 .field_info_spec = {
5582 .description = "tl3.dst",
5583 .field_bit_size = 32,
5584 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5585 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5587 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
5588 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
5592 .field_info_mask = {
5593 .description = "tl3.src",
5594 .field_bit_size = 32,
5595 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5596 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5598 .field_info_spec = {
5599 .description = "tl3.src",
5600 .field_bit_size = 32,
5601 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5602 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5606 .field_info_mask = {
5607 .description = "tl2.src",
5608 .field_bit_size = 48,
5609 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5610 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5612 .field_info_spec = {
5613 .description = "tl2.src",
5614 .field_bit_size = 48,
5615 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5616 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5620 .field_info_mask = {
5621 .description = "tun_id",
5622 .field_bit_size = 24,
5623 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5624 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5626 .field_info_spec = {
5627 .description = "tun_id",
5628 .field_bit_size = 24,
5629 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5630 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5634 .field_info_mask = {
5635 .description = "l2_cntxt_id",
5636 .field_bit_size = 10,
5637 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5638 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5643 .field_info_spec = {
5644 .description = "l2_cntxt_id",
5645 .field_bit_size = 10,
5646 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5647 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5649 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
5650 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
5654 .field_info_mask = {
5655 .description = "em_profile_id",
5656 .field_bit_size = 8,
5657 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5658 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5662 .field_info_spec = {
5663 .description = "em_profile_id",
5664 .field_bit_size = 8,
5665 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5666 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5668 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
5669 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
5672 /* class_tid: 2, wh_plus, table: l2_cntxt_tcam_cache.rd */
5674 .field_info_mask = {
5675 .description = "svif",
5676 .field_bit_size = 8,
5677 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5678 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5680 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
5681 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
5683 .field_info_spec = {
5684 .description = "svif",
5685 .field_bit_size = 8,
5686 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5687 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5689 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
5690 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
5693 /* class_tid: 2, wh_plus, table: mac_addr_cache.rd */
5695 .field_info_mask = {
5696 .description = "svif",
5697 .field_bit_size = 8,
5698 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5699 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5701 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
5702 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
5704 .field_info_spec = {
5705 .description = "svif",
5706 .field_bit_size = 8,
5707 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5708 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5710 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
5711 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
5715 .field_info_mask = {
5716 .description = "tun_hdr",
5717 .field_bit_size = 4,
5718 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5719 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5721 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
5723 .field_info_spec = {
5724 .description = "tun_hdr",
5725 .field_bit_size = 4,
5726 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5727 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5729 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
5733 .field_info_mask = {
5734 .description = "one_tag",
5735 .field_bit_size = 1,
5736 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5737 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5741 .field_info_spec = {
5742 .description = "one_tag",
5743 .field_bit_size = 1,
5744 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5745 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5747 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
5748 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
5752 .field_info_mask = {
5753 .description = "vid",
5754 .field_bit_size = 12,
5755 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5756 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
5758 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
5759 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
5760 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
5761 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
5762 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
5763 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
5764 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
5765 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
5766 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
5768 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
5769 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
5770 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
5772 .field_info_spec = {
5773 .description = "vid",
5774 .field_bit_size = 12,
5775 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5776 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
5778 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
5779 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
5780 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
5781 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
5782 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
5783 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
5784 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
5785 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
5786 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
5788 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
5789 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
5790 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
5794 .field_info_mask = {
5795 .description = "mac_addr",
5796 .field_bit_size = 48,
5797 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5798 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5800 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
5801 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
5803 .field_info_spec = {
5804 .description = "mac_addr",
5805 .field_bit_size = 48,
5806 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5807 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5809 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
5810 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
5813 /* class_tid: 2, wh_plus, table: l2_cntxt_tcam.0 */
5815 .field_info_mask = {
5816 .description = "l2_ivlan_vid",
5817 .field_bit_size = 12,
5818 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5819 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
5821 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
5822 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
5823 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
5824 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
5825 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
5826 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
5827 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
5828 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
5829 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
5831 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
5832 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
5833 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
5835 .field_info_spec = {
5836 .description = "l2_ivlan_vid",
5837 .field_bit_size = 12,
5838 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5839 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
5841 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
5842 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
5843 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
5844 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
5845 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
5846 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
5847 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
5848 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
5849 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
5851 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
5852 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
5853 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
5857 .field_info_mask = {
5858 .description = "l2_ovlan_vid",
5859 .field_bit_size = 12,
5860 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5861 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5863 .field_info_spec = {
5864 .description = "l2_ovlan_vid",
5865 .field_bit_size = 12,
5866 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5867 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5871 .field_info_mask = {
5872 .description = "mac0_addr",
5873 .field_bit_size = 48,
5874 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5875 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5877 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
5878 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
5880 .field_info_spec = {
5881 .description = "mac0_addr",
5882 .field_bit_size = 48,
5883 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5884 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5886 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
5887 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
5891 .field_info_mask = {
5892 .description = "svif",
5893 .field_bit_size = 8,
5894 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5895 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5897 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
5898 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
5900 .field_info_spec = {
5901 .description = "svif",
5902 .field_bit_size = 8,
5903 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5904 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
5906 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
5907 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
5911 .field_info_mask = {
5912 .description = "sparif",
5913 .field_bit_size = 4,
5914 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5915 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5917 .field_info_spec = {
5918 .description = "sparif",
5919 .field_bit_size = 4,
5920 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5921 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5925 .field_info_mask = {
5926 .description = "tl2_ivlan_vid",
5927 .field_bit_size = 12,
5928 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5929 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5931 .field_info_spec = {
5932 .description = "tl2_ivlan_vid",
5933 .field_bit_size = 12,
5934 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5935 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5939 .field_info_mask = {
5940 .description = "tl2_ovlan_vid",
5941 .field_bit_size = 12,
5942 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5943 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5945 .field_info_spec = {
5946 .description = "tl2_ovlan_vid",
5947 .field_bit_size = 12,
5948 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5949 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5953 .field_info_mask = {
5954 .description = "mac1_addr",
5955 .field_bit_size = 48,
5956 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5957 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5959 .field_info_spec = {
5960 .description = "mac1_addr",
5961 .field_bit_size = 48,
5962 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5963 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5967 .field_info_mask = {
5968 .description = "l2_num_vtags",
5969 .field_bit_size = 2,
5970 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5971 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
5975 .field_info_spec = {
5976 .description = "l2_num_vtags",
5977 .field_bit_size = 2,
5978 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5979 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
5981 (BNXT_ULP_CF_IDX_O_VTAG_NUM >> 8) & 0xff,
5982 BNXT_ULP_CF_IDX_O_VTAG_NUM & 0xff}
5986 .field_info_mask = {
5987 .description = "tl2_num_vtags",
5988 .field_bit_size = 2,
5989 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5990 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5992 .field_info_spec = {
5993 .description = "tl2_num_vtags",
5994 .field_bit_size = 2,
5995 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5996 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6000 .field_info_mask = {
6001 .description = "tun_hdr_type",
6002 .field_bit_size = 4,
6003 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6004 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6006 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
6008 .field_info_spec = {
6009 .description = "tun_hdr_type",
6010 .field_bit_size = 4,
6011 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6012 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6014 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
6018 .field_info_mask = {
6019 .description = "key_type",
6020 .field_bit_size = 2,
6021 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6022 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6024 .field_info_spec = {
6025 .description = "key_type",
6026 .field_bit_size = 2,
6027 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6028 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6032 .field_info_mask = {
6033 .description = "valid",
6034 .field_bit_size = 1,
6035 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6036 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6040 .field_info_spec = {
6041 .description = "valid",
6042 .field_bit_size = 1,
6043 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6044 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6049 /* class_tid: 2, wh_plus, table: mac_addr_cache.wr */
6051 .field_info_mask = {
6052 .description = "svif",
6053 .field_bit_size = 8,
6054 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6055 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6057 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
6058 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
6060 .field_info_spec = {
6061 .description = "svif",
6062 .field_bit_size = 8,
6063 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6064 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6066 (BNXT_ULP_GLB_HF_ID_SVIF_INDEX >> 8) & 0xff,
6067 BNXT_ULP_GLB_HF_ID_SVIF_INDEX & 0xff}
6071 .field_info_mask = {
6072 .description = "tun_hdr",
6073 .field_bit_size = 4,
6074 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6075 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6077 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
6079 .field_info_spec = {
6080 .description = "tun_hdr",
6081 .field_bit_size = 4,
6082 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6083 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6085 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
6089 .field_info_mask = {
6090 .description = "one_tag",
6091 .field_bit_size = 1,
6092 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6093 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6097 .field_info_spec = {
6098 .description = "one_tag",
6099 .field_bit_size = 1,
6100 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6101 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
6103 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
6104 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
6108 .field_info_mask = {
6109 .description = "vid",
6110 .field_bit_size = 12,
6111 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
6112 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
6114 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
6115 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
6116 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
6117 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
6118 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
6119 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
6120 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
6121 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
6122 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
6124 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
6125 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
6126 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
6128 .field_info_spec = {
6129 .description = "vid",
6130 .field_bit_size = 12,
6131 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
6132 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
6134 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
6135 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
6136 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
6137 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
6138 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
6139 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
6140 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
6141 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
6142 .field_src2 = BNXT_ULP_FIELD_SRC_HF,
6144 (BNXT_ULP_GLB_HF_ID_OO_VLAN_VID >> 8) & 0xff,
6145 BNXT_ULP_GLB_HF_ID_OO_VLAN_VID & 0xff},
6146 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
6150 .field_info_mask = {
6151 .description = "mac_addr",
6152 .field_bit_size = 48,
6153 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6154 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6156 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
6157 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
6159 .field_info_spec = {
6160 .description = "mac_addr",
6161 .field_bit_size = 48,
6162 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6163 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
6165 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
6166 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
6169 /* class_tid: 2, wh_plus, table: profile_tcam_cache.rd */
6171 .field_info_mask = {
6172 .description = "recycle_cnt",
6173 .field_bit_size = 2,
6174 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6175 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6179 .field_info_spec = {
6180 .description = "recycle_cnt",
6181 .field_bit_size = 2,
6182 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6183 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6187 .field_info_mask = {
6188 .description = "prof_func_id",
6189 .field_bit_size = 7,
6190 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6191 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6195 .field_info_spec = {
6196 .description = "prof_func_id",
6197 .field_bit_size = 7,
6198 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
6199 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
6201 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
6202 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
6203 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
6205 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
6206 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
6207 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
6209 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
6210 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
6214 .field_info_mask = {
6215 .description = "hdr_sig_id",
6216 .field_bit_size = 5,
6217 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6218 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6222 .field_info_spec = {
6223 .description = "hdr_sig_id",
6224 .field_bit_size = 5,
6225 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6226 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
6228 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
6229 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
6232 /* class_tid: 2, wh_plus, table: profile_tcam.ipv4 */
6234 .field_info_mask = {
6235 .description = "l4_hdr_is_udp_tcp",
6236 .field_bit_size = 1,
6237 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6238 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6240 .field_info_spec = {
6241 .description = "l4_hdr_is_udp_tcp",
6242 .field_bit_size = 1,
6243 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6244 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6248 .field_info_mask = {
6249 .description = "l4_hdr_type",
6250 .field_bit_size = 4,
6251 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
6252 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
6254 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
6255 BNXT_ULP_CF_IDX_O_L4 & 0xff},
6256 .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
6257 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
6259 .field_info_spec = {
6260 .description = "l4_hdr_type",
6261 .field_bit_size = 4,
6262 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
6263 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
6265 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
6266 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
6267 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
6268 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
6269 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
6270 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
6271 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
6272 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
6273 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
6275 ULP_WP_SYM_L4_HDR_TYPE_TCP},
6276 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
6278 ULP_WP_SYM_L4_HDR_TYPE_UDP}
6282 .field_info_mask = {
6283 .description = "l4_hdr_error",
6284 .field_bit_size = 1,
6285 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6286 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
6288 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
6289 BNXT_ULP_CF_IDX_O_L4 & 0xff}
6291 .field_info_spec = {
6292 .description = "l4_hdr_error",
6293 .field_bit_size = 1,
6294 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6295 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6299 .field_info_mask = {
6300 .description = "l4_hdr_valid",
6301 .field_bit_size = 1,
6302 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6303 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
6305 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
6306 BNXT_ULP_CF_IDX_O_L4 & 0xff}
6308 .field_info_spec = {
6309 .description = "l4_hdr_valid",
6310 .field_bit_size = 1,
6311 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6312 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
6314 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
6315 BNXT_ULP_CF_IDX_O_L4 & 0xff}
6319 .field_info_mask = {
6320 .description = "l3_ipv6_cmp_dst",
6321 .field_bit_size = 1,
6322 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6323 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6325 .field_info_spec = {
6326 .description = "l3_ipv6_cmp_dst",
6327 .field_bit_size = 1,
6328 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6329 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6333 .field_info_mask = {
6334 .description = "l3_ipv6_cmp_src",
6335 .field_bit_size = 1,
6336 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6337 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6339 .field_info_spec = {
6340 .description = "l3_ipv6_cmp_src",
6341 .field_bit_size = 1,
6342 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6343 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6347 .field_info_mask = {
6348 .description = "l3_hdr_isIP",
6349 .field_bit_size = 1,
6350 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6351 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6353 .field_info_spec = {
6354 .description = "l3_hdr_isIP",
6355 .field_bit_size = 1,
6356 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6357 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6361 .field_info_mask = {
6362 .description = "l3_hdr_type",
6363 .field_bit_size = 4,
6364 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6365 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6369 .field_info_spec = {
6370 .description = "l3_hdr_type",
6371 .field_bit_size = 4,
6372 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6373 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6377 .field_info_mask = {
6378 .description = "l3_hdr_error",
6379 .field_bit_size = 1,
6380 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6381 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6385 .field_info_spec = {
6386 .description = "l3_hdr_error",
6387 .field_bit_size = 1,
6388 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6389 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6393 .field_info_mask = {
6394 .description = "l3_hdr_valid",
6395 .field_bit_size = 1,
6396 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6397 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6401 .field_info_spec = {
6402 .description = "l3_hdr_valid",
6403 .field_bit_size = 1,
6404 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6405 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6407 ULP_WP_SYM_L3_HDR_VALID_YES}
6411 .field_info_mask = {
6412 .description = "l2_two_vtags",
6413 .field_bit_size = 1,
6414 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6415 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6419 .field_info_spec = {
6420 .description = "l2_two_vtags",
6421 .field_bit_size = 1,
6422 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6423 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6427 .field_info_mask = {
6428 .description = "l2_vtag_present",
6429 .field_bit_size = 1,
6430 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6431 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6435 .field_info_spec = {
6436 .description = "l2_vtag_present",
6437 .field_bit_size = 1,
6438 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6439 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
6441 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
6442 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
6446 .field_info_mask = {
6447 .description = "l2_uc_mc_bc",
6448 .field_bit_size = 2,
6449 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6450 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6454 .field_info_spec = {
6455 .description = "l2_uc_mc_bc",
6456 .field_bit_size = 2,
6457 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6458 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6462 .field_info_mask = {
6463 .description = "l2_hdr_type",
6464 .field_bit_size = 2,
6465 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6466 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6470 .field_info_spec = {
6471 .description = "l2_hdr_type",
6472 .field_bit_size = 2,
6473 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6474 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6478 .field_info_mask = {
6479 .description = "l2_hdr_error",
6480 .field_bit_size = 1,
6481 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6482 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6486 .field_info_spec = {
6487 .description = "l2_hdr_error",
6488 .field_bit_size = 1,
6489 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6490 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6494 .field_info_mask = {
6495 .description = "l2_hdr_valid",
6496 .field_bit_size = 1,
6497 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6498 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6502 .field_info_spec = {
6503 .description = "l2_hdr_valid",
6504 .field_bit_size = 1,
6505 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6506 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6508 ULP_WP_SYM_L2_HDR_VALID_YES}
6512 .field_info_mask = {
6513 .description = "tun_hdr_flags",
6514 .field_bit_size = 3,
6515 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6516 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6518 .field_info_spec = {
6519 .description = "tun_hdr_flags",
6520 .field_bit_size = 3,
6521 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6522 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6526 .field_info_mask = {
6527 .description = "tun_hdr_type",
6528 .field_bit_size = 4,
6529 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6530 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6532 .field_info_spec = {
6533 .description = "tun_hdr_type",
6534 .field_bit_size = 4,
6535 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6536 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6540 .field_info_mask = {
6541 .description = "tun_hdr_err",
6542 .field_bit_size = 1,
6543 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6544 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6546 .field_info_spec = {
6547 .description = "tun_hdr_err",
6548 .field_bit_size = 1,
6549 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6550 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6554 .field_info_mask = {
6555 .description = "tun_hdr_valid",
6556 .field_bit_size = 1,
6557 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6558 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6562 .field_info_spec = {
6563 .description = "tun_hdr_valid",
6564 .field_bit_size = 1,
6565 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6566 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6570 .field_info_mask = {
6571 .description = "tl4_hdr_is_udp_tcp",
6572 .field_bit_size = 1,
6573 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6574 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6576 .field_info_spec = {
6577 .description = "tl4_hdr_is_udp_tcp",
6578 .field_bit_size = 1,
6579 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6580 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6584 .field_info_mask = {
6585 .description = "tl4_hdr_type",
6586 .field_bit_size = 4,
6587 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6588 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6590 .field_info_spec = {
6591 .description = "tl4_hdr_type",
6592 .field_bit_size = 4,
6593 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6594 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6598 .field_info_mask = {
6599 .description = "tl4_hdr_error",
6600 .field_bit_size = 1,
6601 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6602 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6604 .field_info_spec = {
6605 .description = "tl4_hdr_error",
6606 .field_bit_size = 1,
6607 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6608 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6612 .field_info_mask = {
6613 .description = "tl4_hdr_valid",
6614 .field_bit_size = 1,
6615 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6616 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6620 .field_info_spec = {
6621 .description = "tl4_hdr_valid",
6622 .field_bit_size = 1,
6623 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6624 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6628 .field_info_mask = {
6629 .description = "tl3_ipv6_cmp_dst",
6630 .field_bit_size = 1,
6631 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6632 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6634 .field_info_spec = {
6635 .description = "tl3_ipv6_cmp_dst",
6636 .field_bit_size = 1,
6637 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6638 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6642 .field_info_mask = {
6643 .description = "tl3_ipv6_cmp_src",
6644 .field_bit_size = 1,
6645 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6646 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6648 .field_info_spec = {
6649 .description = "tl3_ipv6_cmp_src",
6650 .field_bit_size = 1,
6651 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6652 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6656 .field_info_mask = {
6657 .description = "tl3_hdr_isIP",
6658 .field_bit_size = 1,
6659 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6660 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6662 .field_info_spec = {
6663 .description = "tl3_hdr_isIP",
6664 .field_bit_size = 1,
6665 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6666 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6670 .field_info_mask = {
6671 .description = "tl3_hdr_type",
6672 .field_bit_size = 4,
6673 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6674 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6676 .field_info_spec = {
6677 .description = "tl3_hdr_type",
6678 .field_bit_size = 4,
6679 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6680 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6684 .field_info_mask = {
6685 .description = "tl3_hdr_error",
6686 .field_bit_size = 1,
6687 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6688 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6690 .field_info_spec = {
6691 .description = "tl3_hdr_error",
6692 .field_bit_size = 1,
6693 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6694 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6698 .field_info_mask = {
6699 .description = "tl3_hdr_valid",
6700 .field_bit_size = 1,
6701 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6702 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6706 .field_info_spec = {
6707 .description = "tl3_hdr_valid",
6708 .field_bit_size = 1,
6709 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6710 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6714 .field_info_mask = {
6715 .description = "tl2_two_vtags",
6716 .field_bit_size = 1,
6717 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6718 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6720 .field_info_spec = {
6721 .description = "tl2_two_vtags",
6722 .field_bit_size = 1,
6723 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6724 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6728 .field_info_mask = {
6729 .description = "tl2_vtag_present",
6730 .field_bit_size = 1,
6731 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6732 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6734 .field_info_spec = {
6735 .description = "tl2_vtag_present",
6736 .field_bit_size = 1,
6737 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6738 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6742 .field_info_mask = {
6743 .description = "tl2_uc_mc_bc",
6744 .field_bit_size = 2,
6745 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6746 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6748 .field_info_spec = {
6749 .description = "tl2_uc_mc_bc",
6750 .field_bit_size = 2,
6751 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6752 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6756 .field_info_mask = {
6757 .description = "tl2_hdr_type",
6758 .field_bit_size = 2,
6759 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6760 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6762 .field_info_spec = {
6763 .description = "tl2_hdr_type",
6764 .field_bit_size = 2,
6765 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6766 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6770 .field_info_mask = {
6771 .description = "tl2_hdr_valid",
6772 .field_bit_size = 1,
6773 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6774 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6778 .field_info_spec = {
6779 .description = "tl2_hdr_valid",
6780 .field_bit_size = 1,
6781 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6782 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6786 .field_info_mask = {
6787 .description = "hrec_next",
6788 .field_bit_size = 1,
6789 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6790 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6792 .field_info_spec = {
6793 .description = "hrec_next",
6794 .field_bit_size = 1,
6795 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6796 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6800 .field_info_mask = {
6801 .description = "reserved",
6802 .field_bit_size = 9,
6803 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6804 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6806 .field_info_spec = {
6807 .description = "reserved",
6808 .field_bit_size = 9,
6809 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6810 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6814 .field_info_mask = {
6815 .description = "prof_func_id",
6816 .field_bit_size = 7,
6817 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6818 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
6822 .field_info_spec = {
6823 .description = "prof_func_id",
6824 .field_bit_size = 7,
6825 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
6826 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
6828 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
6829 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
6830 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
6832 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
6833 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
6834 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
6836 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
6837 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
6841 .field_info_mask = {
6842 .description = "agg_error",
6843 .field_bit_size = 1,
6844 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6845 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6847 .field_info_spec = {
6848 .description = "agg_error",
6849 .field_bit_size = 1,
6850 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6851 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6855 .field_info_mask = {
6856 .description = "recycle_cnt",
6857 .field_bit_size = 2,
6858 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6859 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6861 .field_info_spec = {
6862 .description = "recycle_cnt",
6863 .field_bit_size = 2,
6864 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6865 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6869 .field_info_mask = {
6870 .description = "pkt_type_0",
6871 .field_bit_size = 2,
6872 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6873 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6875 .field_info_spec = {
6876 .description = "pkt_type_0",
6877 .field_bit_size = 2,
6878 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6879 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6883 .field_info_mask = {
6884 .description = "pkt_type_1",
6885 .field_bit_size = 2,
6886 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6887 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6889 .field_info_spec = {
6890 .description = "pkt_type_1",
6891 .field_bit_size = 2,
6892 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6893 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6897 .field_info_mask = {
6898 .description = "valid",
6899 .field_bit_size = 1,
6900 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6901 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6905 .field_info_spec = {
6906 .description = "valid",
6907 .field_bit_size = 1,
6908 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6909 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
6914 /* class_tid: 2, wh_plus, table: profile_tcam.ipv6 */
6916 .field_info_mask = {
6917 .description = "l4_hdr_is_udp_tcp",
6918 .field_bit_size = 1,
6919 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6920 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6922 .field_info_spec = {
6923 .description = "l4_hdr_is_udp_tcp",
6924 .field_bit_size = 1,
6925 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6926 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6930 .field_info_mask = {
6931 .description = "l4_hdr_type",
6932 .field_bit_size = 4,
6933 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
6934 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
6936 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
6937 BNXT_ULP_CF_IDX_O_L4 & 0xff},
6938 .field_src2 = BNXT_ULP_FIELD_SRC_ONES,
6939 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
6941 .field_info_spec = {
6942 .description = "l4_hdr_type",
6943 .field_bit_size = 4,
6944 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
6945 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
6947 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 56) & 0xff,
6948 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 48) & 0xff,
6949 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 40) & 0xff,
6950 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 32) & 0xff,
6951 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 24) & 0xff,
6952 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 16) & 0xff,
6953 ((uint64_t)BNXT_ULP_HDR_BIT_O_TCP >> 8) & 0xff,
6954 (uint64_t)BNXT_ULP_HDR_BIT_O_TCP & 0xff},
6955 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
6957 ULP_WP_SYM_L4_HDR_TYPE_TCP},
6958 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
6960 ULP_WP_SYM_L4_HDR_TYPE_UDP}
6964 .field_info_mask = {
6965 .description = "l4_hdr_error",
6966 .field_bit_size = 1,
6967 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6968 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
6970 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
6971 BNXT_ULP_CF_IDX_O_L4 & 0xff}
6973 .field_info_spec = {
6974 .description = "l4_hdr_error",
6975 .field_bit_size = 1,
6976 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6977 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
6981 .field_info_mask = {
6982 .description = "l4_hdr_valid",
6983 .field_bit_size = 1,
6984 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6985 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
6987 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
6988 BNXT_ULP_CF_IDX_O_L4 & 0xff}
6990 .field_info_spec = {
6991 .description = "l4_hdr_valid",
6992 .field_bit_size = 1,
6993 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
6994 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
6996 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
6997 BNXT_ULP_CF_IDX_O_L4 & 0xff}
7001 .field_info_mask = {
7002 .description = "l3_ipv6_cmp_dst",
7003 .field_bit_size = 1,
7004 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7005 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7007 .field_info_spec = {
7008 .description = "l3_ipv6_cmp_dst",
7009 .field_bit_size = 1,
7010 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7011 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7015 .field_info_mask = {
7016 .description = "l3_ipv6_cmp_src",
7017 .field_bit_size = 1,
7018 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7019 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7021 .field_info_spec = {
7022 .description = "l3_ipv6_cmp_src",
7023 .field_bit_size = 1,
7024 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7025 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7029 .field_info_mask = {
7030 .description = "l3_hdr_isIP",
7031 .field_bit_size = 1,
7032 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7033 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7035 .field_info_spec = {
7036 .description = "l3_hdr_isIP",
7037 .field_bit_size = 1,
7038 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7039 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7043 .field_info_mask = {
7044 .description = "l3_hdr_type",
7045 .field_bit_size = 4,
7046 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7047 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7051 .field_info_spec = {
7052 .description = "l3_hdr_type",
7053 .field_bit_size = 4,
7054 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7055 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
7057 ULP_WP_SYM_L3_HDR_TYPE_IPV6}
7061 .field_info_mask = {
7062 .description = "l3_hdr_error",
7063 .field_bit_size = 1,
7064 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7065 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7069 .field_info_spec = {
7070 .description = "l3_hdr_error",
7071 .field_bit_size = 1,
7072 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7073 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7077 .field_info_mask = {
7078 .description = "l3_hdr_valid",
7079 .field_bit_size = 1,
7080 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7081 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7085 .field_info_spec = {
7086 .description = "l3_hdr_valid",
7087 .field_bit_size = 1,
7088 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7089 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
7091 ULP_WP_SYM_L3_HDR_VALID_YES}
7095 .field_info_mask = {
7096 .description = "l2_two_vtags",
7097 .field_bit_size = 1,
7098 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7099 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7103 .field_info_spec = {
7104 .description = "l2_two_vtags",
7105 .field_bit_size = 1,
7106 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7107 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7111 .field_info_mask = {
7112 .description = "l2_vtag_present",
7113 .field_bit_size = 1,
7114 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7115 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7119 .field_info_spec = {
7120 .description = "l2_vtag_present",
7121 .field_bit_size = 1,
7122 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7123 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
7125 (BNXT_ULP_CF_IDX_O_ONE_VTAG >> 8) & 0xff,
7126 BNXT_ULP_CF_IDX_O_ONE_VTAG & 0xff}
7130 .field_info_mask = {
7131 .description = "l2_uc_mc_bc",
7132 .field_bit_size = 2,
7133 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7134 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7138 .field_info_spec = {
7139 .description = "l2_uc_mc_bc",
7140 .field_bit_size = 2,
7141 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7142 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7146 .field_info_mask = {
7147 .description = "l2_hdr_type",
7148 .field_bit_size = 2,
7149 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7150 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7154 .field_info_spec = {
7155 .description = "l2_hdr_type",
7156 .field_bit_size = 2,
7157 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7158 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7162 .field_info_mask = {
7163 .description = "l2_hdr_error",
7164 .field_bit_size = 1,
7165 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7166 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7170 .field_info_spec = {
7171 .description = "l2_hdr_error",
7172 .field_bit_size = 1,
7173 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7174 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7178 .field_info_mask = {
7179 .description = "l2_hdr_valid",
7180 .field_bit_size = 1,
7181 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7182 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7186 .field_info_spec = {
7187 .description = "l2_hdr_valid",
7188 .field_bit_size = 1,
7189 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7190 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
7192 ULP_WP_SYM_L2_HDR_VALID_YES}
7196 .field_info_mask = {
7197 .description = "tun_hdr_flags",
7198 .field_bit_size = 3,
7199 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7200 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7202 .field_info_spec = {
7203 .description = "tun_hdr_flags",
7204 .field_bit_size = 3,
7205 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7206 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7210 .field_info_mask = {
7211 .description = "tun_hdr_type",
7212 .field_bit_size = 4,
7213 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7214 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7216 .field_info_spec = {
7217 .description = "tun_hdr_type",
7218 .field_bit_size = 4,
7219 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7220 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7224 .field_info_mask = {
7225 .description = "tun_hdr_err",
7226 .field_bit_size = 1,
7227 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7228 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7230 .field_info_spec = {
7231 .description = "tun_hdr_err",
7232 .field_bit_size = 1,
7233 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7234 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7238 .field_info_mask = {
7239 .description = "tun_hdr_valid",
7240 .field_bit_size = 1,
7241 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7242 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7246 .field_info_spec = {
7247 .description = "tun_hdr_valid",
7248 .field_bit_size = 1,
7249 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7250 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7254 .field_info_mask = {
7255 .description = "tl4_hdr_is_udp_tcp",
7256 .field_bit_size = 1,
7257 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7258 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7260 .field_info_spec = {
7261 .description = "tl4_hdr_is_udp_tcp",
7262 .field_bit_size = 1,
7263 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7264 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7268 .field_info_mask = {
7269 .description = "tl4_hdr_type",
7270 .field_bit_size = 4,
7271 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7272 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7274 .field_info_spec = {
7275 .description = "tl4_hdr_type",
7276 .field_bit_size = 4,
7277 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7278 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7282 .field_info_mask = {
7283 .description = "tl4_hdr_error",
7284 .field_bit_size = 1,
7285 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7286 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7288 .field_info_spec = {
7289 .description = "tl4_hdr_error",
7290 .field_bit_size = 1,
7291 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7292 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7296 .field_info_mask = {
7297 .description = "tl4_hdr_valid",
7298 .field_bit_size = 1,
7299 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7300 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7304 .field_info_spec = {
7305 .description = "tl4_hdr_valid",
7306 .field_bit_size = 1,
7307 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7308 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7312 .field_info_mask = {
7313 .description = "tl3_ipv6_cmp_dst",
7314 .field_bit_size = 1,
7315 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7316 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7318 .field_info_spec = {
7319 .description = "tl3_ipv6_cmp_dst",
7320 .field_bit_size = 1,
7321 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7322 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7326 .field_info_mask = {
7327 .description = "tl3_ipv6_cmp_src",
7328 .field_bit_size = 1,
7329 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7330 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7332 .field_info_spec = {
7333 .description = "tl3_ipv6_cmp_src",
7334 .field_bit_size = 1,
7335 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7336 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7340 .field_info_mask = {
7341 .description = "tl3_hdr_isIP",
7342 .field_bit_size = 1,
7343 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7344 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7346 .field_info_spec = {
7347 .description = "tl3_hdr_isIP",
7348 .field_bit_size = 1,
7349 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7350 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7354 .field_info_mask = {
7355 .description = "tl3_hdr_type",
7356 .field_bit_size = 4,
7357 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7358 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7360 .field_info_spec = {
7361 .description = "tl3_hdr_type",
7362 .field_bit_size = 4,
7363 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7364 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7368 .field_info_mask = {
7369 .description = "tl3_hdr_error",
7370 .field_bit_size = 1,
7371 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7372 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7374 .field_info_spec = {
7375 .description = "tl3_hdr_error",
7376 .field_bit_size = 1,
7377 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7378 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7382 .field_info_mask = {
7383 .description = "tl3_hdr_valid",
7384 .field_bit_size = 1,
7385 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7386 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7390 .field_info_spec = {
7391 .description = "tl3_hdr_valid",
7392 .field_bit_size = 1,
7393 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7394 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7398 .field_info_mask = {
7399 .description = "tl2_two_vtags",
7400 .field_bit_size = 1,
7401 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7402 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7404 .field_info_spec = {
7405 .description = "tl2_two_vtags",
7406 .field_bit_size = 1,
7407 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7408 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7412 .field_info_mask = {
7413 .description = "tl2_vtag_present",
7414 .field_bit_size = 1,
7415 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7416 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7418 .field_info_spec = {
7419 .description = "tl2_vtag_present",
7420 .field_bit_size = 1,
7421 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7422 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7426 .field_info_mask = {
7427 .description = "tl2_uc_mc_bc",
7428 .field_bit_size = 2,
7429 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7430 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7432 .field_info_spec = {
7433 .description = "tl2_uc_mc_bc",
7434 .field_bit_size = 2,
7435 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7436 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7440 .field_info_mask = {
7441 .description = "tl2_hdr_type",
7442 .field_bit_size = 2,
7443 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7444 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7446 .field_info_spec = {
7447 .description = "tl2_hdr_type",
7448 .field_bit_size = 2,
7449 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7450 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7454 .field_info_mask = {
7455 .description = "tl2_hdr_valid",
7456 .field_bit_size = 1,
7457 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7458 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7462 .field_info_spec = {
7463 .description = "tl2_hdr_valid",
7464 .field_bit_size = 1,
7465 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7466 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7470 .field_info_mask = {
7471 .description = "hrec_next",
7472 .field_bit_size = 1,
7473 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7474 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7476 .field_info_spec = {
7477 .description = "hrec_next",
7478 .field_bit_size = 1,
7479 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7480 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7484 .field_info_mask = {
7485 .description = "reserved",
7486 .field_bit_size = 9,
7487 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7488 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7490 .field_info_spec = {
7491 .description = "reserved",
7492 .field_bit_size = 9,
7493 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7494 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7498 .field_info_mask = {
7499 .description = "prof_func_id",
7500 .field_bit_size = 7,
7501 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7502 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7506 .field_info_spec = {
7507 .description = "prof_func_id",
7508 .field_bit_size = 7,
7509 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
7510 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
7512 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
7513 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
7514 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
7516 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
7517 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
7518 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
7520 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
7521 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
7525 .field_info_mask = {
7526 .description = "agg_error",
7527 .field_bit_size = 1,
7528 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7529 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7531 .field_info_spec = {
7532 .description = "agg_error",
7533 .field_bit_size = 1,
7534 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7535 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7539 .field_info_mask = {
7540 .description = "recycle_cnt",
7541 .field_bit_size = 2,
7542 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7543 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7545 .field_info_spec = {
7546 .description = "recycle_cnt",
7547 .field_bit_size = 2,
7548 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7549 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7553 .field_info_mask = {
7554 .description = "pkt_type_0",
7555 .field_bit_size = 2,
7556 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7557 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7559 .field_info_spec = {
7560 .description = "pkt_type_0",
7561 .field_bit_size = 2,
7562 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7563 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7567 .field_info_mask = {
7568 .description = "pkt_type_1",
7569 .field_bit_size = 2,
7570 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7571 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7573 .field_info_spec = {
7574 .description = "pkt_type_1",
7575 .field_bit_size = 2,
7576 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7577 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7581 .field_info_mask = {
7582 .description = "valid",
7583 .field_bit_size = 1,
7584 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7585 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
7589 .field_info_spec = {
7590 .description = "valid",
7591 .field_bit_size = 1,
7592 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7593 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
7598 /* class_tid: 2, wh_plus, table: profile_tcam_cache.wr */
7600 .field_info_mask = {
7601 .description = "recycle_cnt",
7602 .field_bit_size = 2,
7603 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7604 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7608 .field_info_spec = {
7609 .description = "recycle_cnt",
7610 .field_bit_size = 2,
7611 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7612 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7616 .field_info_mask = {
7617 .description = "prof_func_id",
7618 .field_bit_size = 7,
7619 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7620 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7624 .field_info_spec = {
7625 .description = "prof_func_id",
7626 .field_bit_size = 7,
7627 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
7628 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
7630 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
7631 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff},
7632 .field_src2 = BNXT_ULP_FIELD_SRC_GLB_RF,
7634 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
7635 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff},
7636 .field_src3 = BNXT_ULP_FIELD_SRC_GLB_RF,
7638 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
7639 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
7643 .field_info_mask = {
7644 .description = "hdr_sig_id",
7645 .field_bit_size = 5,
7646 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7647 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7651 .field_info_spec = {
7652 .description = "hdr_sig_id",
7653 .field_bit_size = 5,
7654 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7655 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
7657 (BNXT_ULP_CF_IDX_HDR_SIG_ID >> 8) & 0xff,
7658 BNXT_ULP_CF_IDX_HDR_SIG_ID & 0xff}
7661 /* class_tid: 2, wh_plus, table: em.ipv4 */
7663 .field_info_mask = {
7664 .description = "spare",
7665 .field_bit_size = 3,
7666 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7667 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7669 .field_info_spec = {
7670 .description = "spare",
7671 .field_bit_size = 3,
7672 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7673 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7677 .field_info_mask = {
7678 .description = "local_cos",
7679 .field_bit_size = 3,
7680 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7681 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7683 .field_info_spec = {
7684 .description = "local_cos",
7685 .field_bit_size = 3,
7686 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7687 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7691 .field_info_mask = {
7692 .description = "l4.dst",
7693 .field_bit_size = 16,
7694 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7695 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7700 .field_info_spec = {
7701 .description = "l4.dst",
7702 .field_bit_size = 16,
7703 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
7704 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
7706 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
7707 BNXT_ULP_CF_IDX_O_L4 & 0xff},
7708 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
7710 (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
7711 BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
7712 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
7716 .field_info_mask = {
7717 .description = "l4.src",
7718 .field_bit_size = 16,
7719 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7720 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7725 .field_info_spec = {
7726 .description = "l4.src",
7727 .field_bit_size = 16,
7728 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
7729 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
7731 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
7732 BNXT_ULP_CF_IDX_O_L4 & 0xff},
7733 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
7735 (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
7736 BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
7737 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
7741 .field_info_mask = {
7742 .description = "l3.prot",
7743 .field_bit_size = 8,
7744 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7745 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7749 .field_info_spec = {
7750 .description = "l3.prot",
7751 .field_bit_size = 8,
7752 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
7753 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
7755 (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
7756 BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff},
7757 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
7759 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
7760 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
7761 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
7765 .field_info_mask = {
7766 .description = "l3.dst",
7767 .field_bit_size = 32,
7768 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7769 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7771 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
7772 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
7774 .field_info_spec = {
7775 .description = "l3.dst",
7776 .field_bit_size = 32,
7777 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7778 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7780 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
7781 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
7785 .field_info_mask = {
7786 .description = "l3.src",
7787 .field_bit_size = 32,
7788 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7789 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7791 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
7792 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
7794 .field_info_spec = {
7795 .description = "l3.src",
7796 .field_bit_size = 32,
7797 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7798 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7800 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
7801 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
7805 .field_info_mask = {
7806 .description = "l2.dmac",
7807 .field_bit_size = 48,
7808 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7809 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7811 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
7812 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
7814 .field_info_spec = {
7815 .description = "l2.dmac",
7816 .field_bit_size = 48,
7817 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7818 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7820 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
7821 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
7825 .field_info_mask = {
7826 .description = "l2_cntxt_id",
7827 .field_bit_size = 10,
7828 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7829 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7834 .field_info_spec = {
7835 .description = "l2_cntxt_id",
7836 .field_bit_size = 10,
7837 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7838 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
7840 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
7841 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
7845 .field_info_mask = {
7846 .description = "em_profile_id",
7847 .field_bit_size = 8,
7848 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7849 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7853 .field_info_spec = {
7854 .description = "em_profile_id",
7855 .field_bit_size = 8,
7856 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7857 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
7859 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
7860 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
7863 /* class_tid: 2, wh_plus, table: eem.ipv4 */
7865 .field_info_mask = {
7866 .description = "spare",
7867 .field_bit_size = 275,
7868 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7869 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7871 .field_info_spec = {
7872 .description = "spare",
7873 .field_bit_size = 275,
7874 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7875 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7879 .field_info_mask = {
7880 .description = "local_cos",
7881 .field_bit_size = 3,
7882 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7883 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7885 .field_info_spec = {
7886 .description = "local_cos",
7887 .field_bit_size = 3,
7888 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7889 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
7893 .field_info_mask = {
7894 .description = "l4.dst",
7895 .field_bit_size = 16,
7896 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7897 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7902 .field_info_spec = {
7903 .description = "l4.dst",
7904 .field_bit_size = 16,
7905 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
7906 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
7908 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
7909 BNXT_ULP_CF_IDX_O_L4 & 0xff},
7910 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
7912 (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
7913 BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
7914 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
7918 .field_info_mask = {
7919 .description = "l4.src",
7920 .field_bit_size = 16,
7921 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7922 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7927 .field_info_spec = {
7928 .description = "l4.src",
7929 .field_bit_size = 16,
7930 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
7931 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
7933 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
7934 BNXT_ULP_CF_IDX_O_L4 & 0xff},
7935 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
7937 (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
7938 BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
7939 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
7943 .field_info_mask = {
7944 .description = "l3.prot",
7945 .field_bit_size = 8,
7946 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7947 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
7951 .field_info_spec = {
7952 .description = "l3.prot",
7953 .field_bit_size = 8,
7954 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
7955 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
7957 (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
7958 BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff},
7959 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
7961 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
7962 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
7963 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
7967 .field_info_mask = {
7968 .description = "l3.dst",
7969 .field_bit_size = 32,
7970 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7971 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7973 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
7974 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
7976 .field_info_spec = {
7977 .description = "l3.dst",
7978 .field_bit_size = 32,
7979 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7980 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7982 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
7983 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
7987 .field_info_mask = {
7988 .description = "l3.src",
7989 .field_bit_size = 32,
7990 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
7991 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
7993 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
7994 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
7996 .field_info_spec = {
7997 .description = "l3.src",
7998 .field_bit_size = 32,
7999 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8000 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8002 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
8003 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
8007 .field_info_mask = {
8008 .description = "l2.dmac",
8009 .field_bit_size = 48,
8010 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8011 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8013 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
8014 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
8016 .field_info_spec = {
8017 .description = "l2.dmac",
8018 .field_bit_size = 48,
8019 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8020 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8022 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
8023 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
8027 .field_info_mask = {
8028 .description = "l2_cntxt_id",
8029 .field_bit_size = 10,
8030 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8031 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8036 .field_info_spec = {
8037 .description = "l2_cntxt_id",
8038 .field_bit_size = 10,
8039 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8040 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
8042 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
8043 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
8047 .field_info_mask = {
8048 .description = "em_profile_id",
8049 .field_bit_size = 8,
8050 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8051 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8055 .field_info_spec = {
8056 .description = "em_profile_id",
8057 .field_bit_size = 8,
8058 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8059 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
8061 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
8062 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
8065 /* class_tid: 2, wh_plus, table: em.ipv6 */
8067 .field_info_mask = {
8068 .description = "spare",
8069 .field_bit_size = 3,
8070 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8071 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8073 .field_info_spec = {
8074 .description = "spare",
8075 .field_bit_size = 3,
8076 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8077 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8081 .field_info_mask = {
8082 .description = "local_cos",
8083 .field_bit_size = 3,
8084 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8085 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8087 .field_info_spec = {
8088 .description = "local_cos",
8089 .field_bit_size = 3,
8090 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8091 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8095 .field_info_mask = {
8096 .description = "l4.dst",
8097 .field_bit_size = 16,
8098 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8099 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8104 .field_info_spec = {
8105 .description = "l4.dst",
8106 .field_bit_size = 16,
8107 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
8108 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8110 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
8111 BNXT_ULP_CF_IDX_O_L4 & 0xff},
8112 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
8114 (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
8115 BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
8116 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
8120 .field_info_mask = {
8121 .description = "l4.src",
8122 .field_bit_size = 16,
8123 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8124 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8129 .field_info_spec = {
8130 .description = "l4.src",
8131 .field_bit_size = 16,
8132 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
8133 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8135 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
8136 BNXT_ULP_CF_IDX_O_L4 & 0xff},
8137 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
8139 (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
8140 BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
8141 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
8145 .field_info_mask = {
8146 .description = "l3.prot",
8147 .field_bit_size = 8,
8148 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8149 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8153 .field_info_spec = {
8154 .description = "l3.prot",
8155 .field_bit_size = 8,
8156 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
8157 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
8159 (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
8160 BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
8161 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
8163 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
8164 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
8165 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
8169 .field_info_mask = {
8170 .description = "l3.dst",
8171 .field_bit_size = 128,
8172 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8173 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8175 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
8176 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
8178 .field_info_spec = {
8179 .description = "l3.dst",
8180 .field_bit_size = 128,
8181 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8182 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8184 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
8185 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
8189 .field_info_mask = {
8190 .description = "l3.src",
8191 .field_bit_size = 128,
8192 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8193 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8195 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
8196 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
8198 .field_info_spec = {
8199 .description = "l3.src",
8200 .field_bit_size = 128,
8201 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8202 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8204 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
8205 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
8209 .field_info_mask = {
8210 .description = "l2.smac",
8211 .field_bit_size = 48,
8212 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8213 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8215 .field_info_spec = {
8216 .description = "l2.smac",
8217 .field_bit_size = 48,
8218 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8219 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8223 .field_info_mask = {
8224 .description = "l2.dmac",
8225 .field_bit_size = 48,
8226 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8227 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8229 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
8230 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
8232 .field_info_spec = {
8233 .description = "l2.dmac",
8234 .field_bit_size = 48,
8235 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8236 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8238 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
8239 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
8243 .field_info_mask = {
8244 .description = "l2_cntxt_id",
8245 .field_bit_size = 10,
8246 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8247 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8252 .field_info_spec = {
8253 .description = "l2_cntxt_id",
8254 .field_bit_size = 10,
8255 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8256 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
8258 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
8259 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
8263 .field_info_mask = {
8264 .description = "em_profile_id",
8265 .field_bit_size = 8,
8266 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8267 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8271 .field_info_spec = {
8272 .description = "em_profile_id",
8273 .field_bit_size = 8,
8274 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8275 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
8277 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
8278 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
8281 /* class_tid: 2, wh_plus, table: eem.ipv6 */
8283 .field_info_mask = {
8284 .description = "spare",
8285 .field_bit_size = 35,
8286 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8287 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8289 .field_info_spec = {
8290 .description = "spare",
8291 .field_bit_size = 35,
8292 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8293 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8297 .field_info_mask = {
8298 .description = "local_cos",
8299 .field_bit_size = 3,
8300 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8301 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8303 .field_info_spec = {
8304 .description = "local_cos",
8305 .field_bit_size = 3,
8306 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8307 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8311 .field_info_mask = {
8312 .description = "l4.dst",
8313 .field_bit_size = 16,
8314 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8315 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8320 .field_info_spec = {
8321 .description = "l4.dst",
8322 .field_bit_size = 16,
8323 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
8324 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8326 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
8327 BNXT_ULP_CF_IDX_O_L4 & 0xff},
8328 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
8330 (BNXT_ULP_CF_IDX_O_L4_DST_PORT >> 8) & 0xff,
8331 BNXT_ULP_CF_IDX_O_L4_DST_PORT & 0xff},
8332 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
8336 .field_info_mask = {
8337 .description = "l4.src",
8338 .field_bit_size = 16,
8339 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8340 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8345 .field_info_spec = {
8346 .description = "l4.src",
8347 .field_bit_size = 16,
8348 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
8349 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8351 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
8352 BNXT_ULP_CF_IDX_O_L4 & 0xff},
8353 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
8355 (BNXT_ULP_CF_IDX_O_L4_SRC_PORT >> 8) & 0xff,
8356 BNXT_ULP_CF_IDX_O_L4_SRC_PORT & 0xff},
8357 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
8361 .field_info_mask = {
8362 .description = "l3.prot",
8363 .field_bit_size = 8,
8364 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8365 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8369 .field_info_spec = {
8370 .description = "l3.prot",
8371 .field_bit_size = 8,
8372 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
8373 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
8375 (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
8376 BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff},
8377 .field_src2 = BNXT_ULP_FIELD_SRC_CF,
8379 (BNXT_ULP_CF_IDX_O_L3_PROTO_ID >> 8) & 0xff,
8380 BNXT_ULP_CF_IDX_O_L3_PROTO_ID & 0xff},
8381 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
8385 .field_info_mask = {
8386 .description = "l3.dst",
8387 .field_bit_size = 128,
8388 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8389 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8391 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
8392 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
8394 .field_info_spec = {
8395 .description = "l3.dst",
8396 .field_bit_size = 128,
8397 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8398 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8400 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
8401 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
8405 .field_info_mask = {
8406 .description = "l3.src",
8407 .field_bit_size = 128,
8408 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8409 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8411 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
8412 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
8414 .field_info_spec = {
8415 .description = "l3.src",
8416 .field_bit_size = 128,
8417 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8418 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8420 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
8421 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
8425 .field_info_mask = {
8426 .description = "l2.smac",
8427 .field_bit_size = 48,
8428 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8429 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8431 .field_info_spec = {
8432 .description = "l2.smac",
8433 .field_bit_size = 48,
8434 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8435 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8439 .field_info_mask = {
8440 .description = "l2.dmac",
8441 .field_bit_size = 48,
8442 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8443 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8445 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
8446 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
8448 .field_info_spec = {
8449 .description = "l2.dmac",
8450 .field_bit_size = 48,
8451 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8452 .field_src1 = BNXT_ULP_FIELD_SRC_HF,
8454 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
8455 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
8459 .field_info_mask = {
8460 .description = "l2_cntxt_id",
8461 .field_bit_size = 10,
8462 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8463 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8468 .field_info_spec = {
8469 .description = "l2_cntxt_id",
8470 .field_bit_size = 10,
8471 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8472 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
8474 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
8475 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
8479 .field_info_mask = {
8480 .description = "em_profile_id",
8481 .field_bit_size = 8,
8482 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8483 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8487 .field_info_spec = {
8488 .description = "em_profile_id",
8489 .field_bit_size = 8,
8490 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8491 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
8493 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
8494 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
8497 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.ing_rd */
8499 .field_info_mask = {
8500 .description = "svif",
8501 .field_bit_size = 8,
8502 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8503 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8507 .field_info_spec = {
8508 .description = "svif",
8509 .field_bit_size = 8,
8510 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8511 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8513 (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
8514 BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
8517 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.ing_0 */
8519 .field_info_mask = {
8520 .description = "l2_ivlan_vid",
8521 .field_bit_size = 12,
8522 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8523 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8525 .field_info_spec = {
8526 .description = "l2_ivlan_vid",
8527 .field_bit_size = 12,
8528 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8529 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8533 .field_info_mask = {
8534 .description = "l2_ovlan_vid",
8535 .field_bit_size = 12,
8536 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8537 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8539 .field_info_spec = {
8540 .description = "l2_ovlan_vid",
8541 .field_bit_size = 12,
8542 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8543 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8547 .field_info_mask = {
8548 .description = "mac0_addr",
8549 .field_bit_size = 48,
8550 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8551 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8553 .field_info_spec = {
8554 .description = "mac0_addr",
8555 .field_bit_size = 48,
8556 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8557 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8561 .field_info_mask = {
8562 .description = "svif",
8563 .field_bit_size = 8,
8564 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8565 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8569 .field_info_spec = {
8570 .description = "svif",
8571 .field_bit_size = 8,
8572 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8573 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8575 (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
8576 BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
8580 .field_info_mask = {
8581 .description = "sparif",
8582 .field_bit_size = 4,
8583 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8584 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8586 .field_info_spec = {
8587 .description = "sparif",
8588 .field_bit_size = 4,
8589 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8590 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8594 .field_info_mask = {
8595 .description = "tl2_ivlan_vid",
8596 .field_bit_size = 12,
8597 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8598 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8600 .field_info_spec = {
8601 .description = "tl2_ivlan_vid",
8602 .field_bit_size = 12,
8603 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8604 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8608 .field_info_mask = {
8609 .description = "tl2_ovlan_vid",
8610 .field_bit_size = 12,
8611 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8612 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8614 .field_info_spec = {
8615 .description = "tl2_ovlan_vid",
8616 .field_bit_size = 12,
8617 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8618 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8622 .field_info_mask = {
8623 .description = "mac1_addr",
8624 .field_bit_size = 48,
8625 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8626 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8628 .field_info_spec = {
8629 .description = "mac1_addr",
8630 .field_bit_size = 48,
8631 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8632 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8636 .field_info_mask = {
8637 .description = "l2_num_vtags",
8638 .field_bit_size = 2,
8639 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8640 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8642 .field_info_spec = {
8643 .description = "l2_num_vtags",
8644 .field_bit_size = 2,
8645 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8646 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8650 .field_info_mask = {
8651 .description = "tl2_num_vtags",
8652 .field_bit_size = 2,
8653 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8654 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8656 .field_info_spec = {
8657 .description = "tl2_num_vtags",
8658 .field_bit_size = 2,
8659 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8660 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8664 .field_info_mask = {
8665 .description = "tun_hdr_type",
8666 .field_bit_size = 4,
8667 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8668 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8670 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
8672 .field_info_spec = {
8673 .description = "tun_hdr_type",
8674 .field_bit_size = 4,
8675 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8676 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8678 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
8682 .field_info_mask = {
8683 .description = "key_type",
8684 .field_bit_size = 2,
8685 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8686 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8688 .field_info_spec = {
8689 .description = "key_type",
8690 .field_bit_size = 2,
8691 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8692 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8696 .field_info_mask = {
8697 .description = "valid",
8698 .field_bit_size = 1,
8699 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8700 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8704 .field_info_spec = {
8705 .description = "valid",
8706 .field_bit_size = 1,
8707 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8708 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8713 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.ing_wr */
8715 .field_info_mask = {
8716 .description = "svif",
8717 .field_bit_size = 8,
8718 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8719 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8723 .field_info_spec = {
8724 .description = "svif",
8725 .field_bit_size = 8,
8726 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8727 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8729 (BNXT_ULP_CF_IDX_PHY_PORT_SVIF >> 8) & 0xff,
8730 BNXT_ULP_CF_IDX_PHY_PORT_SVIF & 0xff}
8733 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_rd_vfr */
8735 .field_info_mask = {
8736 .description = "svif",
8737 .field_bit_size = 8,
8738 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8739 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8743 .field_info_spec = {
8744 .description = "svif",
8745 .field_bit_size = 8,
8746 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8747 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8749 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
8750 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
8753 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_bypass.egr_vfr */
8755 .field_info_mask = {
8756 .description = "l2_ivlan_vid",
8757 .field_bit_size = 12,
8758 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8759 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8761 .field_info_spec = {
8762 .description = "l2_ivlan_vid",
8763 .field_bit_size = 12,
8764 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8765 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8769 .field_info_mask = {
8770 .description = "l2_ovlan_vid",
8771 .field_bit_size = 12,
8772 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8773 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8775 .field_info_spec = {
8776 .description = "l2_ovlan_vid",
8777 .field_bit_size = 12,
8778 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8779 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8783 .field_info_mask = {
8784 .description = "mac0_addr",
8785 .field_bit_size = 48,
8786 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8787 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8789 .field_info_spec = {
8790 .description = "mac0_addr",
8791 .field_bit_size = 48,
8792 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8793 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8797 .field_info_mask = {
8798 .description = "svif",
8799 .field_bit_size = 8,
8800 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8801 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8805 .field_info_spec = {
8806 .description = "svif",
8807 .field_bit_size = 8,
8808 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8809 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8811 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
8812 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
8816 .field_info_mask = {
8817 .description = "sparif",
8818 .field_bit_size = 4,
8819 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8820 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8822 .field_info_spec = {
8823 .description = "sparif",
8824 .field_bit_size = 4,
8825 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8826 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8830 .field_info_mask = {
8831 .description = "tl2_ivlan_vid",
8832 .field_bit_size = 12,
8833 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8834 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8836 .field_info_spec = {
8837 .description = "tl2_ivlan_vid",
8838 .field_bit_size = 12,
8839 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8840 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8844 .field_info_mask = {
8845 .description = "tl2_ovlan_vid",
8846 .field_bit_size = 12,
8847 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8848 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8850 .field_info_spec = {
8851 .description = "tl2_ovlan_vid",
8852 .field_bit_size = 12,
8853 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8854 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8858 .field_info_mask = {
8859 .description = "mac1_addr",
8860 .field_bit_size = 48,
8861 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8862 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8864 .field_info_spec = {
8865 .description = "mac1_addr",
8866 .field_bit_size = 48,
8867 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8868 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8872 .field_info_mask = {
8873 .description = "l2_num_vtags",
8874 .field_bit_size = 2,
8875 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8876 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8878 .field_info_spec = {
8879 .description = "l2_num_vtags",
8880 .field_bit_size = 2,
8881 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8882 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8886 .field_info_mask = {
8887 .description = "tl2_num_vtags",
8888 .field_bit_size = 2,
8889 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8890 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8892 .field_info_spec = {
8893 .description = "tl2_num_vtags",
8894 .field_bit_size = 2,
8895 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8896 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8900 .field_info_mask = {
8901 .description = "tun_hdr_type",
8902 .field_bit_size = 4,
8903 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8904 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8906 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
8908 .field_info_spec = {
8909 .description = "tun_hdr_type",
8910 .field_bit_size = 4,
8911 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8912 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8914 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
8918 .field_info_mask = {
8919 .description = "key_type",
8920 .field_bit_size = 2,
8921 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8922 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8924 .field_info_spec = {
8925 .description = "key_type",
8926 .field_bit_size = 2,
8927 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8928 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8932 .field_info_mask = {
8933 .description = "valid",
8934 .field_bit_size = 1,
8935 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8936 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8940 .field_info_spec = {
8941 .description = "valid",
8942 .field_bit_size = 1,
8943 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8944 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
8949 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_wr_vfr */
8951 .field_info_mask = {
8952 .description = "svif",
8953 .field_bit_size = 8,
8954 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8955 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8959 .field_info_spec = {
8960 .description = "svif",
8961 .field_bit_size = 8,
8962 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8963 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8965 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
8966 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
8969 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.rd */
8971 .field_info_mask = {
8972 .description = "svif",
8973 .field_bit_size = 8,
8974 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8975 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
8979 .field_info_spec = {
8980 .description = "svif",
8981 .field_bit_size = 8,
8982 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8983 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
8985 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
8986 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
8989 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.egr_0 */
8991 .field_info_mask = {
8992 .description = "l2_ivlan_vid",
8993 .field_bit_size = 12,
8994 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
8995 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
8997 .field_info_spec = {
8998 .description = "l2_ivlan_vid",
8999 .field_bit_size = 12,
9000 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9001 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9005 .field_info_mask = {
9006 .description = "l2_ovlan_vid",
9007 .field_bit_size = 12,
9008 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9009 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9011 .field_info_spec = {
9012 .description = "l2_ovlan_vid",
9013 .field_bit_size = 12,
9014 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9015 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9019 .field_info_mask = {
9020 .description = "mac0_addr",
9021 .field_bit_size = 48,
9022 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9023 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9025 .field_info_spec = {
9026 .description = "mac0_addr",
9027 .field_bit_size = 48,
9028 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9029 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9033 .field_info_mask = {
9034 .description = "svif",
9035 .field_bit_size = 8,
9036 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9037 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9041 .field_info_spec = {
9042 .description = "svif",
9043 .field_bit_size = 8,
9044 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9045 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9047 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
9048 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
9052 .field_info_mask = {
9053 .description = "sparif",
9054 .field_bit_size = 4,
9055 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9056 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9058 .field_info_spec = {
9059 .description = "sparif",
9060 .field_bit_size = 4,
9061 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9062 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9066 .field_info_mask = {
9067 .description = "tl2_ivlan_vid",
9068 .field_bit_size = 12,
9069 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9070 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9072 .field_info_spec = {
9073 .description = "tl2_ivlan_vid",
9074 .field_bit_size = 12,
9075 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9076 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9080 .field_info_mask = {
9081 .description = "tl2_ovlan_vid",
9082 .field_bit_size = 12,
9083 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9084 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9086 .field_info_spec = {
9087 .description = "tl2_ovlan_vid",
9088 .field_bit_size = 12,
9089 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9090 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9094 .field_info_mask = {
9095 .description = "mac1_addr",
9096 .field_bit_size = 48,
9097 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9098 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9100 .field_info_spec = {
9101 .description = "mac1_addr",
9102 .field_bit_size = 48,
9103 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9104 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9108 .field_info_mask = {
9109 .description = "l2_num_vtags",
9110 .field_bit_size = 2,
9111 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9112 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9114 .field_info_spec = {
9115 .description = "l2_num_vtags",
9116 .field_bit_size = 2,
9117 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9118 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9122 .field_info_mask = {
9123 .description = "tl2_num_vtags",
9124 .field_bit_size = 2,
9125 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9126 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9128 .field_info_spec = {
9129 .description = "tl2_num_vtags",
9130 .field_bit_size = 2,
9131 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9132 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9136 .field_info_mask = {
9137 .description = "tun_hdr_type",
9138 .field_bit_size = 4,
9139 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9140 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9142 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
9144 .field_info_spec = {
9145 .description = "tun_hdr_type",
9146 .field_bit_size = 4,
9147 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9148 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9150 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
9154 .field_info_mask = {
9155 .description = "key_type",
9156 .field_bit_size = 2,
9157 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9158 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9160 .field_info_spec = {
9161 .description = "key_type",
9162 .field_bit_size = 2,
9163 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9164 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9168 .field_info_mask = {
9169 .description = "valid",
9170 .field_bit_size = 1,
9171 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9172 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9176 .field_info_spec = {
9177 .description = "valid",
9178 .field_bit_size = 1,
9179 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9180 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9185 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_wr */
9187 .field_info_mask = {
9188 .description = "svif",
9189 .field_bit_size = 8,
9190 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9191 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9195 .field_info_spec = {
9196 .description = "svif",
9197 .field_bit_size = 8,
9198 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9199 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9201 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
9202 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
9205 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vf_rd_egr */
9207 .field_info_mask = {
9208 .description = "svif",
9209 .field_bit_size = 8,
9210 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9211 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9215 .field_info_spec = {
9216 .description = "svif",
9217 .field_bit_size = 8,
9218 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9219 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9221 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
9222 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
9225 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam.vf_egr */
9227 .field_info_mask = {
9228 .description = "l2_ivlan_vid",
9229 .field_bit_size = 12,
9230 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9231 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9233 .field_info_spec = {
9234 .description = "l2_ivlan_vid",
9235 .field_bit_size = 12,
9236 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9237 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9241 .field_info_mask = {
9242 .description = "l2_ovlan_vid",
9243 .field_bit_size = 12,
9244 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9245 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9247 .field_info_spec = {
9248 .description = "l2_ovlan_vid",
9249 .field_bit_size = 12,
9250 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9251 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9255 .field_info_mask = {
9256 .description = "mac0_addr",
9257 .field_bit_size = 48,
9258 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9259 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9261 .field_info_spec = {
9262 .description = "mac0_addr",
9263 .field_bit_size = 48,
9264 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9265 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9269 .field_info_mask = {
9270 .description = "svif",
9271 .field_bit_size = 8,
9272 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9273 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9277 .field_info_spec = {
9278 .description = "svif",
9279 .field_bit_size = 8,
9280 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9281 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9283 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
9284 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
9288 .field_info_mask = {
9289 .description = "sparif",
9290 .field_bit_size = 4,
9291 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9292 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9294 .field_info_spec = {
9295 .description = "sparif",
9296 .field_bit_size = 4,
9297 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9298 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9302 .field_info_mask = {
9303 .description = "tl2_ivlan_vid",
9304 .field_bit_size = 12,
9305 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9306 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9308 .field_info_spec = {
9309 .description = "tl2_ivlan_vid",
9310 .field_bit_size = 12,
9311 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9312 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9316 .field_info_mask = {
9317 .description = "tl2_ovlan_vid",
9318 .field_bit_size = 12,
9319 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9320 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9322 .field_info_spec = {
9323 .description = "tl2_ovlan_vid",
9324 .field_bit_size = 12,
9325 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9326 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9330 .field_info_mask = {
9331 .description = "mac1_addr",
9332 .field_bit_size = 48,
9333 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9334 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9336 .field_info_spec = {
9337 .description = "mac1_addr",
9338 .field_bit_size = 48,
9339 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9340 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9344 .field_info_mask = {
9345 .description = "l2_num_vtags",
9346 .field_bit_size = 2,
9347 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9348 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9350 .field_info_spec = {
9351 .description = "l2_num_vtags",
9352 .field_bit_size = 2,
9353 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9354 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9358 .field_info_mask = {
9359 .description = "tl2_num_vtags",
9360 .field_bit_size = 2,
9361 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9362 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9364 .field_info_spec = {
9365 .description = "tl2_num_vtags",
9366 .field_bit_size = 2,
9367 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9368 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9372 .field_info_mask = {
9373 .description = "tun_hdr_type",
9374 .field_bit_size = 4,
9375 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9376 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9378 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
9380 .field_info_spec = {
9381 .description = "tun_hdr_type",
9382 .field_bit_size = 4,
9383 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9384 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9386 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
9390 .field_info_mask = {
9391 .description = "key_type",
9392 .field_bit_size = 2,
9393 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9394 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9396 .field_info_spec = {
9397 .description = "key_type",
9398 .field_bit_size = 2,
9399 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9400 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9404 .field_info_mask = {
9405 .description = "valid",
9406 .field_bit_size = 1,
9407 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9408 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9412 .field_info_spec = {
9413 .description = "valid",
9414 .field_bit_size = 1,
9415 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9416 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9421 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vf_egr_wr */
9423 .field_info_mask = {
9424 .description = "svif",
9425 .field_bit_size = 8,
9426 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9427 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9431 .field_info_spec = {
9432 .description = "svif",
9433 .field_bit_size = 8,
9434 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9435 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9437 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
9438 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
9441 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.vf_ing */
9443 .field_info_mask = {
9444 .description = "l2_ivlan_vid",
9445 .field_bit_size = 12,
9446 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9447 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9449 .field_info_spec = {
9450 .description = "l2_ivlan_vid",
9451 .field_bit_size = 12,
9452 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9453 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9457 .field_info_mask = {
9458 .description = "l2_ovlan_vid",
9459 .field_bit_size = 12,
9460 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9461 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9463 .field_info_spec = {
9464 .description = "l2_ovlan_vid",
9465 .field_bit_size = 12,
9466 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9467 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9471 .field_info_mask = {
9472 .description = "mac0_addr",
9473 .field_bit_size = 48,
9474 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9475 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9477 .field_info_spec = {
9478 .description = "mac0_addr",
9479 .field_bit_size = 48,
9480 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9481 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9485 .field_info_mask = {
9486 .description = "svif",
9487 .field_bit_size = 8,
9488 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9489 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9493 .field_info_spec = {
9494 .description = "svif",
9495 .field_bit_size = 8,
9496 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9497 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9499 (BNXT_ULP_CF_IDX_VF_FUNC_SVIF >> 8) & 0xff,
9500 BNXT_ULP_CF_IDX_VF_FUNC_SVIF & 0xff}
9504 .field_info_mask = {
9505 .description = "sparif",
9506 .field_bit_size = 4,
9507 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9508 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9510 .field_info_spec = {
9511 .description = "sparif",
9512 .field_bit_size = 4,
9513 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9514 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9518 .field_info_mask = {
9519 .description = "tl2_ivlan_vid",
9520 .field_bit_size = 12,
9521 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9522 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9524 .field_info_spec = {
9525 .description = "tl2_ivlan_vid",
9526 .field_bit_size = 12,
9527 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9528 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9532 .field_info_mask = {
9533 .description = "tl2_ovlan_vid",
9534 .field_bit_size = 12,
9535 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9536 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9538 .field_info_spec = {
9539 .description = "tl2_ovlan_vid",
9540 .field_bit_size = 12,
9541 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9542 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9546 .field_info_mask = {
9547 .description = "mac1_addr",
9548 .field_bit_size = 48,
9549 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9550 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9552 .field_info_spec = {
9553 .description = "mac1_addr",
9554 .field_bit_size = 48,
9555 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9556 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9560 .field_info_mask = {
9561 .description = "l2_num_vtags",
9562 .field_bit_size = 2,
9563 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9564 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9566 .field_info_spec = {
9567 .description = "l2_num_vtags",
9568 .field_bit_size = 2,
9569 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9570 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9574 .field_info_mask = {
9575 .description = "tl2_num_vtags",
9576 .field_bit_size = 2,
9577 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9578 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9580 .field_info_spec = {
9581 .description = "tl2_num_vtags",
9582 .field_bit_size = 2,
9583 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9584 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9588 .field_info_mask = {
9589 .description = "tun_hdr_type",
9590 .field_bit_size = 4,
9591 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9592 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9594 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
9596 .field_info_spec = {
9597 .description = "tun_hdr_type",
9598 .field_bit_size = 4,
9599 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9600 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9602 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
9606 .field_info_mask = {
9607 .description = "key_type",
9608 .field_bit_size = 2,
9609 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9610 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9612 .field_info_spec = {
9613 .description = "key_type",
9614 .field_bit_size = 2,
9615 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9616 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9620 .field_info_mask = {
9621 .description = "valid",
9622 .field_bit_size = 1,
9623 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9624 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9628 .field_info_spec = {
9629 .description = "valid",
9630 .field_bit_size = 1,
9631 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9632 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9637 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vfr_rd_egr0 */
9639 .field_info_mask = {
9640 .description = "svif",
9641 .field_bit_size = 8,
9642 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9643 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9647 .field_info_spec = {
9648 .description = "svif",
9649 .field_bit_size = 8,
9650 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9651 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9653 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
9654 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
9657 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.vfr_egr0 */
9659 .field_info_mask = {
9660 .description = "l2_ivlan_vid",
9661 .field_bit_size = 12,
9662 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9663 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9665 .field_info_spec = {
9666 .description = "l2_ivlan_vid",
9667 .field_bit_size = 12,
9668 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9669 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9673 .field_info_mask = {
9674 .description = "l2_ovlan_vid",
9675 .field_bit_size = 12,
9676 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9677 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9679 .field_info_spec = {
9680 .description = "l2_ovlan_vid",
9681 .field_bit_size = 12,
9682 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9683 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9687 .field_info_mask = {
9688 .description = "mac0_addr",
9689 .field_bit_size = 48,
9690 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9691 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9693 .field_info_spec = {
9694 .description = "mac0_addr",
9695 .field_bit_size = 48,
9696 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9697 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9701 .field_info_mask = {
9702 .description = "svif",
9703 .field_bit_size = 8,
9704 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9705 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9709 .field_info_spec = {
9710 .description = "svif",
9711 .field_bit_size = 8,
9712 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9713 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9715 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
9716 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
9720 .field_info_mask = {
9721 .description = "sparif",
9722 .field_bit_size = 4,
9723 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9724 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9726 .field_info_spec = {
9727 .description = "sparif",
9728 .field_bit_size = 4,
9729 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9730 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9734 .field_info_mask = {
9735 .description = "tl2_ivlan_vid",
9736 .field_bit_size = 12,
9737 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9738 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9740 .field_info_spec = {
9741 .description = "tl2_ivlan_vid",
9742 .field_bit_size = 12,
9743 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9744 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9748 .field_info_mask = {
9749 .description = "tl2_ovlan_vid",
9750 .field_bit_size = 12,
9751 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9752 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9754 .field_info_spec = {
9755 .description = "tl2_ovlan_vid",
9756 .field_bit_size = 12,
9757 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9758 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9762 .field_info_mask = {
9763 .description = "mac1_addr",
9764 .field_bit_size = 48,
9765 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9766 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9768 .field_info_spec = {
9769 .description = "mac1_addr",
9770 .field_bit_size = 48,
9771 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9772 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9776 .field_info_mask = {
9777 .description = "l2_num_vtags",
9778 .field_bit_size = 2,
9779 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9780 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9782 .field_info_spec = {
9783 .description = "l2_num_vtags",
9784 .field_bit_size = 2,
9785 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9786 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9790 .field_info_mask = {
9791 .description = "tl2_num_vtags",
9792 .field_bit_size = 2,
9793 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9794 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9796 .field_info_spec = {
9797 .description = "tl2_num_vtags",
9798 .field_bit_size = 2,
9799 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9800 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9804 .field_info_mask = {
9805 .description = "tun_hdr_type",
9806 .field_bit_size = 4,
9807 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9808 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9810 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
9812 .field_info_spec = {
9813 .description = "tun_hdr_type",
9814 .field_bit_size = 4,
9815 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9816 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9818 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
9822 .field_info_mask = {
9823 .description = "key_type",
9824 .field_bit_size = 2,
9825 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9826 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9828 .field_info_spec = {
9829 .description = "key_type",
9830 .field_bit_size = 2,
9831 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9832 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9836 .field_info_mask = {
9837 .description = "valid",
9838 .field_bit_size = 1,
9839 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9840 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9844 .field_info_spec = {
9845 .description = "valid",
9846 .field_bit_size = 1,
9847 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9848 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
9853 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vfr_wr_egr0 */
9855 .field_info_mask = {
9856 .description = "svif",
9857 .field_bit_size = 8,
9858 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9859 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9863 .field_info_spec = {
9864 .description = "svif",
9865 .field_bit_size = 8,
9866 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9867 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9869 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
9870 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
9873 /* class_tid: 4, table: l2_cntxt_tcam_bypass.vfr_dtagged_ing0 */
9875 .field_info_mask = {
9876 .description = "l2_ivlan_vid",
9877 .field_bit_size = 12,
9878 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9879 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9881 .field_info_spec = {
9882 .description = "l2_ivlan_vid",
9883 .field_bit_size = 12,
9884 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9885 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9889 .field_info_mask = {
9890 .description = "l2_ovlan_vid",
9891 .field_bit_size = 12,
9892 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9893 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9898 .field_info_spec = {
9899 .description = "l2_ovlan_vid",
9900 .field_bit_size = 12,
9901 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9902 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9904 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
9905 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
9909 .field_info_mask = {
9910 .description = "mac0_addr",
9911 .field_bit_size = 48,
9912 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9913 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9915 .field_info_spec = {
9916 .description = "mac0_addr",
9917 .field_bit_size = 48,
9918 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9919 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9923 .field_info_mask = {
9924 .description = "svif",
9925 .field_bit_size = 8,
9926 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9927 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
9931 .field_info_spec = {
9932 .description = "svif",
9933 .field_bit_size = 8,
9934 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9935 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
9937 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
9938 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
9942 .field_info_mask = {
9943 .description = "sparif",
9944 .field_bit_size = 4,
9945 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9946 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9948 .field_info_spec = {
9949 .description = "sparif",
9950 .field_bit_size = 4,
9951 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9952 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9956 .field_info_mask = {
9957 .description = "tl2_ivlan_vid",
9958 .field_bit_size = 12,
9959 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9960 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9962 .field_info_spec = {
9963 .description = "tl2_ivlan_vid",
9964 .field_bit_size = 12,
9965 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9966 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9970 .field_info_mask = {
9971 .description = "tl2_ovlan_vid",
9972 .field_bit_size = 12,
9973 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9974 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9976 .field_info_spec = {
9977 .description = "tl2_ovlan_vid",
9978 .field_bit_size = 12,
9979 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9980 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9984 .field_info_mask = {
9985 .description = "mac1_addr",
9986 .field_bit_size = 48,
9987 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9988 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9990 .field_info_spec = {
9991 .description = "mac1_addr",
9992 .field_bit_size = 48,
9993 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
9994 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
9998 .field_info_mask = {
9999 .description = "l2_num_vtags",
10000 .field_bit_size = 2,
10001 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10002 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10006 .field_info_spec = {
10007 .description = "l2_num_vtags",
10008 .field_bit_size = 2,
10009 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10010 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10016 .field_info_mask = {
10017 .description = "tl2_num_vtags",
10018 .field_bit_size = 2,
10019 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10020 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10022 .field_info_spec = {
10023 .description = "tl2_num_vtags",
10024 .field_bit_size = 2,
10025 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10026 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10030 .field_info_mask = {
10031 .description = "tun_hdr_type",
10032 .field_bit_size = 4,
10033 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10034 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10038 .field_info_spec = {
10039 .description = "tun_hdr_type",
10040 .field_bit_size = 4,
10041 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10042 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10044 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
10048 .field_info_mask = {
10049 .description = "key_type",
10050 .field_bit_size = 2,
10051 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10052 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10054 .field_info_spec = {
10055 .description = "key_type",
10056 .field_bit_size = 2,
10057 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10058 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10062 .field_info_mask = {
10063 .description = "valid",
10064 .field_bit_size = 1,
10065 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10066 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10070 .field_info_spec = {
10071 .description = "valid",
10072 .field_bit_size = 1,
10073 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10074 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10079 /* class_tid: 4, table: l2_cntxt_tcam_bypass.vfr_stagged_ing0 */
10081 .field_info_mask = {
10082 .description = "l2_ivlan_vid",
10083 .field_bit_size = 12,
10084 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10085 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10090 .field_info_spec = {
10091 .description = "l2_ivlan_vid",
10092 .field_bit_size = 12,
10093 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10094 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10096 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
10097 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
10101 .field_info_mask = {
10102 .description = "l2_ovlan_vid",
10103 .field_bit_size = 12,
10104 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10105 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10107 .field_info_spec = {
10108 .description = "l2_ovlan_vid",
10109 .field_bit_size = 12,
10110 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10111 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10115 .field_info_mask = {
10116 .description = "mac0_addr",
10117 .field_bit_size = 48,
10118 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10119 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10121 .field_info_spec = {
10122 .description = "mac0_addr",
10123 .field_bit_size = 48,
10124 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10125 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10129 .field_info_mask = {
10130 .description = "svif",
10131 .field_bit_size = 8,
10132 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10133 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10137 .field_info_spec = {
10138 .description = "svif",
10139 .field_bit_size = 8,
10140 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10141 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10143 (BNXT_ULP_CF_IDX_DRV_FUNC_SVIF >> 8) & 0xff,
10144 BNXT_ULP_CF_IDX_DRV_FUNC_SVIF & 0xff}
10148 .field_info_mask = {
10149 .description = "sparif",
10150 .field_bit_size = 4,
10151 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10152 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10154 .field_info_spec = {
10155 .description = "sparif",
10156 .field_bit_size = 4,
10157 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10158 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10162 .field_info_mask = {
10163 .description = "tl2_ivlan_vid",
10164 .field_bit_size = 12,
10165 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10166 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10168 .field_info_spec = {
10169 .description = "tl2_ivlan_vid",
10170 .field_bit_size = 12,
10171 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10172 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10176 .field_info_mask = {
10177 .description = "tl2_ovlan_vid",
10178 .field_bit_size = 12,
10179 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10180 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10182 .field_info_spec = {
10183 .description = "tl2_ovlan_vid",
10184 .field_bit_size = 12,
10185 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10186 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10190 .field_info_mask = {
10191 .description = "mac1_addr",
10192 .field_bit_size = 48,
10193 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10194 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10196 .field_info_spec = {
10197 .description = "mac1_addr",
10198 .field_bit_size = 48,
10199 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10200 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10204 .field_info_mask = {
10205 .description = "l2_num_vtags",
10206 .field_bit_size = 2,
10207 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10208 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10212 .field_info_spec = {
10213 .description = "l2_num_vtags",
10214 .field_bit_size = 2,
10215 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10216 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10222 .field_info_mask = {
10223 .description = "tl2_num_vtags",
10224 .field_bit_size = 2,
10225 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10226 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10228 .field_info_spec = {
10229 .description = "tl2_num_vtags",
10230 .field_bit_size = 2,
10231 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10232 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10236 .field_info_mask = {
10237 .description = "tun_hdr_type",
10238 .field_bit_size = 4,
10239 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10240 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
10244 .field_info_spec = {
10245 .description = "tun_hdr_type",
10246 .field_bit_size = 4,
10247 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10248 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10250 ULP_WP_SYM_TUN_HDR_TYPE_NONE}
10254 .field_info_mask = {
10255 .description = "key_type",
10256 .field_bit_size = 2,
10257 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10258 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10260 .field_info_spec = {
10261 .description = "key_type",
10262 .field_bit_size = 2,
10263 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10264 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10268 .field_info_mask = {
10269 .description = "valid",
10270 .field_bit_size = 1,
10271 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10272 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10276 .field_info_spec = {
10277 .description = "valid",
10278 .field_bit_size = 1,
10279 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10280 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10287 struct bnxt_ulp_mapper_field_info ulp_wh_plus_class_result_field_list[] = {
10288 /* class_tid: 1, wh_plus, table: l2_cntxt_tcam.0 */
10290 .description = "l2_cntxt_id",
10291 .field_bit_size = 10,
10292 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10293 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10295 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
10296 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
10299 .description = "prof_func_id",
10300 .field_bit_size = 7,
10301 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10302 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
10304 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
10305 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}
10308 .description = "l2_byp_lkup_en",
10309 .field_bit_size = 1,
10310 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10311 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10314 .description = "parif",
10315 .field_bit_size = 4,
10316 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10317 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10319 (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
10320 BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
10323 .description = "allowed_pri",
10324 .field_bit_size = 8,
10325 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10326 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10329 .description = "default_pri",
10330 .field_bit_size = 3,
10331 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10332 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10335 .description = "allowed_tpid",
10336 .field_bit_size = 6,
10337 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10338 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10341 .description = "default_tpid",
10342 .field_bit_size = 3,
10343 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10344 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10347 .description = "bd_act_en",
10348 .field_bit_size = 1,
10349 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10350 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10353 .description = "sp_rec_ptr",
10354 .field_bit_size = 16,
10355 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10356 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10359 .description = "byp_sp_lkup",
10360 .field_bit_size = 1,
10361 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10362 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10367 .description = "pri_anti_spoof_ctl",
10368 .field_bit_size = 2,
10369 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10370 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10373 .description = "tpid_anti_spoof_ctl",
10374 .field_bit_size = 2,
10375 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10376 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10378 /* class_tid: 1, wh_plus, table: mac_addr_cache.wr */
10380 .description = "rid",
10381 .field_bit_size = 32,
10382 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10383 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10385 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
10386 BNXT_ULP_RF_IDX_RID & 0xff}
10389 .description = "l2_cntxt_tcam_index",
10390 .field_bit_size = 10,
10391 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10392 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10395 .description = "l2_cntxt_id",
10396 .field_bit_size = 10,
10397 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10398 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10400 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
10401 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
10404 .description = "src_property_ptr",
10405 .field_bit_size = 10,
10406 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10407 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10409 /* class_tid: 1, wh_plus, table: profile_tcam.ipv4 */
10411 .description = "wc_key_id",
10412 .field_bit_size = 4,
10413 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10414 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10417 .description = "wc_profile_id",
10418 .field_bit_size = 8,
10419 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10420 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10423 .description = "wc_search_en",
10424 .field_bit_size = 1,
10425 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10426 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10429 .description = "em_key_mask.0",
10430 .field_bit_size = 1,
10431 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10432 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10437 .description = "em_key_mask.1",
10438 .field_bit_size = 1,
10439 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10440 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10442 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
10443 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
10446 .description = "em_key_mask.2",
10447 .field_bit_size = 1,
10448 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10449 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10451 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
10452 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
10455 .description = "em_key_mask.3",
10456 .field_bit_size = 1,
10457 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10458 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10460 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
10461 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
10464 .description = "em_key_mask.4",
10465 .field_bit_size = 1,
10466 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10467 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10469 (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
10470 BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}
10473 .description = "em_key_mask.5",
10474 .field_bit_size = 1,
10475 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
10476 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10478 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
10479 BNXT_ULP_CF_IDX_O_L4 & 0xff},
10480 .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10482 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
10483 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
10484 .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10486 (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
10487 BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}
10490 .description = "em_key_mask.6",
10491 .field_bit_size = 1,
10492 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
10493 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10495 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
10496 BNXT_ULP_CF_IDX_O_L4 & 0xff},
10497 .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10499 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
10500 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
10501 .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10503 (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
10504 BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}
10507 .description = "em_key_mask.7",
10508 .field_bit_size = 1,
10509 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10510 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10513 .description = "em_key_mask.8",
10514 .field_bit_size = 1,
10515 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10516 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10519 .description = "em_key_mask.9",
10520 .field_bit_size = 1,
10521 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10522 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10525 .description = "em_key_id",
10526 .field_bit_size = 5,
10527 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10528 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10533 .description = "em_profile_id",
10534 .field_bit_size = 8,
10535 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10536 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10538 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
10539 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
10542 .description = "em_search_en",
10543 .field_bit_size = 1,
10544 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10545 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10550 .description = "pl_byp_lkup_en",
10551 .field_bit_size = 1,
10552 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10553 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10555 /* class_tid: 1, wh_plus, table: profile_tcam.ipv6 */
10557 .description = "wc_key_id",
10558 .field_bit_size = 4,
10559 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10560 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10563 .description = "wc_profile_id",
10564 .field_bit_size = 8,
10565 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10566 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10569 .description = "wc_search_en",
10570 .field_bit_size = 1,
10571 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10572 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10575 .description = "em_key_mask.0",
10576 .field_bit_size = 1,
10577 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10578 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10583 .description = "em_key_mask.1",
10584 .field_bit_size = 1,
10585 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10586 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10589 .description = "em_key_mask.2",
10590 .field_bit_size = 1,
10591 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10592 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10594 (BNXT_ULP_GLB_HF_ID_O_ETH_SMAC >> 8) & 0xff,
10595 BNXT_ULP_GLB_HF_ID_O_ETH_SMAC & 0xff}
10598 .description = "em_key_mask.3",
10599 .field_bit_size = 1,
10600 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10601 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10603 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
10604 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
10607 .description = "em_key_mask.4",
10608 .field_bit_size = 1,
10609 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10610 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10612 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
10613 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
10616 .description = "em_key_mask.5",
10617 .field_bit_size = 1,
10618 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10619 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10621 (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
10622 BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}
10625 .description = "em_key_mask.6",
10626 .field_bit_size = 1,
10627 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
10628 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10630 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
10631 BNXT_ULP_CF_IDX_O_L4 & 0xff},
10632 .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10634 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
10635 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
10636 .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10638 (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
10639 BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}
10642 .description = "em_key_mask.7",
10643 .field_bit_size = 1,
10644 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
10645 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10647 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
10648 BNXT_ULP_CF_IDX_O_L4 & 0xff},
10649 .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10651 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
10652 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
10653 .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
10655 (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
10656 BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}
10659 .description = "em_key_mask.8",
10660 .field_bit_size = 1,
10661 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10662 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10665 .description = "em_key_mask.9",
10666 .field_bit_size = 1,
10667 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10668 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10671 .description = "em_key_id",
10672 .field_bit_size = 5,
10673 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10674 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10679 .description = "em_profile_id",
10680 .field_bit_size = 8,
10681 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10682 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10684 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
10685 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
10688 .description = "em_search_en",
10689 .field_bit_size = 1,
10690 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10691 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10696 .description = "pl_byp_lkup_en",
10697 .field_bit_size = 1,
10698 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10699 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10701 /* class_tid: 1, wh_plus, table: profile_tcam.ipv4_vxlan */
10703 .description = "wc_key_id",
10704 .field_bit_size = 4,
10705 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10706 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10709 .description = "wc_profile_id",
10710 .field_bit_size = 8,
10711 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10712 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10715 .description = "wc_search_en",
10716 .field_bit_size = 1,
10717 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10718 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10721 .description = "em_key_mask.0",
10722 .field_bit_size = 1,
10723 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10724 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10729 .description = "em_key_mask.1",
10730 .field_bit_size = 1,
10731 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10732 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10735 .description = "em_key_mask.2",
10736 .field_bit_size = 1,
10737 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10738 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10741 .description = "em_key_mask.3",
10742 .field_bit_size = 1,
10743 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10744 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10747 .description = "em_key_mask.4",
10748 .field_bit_size = 1,
10749 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10750 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10755 .description = "em_key_mask.5",
10756 .field_bit_size = 1,
10757 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10758 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10763 .description = "em_key_mask.6",
10764 .field_bit_size = 1,
10765 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10766 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10771 .description = "em_key_mask.7",
10772 .field_bit_size = 1,
10773 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10774 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10777 .description = "em_key_mask.8",
10778 .field_bit_size = 1,
10779 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10780 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10783 .description = "em_key_mask.9",
10784 .field_bit_size = 1,
10785 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10786 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10789 .description = "em_key_id",
10790 .field_bit_size = 5,
10791 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10792 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10797 .description = "em_profile_id",
10798 .field_bit_size = 8,
10799 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10800 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10802 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
10803 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
10806 .description = "em_search_en",
10807 .field_bit_size = 1,
10808 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10809 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10814 .description = "pl_byp_lkup_en",
10815 .field_bit_size = 1,
10816 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10817 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10819 /* class_tid: 1, wh_plus, table: profile_tcam_cache.wr */
10821 .description = "rid",
10822 .field_bit_size = 32,
10823 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10824 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10826 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
10827 BNXT_ULP_RF_IDX_RID & 0xff}
10830 .description = "profile_tcam_index",
10831 .field_bit_size = 10,
10832 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10833 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10835 (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
10836 BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff}
10839 .description = "em_profile_id",
10840 .field_bit_size = 8,
10841 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10842 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10844 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
10845 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
10848 .description = "wc_profile_id",
10849 .field_bit_size = 8,
10850 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10851 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10854 .description = "flow_sig_id",
10855 .field_bit_size = 32,
10856 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10857 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
10859 (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff,
10860 BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff}
10862 /* class_tid: 1, wh_plus, table: em.ipv4 */
10864 .description = "act_rec_ptr",
10865 .field_bit_size = 33,
10866 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10867 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10869 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
10870 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
10873 .description = "ext_flow_cntr",
10874 .field_bit_size = 1,
10875 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10876 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10879 .description = "act_rec_int",
10880 .field_bit_size = 1,
10881 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10882 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10885 .description = "act_rec_size",
10886 .field_bit_size = 5,
10887 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10888 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10891 .description = "key_size",
10892 .field_bit_size = 9,
10893 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10894 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10897 .description = "reserved",
10898 .field_bit_size = 11,
10899 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10900 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10903 .description = "strength",
10904 .field_bit_size = 2,
10905 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10906 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10911 .description = "l1_cacheable",
10912 .field_bit_size = 1,
10913 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10914 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10917 .description = "valid",
10918 .field_bit_size = 1,
10919 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10920 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10924 /* class_tid: 1, wh_plus, table: eem.ipv4 */
10926 .description = "act_rec_ptr",
10927 .field_bit_size = 33,
10928 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10929 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10931 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
10932 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
10935 .description = "ext_flow_cntr",
10936 .field_bit_size = 1,
10937 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10938 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10941 .description = "act_rec_int",
10942 .field_bit_size = 1,
10943 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10944 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10947 .description = "act_rec_size",
10948 .field_bit_size = 5,
10949 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10950 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10952 (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
10953 BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
10956 .description = "key_size",
10957 .field_bit_size = 9,
10958 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10959 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10965 .description = "reserved",
10966 .field_bit_size = 11,
10967 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10968 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10971 .description = "strength",
10972 .field_bit_size = 2,
10973 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10974 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10979 .description = "l1_cacheable",
10980 .field_bit_size = 1,
10981 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10982 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
10985 .description = "valid",
10986 .field_bit_size = 1,
10987 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10988 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
10992 /* class_tid: 1, wh_plus, table: em.ipv6 */
10994 .description = "act_rec_ptr",
10995 .field_bit_size = 33,
10996 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
10997 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
10999 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
11000 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
11003 .description = "ext_flow_cntr",
11004 .field_bit_size = 1,
11005 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11006 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11009 .description = "act_rec_int",
11010 .field_bit_size = 1,
11011 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11012 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11015 .description = "act_rec_size",
11016 .field_bit_size = 5,
11017 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11018 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11021 .description = "key_size",
11022 .field_bit_size = 9,
11023 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11024 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11027 .description = "reserved",
11028 .field_bit_size = 11,
11029 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11030 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11033 .description = "strength",
11034 .field_bit_size = 2,
11035 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11036 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11041 .description = "l1_cacheable",
11042 .field_bit_size = 1,
11043 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11044 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11047 .description = "valid",
11048 .field_bit_size = 1,
11049 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11050 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11054 /* class_tid: 1, wh_plus, table: eem.ipv6 */
11056 .description = "act_rec_ptr",
11057 .field_bit_size = 33,
11058 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11059 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11061 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
11062 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
11065 .description = "ext_flow_cntr",
11066 .field_bit_size = 1,
11067 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11068 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11071 .description = "act_rec_int",
11072 .field_bit_size = 1,
11073 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11074 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11077 .description = "act_rec_size",
11078 .field_bit_size = 5,
11079 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11080 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11082 (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
11083 BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
11086 .description = "key_size",
11087 .field_bit_size = 9,
11088 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11089 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11095 .description = "reserved",
11096 .field_bit_size = 11,
11097 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11098 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11101 .description = "strength",
11102 .field_bit_size = 2,
11103 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11104 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11109 .description = "l1_cacheable",
11110 .field_bit_size = 1,
11111 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11112 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11115 .description = "valid",
11116 .field_bit_size = 1,
11117 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11118 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11122 /* class_tid: 1, wh_plus, table: em.vxlan */
11124 .description = "act_rec_ptr",
11125 .field_bit_size = 33,
11126 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11127 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11129 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
11130 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
11133 .description = "ext_flow_cntr",
11134 .field_bit_size = 1,
11135 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11136 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11139 .description = "act_rec_int",
11140 .field_bit_size = 1,
11141 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11142 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11145 .description = "act_rec_size",
11146 .field_bit_size = 5,
11147 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11148 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11151 .description = "key_size",
11152 .field_bit_size = 9,
11153 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11154 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11157 .description = "reserved",
11158 .field_bit_size = 11,
11159 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11160 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11163 .description = "strength",
11164 .field_bit_size = 2,
11165 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11166 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11171 .description = "l1_cacheable",
11172 .field_bit_size = 1,
11173 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11174 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11177 .description = "valid",
11178 .field_bit_size = 1,
11179 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11180 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11184 /* class_tid: 1, wh_plus, table: eem.vxlan */
11186 .description = "act_rec_ptr",
11187 .field_bit_size = 33,
11188 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11189 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11191 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
11192 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
11195 .description = "ext_flow_cntr",
11196 .field_bit_size = 1,
11197 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11198 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11201 .description = "act_rec_int",
11202 .field_bit_size = 1,
11203 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11204 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11207 .description = "act_rec_size",
11208 .field_bit_size = 5,
11209 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11210 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11212 (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
11213 BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
11216 .description = "key_size",
11217 .field_bit_size = 9,
11218 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11219 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11225 .description = "reserved",
11226 .field_bit_size = 11,
11227 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11228 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11231 .description = "strength",
11232 .field_bit_size = 2,
11233 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11234 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11239 .description = "l1_cacheable",
11240 .field_bit_size = 1,
11241 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11242 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11245 .description = "valid",
11246 .field_bit_size = 1,
11247 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11248 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11252 /* class_tid: 2, wh_plus, table: l2_cntxt_tcam.0 */
11254 .description = "l2_cntxt_id",
11255 .field_bit_size = 10,
11256 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11257 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11259 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
11260 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
11263 .description = "prof_func_id",
11264 .field_bit_size = 7,
11265 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11266 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
11268 (BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID >> 8) & 0xff,
11269 BNXT_ULP_GLB_RF_IDX_L2_PROF_FUNC_ID & 0xff}
11272 .description = "l2_byp_lkup_en",
11273 .field_bit_size = 1,
11274 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11275 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11278 .description = "parif",
11279 .field_bit_size = 4,
11280 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
11281 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11283 (BNXT_ULP_CF_IDX_MATCH_PORT_IS_VFREP >> 8) & 0xff,
11284 BNXT_ULP_CF_IDX_MATCH_PORT_IS_VFREP & 0xff},
11285 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
11287 ULP_WP_SYM_LOOPBACK_PARIF},
11288 .field_src3 = BNXT_ULP_FIELD_SRC_CF,
11290 (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
11291 BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
11294 .description = "allowed_pri",
11295 .field_bit_size = 8,
11296 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11297 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11300 .description = "default_pri",
11301 .field_bit_size = 3,
11302 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11303 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11306 .description = "allowed_tpid",
11307 .field_bit_size = 6,
11308 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11309 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11312 .description = "default_tpid",
11313 .field_bit_size = 3,
11314 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11315 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11318 .description = "bd_act_en",
11319 .field_bit_size = 1,
11320 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11321 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11324 .description = "sp_rec_ptr",
11325 .field_bit_size = 16,
11326 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11327 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11329 (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff,
11330 BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff}
11333 .description = "byp_sp_lkup",
11334 .field_bit_size = 1,
11335 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11336 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11341 .description = "pri_anti_spoof_ctl",
11342 .field_bit_size = 2,
11343 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11344 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11347 .description = "tpid_anti_spoof_ctl",
11348 .field_bit_size = 2,
11349 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11350 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11352 /* class_tid: 2, wh_plus, table: mac_addr_cache.wr */
11354 .description = "rid",
11355 .field_bit_size = 32,
11356 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11357 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11359 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
11360 BNXT_ULP_RF_IDX_RID & 0xff}
11363 .description = "l2_cntxt_tcam_index",
11364 .field_bit_size = 10,
11365 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11366 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11368 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
11369 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
11372 .description = "l2_cntxt_id",
11373 .field_bit_size = 10,
11374 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11375 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11377 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
11378 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
11381 .description = "src_property_ptr",
11382 .field_bit_size = 10,
11383 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11384 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11386 /* class_tid: 2, wh_plus, table: profile_tcam.ipv4 */
11388 .description = "wc_key_id",
11389 .field_bit_size = 4,
11390 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11391 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11394 .description = "wc_profile_id",
11395 .field_bit_size = 8,
11396 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11397 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11400 .description = "wc_search_en",
11401 .field_bit_size = 1,
11402 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11403 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11406 .description = "em_key_mask.0",
11407 .field_bit_size = 1,
11408 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11409 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11414 .description = "em_key_mask.1",
11415 .field_bit_size = 1,
11416 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11417 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11419 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
11420 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
11423 .description = "em_key_mask.2",
11424 .field_bit_size = 1,
11425 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11426 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11428 (BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR >> 8) & 0xff,
11429 BNXT_ULP_GLB_HF_ID_O_IPV4_SRC_ADDR & 0xff}
11432 .description = "em_key_mask.3",
11433 .field_bit_size = 1,
11434 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11435 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11437 (BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR >> 8) & 0xff,
11438 BNXT_ULP_GLB_HF_ID_O_IPV4_DST_ADDR & 0xff}
11441 .description = "em_key_mask.4",
11442 .field_bit_size = 1,
11443 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11444 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11446 (BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID >> 8) & 0xff,
11447 BNXT_ULP_GLB_HF_ID_O_IPV4_PROTO_ID & 0xff}
11450 .description = "em_key_mask.5",
11451 .field_bit_size = 1,
11452 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
11453 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11455 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
11456 BNXT_ULP_CF_IDX_O_L4 & 0xff},
11457 .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11459 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
11460 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
11461 .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11463 (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
11464 BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}
11467 .description = "em_key_mask.6",
11468 .field_bit_size = 1,
11469 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
11470 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11472 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
11473 BNXT_ULP_CF_IDX_O_L4 & 0xff},
11474 .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11476 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
11477 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
11478 .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11480 (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
11481 BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}
11484 .description = "em_key_mask.7",
11485 .field_bit_size = 1,
11486 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11487 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11490 .description = "em_key_mask.8",
11491 .field_bit_size = 1,
11492 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11493 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11496 .description = "em_key_mask.9",
11497 .field_bit_size = 1,
11498 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11499 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11502 .description = "em_key_id",
11503 .field_bit_size = 5,
11504 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11505 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11510 .description = "em_profile_id",
11511 .field_bit_size = 8,
11512 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11513 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11515 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
11516 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
11519 .description = "em_search_en",
11520 .field_bit_size = 1,
11521 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11522 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11527 .description = "pl_byp_lkup_en",
11528 .field_bit_size = 1,
11529 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11530 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11532 /* class_tid: 2, wh_plus, table: profile_tcam.ipv6 */
11534 .description = "wc_key_id",
11535 .field_bit_size = 4,
11536 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11537 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11540 .description = "wc_profile_id",
11541 .field_bit_size = 8,
11542 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11543 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11546 .description = "wc_search_en",
11547 .field_bit_size = 1,
11548 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11549 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11552 .description = "em_key_mask.0",
11553 .field_bit_size = 1,
11554 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11555 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11560 .description = "em_key_mask.1",
11561 .field_bit_size = 1,
11562 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11563 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11565 (BNXT_ULP_GLB_HF_ID_O_ETH_DMAC >> 8) & 0xff,
11566 BNXT_ULP_GLB_HF_ID_O_ETH_DMAC & 0xff}
11569 .description = "em_key_mask.2",
11570 .field_bit_size = 1,
11571 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11572 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11575 .description = "em_key_mask.3",
11576 .field_bit_size = 1,
11577 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11578 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11580 (BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR >> 8) & 0xff,
11581 BNXT_ULP_GLB_HF_ID_O_IPV6_SRC_ADDR & 0xff}
11584 .description = "em_key_mask.4",
11585 .field_bit_size = 1,
11586 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11587 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11589 (BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR >> 8) & 0xff,
11590 BNXT_ULP_GLB_HF_ID_O_IPV6_DST_ADDR & 0xff}
11593 .description = "em_key_mask.5",
11594 .field_bit_size = 1,
11595 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11596 .field_src1 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11598 (BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID >> 8) & 0xff,
11599 BNXT_ULP_GLB_HF_ID_O_IPV6_PROTO_ID & 0xff}
11602 .description = "em_key_mask.6",
11603 .field_bit_size = 1,
11604 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
11605 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11607 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
11608 BNXT_ULP_CF_IDX_O_L4 & 0xff},
11609 .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11611 (BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT >> 8) & 0xff,
11612 BNXT_ULP_GLB_HF_ID_O_UDP_SRC_PORT & 0xff},
11613 .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11615 (BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT >> 8) & 0xff,
11616 BNXT_ULP_GLB_HF_ID_O_TCP_SRC_PORT & 0xff}
11619 .description = "em_key_mask.7",
11620 .field_bit_size = 1,
11621 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_AND_SRC2_OR_SRC3,
11622 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11624 (BNXT_ULP_CF_IDX_O_L4 >> 8) & 0xff,
11625 BNXT_ULP_CF_IDX_O_L4 & 0xff},
11626 .field_src2 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11628 (BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT >> 8) & 0xff,
11629 BNXT_ULP_GLB_HF_ID_O_UDP_DST_PORT & 0xff},
11630 .field_src3 = BNXT_ULP_FIELD_SRC_FIELD_BIT,
11632 (BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT >> 8) & 0xff,
11633 BNXT_ULP_GLB_HF_ID_O_TCP_DST_PORT & 0xff}
11636 .description = "em_key_mask.8",
11637 .field_bit_size = 1,
11638 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11639 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11642 .description = "em_key_mask.9",
11643 .field_bit_size = 1,
11644 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11645 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11648 .description = "em_key_id",
11649 .field_bit_size = 5,
11650 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11651 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11656 .description = "em_profile_id",
11657 .field_bit_size = 8,
11658 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11659 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11661 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
11662 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
11665 .description = "em_search_en",
11666 .field_bit_size = 1,
11667 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11668 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11673 .description = "pl_byp_lkup_en",
11674 .field_bit_size = 1,
11675 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11676 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11678 /* class_tid: 2, wh_plus, table: profile_tcam_cache.wr */
11680 .description = "rid",
11681 .field_bit_size = 32,
11682 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11683 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11685 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
11686 BNXT_ULP_RF_IDX_RID & 0xff}
11689 .description = "profile_tcam_index",
11690 .field_bit_size = 10,
11691 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11692 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11694 (BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 >> 8) & 0xff,
11695 BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0 & 0xff}
11698 .description = "em_profile_id",
11699 .field_bit_size = 8,
11700 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11701 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11703 (BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 >> 8) & 0xff,
11704 BNXT_ULP_RF_IDX_EM_PROFILE_ID_0 & 0xff}
11707 .description = "wc_profile_id",
11708 .field_bit_size = 8,
11709 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11710 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11713 .description = "flow_sig_id",
11714 .field_bit_size = 32,
11715 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11716 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
11718 (BNXT_ULP_CF_IDX_FLOW_SIG_ID >> 8) & 0xff,
11719 BNXT_ULP_CF_IDX_FLOW_SIG_ID & 0xff}
11721 /* class_tid: 2, wh_plus, table: em.ipv4 */
11723 .description = "act_rec_ptr",
11724 .field_bit_size = 33,
11725 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11726 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11728 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
11729 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
11732 .description = "ext_flow_cntr",
11733 .field_bit_size = 1,
11734 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11735 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11738 .description = "act_rec_int",
11739 .field_bit_size = 1,
11740 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11741 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11744 .description = "act_rec_size",
11745 .field_bit_size = 5,
11746 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11747 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11750 .description = "key_size",
11751 .field_bit_size = 9,
11752 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11753 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11756 .description = "reserved",
11757 .field_bit_size = 11,
11758 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11759 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11762 .description = "strength",
11763 .field_bit_size = 2,
11764 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11765 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11770 .description = "l1_cacheable",
11771 .field_bit_size = 1,
11772 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11773 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11776 .description = "valid",
11777 .field_bit_size = 1,
11778 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11779 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11783 /* class_tid: 2, wh_plus, table: eem.ipv4 */
11785 .description = "act_rec_ptr",
11786 .field_bit_size = 33,
11787 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11788 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11790 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
11791 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
11794 .description = "ext_flow_cntr",
11795 .field_bit_size = 1,
11796 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11797 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11800 .description = "act_rec_int",
11801 .field_bit_size = 1,
11802 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11803 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11806 .description = "act_rec_size",
11807 .field_bit_size = 5,
11808 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11809 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11811 (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
11812 BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
11815 .description = "key_size",
11816 .field_bit_size = 9,
11817 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11818 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11824 .description = "reserved",
11825 .field_bit_size = 11,
11826 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11827 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11830 .description = "strength",
11831 .field_bit_size = 2,
11832 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11833 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11838 .description = "l1_cacheable",
11839 .field_bit_size = 1,
11840 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11841 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11844 .description = "valid",
11845 .field_bit_size = 1,
11846 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11847 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11851 /* class_tid: 2, wh_plus, table: em.ipv6 */
11853 .description = "act_rec_ptr",
11854 .field_bit_size = 33,
11855 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11856 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11858 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
11859 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
11862 .description = "ext_flow_cntr",
11863 .field_bit_size = 1,
11864 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11865 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11868 .description = "act_rec_int",
11869 .field_bit_size = 1,
11870 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11871 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11874 .description = "act_rec_size",
11875 .field_bit_size = 5,
11876 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11877 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11880 .description = "key_size",
11881 .field_bit_size = 9,
11882 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11883 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11886 .description = "reserved",
11887 .field_bit_size = 11,
11888 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11889 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11892 .description = "strength",
11893 .field_bit_size = 2,
11894 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11895 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11900 .description = "l1_cacheable",
11901 .field_bit_size = 1,
11902 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11903 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11906 .description = "valid",
11907 .field_bit_size = 1,
11908 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11909 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11913 /* class_tid: 2, wh_plus, table: eem.ipv6 */
11915 .description = "act_rec_ptr",
11916 .field_bit_size = 33,
11917 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11918 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11920 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
11921 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
11924 .description = "ext_flow_cntr",
11925 .field_bit_size = 1,
11926 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11927 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11930 .description = "act_rec_int",
11931 .field_bit_size = 1,
11932 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11933 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11936 .description = "act_rec_size",
11937 .field_bit_size = 5,
11938 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11939 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
11941 (BNXT_ULP_RF_IDX_ACTION_REC_SIZE >> 8) & 0xff,
11942 BNXT_ULP_RF_IDX_ACTION_REC_SIZE & 0xff}
11945 .description = "key_size",
11946 .field_bit_size = 9,
11947 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11948 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11954 .description = "reserved",
11955 .field_bit_size = 11,
11956 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11957 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11960 .description = "strength",
11961 .field_bit_size = 2,
11962 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11963 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11968 .description = "l1_cacheable",
11969 .field_bit_size = 1,
11970 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11971 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11974 .description = "valid",
11975 .field_bit_size = 1,
11976 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11977 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
11981 /* class_tid: 3, wh_plus, table: int_full_act_record.ing_0 */
11983 .description = "flow_cntr_ptr",
11984 .field_bit_size = 14,
11985 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11986 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11989 .description = "age_enable",
11990 .field_bit_size = 1,
11991 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11992 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
11995 .description = "agg_cntr_en",
11996 .field_bit_size = 1,
11997 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
11998 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12001 .description = "rate_cntr_en",
12002 .field_bit_size = 1,
12003 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12004 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12007 .description = "flow_cntr_en",
12008 .field_bit_size = 1,
12009 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12010 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12013 .description = "tcpflags_key",
12014 .field_bit_size = 8,
12015 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12016 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12019 .description = "tcpflags_mir",
12020 .field_bit_size = 1,
12021 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12022 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12025 .description = "tcpflags_match",
12026 .field_bit_size = 1,
12027 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12028 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12031 .description = "encap_ptr",
12032 .field_bit_size = 11,
12033 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12034 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12037 .description = "dst_ip_ptr",
12038 .field_bit_size = 10,
12039 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12040 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12043 .description = "tcp_dst_port",
12044 .field_bit_size = 16,
12045 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12046 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12049 .description = "src_ip_ptr",
12050 .field_bit_size = 10,
12051 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12052 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12055 .description = "tcp_src_port",
12056 .field_bit_size = 16,
12057 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12058 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12061 .description = "meter_id",
12062 .field_bit_size = 10,
12063 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12064 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12067 .description = "l3_rdir",
12068 .field_bit_size = 1,
12069 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12070 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12073 .description = "tl3_rdir",
12074 .field_bit_size = 1,
12075 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12076 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12079 .description = "l3_ttl_dec",
12080 .field_bit_size = 1,
12081 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12082 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12085 .description = "tl3_ttl_dec",
12086 .field_bit_size = 1,
12087 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12088 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12091 .description = "decap_func",
12092 .field_bit_size = 4,
12093 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12094 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12097 .description = "vnic_or_vport",
12098 .field_bit_size = 12,
12099 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12100 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12102 (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
12103 BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}
12106 .description = "pop_vlan",
12107 .field_bit_size = 1,
12108 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12109 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12112 .description = "meter",
12113 .field_bit_size = 1,
12114 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12115 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12118 .description = "mirror",
12119 .field_bit_size = 2,
12120 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12121 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12124 .description = "drop",
12125 .field_bit_size = 1,
12126 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12127 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12130 .description = "hit",
12131 .field_bit_size = 1,
12132 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12133 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12136 .description = "type",
12137 .field_bit_size = 1,
12138 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12139 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12141 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.ing_0 */
12143 .description = "l2_cntxt_id",
12144 .field_bit_size = 10,
12145 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12146 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12148 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
12149 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
12152 .description = "prof_func_id",
12153 .field_bit_size = 7,
12154 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12155 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
12157 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
12158 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
12161 .description = "l2_byp_lkup_en",
12162 .field_bit_size = 1,
12163 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12164 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12167 .description = "parif",
12168 .field_bit_size = 4,
12169 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12170 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12172 (BNXT_ULP_CF_IDX_PHY_PORT_PARIF >> 8) & 0xff,
12173 BNXT_ULP_CF_IDX_PHY_PORT_PARIF & 0xff}
12176 .description = "allowed_pri",
12177 .field_bit_size = 8,
12178 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12179 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12182 .description = "default_pri",
12183 .field_bit_size = 3,
12184 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12185 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12188 .description = "allowed_tpid",
12189 .field_bit_size = 6,
12190 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12191 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12194 .description = "default_tpid",
12195 .field_bit_size = 3,
12196 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12197 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12200 .description = "bd_act_en",
12201 .field_bit_size = 1,
12202 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12203 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12206 .description = "sp_rec_ptr",
12207 .field_bit_size = 16,
12208 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12209 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12212 .description = "byp_sp_lkup",
12213 .field_bit_size = 1,
12214 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12215 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12220 .description = "pri_anti_spoof_ctl",
12221 .field_bit_size = 2,
12222 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12223 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12226 .description = "tpid_anti_spoof_ctl",
12227 .field_bit_size = 2,
12228 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12229 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12231 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.ing_wr */
12233 .description = "rid",
12234 .field_bit_size = 32,
12235 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12236 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12238 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
12239 BNXT_ULP_RF_IDX_RID & 0xff}
12242 .description = "l2_cntxt_tcam_index",
12243 .field_bit_size = 10,
12244 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12245 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12247 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
12248 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
12251 .description = "l2_cntxt_id",
12252 .field_bit_size = 10,
12253 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12254 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12256 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
12257 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
12260 .description = "src_property_ptr",
12261 .field_bit_size = 10,
12262 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12263 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12265 /* class_tid: 3, wh_plus, table: parif_def_lkup_arec_ptr.ing_0 */
12267 .description = "act_rec_ptr",
12268 .field_bit_size = 32,
12269 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12270 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12272 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
12273 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
12275 /* class_tid: 3, wh_plus, table: parif_def_arec_ptr.ing_0 */
12277 .description = "act_rec_ptr",
12278 .field_bit_size = 32,
12279 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12280 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12282 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
12283 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
12285 /* class_tid: 3, wh_plus, table: parif_def_err_arec_ptr.ing_0 */
12287 .description = "act_rec_ptr",
12288 .field_bit_size = 32,
12289 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12290 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12292 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
12293 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
12295 /* class_tid: 3, wh_plus, table: int_full_act_record.egr_vfr */
12297 .description = "flow_cntr_ptr",
12298 .field_bit_size = 14,
12299 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12300 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12303 .description = "age_enable",
12304 .field_bit_size = 1,
12305 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12306 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12309 .description = "agg_cntr_en",
12310 .field_bit_size = 1,
12311 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12312 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12315 .description = "rate_cntr_en",
12316 .field_bit_size = 1,
12317 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12318 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12321 .description = "flow_cntr_en",
12322 .field_bit_size = 1,
12323 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12324 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12327 .description = "tcpflags_key",
12328 .field_bit_size = 8,
12329 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12330 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12333 .description = "tcpflags_mir",
12334 .field_bit_size = 1,
12335 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12336 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12339 .description = "tcpflags_match",
12340 .field_bit_size = 1,
12341 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12342 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12345 .description = "encap_ptr",
12346 .field_bit_size = 11,
12347 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12348 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12351 .description = "dst_ip_ptr",
12352 .field_bit_size = 10,
12353 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12354 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12357 .description = "tcp_dst_port",
12358 .field_bit_size = 16,
12359 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12360 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12363 .description = "src_ip_ptr",
12364 .field_bit_size = 10,
12365 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12366 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12369 .description = "tcp_src_port",
12370 .field_bit_size = 16,
12371 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12372 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12375 .description = "meter_id",
12376 .field_bit_size = 10,
12377 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12378 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12381 .description = "l3_rdir",
12382 .field_bit_size = 1,
12383 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12384 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12387 .description = "tl3_rdir",
12388 .field_bit_size = 1,
12389 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12390 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12393 .description = "l3_ttl_dec",
12394 .field_bit_size = 1,
12395 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12396 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12399 .description = "tl3_ttl_dec",
12400 .field_bit_size = 1,
12401 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12402 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12405 .description = "decap_func",
12406 .field_bit_size = 4,
12407 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12408 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12411 .description = "vnic_or_vport",
12412 .field_bit_size = 12,
12413 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12414 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12416 (BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff,
12417 BNXT_ULP_CF_IDX_PHY_PORT_VPORT & 0xff}
12420 .description = "pop_vlan",
12421 .field_bit_size = 1,
12422 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12423 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12426 .description = "meter",
12427 .field_bit_size = 1,
12428 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12429 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12432 .description = "mirror",
12433 .field_bit_size = 2,
12434 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12435 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12438 .description = "drop",
12439 .field_bit_size = 1,
12440 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12441 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12444 .description = "hit",
12445 .field_bit_size = 1,
12446 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12447 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12450 .description = "type",
12451 .field_bit_size = 1,
12452 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12453 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12455 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_bypass.egr_vfr */
12457 .description = "act_record_ptr",
12458 .field_bit_size = 16,
12459 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12460 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12463 .description = "reserved",
12464 .field_bit_size = 1,
12465 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12466 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12469 .description = "l2_byp_lkup_en",
12470 .field_bit_size = 1,
12471 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12472 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12477 .description = "parif",
12478 .field_bit_size = 4,
12479 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12480 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12482 (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
12483 BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
12486 .description = "allowed_pri",
12487 .field_bit_size = 8,
12488 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12489 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12492 .description = "default_pri",
12493 .field_bit_size = 3,
12494 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12495 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12498 .description = "allowed_tpid",
12499 .field_bit_size = 6,
12500 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12501 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12504 .description = "default_tpid",
12505 .field_bit_size = 3,
12506 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12507 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12510 .description = "bd_act_en",
12511 .field_bit_size = 1,
12512 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12513 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12518 .description = "sp_rec_ptr",
12519 .field_bit_size = 16,
12520 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12521 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12524 .description = "byp_sp_lkup",
12525 .field_bit_size = 1,
12526 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12527 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12532 .description = "pri_anti_spoof_ctl",
12533 .field_bit_size = 2,
12534 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12535 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12538 .description = "tpid_anti_spoof_ctl",
12539 .field_bit_size = 2,
12540 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12541 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12543 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_wr_vfr */
12545 .description = "rid",
12546 .field_bit_size = 32,
12547 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12548 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12550 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
12551 BNXT_ULP_RF_IDX_RID & 0xff}
12554 .description = "l2_cntxt_tcam_index",
12555 .field_bit_size = 10,
12556 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12557 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12559 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
12560 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
12563 .description = "l2_cntxt_id",
12564 .field_bit_size = 10,
12565 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12566 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12569 .description = "src_property_ptr",
12570 .field_bit_size = 10,
12571 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12572 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12574 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.egr_0 */
12576 .description = "l2_cntxt_id",
12577 .field_bit_size = 10,
12578 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12579 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12581 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
12582 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
12585 .description = "prof_func_id",
12586 .field_bit_size = 7,
12587 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12588 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
12590 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
12591 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
12594 .description = "l2_byp_lkup_en",
12595 .field_bit_size = 1,
12596 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12597 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12600 .description = "parif",
12601 .field_bit_size = 4,
12602 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12603 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12605 (BNXT_ULP_CF_IDX_DRV_FUNC_PARIF >> 8) & 0xff,
12606 BNXT_ULP_CF_IDX_DRV_FUNC_PARIF & 0xff}
12609 .description = "allowed_pri",
12610 .field_bit_size = 8,
12611 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12612 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12615 .description = "default_pri",
12616 .field_bit_size = 3,
12617 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12618 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12621 .description = "allowed_tpid",
12622 .field_bit_size = 6,
12623 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12624 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12627 .description = "default_tpid",
12628 .field_bit_size = 3,
12629 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12630 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12633 .description = "bd_act_en",
12634 .field_bit_size = 1,
12635 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12636 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12639 .description = "sp_rec_ptr",
12640 .field_bit_size = 16,
12641 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12642 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12645 .description = "byp_sp_lkup",
12646 .field_bit_size = 1,
12647 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12648 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
12653 .description = "pri_anti_spoof_ctl",
12654 .field_bit_size = 2,
12655 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12656 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12659 .description = "tpid_anti_spoof_ctl",
12660 .field_bit_size = 2,
12661 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12662 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12664 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam_cache.egr_wr */
12666 .description = "rid",
12667 .field_bit_size = 32,
12668 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12669 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12671 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
12672 BNXT_ULP_RF_IDX_RID & 0xff}
12675 .description = "l2_cntxt_tcam_index",
12676 .field_bit_size = 10,
12677 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12678 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12680 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
12681 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
12684 .description = "l2_cntxt_id",
12685 .field_bit_size = 10,
12686 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12687 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12689 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
12690 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
12693 .description = "src_property_ptr",
12694 .field_bit_size = 10,
12695 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12696 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12698 /* class_tid: 3, wh_plus, table: int_full_act_record.egr_0 */
12700 .description = "flow_cntr_ptr",
12701 .field_bit_size = 14,
12702 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12703 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12706 .description = "age_enable",
12707 .field_bit_size = 1,
12708 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12709 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12712 .description = "agg_cntr_en",
12713 .field_bit_size = 1,
12714 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12715 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12718 .description = "rate_cntr_en",
12719 .field_bit_size = 1,
12720 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12721 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12724 .description = "flow_cntr_en",
12725 .field_bit_size = 1,
12726 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12727 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12730 .description = "tcpflags_key",
12731 .field_bit_size = 8,
12732 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12733 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12736 .description = "tcpflags_mir",
12737 .field_bit_size = 1,
12738 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12739 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12742 .description = "tcpflags_match",
12743 .field_bit_size = 1,
12744 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12745 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12748 .description = "encap_ptr",
12749 .field_bit_size = 11,
12750 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12751 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12754 .description = "dst_ip_ptr",
12755 .field_bit_size = 10,
12756 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12757 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12760 .description = "tcp_dst_port",
12761 .field_bit_size = 16,
12762 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12763 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12766 .description = "src_ip_ptr",
12767 .field_bit_size = 10,
12768 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12769 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12772 .description = "tcp_src_port",
12773 .field_bit_size = 16,
12774 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12775 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12778 .description = "meter_id",
12779 .field_bit_size = 10,
12780 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12781 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12784 .description = "l3_rdir",
12785 .field_bit_size = 1,
12786 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12787 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12790 .description = "tl3_rdir",
12791 .field_bit_size = 1,
12792 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12793 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12796 .description = "l3_ttl_dec",
12797 .field_bit_size = 1,
12798 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12799 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12802 .description = "tl3_ttl_dec",
12803 .field_bit_size = 1,
12804 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12805 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12808 .description = "decap_func",
12809 .field_bit_size = 4,
12810 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12811 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12814 .description = "vnic_or_vport",
12815 .field_bit_size = 12,
12816 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12817 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
12819 (BNXT_ULP_CF_IDX_PHY_PORT_VPORT >> 8) & 0xff,
12820 BNXT_ULP_CF_IDX_PHY_PORT_VPORT & 0xff}
12823 .description = "pop_vlan",
12824 .field_bit_size = 1,
12825 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12826 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12829 .description = "meter",
12830 .field_bit_size = 1,
12831 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12832 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12835 .description = "mirror",
12836 .field_bit_size = 2,
12837 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12838 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12841 .description = "drop",
12842 .field_bit_size = 1,
12843 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12844 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12847 .description = "hit",
12848 .field_bit_size = 1,
12849 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12850 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12853 .description = "type",
12854 .field_bit_size = 1,
12855 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12856 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12858 /* class_tid: 3, wh_plus, table: parif_def_lkup_arec_ptr.egr_0 */
12860 .description = "act_rec_ptr",
12861 .field_bit_size = 32,
12862 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12863 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12865 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
12866 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
12868 /* class_tid: 3, wh_plus, table: parif_def_arec_ptr.egr_0 */
12870 .description = "act_rec_ptr",
12871 .field_bit_size = 32,
12872 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12873 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12875 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
12876 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
12878 /* class_tid: 3, wh_plus, table: parif_def_err_arec_ptr.egr_0 */
12880 .description = "act_rec_ptr",
12881 .field_bit_size = 32,
12882 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12883 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
12885 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
12886 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
12888 /* class_tid: 4, wh_plus, table: int_full_act_record.loopback */
12890 .description = "flow_cntr_ptr",
12891 .field_bit_size = 14,
12892 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12893 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12896 .description = "age_enable",
12897 .field_bit_size = 1,
12898 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12899 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12902 .description = "agg_cntr_en",
12903 .field_bit_size = 1,
12904 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12905 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12908 .description = "rate_cntr_en",
12909 .field_bit_size = 1,
12910 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12911 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12914 .description = "flow_cntr_en",
12915 .field_bit_size = 1,
12916 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12917 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12920 .description = "tcpflags_key",
12921 .field_bit_size = 8,
12922 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12923 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12926 .description = "tcpflags_mir",
12927 .field_bit_size = 1,
12928 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12929 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12932 .description = "tcpflags_match",
12933 .field_bit_size = 1,
12934 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12935 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12938 .description = "encap_ptr",
12939 .field_bit_size = 11,
12940 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12941 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12944 .description = "dst_ip_ptr",
12945 .field_bit_size = 10,
12946 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12947 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12950 .description = "tcp_dst_port",
12951 .field_bit_size = 16,
12952 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12953 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12956 .description = "src_ip_ptr",
12957 .field_bit_size = 10,
12958 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12959 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12962 .description = "tcp_src_port",
12963 .field_bit_size = 16,
12964 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12965 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12968 .description = "meter_id",
12969 .field_bit_size = 10,
12970 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12971 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12974 .description = "l3_rdir",
12975 .field_bit_size = 1,
12976 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12977 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12980 .description = "tl3_rdir",
12981 .field_bit_size = 1,
12982 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12983 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12986 .description = "l3_ttl_dec",
12987 .field_bit_size = 1,
12988 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12989 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12992 .description = "tl3_ttl_dec",
12993 .field_bit_size = 1,
12994 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
12995 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
12998 .description = "decap_func",
12999 .field_bit_size = 4,
13000 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13001 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13004 .description = "vnic_or_vport",
13005 .field_bit_size = 12,
13006 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13007 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13009 (ULP_WP_SYM_LOOPBACK_PORT >> 8) & 0xff,
13010 ULP_WP_SYM_LOOPBACK_PORT & 0xff}
13013 .description = "pop_vlan",
13014 .field_bit_size = 1,
13015 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13016 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13019 .description = "meter",
13020 .field_bit_size = 1,
13021 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13022 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13025 .description = "mirror",
13026 .field_bit_size = 2,
13027 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13028 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13031 .description = "drop",
13032 .field_bit_size = 1,
13033 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13034 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13037 .description = "hit",
13038 .field_bit_size = 1,
13039 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13040 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13043 .description = "type",
13044 .field_bit_size = 1,
13045 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13046 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13048 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam.vf_egr */
13050 .description = "l2_cntxt_id",
13051 .field_bit_size = 10,
13052 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13053 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13055 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
13056 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
13059 .description = "prof_func_id",
13060 .field_bit_size = 7,
13061 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13062 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
13064 (BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID >> 8) & 0xff,
13065 BNXT_ULP_GLB_RF_IDX_GLB_PROF_FUNC_ID & 0xff}
13068 .description = "l2_byp_lkup_en",
13069 .field_bit_size = 1,
13070 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13071 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13074 .description = "parif",
13075 .field_bit_size = 4,
13076 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13077 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13079 ULP_WP_SYM_LOOPBACK_PARIF}
13082 .description = "allowed_pri",
13083 .field_bit_size = 8,
13084 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13085 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13088 .description = "default_pri",
13089 .field_bit_size = 3,
13090 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13091 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13094 .description = "allowed_tpid",
13095 .field_bit_size = 6,
13096 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13097 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13100 .description = "default_tpid",
13101 .field_bit_size = 3,
13102 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13103 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13106 .description = "bd_act_en",
13107 .field_bit_size = 1,
13108 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13109 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13112 .description = "sp_rec_ptr",
13113 .field_bit_size = 16,
13114 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13115 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13118 .description = "byp_sp_lkup",
13119 .field_bit_size = 1,
13120 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13121 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13126 .description = "pri_anti_spoof_ctl",
13127 .field_bit_size = 2,
13128 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13129 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13132 .description = "tpid_anti_spoof_ctl",
13133 .field_bit_size = 2,
13134 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13135 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13137 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vf_egr_wr */
13139 .description = "rid",
13140 .field_bit_size = 32,
13141 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13142 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13144 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
13145 BNXT_ULP_RF_IDX_RID & 0xff}
13148 .description = "l2_cntxt_tcam_index",
13149 .field_bit_size = 10,
13150 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13151 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13153 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
13154 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
13157 .description = "l2_cntxt_id",
13158 .field_bit_size = 10,
13159 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13160 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13162 (BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 >> 8) & 0xff,
13163 BNXT_ULP_RF_IDX_L2_CNTXT_ID_0 & 0xff}
13166 .description = "src_property_ptr",
13167 .field_bit_size = 10,
13168 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13169 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13171 /* class_tid: 4, wh_plus, table: parif_def_lkup_arec_ptr.vf_egr */
13173 .description = "act_rec_ptr",
13174 .field_bit_size = 32,
13175 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13176 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
13178 (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
13179 BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
13181 /* class_tid: 4, wh_plus, table: parif_def_arec_ptr.vf_egr */
13183 .description = "act_rec_ptr",
13184 .field_bit_size = 32,
13185 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13186 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
13188 (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
13189 BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
13191 /* class_tid: 4, wh_plus, table: parif_def_err_arec_ptr.vf_egr */
13193 .description = "act_rec_ptr",
13194 .field_bit_size = 32,
13195 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13196 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
13198 (BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR >> 8) & 0xff,
13199 BNXT_ULP_GLB_RF_IDX_GLB_LB_AREC_PTR & 0xff}
13201 /* class_tid: 4, wh_plus, table: int_full_act_record.vf_ing */
13203 .description = "flow_cntr_ptr",
13204 .field_bit_size = 14,
13205 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13206 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13209 .description = "age_enable",
13210 .field_bit_size = 1,
13211 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13212 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13215 .description = "agg_cntr_en",
13216 .field_bit_size = 1,
13217 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13218 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13221 .description = "rate_cntr_en",
13222 .field_bit_size = 1,
13223 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13224 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13227 .description = "flow_cntr_en",
13228 .field_bit_size = 1,
13229 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13230 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13233 .description = "tcpflags_key",
13234 .field_bit_size = 8,
13235 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13236 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13239 .description = "tcpflags_mir",
13240 .field_bit_size = 1,
13241 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13242 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13245 .description = "tcpflags_match",
13246 .field_bit_size = 1,
13247 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13248 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13251 .description = "encap_ptr",
13252 .field_bit_size = 11,
13253 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13254 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13257 .description = "dst_ip_ptr",
13258 .field_bit_size = 10,
13259 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13260 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13263 .description = "tcp_dst_port",
13264 .field_bit_size = 16,
13265 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13266 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13269 .description = "src_ip_ptr",
13270 .field_bit_size = 10,
13271 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13272 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13275 .description = "tcp_src_port",
13276 .field_bit_size = 16,
13277 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13278 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13281 .description = "meter_id",
13282 .field_bit_size = 10,
13283 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13284 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13287 .description = "l3_rdir",
13288 .field_bit_size = 1,
13289 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13290 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13293 .description = "tl3_rdir",
13294 .field_bit_size = 1,
13295 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13296 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13299 .description = "l3_ttl_dec",
13300 .field_bit_size = 1,
13301 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13302 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13305 .description = "tl3_ttl_dec",
13306 .field_bit_size = 1,
13307 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13308 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13311 .description = "decap_func",
13312 .field_bit_size = 4,
13313 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13314 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13317 .description = "vnic_or_vport",
13318 .field_bit_size = 12,
13319 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13320 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
13322 (BNXT_ULP_CF_IDX_DRV_FUNC_VNIC >> 8) & 0xff,
13323 BNXT_ULP_CF_IDX_DRV_FUNC_VNIC & 0xff}
13326 .description = "pop_vlan",
13327 .field_bit_size = 1,
13328 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13329 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13332 .description = "meter",
13333 .field_bit_size = 1,
13334 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13335 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13338 .description = "mirror",
13339 .field_bit_size = 2,
13340 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13341 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13344 .description = "drop",
13345 .field_bit_size = 1,
13346 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13347 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13350 .description = "hit",
13351 .field_bit_size = 1,
13352 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13353 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13356 .description = "type",
13357 .field_bit_size = 1,
13358 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13359 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13361 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.vf_ing */
13363 .description = "act_record_ptr",
13364 .field_bit_size = 16,
13365 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13366 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13368 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
13369 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
13372 .description = "reserved",
13373 .field_bit_size = 1,
13374 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13375 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13378 .description = "l2_byp_lkup_en",
13379 .field_bit_size = 1,
13380 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13381 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13386 .description = "parif",
13387 .field_bit_size = 4,
13388 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13389 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13392 .description = "allowed_pri",
13393 .field_bit_size = 8,
13394 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13395 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13398 .description = "default_pri",
13399 .field_bit_size = 3,
13400 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13401 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13404 .description = "allowed_tpid",
13405 .field_bit_size = 6,
13406 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13407 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13410 .description = "default_tpid",
13411 .field_bit_size = 3,
13412 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13413 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13416 .description = "bd_act_en",
13417 .field_bit_size = 1,
13418 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13419 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13422 .description = "sp_rec_ptr",
13423 .field_bit_size = 16,
13424 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13425 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13428 .description = "byp_sp_lkup",
13429 .field_bit_size = 1,
13430 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13431 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13436 .description = "pri_anti_spoof_ctl",
13437 .field_bit_size = 2,
13438 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13439 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13442 .description = "tpid_anti_spoof_ctl",
13443 .field_bit_size = 2,
13444 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13445 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13447 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_bypass.vfr_egr0 */
13449 .description = "act_record_ptr",
13450 .field_bit_size = 16,
13451 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13452 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13455 .description = "reserved",
13456 .field_bit_size = 1,
13457 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13458 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13461 .description = "l2_byp_lkup_en",
13462 .field_bit_size = 1,
13463 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13464 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13469 .description = "parif",
13470 .field_bit_size = 4,
13471 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13472 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13475 .description = "allowed_pri",
13476 .field_bit_size = 8,
13477 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13478 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13481 .description = "default_pri",
13482 .field_bit_size = 3,
13483 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13484 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13487 .description = "allowed_tpid",
13488 .field_bit_size = 6,
13489 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13490 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13493 .description = "default_tpid",
13494 .field_bit_size = 3,
13495 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13496 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13499 .description = "bd_act_en",
13500 .field_bit_size = 1,
13501 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13502 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13507 .description = "sp_rec_ptr",
13508 .field_bit_size = 16,
13509 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13510 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13513 .description = "byp_sp_lkup",
13514 .field_bit_size = 1,
13515 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13516 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13521 .description = "pri_anti_spoof_ctl",
13522 .field_bit_size = 2,
13523 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13524 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13527 .description = "tpid_anti_spoof_ctl",
13528 .field_bit_size = 2,
13529 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13530 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13532 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam_cache.vfr_wr_egr0 */
13534 .description = "rid",
13535 .field_bit_size = 32,
13536 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13537 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13539 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
13540 BNXT_ULP_RF_IDX_RID & 0xff}
13543 .description = "l2_cntxt_tcam_index",
13544 .field_bit_size = 10,
13545 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13546 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13548 (BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 >> 8) & 0xff,
13549 BNXT_ULP_RF_IDX_L2_CNTXT_TCAM_INDEX_0 & 0xff}
13552 .description = "l2_cntxt_id",
13553 .field_bit_size = 10,
13554 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13555 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13558 .description = "src_property_ptr",
13559 .field_bit_size = 10,
13560 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13561 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13563 /* class_tid: 4, wh_plus, table: int_vtag_encap_record.vfr_egr0 */
13565 .description = "ecv_tun_type",
13566 .field_bit_size = 3,
13567 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13568 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13571 .description = "ecv_l4_type",
13572 .field_bit_size = 3,
13573 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13574 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13577 .description = "ecv_l3_type",
13578 .field_bit_size = 3,
13579 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13580 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13583 .description = "ecv_l2_en",
13584 .field_bit_size = 1,
13585 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13586 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13589 .description = "ecv_vtag_type",
13590 .field_bit_size = 4,
13591 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13592 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13594 ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
13597 .description = "ecv_custom_en",
13598 .field_bit_size = 1,
13599 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13600 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13603 .description = "ecv_valid",
13604 .field_bit_size = 1,
13605 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13606 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13611 .description = "vtag_tpid",
13612 .field_bit_size = 16,
13613 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13614 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13620 .description = "vtag_vid",
13621 .field_bit_size = 12,
13622 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13623 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
13625 (BNXT_ULP_CF_IDX_DEV_PORT_ID >> 8) & 0xff,
13626 BNXT_ULP_CF_IDX_DEV_PORT_ID & 0xff}
13629 .description = "vtag_de",
13630 .field_bit_size = 1,
13631 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13632 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13635 .description = "vtag_pcp",
13636 .field_bit_size = 3,
13637 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13638 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13641 .description = "spare",
13642 .field_bit_size = 80,
13643 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13644 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13646 /* class_tid: 4, wh_plus, table: int_full_act_record.vfr_egr0 */
13648 .description = "flow_cntr_ptr",
13649 .field_bit_size = 14,
13650 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13651 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13654 .description = "age_enable",
13655 .field_bit_size = 1,
13656 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13657 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13660 .description = "agg_cntr_en",
13661 .field_bit_size = 1,
13662 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13663 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13666 .description = "rate_cntr_en",
13667 .field_bit_size = 1,
13668 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13669 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13672 .description = "flow_cntr_en",
13673 .field_bit_size = 1,
13674 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13675 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13678 .description = "tcpflags_key",
13679 .field_bit_size = 8,
13680 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13681 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13684 .description = "tcpflags_mir",
13685 .field_bit_size = 1,
13686 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13687 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13690 .description = "tcpflags_match",
13691 .field_bit_size = 1,
13692 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13693 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13696 .description = "encap_ptr",
13697 .field_bit_size = 11,
13698 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13699 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13701 (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
13702 BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
13705 .description = "dst_ip_ptr",
13706 .field_bit_size = 10,
13707 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13708 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13711 .description = "tcp_dst_port",
13712 .field_bit_size = 16,
13713 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13714 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13717 .description = "src_ip_ptr",
13718 .field_bit_size = 10,
13719 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13720 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13723 .description = "tcp_src_port",
13724 .field_bit_size = 16,
13725 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13726 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13729 .description = "meter_id",
13730 .field_bit_size = 10,
13731 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13732 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13735 .description = "l3_rdir",
13736 .field_bit_size = 1,
13737 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13738 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13741 .description = "tl3_rdir",
13742 .field_bit_size = 1,
13743 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13744 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13747 .description = "l3_ttl_dec",
13748 .field_bit_size = 1,
13749 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13750 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13753 .description = "tl3_ttl_dec",
13754 .field_bit_size = 1,
13755 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13756 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13759 .description = "decap_func",
13760 .field_bit_size = 4,
13761 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13762 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13765 .description = "vnic_or_vport",
13766 .field_bit_size = 12,
13767 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13768 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13770 (ULP_WP_SYM_LOOPBACK_PORT >> 8) & 0xff,
13771 ULP_WP_SYM_LOOPBACK_PORT & 0xff}
13774 .description = "pop_vlan",
13775 .field_bit_size = 1,
13776 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13777 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13780 .description = "meter",
13781 .field_bit_size = 1,
13782 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13783 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13786 .description = "mirror",
13787 .field_bit_size = 2,
13788 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13789 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13792 .description = "drop",
13793 .field_bit_size = 1,
13794 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13795 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13798 .description = "hit",
13799 .field_bit_size = 1,
13800 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13801 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13804 .description = "type",
13805 .field_bit_size = 1,
13806 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13807 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13809 /* class_tid: 4, wh_plus, table: int_full_act_record.vfr_ing0 */
13811 .description = "flow_cntr_ptr",
13812 .field_bit_size = 14,
13813 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13814 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13817 .description = "age_enable",
13818 .field_bit_size = 1,
13819 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13820 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13823 .description = "agg_cntr_en",
13824 .field_bit_size = 1,
13825 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13826 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13829 .description = "rate_cntr_en",
13830 .field_bit_size = 1,
13831 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13832 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13835 .description = "flow_cntr_en",
13836 .field_bit_size = 1,
13837 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13838 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13841 .description = "tcpflags_key",
13842 .field_bit_size = 8,
13843 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13844 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13847 .description = "tcpflags_mir",
13848 .field_bit_size = 1,
13849 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13850 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13853 .description = "tcpflags_match",
13854 .field_bit_size = 1,
13855 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13856 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13859 .description = "encap_ptr",
13860 .field_bit_size = 11,
13861 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13862 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13865 .description = "dst_ip_ptr",
13866 .field_bit_size = 10,
13867 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13868 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13871 .description = "tcp_dst_port",
13872 .field_bit_size = 16,
13873 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13874 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13877 .description = "src_ip_ptr",
13878 .field_bit_size = 10,
13879 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13880 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13883 .description = "tcp_src_port",
13884 .field_bit_size = 16,
13885 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13886 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13889 .description = "meter_id",
13890 .field_bit_size = 10,
13891 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13892 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13895 .description = "l3_rdir",
13896 .field_bit_size = 1,
13897 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13898 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13901 .description = "tl3_rdir",
13902 .field_bit_size = 1,
13903 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13904 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13907 .description = "l3_ttl_dec",
13908 .field_bit_size = 1,
13909 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13910 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13913 .description = "tl3_ttl_dec",
13914 .field_bit_size = 1,
13915 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13916 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13919 .description = "decap_func",
13920 .field_bit_size = 4,
13921 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13922 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13925 .description = "vnic_or_vport",
13926 .field_bit_size = 12,
13927 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13928 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
13930 (BNXT_ULP_CF_IDX_VF_FUNC_VNIC >> 8) & 0xff,
13931 BNXT_ULP_CF_IDX_VF_FUNC_VNIC & 0xff}
13934 .description = "pop_vlan",
13935 .field_bit_size = 1,
13936 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13937 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13942 .description = "meter",
13943 .field_bit_size = 1,
13944 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13945 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13948 .description = "mirror",
13949 .field_bit_size = 2,
13950 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13951 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13954 .description = "drop",
13955 .field_bit_size = 1,
13956 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13957 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13960 .description = "hit",
13961 .field_bit_size = 1,
13962 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13963 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13966 .description = "type",
13967 .field_bit_size = 1,
13968 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13969 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13971 /* class_tid: 4, table: l2_cntxt_tcam_bypass.vfr_dtagged_ing0 */
13973 .description = "act_record_ptr",
13974 .field_bit_size = 16,
13975 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13976 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
13978 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
13979 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
13982 .description = "reserved",
13983 .field_bit_size = 1,
13984 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13985 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
13988 .description = "l2_byp_lkup_en",
13989 .field_bit_size = 1,
13990 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13991 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
13996 .description = "parif",
13997 .field_bit_size = 4,
13998 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
13999 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14002 .description = "allowed_pri",
14003 .field_bit_size = 8,
14004 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14005 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14008 .description = "default_pri",
14009 .field_bit_size = 3,
14010 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14011 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14014 .description = "allowed_tpid",
14015 .field_bit_size = 6,
14016 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14017 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14020 .description = "default_tpid",
14021 .field_bit_size = 3,
14022 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14023 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14026 .description = "bd_act_en",
14027 .field_bit_size = 1,
14028 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14029 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14032 .description = "sp_rec_ptr",
14033 .field_bit_size = 16,
14034 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14035 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14038 .description = "byp_sp_lkup",
14039 .field_bit_size = 1,
14040 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14041 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14046 .description = "pri_anti_spoof_ctl",
14047 .field_bit_size = 2,
14048 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14049 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14052 .description = "tpid_anti_spoof_ctl",
14053 .field_bit_size = 2,
14054 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14055 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14057 /* class_tid: 4, table: l2_cntxt_tcam_bypass.vfr_stagged_ing0 */
14059 .description = "act_record_ptr",
14060 .field_bit_size = 16,
14061 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14062 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
14064 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
14065 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
14068 .description = "reserved",
14069 .field_bit_size = 1,
14070 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14071 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14074 .description = "l2_byp_lkup_en",
14075 .field_bit_size = 1,
14076 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14077 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14082 .description = "parif",
14083 .field_bit_size = 4,
14084 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14085 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14088 .description = "allowed_pri",
14089 .field_bit_size = 8,
14090 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14091 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14094 .description = "default_pri",
14095 .field_bit_size = 3,
14096 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14097 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14100 .description = "allowed_tpid",
14101 .field_bit_size = 6,
14102 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14103 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14106 .description = "default_tpid",
14107 .field_bit_size = 3,
14108 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14109 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14112 .description = "bd_act_en",
14113 .field_bit_size = 1,
14114 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14115 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14118 .description = "sp_rec_ptr",
14119 .field_bit_size = 16,
14120 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14121 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14124 .description = "byp_sp_lkup",
14125 .field_bit_size = 1,
14126 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14127 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
14132 .description = "pri_anti_spoof_ctl",
14133 .field_bit_size = 2,
14134 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14135 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14138 .description = "tpid_anti_spoof_ctl",
14139 .field_bit_size = 2,
14140 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
14141 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
14145 struct bnxt_ulp_mapper_ident_info ulp_wh_plus_class_ident_list[] = {
14146 /* class_tid: 1, wh_plus, table: l2_cntxt_tcam_cache.rd */
14148 .description = "l2_cntxt_id",
14149 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14150 .ident_bit_size = 10,
14151 .ident_bit_pos = 42
14153 /* class_tid: 1, wh_plus, table: mac_addr_cache.rd */
14155 .description = "l2_cntxt_id",
14156 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14157 .ident_bit_size = 10,
14158 .ident_bit_pos = 42
14160 /* class_tid: 1, wh_plus, table: l2_cntxt_tcam.0 */
14162 .description = "l2_cntxt_id",
14163 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14164 .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
14165 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14166 .ident_bit_size = 10,
14169 /* class_tid: 1, wh_plus, table: profile_tcam_cache.rd */
14171 .description = "em_profile_id",
14172 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
14173 .ident_bit_size = 8,
14174 .ident_bit_pos = 42
14177 .description = "flow_sig_id",
14178 .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
14179 .ident_bit_size = 32,
14180 .ident_bit_pos = 58
14183 .description = "profile_tcam_index",
14184 .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
14185 .ident_bit_size = 10,
14186 .ident_bit_pos = 32
14188 /* class_tid: 1, wh_plus, table: profile_tcam.ipv4 */
14190 .description = "em_profile_id",
14191 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14192 .ident_type = TF_IDENT_TYPE_EM_PROF,
14193 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
14194 .ident_bit_size = 8,
14195 .ident_bit_pos = 28
14197 /* class_tid: 1, wh_plus, table: profile_tcam.ipv6 */
14199 .description = "em_profile_id",
14200 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14201 .ident_type = TF_IDENT_TYPE_EM_PROF,
14202 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
14203 .ident_bit_size = 8,
14204 .ident_bit_pos = 28
14206 /* class_tid: 1, wh_plus, table: profile_tcam.ipv4_vxlan */
14208 .description = "em_profile_id",
14209 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14210 .ident_type = TF_IDENT_TYPE_EM_PROF,
14211 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
14212 .ident_bit_size = 8,
14213 .ident_bit_pos = 28
14215 /* class_tid: 2, wh_plus, table: l2_cntxt_tcam_cache.rd */
14217 .description = "l2_cntxt_id",
14218 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14219 .ident_bit_size = 10,
14220 .ident_bit_pos = 42
14222 /* class_tid: 2, wh_plus, table: mac_addr_cache.rd */
14224 .description = "l2_cntxt_id",
14225 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14226 .ident_bit_size = 10,
14227 .ident_bit_pos = 42
14229 /* class_tid: 2, wh_plus, table: l2_cntxt_tcam.0 */
14231 .description = "l2_cntxt_id",
14232 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14233 .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
14234 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14235 .ident_bit_size = 10,
14238 /* class_tid: 2, wh_plus, table: profile_tcam_cache.rd */
14240 .description = "em_profile_id",
14241 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
14242 .ident_bit_size = 8,
14243 .ident_bit_pos = 42
14246 .description = "flow_sig_id",
14247 .regfile_idx = BNXT_ULP_RF_IDX_FLOW_SIG_ID,
14248 .ident_bit_size = 32,
14249 .ident_bit_pos = 58
14252 .description = "profile_tcam_index",
14253 .regfile_idx = BNXT_ULP_RF_IDX_PROFILE_TCAM_INDEX_0,
14254 .ident_bit_size = 10,
14255 .ident_bit_pos = 32
14257 /* class_tid: 2, wh_plus, table: profile_tcam.ipv4 */
14259 .description = "em_profile_id",
14260 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14261 .ident_type = TF_IDENT_TYPE_EM_PROF,
14262 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
14263 .ident_bit_size = 8,
14264 .ident_bit_pos = 28
14266 /* class_tid: 2, wh_plus, table: profile_tcam.ipv6 */
14268 .description = "em_profile_id",
14269 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14270 .ident_type = TF_IDENT_TYPE_EM_PROF,
14271 .regfile_idx = BNXT_ULP_RF_IDX_EM_PROFILE_ID_0,
14272 .ident_bit_size = 8,
14273 .ident_bit_pos = 28
14275 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.ing_0 */
14277 .description = "l2_cntxt_id",
14278 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14279 .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
14280 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14281 .ident_bit_size = 10,
14284 /* class_tid: 3, wh_plus, table: l2_cntxt_tcam.egr_0 */
14286 .description = "l2_cntxt_id",
14287 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14288 .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
14289 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14290 .ident_bit_size = 10,
14293 /* class_tid: 4, wh_plus, table: l2_cntxt_tcam.vf_egr */
14295 .description = "l2_cntxt_id",
14296 .resource_func = BNXT_ULP_RESOURCE_FUNC_IDENTIFIER,
14297 .ident_type = TF_IDENT_TYPE_L2_CTXT_HIGH,
14298 .regfile_idx = BNXT_ULP_RF_IDX_L2_CNTXT_ID_0,
14299 .ident_bit_size = 10,