1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2014-2021 Broadcom
6 /* date: Tue Aug 17 12:16:42 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 act list */
14 struct bnxt_ulp_mapper_tmpl_info ulp_thor_act_tmpl_list[] = {
15 /* act_tid: 1, ingress */
17 .device_name = BNXT_ULP_DEVICE_ID_THOR,
21 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
25 /* act_tid: 2, ingress */
27 .device_name = BNXT_ULP_DEVICE_ID_THOR,
31 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
35 /* act_tid: 3, ingress */
37 .device_name = BNXT_ULP_DEVICE_ID_THOR,
41 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
45 /* act_tid: 4, egress */
47 .device_name = BNXT_ULP_DEVICE_ID_THOR,
51 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
55 /* act_tid: 5, egress */
57 .device_name = BNXT_ULP_DEVICE_ID_THOR,
61 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
65 /* act_tid: 6, egress */
67 .device_name = BNXT_ULP_DEVICE_ID_THOR,
71 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
77 struct bnxt_ulp_mapper_tbl_info ulp_thor_act_tbl_list[] = {
78 { /* act_tid: 1, , table: shared_mirror_record.rd */
79 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
80 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
82 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR,
83 .direction = TF_DIR_RX,
87 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
90 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
91 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
92 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
94 .blob_key_bit_size = 1,
100 { /* act_tid: 1, , table: int_flow_counter_tbl.0 */
101 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
102 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
104 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
105 .direction = TF_DIR_RX,
108 .cond_false_goto = 1,
109 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
112 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
113 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
114 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
115 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
116 .result_start_idx = 0,
117 .result_bit_size = 64,
118 .result_num_fields = 1
120 { /* act_tid: 1, , table: mod_record.ing_ttl */
121 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
122 .resource_type = TF_TBL_TYPE_ACT_MODIFY_64B,
124 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
125 .direction = TF_DIR_RX,
128 .cond_false_goto = 2,
129 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
132 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
133 .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
134 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
135 .result_start_idx = 1,
136 .result_bit_size = 0,
137 .result_num_fields = 0,
138 .encap_num_fields = 47
140 { /* act_tid: 1, , table: int_full_act_record.0 */
141 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
142 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
144 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
145 .direction = TF_DIR_RX,
148 .cond_false_goto = 1,
149 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
152 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
153 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
154 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
155 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
156 .result_start_idx = 48,
157 .result_bit_size = 128,
158 .result_num_fields = 17
160 { /* act_tid: 1, , table: int_compact_act_record.0 */
161 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
162 .resource_type = TF_TBL_TYPE_COMPACT_ACT_RECORD,
164 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
165 .direction = TF_DIR_RX,
168 .cond_false_goto = 0,
169 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
172 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
173 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
174 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
175 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
176 .result_start_idx = 65,
177 .result_bit_size = 64,
178 .result_num_fields = 13
180 { /* act_tid: 2, , table: control.0 */
181 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
182 .direction = TF_DIR_RX,
185 .cond_false_goto = 1,
186 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
189 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
190 .fdb_operand = BNXT_ULP_RF_IDX_RID
192 { /* act_tid: 2, , table: mirror_tbl.alloc */
193 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
194 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
196 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
197 .direction = TF_DIR_RX,
200 .cond_false_goto = 1,
201 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
204 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
205 .tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0,
206 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
207 .fdb_operand = BNXT_ULP_RF_IDX_RID,
208 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
209 .result_start_idx = 78,
210 .result_bit_size = 32,
211 .result_num_fields = 5
213 { /* act_tid: 2, , table: int_flow_counter_tbl.0 */
214 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
215 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
217 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
218 .direction = TF_DIR_RX,
221 .cond_false_goto = 1,
222 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
225 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
226 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
227 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
228 .fdb_operand = BNXT_ULP_RF_IDX_RID,
229 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
230 .result_start_idx = 83,
231 .result_bit_size = 64,
232 .result_num_fields = 1
234 { /* act_tid: 2, , table: int_compact_act_record.0 */
235 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
236 .resource_type = TF_TBL_TYPE_COMPACT_ACT_RECORD,
238 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
239 .direction = TF_DIR_RX,
242 .cond_false_goto = 1,
243 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
246 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
247 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
248 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
249 .fdb_operand = BNXT_ULP_RF_IDX_RID,
250 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
251 .result_start_idx = 84,
252 .result_bit_size = 64,
253 .result_num_fields = 13,
254 .encap_num_fields = 0
256 { /* act_tid: 2, , table: mirror_tbl.wr */
257 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
258 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
260 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
261 .direction = TF_DIR_RX,
264 .cond_false_goto = 1,
265 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
268 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE,
269 .tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0,
270 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
271 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
272 .result_start_idx = 97,
273 .result_bit_size = 32,
274 .result_num_fields = 5
276 { /* act_tid: 2, , table: shared_mirror_record.wr */
277 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
278 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
280 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR,
281 .direction = TF_DIR_RX,
284 .cond_false_goto = 0,
285 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
288 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
289 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
290 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
292 .blob_key_bit_size = 1,
295 .result_start_idx = 102,
296 .result_bit_size = 36,
297 .result_num_fields = 2
299 { /* act_tid: 3, , table: int_flow_counter_tbl.0 */
300 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
301 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
303 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
304 .direction = TF_DIR_RX,
307 .cond_false_goto = 1,
308 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
311 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
312 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
313 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
314 .result_start_idx = 104,
315 .result_bit_size = 64,
316 .result_num_fields = 1
318 { /* act_tid: 3, , table: mod_record.ing_ttl */
319 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
320 .resource_type = TF_TBL_TYPE_ACT_MODIFY_64B,
322 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
323 .direction = TF_DIR_RX,
326 .cond_false_goto = 1,
327 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
330 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
331 .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
332 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
333 .result_start_idx = 105,
334 .result_bit_size = 0,
335 .result_num_fields = 0,
336 .encap_num_fields = 47
338 { /* act_tid: 3, , table: mod_record.ing_no_ttl */
339 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
340 .resource_type = TF_TBL_TYPE_ACT_MODIFY_64B,
342 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
343 .direction = TF_DIR_RX,
346 .cond_false_goto = 1,
347 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
350 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
351 .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
352 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
353 .result_start_idx = 152,
354 .result_bit_size = 0,
355 .result_num_fields = 0,
356 .encap_num_fields = 47
358 { /* act_tid: 3, , table: int_full_act_record.0 */
359 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
360 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
362 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
363 .direction = TF_DIR_RX,
366 .cond_false_goto = 0,
367 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
370 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
371 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
372 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
373 .result_start_idx = 199,
374 .result_bit_size = 128,
375 .result_num_fields = 17
377 { /* act_tid: 4, , table: int_flow_counter_tbl.0 */
378 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
379 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
381 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
382 .direction = TF_DIR_TX,
385 .cond_false_goto = 1,
386 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
389 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
390 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
391 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
392 .result_start_idx = 216,
393 .result_bit_size = 64,
394 .result_num_fields = 1
396 { /* act_tid: 4, , table: int_vtag_encap_record.0 */
397 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
398 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
400 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
401 .direction = TF_DIR_TX,
404 .cond_false_goto = 1,
405 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
408 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
409 .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
410 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
411 .result_start_idx = 217,
412 .result_bit_size = 0,
413 .result_num_fields = 0,
414 .encap_num_fields = 11
416 { /* act_tid: 4, , table: mod_record.dec_ttl_egr */
417 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
418 .resource_type = TF_TBL_TYPE_ACT_MODIFY_64B,
420 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
421 .direction = TF_DIR_TX,
424 .cond_false_goto = 1,
425 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
428 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
429 .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
430 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
431 .result_start_idx = 228,
432 .result_bit_size = 0,
433 .result_num_fields = 0,
434 .encap_num_fields = 47
436 { /* act_tid: 4, , table: int_full_act_record.0 */
437 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
438 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
440 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
441 .direction = TF_DIR_TX,
444 .cond_false_goto = 1,
445 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
446 .cond_start_idx = 10,
448 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
449 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
450 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
451 .result_start_idx = 275,
452 .result_bit_size = 128,
453 .result_num_fields = 17
455 { /* act_tid: 4, , table: int_compact_act_record.0 */
456 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
457 .resource_type = TF_TBL_TYPE_COMPACT_ACT_RECORD,
459 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
460 .direction = TF_DIR_TX,
463 .cond_false_goto = 0,
464 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
465 .cond_start_idx = 12,
467 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
468 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
469 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
470 .result_start_idx = 292,
471 .result_bit_size = 64,
472 .result_num_fields = 13
474 { /* act_tid: 5, , table: int_flow_counter_tbl.0 */
475 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
476 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
478 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
479 .direction = TF_DIR_TX,
482 .cond_false_goto = 1,
483 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
484 .cond_start_idx = 12,
486 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
487 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
488 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
489 .result_start_idx = 305,
490 .result_bit_size = 64,
491 .result_num_fields = 1
493 { /* act_tid: 5, , table: mod_record.ing_ttl */
494 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
495 .resource_type = TF_TBL_TYPE_ACT_MODIFY_64B,
497 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
498 .direction = TF_DIR_TX,
501 .cond_false_goto = 1,
502 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
503 .cond_start_idx = 13,
505 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
506 .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
507 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
508 .result_start_idx = 306,
509 .result_bit_size = 0,
510 .result_num_fields = 0,
511 .encap_num_fields = 47
513 { /* act_tid: 5, , table: mod_record.ing_no_ttl */
514 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
515 .resource_type = TF_TBL_TYPE_ACT_MODIFY_64B,
517 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
518 .direction = TF_DIR_TX,
521 .cond_false_goto = 1,
522 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
523 .cond_start_idx = 14,
525 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
526 .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_PTR,
527 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
528 .result_start_idx = 353,
529 .result_bit_size = 0,
530 .result_num_fields = 0,
531 .encap_num_fields = 47
533 { /* act_tid: 5, , table: int_full_act_record.0 */
534 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
535 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
537 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
538 .direction = TF_DIR_TX,
541 .cond_false_goto = 0,
542 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
543 .cond_start_idx = 15,
545 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
546 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
547 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
548 .result_start_idx = 400,
549 .result_bit_size = 128,
550 .result_num_fields = 17
552 { /* act_tid: 6, , table: int_flow_counter_tbl.0 */
553 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
554 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
556 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
557 .direction = TF_DIR_TX,
560 .cond_false_goto = 1,
561 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
562 .cond_start_idx = 15,
564 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
565 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
566 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
567 .result_start_idx = 417,
568 .result_bit_size = 64,
569 .result_num_fields = 1
571 { /* act_tid: 6, , table: source_property_cache.rd */
572 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
574 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE,
575 .direction = TF_DIR_TX,
578 .cond_false_goto = 1,
579 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
580 .cond_start_idx = 16,
582 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
583 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
584 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
586 .blob_key_bit_size = 80,
589 .ident_start_idx = 1,
592 { /* act_tid: 6, , table: control.0 */
593 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
594 .direction = TF_DIR_TX,
597 .cond_false_goto = 3,
598 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
599 .cond_start_idx = 17,
601 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
602 .fdb_operand = BNXT_ULP_RF_IDX_RID
604 { /* act_tid: 6, , table: sp_smac_ipv4.0 */
605 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
606 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
608 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
609 .direction = TF_DIR_TX,
612 .cond_false_goto = 1,
613 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
614 .cond_start_idx = 18,
616 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
617 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_SP_PTR,
618 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
619 .fdb_operand = BNXT_ULP_RF_IDX_RID,
621 .result_start_idx = 418,
622 .result_bit_size = 0,
623 .result_num_fields = 0,
624 .encap_num_fields = 3
626 { /* act_tid: 6, , table: source_property_cache.wr */
627 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
629 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SOURCE_PROPERTY_CACHE,
630 .direction = TF_DIR_TX,
633 .cond_false_goto = 1,
634 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
635 .cond_start_idx = 19,
637 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
638 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
639 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
641 .blob_key_bit_size = 80,
644 .result_start_idx = 421,
645 .result_bit_size = 48,
646 .result_num_fields = 2
648 { /* act_tid: 6, , table: sp_smac_ipv6.0 */
649 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
650 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
652 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
653 .direction = TF_DIR_TX,
656 .cond_false_goto = 1,
657 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
658 .cond_start_idx = 19,
660 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
661 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_SP_PTR,
662 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
664 .result_start_idx = 423,
665 .result_bit_size = 0,
666 .result_num_fields = 0,
667 .encap_num_fields = 3
669 { /* act_tid: 6, , table: vxlan_encap_rec_cache.rd */
670 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
672 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_VXLAN_ENCAP_REC_CACHE,
673 .direction = TF_DIR_TX,
676 .cond_false_goto = 1,
677 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
678 .cond_start_idx = 20,
680 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_READ,
681 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
682 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
684 .blob_key_bit_size = 136,
687 .ident_start_idx = 2,
690 { /* act_tid: 6, , table: control.0 */
691 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
692 .direction = TF_DIR_TX,
695 .cond_false_goto = 3,
696 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
697 .cond_start_idx = 22,
699 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
700 .fdb_operand = BNXT_ULP_RF_IDX_RID
702 { /* act_tid: 6, , table: int_tun_encap_record.ipv4_vxlan */
703 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
704 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
706 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
707 .direction = TF_DIR_TX,
710 .cond_false_goto = 1,
711 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
712 .cond_start_idx = 23,
714 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
715 .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
716 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
717 .fdb_operand = BNXT_ULP_RF_IDX_RID,
718 .result_start_idx = 426,
719 .result_bit_size = 0,
720 .result_num_fields = 0,
721 .encap_num_fields = 30
723 { /* act_tid: 6, , table: vxlan_encap_rec_cache.wr */
724 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
726 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_VXLAN_ENCAP_REC_CACHE,
727 .direction = TF_DIR_TX,
730 .cond_false_goto = 1,
731 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
732 .cond_start_idx = 25,
734 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
735 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_HASH,
736 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
738 .blob_key_bit_size = 136,
741 .result_start_idx = 456,
742 .result_bit_size = 48,
743 .result_num_fields = 2
745 { /* act_tid: 6, , table: int_tun_encap_record.ipv6_vxlan */
746 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
747 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
749 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
750 .direction = TF_DIR_TX,
753 .cond_false_goto = 1,
754 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
755 .cond_start_idx = 25,
757 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
758 .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
759 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
760 .result_start_idx = 458,
761 .result_bit_size = 0,
762 .result_num_fields = 0,
763 .encap_num_fields = 30
765 { /* act_tid: 6, , table: int_full_act_record.0 */
766 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
767 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
769 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
770 .direction = TF_DIR_TX,
773 .cond_false_goto = 0,
774 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
775 .cond_start_idx = 27,
777 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
778 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
779 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
780 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
781 .result_start_idx = 488,
782 .result_bit_size = 128,
783 .result_num_fields = 17
787 struct bnxt_ulp_mapper_cond_info ulp_thor_act_cond_list[] = {
788 /* cond_execute: act_tid: 1, shared_mirror_record.rd */
790 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
791 .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
793 /* cond_execute: act_tid: 1, int_flow_counter_tbl.0 */
795 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
796 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
798 /* cond_execute: act_tid: 1, mod_record.ing_ttl */
800 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
801 .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
803 /* cond_execute: act_tid: 2, int_flow_counter_tbl.0 */
805 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
806 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
808 /* cond_execute: act_tid: 3, int_flow_counter_tbl.0 */
810 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
811 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
813 /* cond_execute: act_tid: 3, mod_record.ing_ttl */
815 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
816 .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
818 /* cond_execute: act_tid: 3, mod_record.ing_no_ttl */
820 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
821 .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
823 /* cond_execute: act_tid: 4, int_flow_counter_tbl.0 */
825 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
826 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
828 /* cond_execute: act_tid: 4, int_vtag_encap_record.0 */
830 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
831 .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
833 /* cond_execute: act_tid: 4, mod_record.dec_ttl_egr */
835 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
836 .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
838 /* cond_execute: act_tid: 4, int_full_act_record.0 */
840 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
841 .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
844 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
845 .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
847 /* cond_execute: act_tid: 5, int_flow_counter_tbl.0 */
849 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
850 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
852 /* cond_execute: act_tid: 5, mod_record.ing_ttl */
854 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
855 .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
857 /* cond_execute: act_tid: 5, mod_record.ing_no_ttl */
859 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
860 .cond_operand = BNXT_ULP_ACT_BIT_DEC_TTL
862 /* cond_execute: act_tid: 6, int_flow_counter_tbl.0 */
864 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
865 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
867 /* cond_execute: act_tid: 6, source_property_cache.rd */
869 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
870 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG
872 /* cond_execute: act_tid: 6, control.0 */
874 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
875 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
877 /* cond_execute: act_tid: 6, sp_smac_ipv4.0 */
879 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
880 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG
882 /* cond_execute: act_tid: 6, sp_smac_ipv6.0 */
884 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
885 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG
887 /* cond_execute: act_tid: 6, vxlan_encap_rec_cache.rd */
889 .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
890 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
893 .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
894 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
896 /* cond_execute: act_tid: 6, control.0 */
898 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
899 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
901 /* cond_execute: act_tid: 6, int_tun_encap_record.ipv4_vxlan */
903 .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
904 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV4
907 .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
908 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
910 /* cond_execute: act_tid: 6, int_tun_encap_record.ipv6_vxlan */
912 .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
913 .cond_operand = BNXT_ULP_HDR_BIT_O_IPV6
916 .cond_opcode = BNXT_ULP_COND_OPC_ENC_HDR_BIT_IS_SET,
917 .cond_operand = BNXT_ULP_HDR_BIT_T_VXLAN
921 struct bnxt_ulp_mapper_key_info ulp_thor_act_key_info_list[] = {
922 /* act_tid: 1, , table: shared_mirror_record.rd */
925 .description = "shared_index",
927 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
928 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
933 .description = "shared_index",
935 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
936 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
938 (BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff,
939 BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff}
942 /* act_tid: 2, , table: shared_mirror_record.wr */
945 .description = "shared_index",
947 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
948 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
953 .description = "shared_index",
955 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
956 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
958 (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff,
959 BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff}
962 /* act_tid: 6, , table: source_property_cache.rd */
965 .description = "smac",
966 .field_bit_size = 48,
967 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
968 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
978 .description = "smac",
979 .field_bit_size = 48,
980 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
981 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
983 (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
984 BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
989 .description = "ipv4_src_addr",
990 .field_bit_size = 32,
991 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
992 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1000 .description = "ipv4_src_addr",
1001 .field_bit_size = 32,
1002 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1003 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
1005 (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff,
1006 BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff}
1009 /* act_tid: 6, , table: source_property_cache.wr */
1011 .field_info_mask = {
1012 .description = "smac",
1013 .field_bit_size = 48,
1014 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1015 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1024 .field_info_spec = {
1025 .description = "smac",
1026 .field_bit_size = 48,
1027 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1028 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
1030 (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
1031 BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
1035 .field_info_mask = {
1036 .description = "ipv4_src_addr",
1037 .field_bit_size = 32,
1038 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1039 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1046 .field_info_spec = {
1047 .description = "ipv4_src_addr",
1048 .field_bit_size = 32,
1049 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1050 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
1052 (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff,
1053 BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff}
1056 /* act_tid: 6, , table: vxlan_encap_rec_cache.rd */
1058 .field_info_mask = {
1059 .description = "dmac",
1060 .field_bit_size = 48,
1061 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1062 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1071 .field_info_spec = {
1072 .description = "dmac",
1073 .field_bit_size = 48,
1074 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1075 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
1077 (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
1078 BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
1082 .field_info_mask = {
1083 .description = "ipv4_dst_addr",
1084 .field_bit_size = 32,
1085 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1086 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1093 .field_info_spec = {
1094 .description = "ipv4_dst_addr",
1095 .field_bit_size = 32,
1096 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1097 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
1099 (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff,
1100 BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}
1104 .field_info_mask = {
1105 .description = "udp_sport",
1106 .field_bit_size = 16,
1107 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1108 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1113 .field_info_spec = {
1114 .description = "udp_sport",
1115 .field_bit_size = 16,
1116 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1117 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
1119 (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
1120 BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
1124 .field_info_mask = {
1125 .description = "udp_dport",
1126 .field_bit_size = 16,
1127 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1128 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1133 .field_info_spec = {
1134 .description = "udp_dport",
1135 .field_bit_size = 16,
1136 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1137 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
1139 (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
1140 BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
1144 .field_info_mask = {
1145 .description = "vni",
1146 .field_bit_size = 24,
1147 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1148 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1154 .field_info_spec = {
1155 .description = "vni",
1156 .field_bit_size = 24,
1157 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1158 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
1160 (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff,
1161 BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff}
1164 /* act_tid: 6, , table: vxlan_encap_rec_cache.wr */
1166 .field_info_mask = {
1167 .description = "dmac",
1168 .field_bit_size = 48,
1169 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1170 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1179 .field_info_spec = {
1180 .description = "dmac",
1181 .field_bit_size = 48,
1182 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1183 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
1185 (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
1186 BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
1190 .field_info_mask = {
1191 .description = "ipv4_dst_addr",
1192 .field_bit_size = 32,
1193 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1194 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1201 .field_info_spec = {
1202 .description = "ipv4_dst_addr",
1203 .field_bit_size = 32,
1204 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1205 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
1207 (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff,
1208 BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}
1212 .field_info_mask = {
1213 .description = "udp_sport",
1214 .field_bit_size = 16,
1215 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1216 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1221 .field_info_spec = {
1222 .description = "udp_sport",
1223 .field_bit_size = 16,
1224 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1225 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
1227 (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
1228 BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
1232 .field_info_mask = {
1233 .description = "udp_dport",
1234 .field_bit_size = 16,
1235 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1236 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1241 .field_info_spec = {
1242 .description = "udp_dport",
1243 .field_bit_size = 16,
1244 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1245 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
1247 (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
1248 BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
1252 .field_info_mask = {
1253 .description = "vni",
1254 .field_bit_size = 24,
1255 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1256 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1262 .field_info_spec = {
1263 .description = "vni",
1264 .field_bit_size = 24,
1265 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1266 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
1268 (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff,
1269 BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff}
1274 struct bnxt_ulp_mapper_field_info ulp_thor_act_result_field_list[] = {
1275 /* act_tid: 1, , table: int_flow_counter_tbl.0 */
1277 .description = "count",
1278 .field_bit_size = 64,
1279 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1280 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1282 /* act_tid: 1, , table: mod_record.ing_ttl */
1284 .description = "metadata_en",
1285 .field_bit_size = 1,
1286 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1287 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1290 .description = "rem_ovlan",
1291 .field_bit_size = 1,
1292 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1293 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1296 .description = "rem_ivlan",
1297 .field_bit_size = 1,
1298 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1299 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1302 .description = "rep_add_ivlan",
1303 .field_bit_size = 1,
1304 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1305 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1308 .description = "rep_add_ovlan",
1309 .field_bit_size = 1,
1310 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1311 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1314 .description = "ttl_update",
1315 .field_bit_size = 1,
1316 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1317 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1322 .description = "tun_md_en",
1323 .field_bit_size = 1,
1324 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1325 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1328 .description = "reserved_en",
1329 .field_bit_size = 1,
1330 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1331 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1334 .description = "l2_dmac_en",
1335 .field_bit_size = 1,
1336 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1337 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1340 .description = "l2_smac_en",
1341 .field_bit_size = 1,
1342 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1343 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1346 .description = "l3_sip_ipv6_en",
1347 .field_bit_size = 1,
1348 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1349 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1352 .description = "l3_dip_ipv6_en",
1353 .field_bit_size = 1,
1354 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1355 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1358 .description = "l3_sip_ipv4_en",
1359 .field_bit_size = 1,
1360 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1361 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1364 .description = "l3_dip_ipv4_en",
1365 .field_bit_size = 1,
1366 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1367 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1370 .description = "l4_sport_en",
1371 .field_bit_size = 1,
1372 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1373 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1376 .description = "l4_dport_en",
1377 .field_bit_size = 1,
1378 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1379 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1382 .description = "metadata_data",
1383 .field_bit_size = 16,
1384 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1387 .description = "metadata_rsvd",
1388 .field_bit_size = 10,
1389 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1392 .description = "metadata_op",
1393 .field_bit_size = 2,
1394 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1397 .description = "metadata_prof",
1398 .field_bit_size = 4,
1399 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1402 .description = "ivlan_tpid",
1403 .field_bit_size = 16,
1404 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1407 .description = "ivlan_pri",
1408 .field_bit_size = 3,
1409 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1412 .description = "ivlan_de",
1413 .field_bit_size = 1,
1414 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1417 .description = "ivlan_vid",
1418 .field_bit_size = 12,
1419 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1422 .description = "ovlan_tpid",
1423 .field_bit_size = 16,
1424 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1427 .description = "ovlan_pri",
1428 .field_bit_size = 3,
1429 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1432 .description = "ovlan_de",
1433 .field_bit_size = 1,
1434 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1437 .description = "ovlan_vid",
1438 .field_bit_size = 12,
1439 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1442 .description = "alt_pfid",
1443 .field_bit_size = 4,
1444 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1445 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1448 .description = "alt_vid",
1449 .field_bit_size = 12,
1450 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1451 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1454 .description = "ttl_rsvd",
1455 .field_bit_size = 12,
1456 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1457 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1460 .description = "ttl_tl3_dec",
1461 .field_bit_size = 1,
1462 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1463 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1465 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1466 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
1469 .description = "ttl_il3_dec",
1470 .field_bit_size = 1,
1471 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1472 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1474 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1475 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
1478 .description = "ttl_tl3_rdir",
1479 .field_bit_size = 1,
1480 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1481 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1484 .description = "ttl_il3_rdir",
1485 .field_bit_size = 1,
1486 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1487 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1490 .description = "tun_new_prot",
1491 .field_bit_size = 16,
1492 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1495 .description = "tun_ex_prot",
1496 .field_bit_size = 16,
1497 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1500 .description = "tun_mv",
1501 .field_bit_size = 16,
1502 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1505 .description = "reserved",
1506 .field_bit_size = 0,
1507 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1510 .description = "l2_dmac",
1511 .field_bit_size = 48,
1512 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1515 .description = "l2_smac",
1516 .field_bit_size = 48,
1517 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1520 .description = "l3_sip_ipv6",
1521 .field_bit_size = 128,
1522 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1525 .description = "l3_dip_ipv6",
1526 .field_bit_size = 128,
1527 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1530 .description = "l3_sip_ipv4",
1531 .field_bit_size = 32,
1532 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1535 .description = "l3_dip_ipv4",
1536 .field_bit_size = 32,
1537 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1540 .description = "l4_sport",
1541 .field_bit_size = 16,
1542 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1545 .description = "l4_dport",
1546 .field_bit_size = 16,
1547 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
1549 /* act_tid: 1, , table: int_full_act_record.0 */
1551 .description = "sp_rec_ptr",
1552 .field_bit_size = 16,
1553 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1554 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1557 .description = "encap_ptr",
1558 .field_bit_size = 16,
1559 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1560 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1563 .description = "mod_rec_ptr",
1564 .field_bit_size = 16,
1565 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1566 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1568 ((uint64_t)BNXT_ULP_ACT_BIT_DEC_TTL >> 56) & 0xff,
1569 ((uint64_t)BNXT_ULP_ACT_BIT_DEC_TTL >> 48) & 0xff,
1570 ((uint64_t)BNXT_ULP_ACT_BIT_DEC_TTL >> 40) & 0xff,
1571 ((uint64_t)BNXT_ULP_ACT_BIT_DEC_TTL >> 32) & 0xff,
1572 ((uint64_t)BNXT_ULP_ACT_BIT_DEC_TTL >> 24) & 0xff,
1573 ((uint64_t)BNXT_ULP_ACT_BIT_DEC_TTL >> 16) & 0xff,
1574 ((uint64_t)BNXT_ULP_ACT_BIT_DEC_TTL >> 8) & 0xff,
1575 (uint64_t)BNXT_ULP_ACT_BIT_DEC_TTL & 0xff},
1576 .field_src2 = BNXT_ULP_FIELD_SRC_RF,
1578 (BNXT_ULP_RF_IDX_MODIFY_PTR >> 8) & 0xff,
1579 BNXT_ULP_RF_IDX_MODIFY_PTR & 0xff},
1580 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1583 .description = "rsvd1",
1584 .field_bit_size = 16,
1585 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1586 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1589 .description = "rsvd0",
1590 .field_bit_size = 8,
1591 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1592 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1595 .description = "decap_func",
1596 .field_bit_size = 5,
1597 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1598 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1600 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 56) & 0xff,
1601 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 48) & 0xff,
1602 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 40) & 0xff,
1603 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 32) & 0xff,
1604 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 24) & 0xff,
1605 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 16) & 0xff,
1606 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 8) & 0xff,
1607 (uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP & 0xff},
1608 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
1610 ULP_THOR_SYM_DECAP_FUNC_THRU_TUN},
1611 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
1613 ULP_THOR_SYM_DECAP_FUNC_NONE}
1616 .description = "meter",
1617 .field_bit_size = 10,
1618 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1619 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1622 .description = "stats_op",
1623 .field_bit_size = 1,
1624 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1625 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1630 .description = "stats_ptr",
1631 .field_bit_size = 16,
1632 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1633 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1635 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1636 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
1639 .description = "vnic_or_vport",
1640 .field_bit_size = 11,
1641 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1642 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1644 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1645 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
1648 .description = "use_default",
1649 .field_bit_size = 1,
1650 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1651 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1654 .description = "mirror",
1655 .field_bit_size = 4,
1656 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1657 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1659 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 56) & 0xff,
1660 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 48) & 0xff,
1661 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 40) & 0xff,
1662 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 32) & 0xff,
1663 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 24) & 0xff,
1664 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 16) & 0xff,
1665 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 8) & 0xff,
1666 (uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE & 0xff},
1667 .field_src2 = BNXT_ULP_FIELD_SRC_RF,
1669 (BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
1670 BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff},
1671 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1674 .description = "cond_copy",
1675 .field_bit_size = 1,
1676 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1677 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1680 .description = "vlan_del_rpt",
1681 .field_bit_size = 2,
1682 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1683 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1685 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff,
1686 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 48) & 0xff,
1687 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 40) & 0xff,
1688 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 32) & 0xff,
1689 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 24) & 0xff,
1690 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 16) & 0xff,
1691 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 8) & 0xff,
1692 (uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN & 0xff},
1693 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
1695 ULP_THOR_SYM_VLAN_DEL_RPT_STRIP_OUTER},
1696 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1699 .description = "drop",
1700 .field_bit_size = 1,
1701 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1702 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1704 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
1705 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
1706 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
1707 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
1708 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
1709 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
1710 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
1711 (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
1714 .description = "hit",
1715 .field_bit_size = 1,
1716 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1717 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1720 .description = "type",
1721 .field_bit_size = 3,
1722 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1723 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1727 /* act_tid: 1, , table: int_compact_act_record.0 */
1729 .description = "rsvd0",
1730 .field_bit_size = 8,
1731 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1732 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1735 .description = "decap_func",
1736 .field_bit_size = 5,
1737 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1738 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1740 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 56) & 0xff,
1741 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 48) & 0xff,
1742 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 40) & 0xff,
1743 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 32) & 0xff,
1744 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 24) & 0xff,
1745 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 16) & 0xff,
1746 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 8) & 0xff,
1747 (uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP & 0xff},
1748 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
1750 ULP_THOR_SYM_DECAP_FUNC_THRU_TUN},
1751 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
1753 ULP_THOR_SYM_DECAP_FUNC_NONE}
1756 .description = "meter",
1757 .field_bit_size = 10,
1758 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1759 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1762 .description = "stats_op",
1763 .field_bit_size = 1,
1764 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1765 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1770 .description = "stats_ptr",
1771 .field_bit_size = 16,
1772 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1773 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1775 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1776 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
1779 .description = "vnic_or_vport",
1780 .field_bit_size = 11,
1781 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1782 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1784 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1785 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
1788 .description = "use_default",
1789 .field_bit_size = 1,
1790 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1791 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1794 .description = "mirror",
1795 .field_bit_size = 4,
1796 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1797 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1799 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 56) & 0xff,
1800 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 48) & 0xff,
1801 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 40) & 0xff,
1802 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 32) & 0xff,
1803 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 24) & 0xff,
1804 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 16) & 0xff,
1805 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 8) & 0xff,
1806 (uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE & 0xff},
1807 .field_src2 = BNXT_ULP_FIELD_SRC_RF,
1809 (BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
1810 BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff},
1811 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1814 .description = "cond_copy",
1815 .field_bit_size = 1,
1816 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1817 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1820 .description = "vlan_del_rpt",
1821 .field_bit_size = 2,
1822 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1823 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1825 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff,
1826 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 48) & 0xff,
1827 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 40) & 0xff,
1828 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 32) & 0xff,
1829 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 24) & 0xff,
1830 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 16) & 0xff,
1831 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 8) & 0xff,
1832 (uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN & 0xff},
1833 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
1835 ULP_THOR_SYM_VLAN_DEL_RPT_STRIP_OUTER},
1836 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1839 .description = "drop",
1840 .field_bit_size = 1,
1841 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1842 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1844 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
1845 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
1846 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
1847 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
1848 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
1849 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
1850 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
1851 (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
1854 .description = "hit",
1855 .field_bit_size = 1,
1856 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1857 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1860 .description = "type",
1861 .field_bit_size = 3,
1862 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1863 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1865 /* act_tid: 2, , table: mirror_tbl.alloc */
1867 .description = "act_rec_ptr",
1868 .field_bit_size = 16,
1869 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1870 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1873 .description = "reserved",
1874 .field_bit_size = 13,
1875 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1876 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1879 .description = "ignore_drop",
1880 .field_bit_size = 1,
1881 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1882 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1885 .description = "copy_ing_or_egr",
1886 .field_bit_size = 1,
1887 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1888 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1891 .description = "enable",
1892 .field_bit_size = 1,
1893 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1894 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1898 /* act_tid: 2, , table: int_flow_counter_tbl.0 */
1900 .description = "count",
1901 .field_bit_size = 64,
1902 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1903 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1905 /* act_tid: 2, , table: int_compact_act_record.0 */
1907 .description = "rsvd0",
1908 .field_bit_size = 8,
1909 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1910 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1913 .description = "decap_func",
1914 .field_bit_size = 5,
1915 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1916 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1919 .description = "meter",
1920 .field_bit_size = 10,
1921 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1922 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1925 .description = "stats_op",
1926 .field_bit_size = 1,
1927 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1928 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1933 .description = "stats_ptr",
1934 .field_bit_size = 16,
1935 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1936 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1938 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1939 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
1942 .description = "vnic_or_vport",
1943 .field_bit_size = 11,
1944 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1945 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1947 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1948 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
1951 .description = "use_default",
1952 .field_bit_size = 1,
1953 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1954 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1957 .description = "mirror",
1958 .field_bit_size = 4,
1959 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1960 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1962 (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff,
1963 BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff}
1966 .description = "cond_copy",
1967 .field_bit_size = 1,
1968 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1969 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1972 .description = "vlan_del_rpt",
1973 .field_bit_size = 2,
1974 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1975 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1978 .description = "drop",
1979 .field_bit_size = 1,
1980 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1981 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1984 .description = "hit",
1985 .field_bit_size = 1,
1986 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1987 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1990 .description = "type",
1991 .field_bit_size = 3,
1992 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1993 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1995 /* act_tid: 2, , table: mirror_tbl.wr */
1997 .description = "act_rec_ptr",
1998 .field_bit_size = 16,
1999 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2000 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2002 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
2003 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
2006 .description = "reserved",
2007 .field_bit_size = 13,
2008 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2009 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2012 .description = "ignore_drop",
2013 .field_bit_size = 1,
2014 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2015 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2020 .description = "copy_ing_or_egr",
2021 .field_bit_size = 1,
2022 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2023 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2028 .description = "enable",
2029 .field_bit_size = 1,
2030 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2031 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2035 /* act_tid: 2, , table: shared_mirror_record.wr */
2037 .description = "rid",
2038 .field_bit_size = 32,
2039 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2040 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2042 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
2043 BNXT_ULP_RF_IDX_RID & 0xff}
2046 .description = "mirror_id",
2047 .field_bit_size = 4,
2048 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2049 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2051 (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff,
2052 BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff}
2054 /* act_tid: 3, , table: int_flow_counter_tbl.0 */
2056 .description = "count",
2057 .field_bit_size = 64,
2058 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2059 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2061 /* act_tid: 3, , table: mod_record.ing_ttl */
2063 .description = "metadata_en",
2064 .field_bit_size = 1,
2065 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2066 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2069 .description = "rem_ovlan",
2070 .field_bit_size = 1,
2071 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2072 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2075 .description = "rem_ivlan",
2076 .field_bit_size = 1,
2077 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2078 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2081 .description = "rep_add_ivlan",
2082 .field_bit_size = 1,
2083 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2084 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2087 .description = "rep_add_ovlan",
2088 .field_bit_size = 1,
2089 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2090 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2093 .description = "ttl_update",
2094 .field_bit_size = 1,
2095 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2096 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2101 .description = "tun_md_en",
2102 .field_bit_size = 1,
2103 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2104 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2107 .description = "reserved_en",
2108 .field_bit_size = 1,
2109 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2110 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2113 .description = "l2_dmac_en",
2114 .field_bit_size = 1,
2115 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2116 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2119 .description = "l2_smac_en",
2120 .field_bit_size = 1,
2121 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2122 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2125 .description = "l3_sip_ipv6_en",
2126 .field_bit_size = 1,
2127 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2128 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2131 .description = "l3_dip_ipv6_en",
2132 .field_bit_size = 1,
2133 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2134 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2137 .description = "l3_sip_ipv4_en",
2138 .field_bit_size = 1,
2139 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2140 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2142 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 56) & 0xff,
2143 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 48) & 0xff,
2144 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 40) & 0xff,
2145 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 32) & 0xff,
2146 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 24) & 0xff,
2147 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff,
2148 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff,
2149 (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff},
2150 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2153 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2156 .description = "l3_dip_ipv4_en",
2157 .field_bit_size = 1,
2158 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2159 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2161 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 56) & 0xff,
2162 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 48) & 0xff,
2163 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 40) & 0xff,
2164 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 32) & 0xff,
2165 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 24) & 0xff,
2166 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff,
2167 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff,
2168 (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff},
2169 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2172 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2175 .description = "l4_sport_en",
2176 .field_bit_size = 1,
2177 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2178 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2180 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
2181 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
2182 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
2183 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
2184 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
2185 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
2186 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
2187 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
2188 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2191 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2194 .description = "l4_dport_en",
2195 .field_bit_size = 1,
2196 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2197 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2199 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
2200 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
2201 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
2202 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
2203 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
2204 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
2205 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
2206 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
2207 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2210 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2213 .description = "metadata_data",
2214 .field_bit_size = 16,
2215 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2218 .description = "metadata_rsvd",
2219 .field_bit_size = 10,
2220 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2223 .description = "metadata_op",
2224 .field_bit_size = 2,
2225 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2228 .description = "metadata_prof",
2229 .field_bit_size = 4,
2230 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2233 .description = "ivlan_tpid",
2234 .field_bit_size = 16,
2235 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2238 .description = "ivlan_pri",
2239 .field_bit_size = 3,
2240 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2243 .description = "ivlan_de",
2244 .field_bit_size = 1,
2245 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2248 .description = "ivlan_vid",
2249 .field_bit_size = 12,
2250 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2253 .description = "ovlan_tpid",
2254 .field_bit_size = 16,
2255 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2258 .description = "ovlan_pri",
2259 .field_bit_size = 3,
2260 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2263 .description = "ovlan_de",
2264 .field_bit_size = 1,
2265 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2268 .description = "ovlan_vid",
2269 .field_bit_size = 12,
2270 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2273 .description = "alt_pfid",
2274 .field_bit_size = 4,
2275 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2276 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2279 .description = "alt_vid",
2280 .field_bit_size = 12,
2281 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2282 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2285 .description = "ttl_rsvd",
2286 .field_bit_size = 12,
2287 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2288 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2291 .description = "ttl_tl3_dec",
2292 .field_bit_size = 1,
2293 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2294 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2296 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2297 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
2300 .description = "ttl_il3_dec",
2301 .field_bit_size = 1,
2302 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2303 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2305 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2306 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
2309 .description = "ttl_tl3_rdir",
2310 .field_bit_size = 1,
2311 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2312 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2315 .description = "ttl_il3_rdir",
2316 .field_bit_size = 1,
2317 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2318 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2321 .description = "tun_new_prot",
2322 .field_bit_size = 16,
2323 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2326 .description = "tun_ex_prot",
2327 .field_bit_size = 16,
2328 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2331 .description = "tun_mv",
2332 .field_bit_size = 16,
2333 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2336 .description = "reserved",
2337 .field_bit_size = 0,
2338 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2341 .description = "l2_dmac",
2342 .field_bit_size = 48,
2343 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2346 .description = "l2_smac",
2347 .field_bit_size = 48,
2348 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2351 .description = "l3_sip_ipv6",
2352 .field_bit_size = 128,
2353 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2356 .description = "l3_dip_ipv6",
2357 .field_bit_size = 128,
2358 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2361 .description = "l3_sip_ipv4",
2362 .field_bit_size = 32,
2363 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2364 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2366 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 56) & 0xff,
2367 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 48) & 0xff,
2368 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 40) & 0xff,
2369 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 32) & 0xff,
2370 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 24) & 0xff,
2371 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff,
2372 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff,
2373 (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff},
2374 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2376 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
2377 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff},
2378 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
2381 .description = "l3_dip_ipv4",
2382 .field_bit_size = 32,
2383 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2384 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2386 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 56) & 0xff,
2387 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 48) & 0xff,
2388 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 40) & 0xff,
2389 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 32) & 0xff,
2390 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 24) & 0xff,
2391 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff,
2392 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff,
2393 (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff},
2394 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2396 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
2397 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff},
2398 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
2401 .description = "l4_sport",
2402 .field_bit_size = 16,
2403 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2404 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2406 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
2407 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
2408 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
2409 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
2410 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
2411 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
2412 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
2413 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
2414 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2416 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
2417 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
2418 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
2421 .description = "l4_dport",
2422 .field_bit_size = 16,
2423 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2424 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2426 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
2427 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
2428 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
2429 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
2430 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
2431 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
2432 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
2433 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
2434 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2436 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
2437 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
2438 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
2440 /* act_tid: 3, , table: mod_record.ing_no_ttl */
2442 .description = "metadata_en",
2443 .field_bit_size = 1,
2444 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2445 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2448 .description = "rem_ovlan",
2449 .field_bit_size = 1,
2450 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2451 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2454 .description = "rem_ivlan",
2455 .field_bit_size = 1,
2456 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2457 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2460 .description = "rep_add_ivlan",
2461 .field_bit_size = 1,
2462 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2463 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2466 .description = "rep_add_ovlan",
2467 .field_bit_size = 1,
2468 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2469 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2472 .description = "ttl_update",
2473 .field_bit_size = 1,
2474 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2475 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2478 .description = "tun_md_en",
2479 .field_bit_size = 1,
2480 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2481 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2484 .description = "reserved_en",
2485 .field_bit_size = 1,
2486 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2487 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2490 .description = "l2_dmac_en",
2491 .field_bit_size = 1,
2492 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2493 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2496 .description = "l2_smac_en",
2497 .field_bit_size = 1,
2498 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2499 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2502 .description = "l3_sip_ipv6_en",
2503 .field_bit_size = 1,
2504 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2505 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2508 .description = "l3_dip_ipv6_en",
2509 .field_bit_size = 1,
2510 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2511 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2514 .description = "l3_sip_ipv4_en",
2515 .field_bit_size = 1,
2516 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2517 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2519 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 56) & 0xff,
2520 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 48) & 0xff,
2521 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 40) & 0xff,
2522 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 32) & 0xff,
2523 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 24) & 0xff,
2524 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff,
2525 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff,
2526 (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff},
2527 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2530 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2533 .description = "l3_dip_ipv4_en",
2534 .field_bit_size = 1,
2535 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2536 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2538 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 56) & 0xff,
2539 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 48) & 0xff,
2540 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 40) & 0xff,
2541 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 32) & 0xff,
2542 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 24) & 0xff,
2543 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff,
2544 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff,
2545 (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff},
2546 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2549 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2552 .description = "l4_sport_en",
2553 .field_bit_size = 1,
2554 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2555 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2557 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
2558 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
2559 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
2560 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
2561 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
2562 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
2563 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
2564 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
2565 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2568 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2571 .description = "l4_dport_en",
2572 .field_bit_size = 1,
2573 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2574 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2576 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
2577 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
2578 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
2579 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
2580 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
2581 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
2582 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
2583 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
2584 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2587 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2590 .description = "metadata_data",
2591 .field_bit_size = 16,
2592 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2595 .description = "metadata_rsvd",
2596 .field_bit_size = 10,
2597 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2600 .description = "metadata_op",
2601 .field_bit_size = 2,
2602 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2605 .description = "metadata_prof",
2606 .field_bit_size = 4,
2607 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2610 .description = "ivlan_tpid",
2611 .field_bit_size = 16,
2612 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2615 .description = "ivlan_pri",
2616 .field_bit_size = 3,
2617 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2620 .description = "ivlan_de",
2621 .field_bit_size = 1,
2622 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2625 .description = "ivlan_vid",
2626 .field_bit_size = 12,
2627 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2630 .description = "ovlan_tpid",
2631 .field_bit_size = 16,
2632 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2635 .description = "ovlan_pri",
2636 .field_bit_size = 3,
2637 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2640 .description = "ovlan_de",
2641 .field_bit_size = 1,
2642 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2645 .description = "ovlan_vid",
2646 .field_bit_size = 12,
2647 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2650 .description = "alt_pfid",
2651 .field_bit_size = 4,
2652 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2655 .description = "alt_vid",
2656 .field_bit_size = 12,
2657 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2660 .description = "ttl_rsvd",
2661 .field_bit_size = 12,
2662 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2665 .description = "ttl_tl3_dec",
2666 .field_bit_size = 1,
2667 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2670 .description = "ttl_il3_dec",
2671 .field_bit_size = 1,
2672 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2675 .description = "ttl_tl3_rdir",
2676 .field_bit_size = 1,
2677 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2680 .description = "ttl_il3_rdir",
2681 .field_bit_size = 1,
2682 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2685 .description = "tun_new_prot",
2686 .field_bit_size = 16,
2687 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2690 .description = "tun_ex_prot",
2691 .field_bit_size = 16,
2692 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2695 .description = "tun_mv",
2696 .field_bit_size = 16,
2697 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2700 .description = "reserved",
2701 .field_bit_size = 0,
2702 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2705 .description = "l2_dmac",
2706 .field_bit_size = 48,
2707 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2710 .description = "l2_smac",
2711 .field_bit_size = 48,
2712 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2715 .description = "l3_sip_ipv6",
2716 .field_bit_size = 128,
2717 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2720 .description = "l3_dip_ipv6",
2721 .field_bit_size = 128,
2722 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
2725 .description = "l3_sip_ipv4",
2726 .field_bit_size = 32,
2727 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2728 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2730 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 56) & 0xff,
2731 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 48) & 0xff,
2732 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 40) & 0xff,
2733 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 32) & 0xff,
2734 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 24) & 0xff,
2735 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff,
2736 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff,
2737 (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff},
2738 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2740 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
2741 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff},
2742 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
2745 .description = "l3_dip_ipv4",
2746 .field_bit_size = 32,
2747 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2748 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2750 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 56) & 0xff,
2751 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 48) & 0xff,
2752 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 40) & 0xff,
2753 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 32) & 0xff,
2754 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 24) & 0xff,
2755 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff,
2756 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff,
2757 (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff},
2758 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2760 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
2761 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff},
2762 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
2765 .description = "l4_sport",
2766 .field_bit_size = 16,
2767 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2768 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2770 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
2771 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
2772 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
2773 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
2774 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
2775 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
2776 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
2777 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
2778 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2780 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
2781 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
2782 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
2785 .description = "l4_dport",
2786 .field_bit_size = 16,
2787 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2788 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2790 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
2791 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
2792 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
2793 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
2794 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
2795 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
2796 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
2797 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
2798 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2800 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
2801 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
2802 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
2804 /* act_tid: 3, , table: int_full_act_record.0 */
2806 .description = "sp_rec_ptr",
2807 .field_bit_size = 16,
2808 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2809 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2812 .description = "encap_ptr",
2813 .field_bit_size = 16,
2814 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2815 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2818 .description = "mod_rec_ptr",
2819 .field_bit_size = 16,
2820 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2821 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2823 (BNXT_ULP_RF_IDX_MODIFY_PTR >> 8) & 0xff,
2824 BNXT_ULP_RF_IDX_MODIFY_PTR & 0xff}
2827 .description = "rsvd1",
2828 .field_bit_size = 16,
2829 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2830 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2833 .description = "rsvd0",
2834 .field_bit_size = 8,
2835 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2836 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2839 .description = "decap_func",
2840 .field_bit_size = 5,
2841 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2842 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2845 .description = "meter",
2846 .field_bit_size = 10,
2847 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2848 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2851 .description = "stats_op",
2852 .field_bit_size = 1,
2853 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2854 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2859 .description = "stats_ptr",
2860 .field_bit_size = 16,
2861 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2862 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2864 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2865 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
2868 .description = "vnic_or_vport",
2869 .field_bit_size = 11,
2870 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2871 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2873 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
2874 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
2877 .description = "use_default",
2878 .field_bit_size = 1,
2879 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2880 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2883 .description = "mirror",
2884 .field_bit_size = 4,
2885 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2886 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2889 .description = "cond_copy",
2890 .field_bit_size = 1,
2891 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2892 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2895 .description = "vlan_del_rpt",
2896 .field_bit_size = 2,
2897 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2898 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2901 .description = "drop",
2902 .field_bit_size = 1,
2903 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2904 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2907 .description = "hit",
2908 .field_bit_size = 1,
2909 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2910 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2913 .description = "type",
2914 .field_bit_size = 3,
2915 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2916 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2920 /* act_tid: 4, , table: int_flow_counter_tbl.0 */
2922 .description = "count",
2923 .field_bit_size = 64,
2924 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2925 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2927 /* act_tid: 4, , table: int_vtag_encap_record.0 */
2929 .description = "ecv_valid",
2930 .field_bit_size = 1,
2931 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2932 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2937 .description = "ecv_custom_en",
2938 .field_bit_size = 1,
2939 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2940 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2943 .description = "ecv_vtag_type",
2944 .field_bit_size = 4,
2945 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2946 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2948 ULP_THOR_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
2951 .description = "ecv_l2_en",
2952 .field_bit_size = 1,
2953 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2954 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2957 .description = "ecv_l3_type",
2958 .field_bit_size = 3,
2959 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2960 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2963 .description = "ecv_l4_type",
2964 .field_bit_size = 3,
2965 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2966 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2969 .description = "ecv_tun_type",
2970 .field_bit_size = 3,
2971 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2972 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2975 .description = "vtag_tpid",
2976 .field_bit_size = 16,
2977 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2978 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2980 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
2981 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff}
2984 .description = "vtag_pcp",
2985 .field_bit_size = 3,
2986 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2987 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2989 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
2990 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff}
2993 .description = "vtag_de",
2994 .field_bit_size = 1,
2995 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2996 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2999 .description = "vtag_vid",
3000 .field_bit_size = 12,
3001 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3002 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3004 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
3005 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff}
3007 /* act_tid: 4, , table: mod_record.dec_ttl_egr */
3009 .description = "metadata_en",
3010 .field_bit_size = 1,
3011 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3012 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3015 .description = "rem_ovlan",
3016 .field_bit_size = 1,
3017 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3018 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3021 .description = "rem_ivlan",
3022 .field_bit_size = 1,
3023 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3024 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3027 .description = "rep_add_ivlan",
3028 .field_bit_size = 1,
3029 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3030 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3033 .description = "rep_add_ovlan",
3034 .field_bit_size = 1,
3035 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3036 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3039 .description = "ttl_update",
3040 .field_bit_size = 1,
3041 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3042 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3047 .description = "tun_md_en",
3048 .field_bit_size = 1,
3049 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3050 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3053 .description = "reserved_en",
3054 .field_bit_size = 1,
3055 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3056 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3059 .description = "l2_dmac_en",
3060 .field_bit_size = 1,
3061 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3062 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3065 .description = "l2_smac_en",
3066 .field_bit_size = 1,
3067 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3068 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3071 .description = "l3_sip_ipv6_en",
3072 .field_bit_size = 1,
3073 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3074 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3077 .description = "l3_dip_ipv6_en",
3078 .field_bit_size = 1,
3079 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3080 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3083 .description = "l3_sip_ipv4_en",
3084 .field_bit_size = 1,
3085 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3086 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3089 .description = "l3_dip_ipv4_en",
3090 .field_bit_size = 1,
3091 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3092 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3095 .description = "l4_sport_en",
3096 .field_bit_size = 1,
3097 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3098 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3101 .description = "l4_dport_en",
3102 .field_bit_size = 1,
3103 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3104 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3107 .description = "metadata_data",
3108 .field_bit_size = 16,
3109 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3112 .description = "metadata_rsvd",
3113 .field_bit_size = 10,
3114 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3117 .description = "metadata_op",
3118 .field_bit_size = 2,
3119 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3122 .description = "metadata_prof",
3123 .field_bit_size = 4,
3124 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3127 .description = "ivlan_tpid",
3128 .field_bit_size = 16,
3129 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3132 .description = "ivlan_pri",
3133 .field_bit_size = 3,
3134 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3137 .description = "ivlan_de",
3138 .field_bit_size = 1,
3139 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3142 .description = "ivlan_vid",
3143 .field_bit_size = 12,
3144 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3147 .description = "ovlan_tpid",
3148 .field_bit_size = 16,
3149 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3152 .description = "ovlan_pri",
3153 .field_bit_size = 3,
3154 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3157 .description = "ovlan_de",
3158 .field_bit_size = 1,
3159 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3162 .description = "ovlan_vid",
3163 .field_bit_size = 12,
3164 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3167 .description = "alt_pfid",
3168 .field_bit_size = 4,
3169 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3170 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3173 .description = "alt_vid",
3174 .field_bit_size = 12,
3175 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3176 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3179 .description = "ttl_rsvd",
3180 .field_bit_size = 12,
3181 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3182 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3185 .description = "ttl_tl3_dec",
3186 .field_bit_size = 1,
3187 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3188 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3190 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3191 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
3194 .description = "ttl_il3_dec",
3195 .field_bit_size = 1,
3196 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3197 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3199 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3200 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
3203 .description = "ttl_tl3_rdir",
3204 .field_bit_size = 1,
3205 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3206 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3209 .description = "ttl_il3_rdir",
3210 .field_bit_size = 1,
3211 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3212 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3215 .description = "tun_new_prot",
3216 .field_bit_size = 16,
3217 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3220 .description = "tun_ex_prot",
3221 .field_bit_size = 16,
3222 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3225 .description = "tun_mv",
3226 .field_bit_size = 16,
3227 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3230 .description = "reserved",
3231 .field_bit_size = 0,
3232 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3235 .description = "l2_dmac",
3236 .field_bit_size = 48,
3237 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3240 .description = "l2_smac",
3241 .field_bit_size = 48,
3242 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3245 .description = "l3_sip_ipv6",
3246 .field_bit_size = 128,
3247 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3250 .description = "l3_dip_ipv6",
3251 .field_bit_size = 128,
3252 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3255 .description = "l3_sip_ipv4",
3256 .field_bit_size = 32,
3257 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3260 .description = "l3_dip_ipv4",
3261 .field_bit_size = 32,
3262 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3265 .description = "l4_sport",
3266 .field_bit_size = 16,
3267 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3270 .description = "l4_dport",
3271 .field_bit_size = 16,
3272 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3274 /* act_tid: 4, , table: int_full_act_record.0 */
3276 .description = "sp_rec_ptr",
3277 .field_bit_size = 16,
3278 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3279 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3282 .description = "encap_ptr",
3283 .field_bit_size = 16,
3284 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3285 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3287 (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
3288 BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
3291 .description = "mod_rec_ptr",
3292 .field_bit_size = 16,
3293 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3294 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3296 (BNXT_ULP_RF_IDX_MODIFY_PTR >> 8) & 0xff,
3297 BNXT_ULP_RF_IDX_MODIFY_PTR & 0xff}
3300 .description = "rsvd1",
3301 .field_bit_size = 16,
3302 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3303 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3306 .description = "rsvd0",
3307 .field_bit_size = 8,
3308 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3309 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3312 .description = "decap_func",
3313 .field_bit_size = 5,
3314 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3315 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3318 .description = "meter",
3319 .field_bit_size = 10,
3320 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3321 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3324 .description = "stats_op",
3325 .field_bit_size = 1,
3326 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3327 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3332 .description = "stats_ptr",
3333 .field_bit_size = 16,
3334 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3335 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3337 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
3338 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
3341 .description = "vnic_or_vport",
3342 .field_bit_size = 11,
3343 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3344 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3346 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3347 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
3350 .description = "use_default",
3351 .field_bit_size = 1,
3352 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3353 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3356 .description = "mirror",
3357 .field_bit_size = 4,
3358 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3359 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3362 .description = "cond_copy",
3363 .field_bit_size = 1,
3364 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3365 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3368 .description = "vlan_del_rpt",
3369 .field_bit_size = 2,
3370 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3371 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3374 .description = "drop",
3375 .field_bit_size = 1,
3376 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3377 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3379 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
3380 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
3381 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
3382 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
3383 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
3384 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
3385 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
3386 (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
3389 .description = "hit",
3390 .field_bit_size = 1,
3391 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3392 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3395 .description = "type",
3396 .field_bit_size = 3,
3397 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3398 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3402 /* act_tid: 4, , table: int_compact_act_record.0 */
3404 .description = "rsvd0",
3405 .field_bit_size = 8,
3406 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3407 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3410 .description = "decap_func",
3411 .field_bit_size = 5,
3412 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3413 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3416 .description = "meter",
3417 .field_bit_size = 10,
3418 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3419 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3422 .description = "stats_op",
3423 .field_bit_size = 1,
3424 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3425 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3430 .description = "stats_ptr",
3431 .field_bit_size = 16,
3432 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3433 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3435 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
3436 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
3439 .description = "vnic_or_vport",
3440 .field_bit_size = 11,
3441 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3442 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3444 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3445 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
3448 .description = "use_default",
3449 .field_bit_size = 1,
3450 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3451 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3454 .description = "mirror",
3455 .field_bit_size = 4,
3456 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3457 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3460 .description = "cond_copy",
3461 .field_bit_size = 1,
3462 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3463 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3466 .description = "vlan_del_rpt",
3467 .field_bit_size = 2,
3468 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3469 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3472 .description = "drop",
3473 .field_bit_size = 1,
3474 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3475 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3477 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
3478 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
3479 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
3480 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
3481 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
3482 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
3483 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
3484 (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
3487 .description = "hit",
3488 .field_bit_size = 1,
3489 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3490 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3493 .description = "type",
3494 .field_bit_size = 3,
3495 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3496 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3498 /* act_tid: 5, , table: int_flow_counter_tbl.0 */
3500 .description = "count",
3501 .field_bit_size = 64,
3502 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3503 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3505 /* act_tid: 5, , table: mod_record.ing_ttl */
3507 .description = "metadata_en",
3508 .field_bit_size = 1,
3509 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3510 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3513 .description = "rem_ovlan",
3514 .field_bit_size = 1,
3515 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3516 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3519 .description = "rem_ivlan",
3520 .field_bit_size = 1,
3521 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3522 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3525 .description = "rep_add_ivlan",
3526 .field_bit_size = 1,
3527 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3528 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3531 .description = "rep_add_ovlan",
3532 .field_bit_size = 1,
3533 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3534 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3537 .description = "ttl_update",
3538 .field_bit_size = 1,
3539 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3540 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3545 .description = "tun_md_en",
3546 .field_bit_size = 1,
3547 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3548 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3551 .description = "reserved_en",
3552 .field_bit_size = 1,
3553 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3554 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3557 .description = "l2_dmac_en",
3558 .field_bit_size = 1,
3559 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3560 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3563 .description = "l2_smac_en",
3564 .field_bit_size = 1,
3565 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3566 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3569 .description = "l3_sip_ipv6_en",
3570 .field_bit_size = 1,
3571 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3572 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3575 .description = "l3_dip_ipv6_en",
3576 .field_bit_size = 1,
3577 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3578 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3581 .description = "l3_sip_ipv4_en",
3582 .field_bit_size = 1,
3583 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3584 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3586 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 56) & 0xff,
3587 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 48) & 0xff,
3588 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 40) & 0xff,
3589 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 32) & 0xff,
3590 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 24) & 0xff,
3591 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff,
3592 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff,
3593 (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff},
3594 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
3597 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
3600 .description = "l3_dip_ipv4_en",
3601 .field_bit_size = 1,
3602 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3603 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3605 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 56) & 0xff,
3606 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 48) & 0xff,
3607 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 40) & 0xff,
3608 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 32) & 0xff,
3609 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 24) & 0xff,
3610 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff,
3611 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff,
3612 (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff},
3613 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
3616 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
3619 .description = "l4_sport_en",
3620 .field_bit_size = 1,
3621 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3622 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3624 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
3625 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
3626 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
3627 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
3628 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
3629 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
3630 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
3631 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
3632 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
3635 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
3638 .description = "l4_dport_en",
3639 .field_bit_size = 1,
3640 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3641 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3643 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
3644 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
3645 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
3646 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
3647 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
3648 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
3649 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
3650 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
3651 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
3654 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
3657 .description = "metadata_data",
3658 .field_bit_size = 16,
3659 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3662 .description = "metadata_rsvd",
3663 .field_bit_size = 10,
3664 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3667 .description = "metadata_op",
3668 .field_bit_size = 2,
3669 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3672 .description = "metadata_prof",
3673 .field_bit_size = 4,
3674 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3677 .description = "ivlan_tpid",
3678 .field_bit_size = 16,
3679 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3682 .description = "ivlan_pri",
3683 .field_bit_size = 3,
3684 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3687 .description = "ivlan_de",
3688 .field_bit_size = 1,
3689 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3692 .description = "ivlan_vid",
3693 .field_bit_size = 12,
3694 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3697 .description = "ovlan_tpid",
3698 .field_bit_size = 16,
3699 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3702 .description = "ovlan_pri",
3703 .field_bit_size = 3,
3704 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3707 .description = "ovlan_de",
3708 .field_bit_size = 1,
3709 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3712 .description = "ovlan_vid",
3713 .field_bit_size = 12,
3714 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3717 .description = "alt_pfid",
3718 .field_bit_size = 4,
3719 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3720 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3723 .description = "alt_vid",
3724 .field_bit_size = 12,
3725 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3726 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3729 .description = "ttl_rsvd",
3730 .field_bit_size = 12,
3731 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3732 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3735 .description = "ttl_tl3_dec",
3736 .field_bit_size = 1,
3737 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3738 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3740 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3741 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
3744 .description = "ttl_il3_dec",
3745 .field_bit_size = 1,
3746 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3747 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3749 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3750 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
3753 .description = "ttl_tl3_rdir",
3754 .field_bit_size = 1,
3755 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3756 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3759 .description = "ttl_il3_rdir",
3760 .field_bit_size = 1,
3761 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3762 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3765 .description = "tun_new_prot",
3766 .field_bit_size = 16,
3767 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3770 .description = "tun_ex_prot",
3771 .field_bit_size = 16,
3772 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3775 .description = "tun_mv",
3776 .field_bit_size = 16,
3777 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3780 .description = "reserved",
3781 .field_bit_size = 0,
3782 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3785 .description = "l2_dmac",
3786 .field_bit_size = 48,
3787 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3790 .description = "l2_smac",
3791 .field_bit_size = 48,
3792 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3795 .description = "l3_sip_ipv6",
3796 .field_bit_size = 128,
3797 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3800 .description = "l3_dip_ipv6",
3801 .field_bit_size = 128,
3802 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
3805 .description = "l3_sip_ipv4",
3806 .field_bit_size = 32,
3807 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3808 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3810 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 56) & 0xff,
3811 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 48) & 0xff,
3812 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 40) & 0xff,
3813 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 32) & 0xff,
3814 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 24) & 0xff,
3815 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff,
3816 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff,
3817 (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff},
3818 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3820 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
3821 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff},
3822 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
3825 .description = "l3_dip_ipv4",
3826 .field_bit_size = 32,
3827 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3828 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3830 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 56) & 0xff,
3831 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 48) & 0xff,
3832 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 40) & 0xff,
3833 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 32) & 0xff,
3834 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 24) & 0xff,
3835 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff,
3836 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff,
3837 (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff},
3838 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3840 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
3841 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff},
3842 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
3845 .description = "l4_sport",
3846 .field_bit_size = 16,
3847 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3848 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3850 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
3851 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
3852 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
3853 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
3854 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
3855 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
3856 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
3857 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
3858 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3860 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
3861 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
3862 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
3865 .description = "l4_dport",
3866 .field_bit_size = 16,
3867 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3868 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3870 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
3871 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
3872 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
3873 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
3874 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
3875 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
3876 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
3877 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
3878 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3880 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
3881 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
3882 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
3884 /* act_tid: 5, , table: mod_record.ing_no_ttl */
3886 .description = "metadata_en",
3887 .field_bit_size = 1,
3888 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3889 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3892 .description = "rem_ovlan",
3893 .field_bit_size = 1,
3894 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3895 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3898 .description = "rem_ivlan",
3899 .field_bit_size = 1,
3900 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3901 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3904 .description = "rep_add_ivlan",
3905 .field_bit_size = 1,
3906 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3907 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3910 .description = "rep_add_ovlan",
3911 .field_bit_size = 1,
3912 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3913 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3916 .description = "ttl_update",
3917 .field_bit_size = 1,
3918 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3919 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3922 .description = "tun_md_en",
3923 .field_bit_size = 1,
3924 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3925 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3928 .description = "reserved_en",
3929 .field_bit_size = 1,
3930 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3931 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3934 .description = "l2_dmac_en",
3935 .field_bit_size = 1,
3936 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3937 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3940 .description = "l2_smac_en",
3941 .field_bit_size = 1,
3942 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3943 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3946 .description = "l3_sip_ipv6_en",
3947 .field_bit_size = 1,
3948 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3949 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3952 .description = "l3_dip_ipv6_en",
3953 .field_bit_size = 1,
3954 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3955 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3958 .description = "l3_sip_ipv4_en",
3959 .field_bit_size = 1,
3960 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3961 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3963 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 56) & 0xff,
3964 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 48) & 0xff,
3965 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 40) & 0xff,
3966 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 32) & 0xff,
3967 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 24) & 0xff,
3968 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff,
3969 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff,
3970 (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff},
3971 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
3974 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
3977 .description = "l3_dip_ipv4_en",
3978 .field_bit_size = 1,
3979 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3980 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3982 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 56) & 0xff,
3983 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 48) & 0xff,
3984 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 40) & 0xff,
3985 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 32) & 0xff,
3986 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 24) & 0xff,
3987 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff,
3988 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff,
3989 (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff},
3990 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
3993 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
3996 .description = "l4_sport_en",
3997 .field_bit_size = 1,
3998 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3999 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
4001 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
4002 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
4003 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
4004 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
4005 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
4006 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
4007 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
4008 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
4009 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
4012 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4015 .description = "l4_dport_en",
4016 .field_bit_size = 1,
4017 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4018 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
4020 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
4021 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
4022 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
4023 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
4024 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
4025 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
4026 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
4027 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
4028 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
4031 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4034 .description = "metadata_data",
4035 .field_bit_size = 16,
4036 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4039 .description = "metadata_rsvd",
4040 .field_bit_size = 10,
4041 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4044 .description = "metadata_op",
4045 .field_bit_size = 2,
4046 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4049 .description = "metadata_prof",
4050 .field_bit_size = 4,
4051 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4054 .description = "ivlan_tpid",
4055 .field_bit_size = 16,
4056 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4059 .description = "ivlan_pri",
4060 .field_bit_size = 3,
4061 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4064 .description = "ivlan_de",
4065 .field_bit_size = 1,
4066 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4069 .description = "ivlan_vid",
4070 .field_bit_size = 12,
4071 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4074 .description = "ovlan_tpid",
4075 .field_bit_size = 16,
4076 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4079 .description = "ovlan_pri",
4080 .field_bit_size = 3,
4081 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4084 .description = "ovlan_de",
4085 .field_bit_size = 1,
4086 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4089 .description = "ovlan_vid",
4090 .field_bit_size = 12,
4091 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4094 .description = "alt_pfid",
4095 .field_bit_size = 4,
4096 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4099 .description = "alt_vid",
4100 .field_bit_size = 12,
4101 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4104 .description = "ttl_rsvd",
4105 .field_bit_size = 12,
4106 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4109 .description = "ttl_tl3_dec",
4110 .field_bit_size = 1,
4111 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4114 .description = "ttl_il3_dec",
4115 .field_bit_size = 1,
4116 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4119 .description = "ttl_tl3_rdir",
4120 .field_bit_size = 1,
4121 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4124 .description = "ttl_il3_rdir",
4125 .field_bit_size = 1,
4126 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4129 .description = "tun_new_prot",
4130 .field_bit_size = 16,
4131 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4134 .description = "tun_ex_prot",
4135 .field_bit_size = 16,
4136 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4139 .description = "tun_mv",
4140 .field_bit_size = 16,
4141 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4144 .description = "reserved",
4145 .field_bit_size = 0,
4146 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4149 .description = "l2_dmac",
4150 .field_bit_size = 48,
4151 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4154 .description = "l2_smac",
4155 .field_bit_size = 48,
4156 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4159 .description = "l3_sip_ipv6",
4160 .field_bit_size = 128,
4161 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4164 .description = "l3_dip_ipv6",
4165 .field_bit_size = 128,
4166 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4169 .description = "l3_sip_ipv4",
4170 .field_bit_size = 32,
4171 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4172 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
4174 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 56) & 0xff,
4175 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 48) & 0xff,
4176 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 40) & 0xff,
4177 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 32) & 0xff,
4178 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 24) & 0xff,
4179 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 16) & 0xff,
4180 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC >> 8) & 0xff,
4181 (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_SRC & 0xff},
4182 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4184 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
4185 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff},
4186 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4189 .description = "l3_dip_ipv4",
4190 .field_bit_size = 32,
4191 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4192 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
4194 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 56) & 0xff,
4195 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 48) & 0xff,
4196 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 40) & 0xff,
4197 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 32) & 0xff,
4198 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 24) & 0xff,
4199 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 16) & 0xff,
4200 ((uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST >> 8) & 0xff,
4201 (uint64_t)BNXT_ULP_ACT_BIT_SET_IPV4_DST & 0xff},
4202 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4204 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
4205 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff},
4206 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4209 .description = "l4_sport",
4210 .field_bit_size = 16,
4211 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4212 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
4214 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
4215 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
4216 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
4217 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
4218 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
4219 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
4220 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
4221 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
4222 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4224 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
4225 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
4226 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4229 .description = "l4_dport",
4230 .field_bit_size = 16,
4231 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4232 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
4234 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
4235 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
4236 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
4237 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
4238 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
4239 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
4240 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
4241 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
4242 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4244 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
4245 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
4246 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4248 /* act_tid: 5, , table: int_full_act_record.0 */
4250 .description = "sp_rec_ptr",
4251 .field_bit_size = 16,
4252 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4253 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4256 .description = "encap_ptr",
4257 .field_bit_size = 16,
4258 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4259 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4262 .description = "mod_rec_ptr",
4263 .field_bit_size = 16,
4264 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4265 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4267 (BNXT_ULP_RF_IDX_MODIFY_PTR >> 8) & 0xff,
4268 BNXT_ULP_RF_IDX_MODIFY_PTR & 0xff}
4271 .description = "rsvd1",
4272 .field_bit_size = 16,
4273 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4274 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4277 .description = "rsvd0",
4278 .field_bit_size = 8,
4279 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4280 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4283 .description = "decap_func",
4284 .field_bit_size = 5,
4285 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4286 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4289 .description = "meter",
4290 .field_bit_size = 10,
4291 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4292 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4295 .description = "stats_op",
4296 .field_bit_size = 1,
4297 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4298 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
4300 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
4301 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
4302 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
4303 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
4304 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
4305 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
4306 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
4307 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
4310 .description = "stats_ptr",
4311 .field_bit_size = 16,
4312 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4313 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4315 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
4316 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
4319 .description = "vnic_or_vport",
4320 .field_bit_size = 11,
4321 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4322 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4324 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
4325 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
4328 .description = "use_default",
4329 .field_bit_size = 1,
4330 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4331 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4334 .description = "mirror",
4335 .field_bit_size = 4,
4336 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4337 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4340 .description = "cond_copy",
4341 .field_bit_size = 1,
4342 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4343 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4346 .description = "vlan_del_rpt",
4347 .field_bit_size = 2,
4348 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4349 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4352 .description = "drop",
4353 .field_bit_size = 1,
4354 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4355 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4358 .description = "hit",
4359 .field_bit_size = 1,
4360 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4361 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4364 .description = "type",
4365 .field_bit_size = 3,
4366 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4367 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4371 /* act_tid: 6, , table: int_flow_counter_tbl.0 */
4373 .description = "count",
4374 .field_bit_size = 64,
4375 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4376 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4378 /* act_tid: 6, , table: sp_smac_ipv4.0 */
4380 .description = "smac",
4381 .field_bit_size = 48,
4382 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4383 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4385 (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
4386 BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
4389 .description = "ipv4_src_addr",
4390 .field_bit_size = 32,
4391 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4392 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4394 (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff,
4395 BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff}
4398 .description = "reserved",
4399 .field_bit_size = 48,
4400 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4401 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4403 /* act_tid: 6, , table: source_property_cache.wr */
4405 .description = "rid",
4406 .field_bit_size = 32,
4407 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4408 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4410 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
4411 BNXT_ULP_RF_IDX_RID & 0xff}
4414 .description = "sp_rec_ptr",
4415 .field_bit_size = 16,
4416 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4417 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4419 (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff,
4420 BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff}
4422 /* act_tid: 6, , table: sp_smac_ipv6.0 */
4424 .description = "smac",
4425 .field_bit_size = 48,
4426 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4427 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4429 (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
4430 BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
4433 .description = "ipv6_src_addr",
4434 .field_bit_size = 128,
4435 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4436 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4438 (BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff,
4439 BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff}
4442 .description = "reserved",
4443 .field_bit_size = 16,
4444 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4445 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4447 /* act_tid: 6, , table: int_tun_encap_record.ipv4_vxlan */
4449 .description = "ecv_valid",
4450 .field_bit_size = 1,
4451 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4452 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4454 ULP_THOR_SYM_ECV_VALID_YES}
4457 .description = "ecv_custom_en",
4458 .field_bit_size = 1,
4459 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4460 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4463 .description = "ecv_vtag_type",
4464 .field_bit_size = 4,
4465 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4466 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4468 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
4469 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff}
4472 .description = "ecv_l2_en",
4473 .field_bit_size = 1,
4474 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4475 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4477 ULP_THOR_SYM_ECV_L2_EN_YES}
4480 .description = "ecv_l3_type",
4481 .field_bit_size = 3,
4482 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4483 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4485 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
4486 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff}
4489 .description = "ecv_l4_type",
4490 .field_bit_size = 3,
4491 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4492 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4494 ULP_THOR_SYM_ECV_L4_TYPE_UDP_CSUM}
4497 .description = "ecv_tun_type",
4498 .field_bit_size = 3,
4499 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4500 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4502 ULP_THOR_SYM_ECV_TUN_TYPE_VXLAN}
4505 .description = "enc_eth_dmac",
4506 .field_bit_size = 48,
4507 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4508 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4510 (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
4511 BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
4514 .description = "enc_o_vlan_tag",
4515 .field_bit_size = 16,
4516 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4517 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4519 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
4520 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
4521 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
4522 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
4523 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
4524 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
4525 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
4526 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
4527 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4529 (BNXT_ULP_ENC_FIELD_O_VLAN_TCI >> 8) & 0xff,
4530 BNXT_ULP_ENC_FIELD_O_VLAN_TCI & 0xff},
4531 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4534 .description = "enc_o_vlan_type",
4535 .field_bit_size = 16,
4536 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4537 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4539 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
4540 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
4541 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
4542 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
4543 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
4544 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
4545 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
4546 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
4547 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4549 (BNXT_ULP_ENC_FIELD_O_VLAN_TYPE >> 8) & 0xff,
4550 BNXT_ULP_ENC_FIELD_O_VLAN_TYPE & 0xff},
4551 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4554 .description = "enc_i_vlan_tag",
4555 .field_bit_size = 16,
4556 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4557 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4559 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 56) & 0xff,
4560 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 48) & 0xff,
4561 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 40) & 0xff,
4562 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 32) & 0xff,
4563 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 24) & 0xff,
4564 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 16) & 0xff,
4565 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 8) & 0xff,
4566 (uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN & 0xff},
4567 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4569 (BNXT_ULP_ENC_FIELD_I_VLAN_TCI >> 8) & 0xff,
4570 BNXT_ULP_ENC_FIELD_I_VLAN_TCI & 0xff},
4571 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4574 .description = "enc_i_vlan_type",
4575 .field_bit_size = 16,
4576 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4577 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4579 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 56) & 0xff,
4580 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 48) & 0xff,
4581 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 40) & 0xff,
4582 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 32) & 0xff,
4583 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 24) & 0xff,
4584 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 16) & 0xff,
4585 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 8) & 0xff,
4586 (uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN & 0xff},
4587 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4589 (BNXT_ULP_ENC_FIELD_I_VLAN_TYPE >> 8) & 0xff,
4590 BNXT_ULP_ENC_FIELD_I_VLAN_TYPE & 0xff},
4591 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4594 .description = "enc_ipv4_ihl",
4595 .field_bit_size = 8,
4596 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4597 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4599 (BNXT_ULP_ENC_FIELD_IPV4_IHL >> 8) & 0xff,
4600 BNXT_ULP_ENC_FIELD_IPV4_IHL & 0xff}
4603 .description = "enc_ipv4_tos",
4604 .field_bit_size = 8,
4605 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4606 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4608 (BNXT_ULP_ENC_FIELD_IPV4_TOS >> 8) & 0xff,
4609 BNXT_ULP_ENC_FIELD_IPV4_TOS & 0xff}
4612 .description = "enc_ipv4_pkt_id",
4613 .field_bit_size = 16,
4614 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4615 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4617 (BNXT_ULP_ENC_FIELD_IPV4_PKT_ID >> 8) & 0xff,
4618 BNXT_ULP_ENC_FIELD_IPV4_PKT_ID & 0xff}
4621 .description = "enc_ipv4_frag",
4622 .field_bit_size = 16,
4623 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4624 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4626 (BNXT_ULP_ENC_FIELD_IPV4_FRAG >> 8) & 0xff,
4627 BNXT_ULP_ENC_FIELD_IPV4_FRAG & 0xff}
4630 .description = "enc_ipv4_ttl",
4631 .field_bit_size = 8,
4632 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4633 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4635 (BNXT_ULP_ENC_FIELD_IPV4_TTL >> 8) & 0xff,
4636 BNXT_ULP_ENC_FIELD_IPV4_TTL & 0xff}
4639 .description = "enc_ipv4_proto",
4640 .field_bit_size = 8,
4641 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4642 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4644 (BNXT_ULP_ENC_FIELD_IPV4_PROTO >> 8) & 0xff,
4645 BNXT_ULP_ENC_FIELD_IPV4_PROTO & 0xff}
4648 .description = "enc_ipv4_daddr",
4649 .field_bit_size = 32,
4650 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4651 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4653 (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff,
4654 BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff}
4657 .description = "enc_ipv6_vtc",
4658 .field_bit_size = 32,
4659 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4662 .description = "enc_ipv6_zero",
4663 .field_bit_size = 16,
4664 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4667 .description = "enc_ipv6_proto",
4668 .field_bit_size = 8,
4669 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4672 .description = "enc_ipv6_ttl",
4673 .field_bit_size = 8,
4674 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4677 .description = "enc_ipv6_daddr",
4678 .field_bit_size = 128,
4679 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4682 .description = "enc_udp_sport",
4683 .field_bit_size = 16,
4684 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4685 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4687 (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
4688 BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
4691 .description = "enc_udp_dport",
4692 .field_bit_size = 16,
4693 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4694 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4696 (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
4697 BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
4700 .description = "enc_vxlan_flags",
4701 .field_bit_size = 8,
4702 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4703 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4705 (BNXT_ULP_ENC_FIELD_VXLAN_FLAGS >> 8) & 0xff,
4706 BNXT_ULP_ENC_FIELD_VXLAN_FLAGS & 0xff}
4709 .description = "enc_vxlan_rsvd0",
4710 .field_bit_size = 24,
4711 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4712 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4714 (BNXT_ULP_ENC_FIELD_VXLAN_RSVD0 >> 8) & 0xff,
4715 BNXT_ULP_ENC_FIELD_VXLAN_RSVD0 & 0xff}
4718 .description = "enc_vxlan_vni",
4719 .field_bit_size = 24,
4720 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4721 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4723 (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff,
4724 BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff}
4727 .description = "enc_vxlan_rsvd1",
4728 .field_bit_size = 8,
4729 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4730 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4732 (BNXT_ULP_ENC_FIELD_VXLAN_RSVD1 >> 8) & 0xff,
4733 BNXT_ULP_ENC_FIELD_VXLAN_RSVD1 & 0xff}
4735 /* act_tid: 6, , table: vxlan_encap_rec_cache.wr */
4737 .description = "rid",
4738 .field_bit_size = 32,
4739 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4740 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4742 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
4743 BNXT_ULP_RF_IDX_RID & 0xff}
4746 .description = "enc_rec_ptr",
4747 .field_bit_size = 16,
4748 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4749 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4751 (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
4752 BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
4754 /* act_tid: 6, , table: int_tun_encap_record.ipv6_vxlan */
4756 .description = "ecv_valid",
4757 .field_bit_size = 1,
4758 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4759 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4761 ULP_THOR_SYM_ECV_VALID_YES}
4764 .description = "ecv_custom_en",
4765 .field_bit_size = 1,
4766 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4767 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4770 .description = "ecv_vtag_type",
4771 .field_bit_size = 4,
4772 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4773 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4775 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
4776 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff}
4779 .description = "ecv_l2_en",
4780 .field_bit_size = 1,
4781 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4782 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4784 ULP_THOR_SYM_ECV_L2_EN_YES}
4787 .description = "ecv_l3_type",
4788 .field_bit_size = 3,
4789 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4790 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4792 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
4793 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff}
4796 .description = "ecv_l4_type",
4797 .field_bit_size = 3,
4798 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4799 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4801 ULP_THOR_SYM_ECV_L4_TYPE_UDP_CSUM}
4804 .description = "ecv_tun_type",
4805 .field_bit_size = 3,
4806 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4807 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4809 ULP_THOR_SYM_ECV_TUN_TYPE_VXLAN}
4812 .description = "enc_eth_dmac",
4813 .field_bit_size = 48,
4814 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4815 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4817 (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
4818 BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
4821 .description = "enc_o_vlan_tag",
4822 .field_bit_size = 16,
4823 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4824 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4826 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
4827 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
4828 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
4829 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
4830 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
4831 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
4832 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
4833 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
4834 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4836 (BNXT_ULP_ENC_FIELD_O_VLAN_TCI >> 8) & 0xff,
4837 BNXT_ULP_ENC_FIELD_O_VLAN_TCI & 0xff},
4838 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4841 .description = "enc_o_vlan_type",
4842 .field_bit_size = 16,
4843 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4844 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4846 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
4847 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
4848 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
4849 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
4850 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
4851 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
4852 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
4853 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
4854 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4856 (BNXT_ULP_ENC_FIELD_O_VLAN_TYPE >> 8) & 0xff,
4857 BNXT_ULP_ENC_FIELD_O_VLAN_TYPE & 0xff},
4858 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4861 .description = "enc_i_vlan_tag",
4862 .field_bit_size = 16,
4863 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4864 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4866 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 56) & 0xff,
4867 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 48) & 0xff,
4868 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 40) & 0xff,
4869 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 32) & 0xff,
4870 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 24) & 0xff,
4871 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 16) & 0xff,
4872 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 8) & 0xff,
4873 (uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN & 0xff},
4874 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4876 (BNXT_ULP_ENC_FIELD_I_VLAN_TCI >> 8) & 0xff,
4877 BNXT_ULP_ENC_FIELD_I_VLAN_TCI & 0xff},
4878 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4881 .description = "enc_i_vlan_type",
4882 .field_bit_size = 16,
4883 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4884 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4886 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 56) & 0xff,
4887 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 48) & 0xff,
4888 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 40) & 0xff,
4889 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 32) & 0xff,
4890 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 24) & 0xff,
4891 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 16) & 0xff,
4892 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 8) & 0xff,
4893 (uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN & 0xff},
4894 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4896 (BNXT_ULP_ENC_FIELD_I_VLAN_TYPE >> 8) & 0xff,
4897 BNXT_ULP_ENC_FIELD_I_VLAN_TYPE & 0xff},
4898 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4901 .description = "enc_ipv4_ihl",
4902 .field_bit_size = 8,
4903 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4906 .description = "enc_ipv4_tos",
4907 .field_bit_size = 8,
4908 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4911 .description = "enc_ipv4_pkt_id",
4912 .field_bit_size = 16,
4913 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4916 .description = "enc_ipv4_frag",
4917 .field_bit_size = 16,
4918 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4921 .description = "enc_ipv4_ttl",
4922 .field_bit_size = 8,
4923 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4926 .description = "enc_ipv4_proto",
4927 .field_bit_size = 8,
4928 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4931 .description = "enc_ipv4_daddr",
4932 .field_bit_size = 32,
4933 .field_opc = BNXT_ULP_FIELD_OPC_SKIP
4936 .description = "enc_ipv6_vtc",
4937 .field_bit_size = 32,
4938 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4939 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4941 (BNXT_ULP_ENC_FIELD_IPV6_VTC_FLOW >> 8) & 0xff,
4942 BNXT_ULP_ENC_FIELD_IPV6_VTC_FLOW & 0xff}
4945 .description = "enc_ipv6_zero",
4946 .field_bit_size = 16,
4947 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4948 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4951 .description = "enc_ipv6_proto",
4952 .field_bit_size = 8,
4953 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4954 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4956 (BNXT_ULP_ENC_FIELD_IPV6_PROTO >> 8) & 0xff,
4957 BNXT_ULP_ENC_FIELD_IPV6_PROTO & 0xff}
4960 .description = "enc_ipv6_ttl",
4961 .field_bit_size = 8,
4962 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4963 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4965 (BNXT_ULP_ENC_FIELD_IPV6_TTL >> 8) & 0xff,
4966 BNXT_ULP_ENC_FIELD_IPV6_TTL & 0xff}
4969 .description = "enc_ipv6_daddr",
4970 .field_bit_size = 128,
4971 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4972 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4974 (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff,
4975 BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff}
4978 .description = "enc_udp_sport",
4979 .field_bit_size = 16,
4980 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4981 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4983 (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
4984 BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff}
4987 .description = "enc_udp_dport",
4988 .field_bit_size = 16,
4989 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4990 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4992 (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
4993 BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff}
4996 .description = "enc_vxlan_flags",
4997 .field_bit_size = 8,
4998 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4999 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5001 (BNXT_ULP_ENC_FIELD_VXLAN_FLAGS >> 8) & 0xff,
5002 BNXT_ULP_ENC_FIELD_VXLAN_FLAGS & 0xff}
5005 .description = "enc_vxlan_rsvd0",
5006 .field_bit_size = 24,
5007 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5008 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5010 (BNXT_ULP_ENC_FIELD_VXLAN_RSVD0 >> 8) & 0xff,
5011 BNXT_ULP_ENC_FIELD_VXLAN_RSVD0 & 0xff}
5014 .description = "enc_vxlan_vni",
5015 .field_bit_size = 24,
5016 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5017 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5019 (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff,
5020 BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff}
5023 .description = "enc_vxlan_rsvd1",
5024 .field_bit_size = 8,
5025 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5026 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5028 (BNXT_ULP_ENC_FIELD_VXLAN_RSVD1 >> 8) & 0xff,
5029 BNXT_ULP_ENC_FIELD_VXLAN_RSVD1 & 0xff}
5031 /* act_tid: 6, , table: int_full_act_record.0 */
5033 .description = "sp_rec_ptr",
5034 .field_bit_size = 16,
5035 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5036 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5038 (BNXT_ULP_RF_IDX_MAIN_SP_PTR >> 8) & 0xff,
5039 BNXT_ULP_RF_IDX_MAIN_SP_PTR & 0xff}
5042 .description = "encap_ptr",
5043 .field_bit_size = 16,
5044 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5045 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5047 (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
5048 BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
5051 .description = "mod_rec_ptr",
5052 .field_bit_size = 16,
5053 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5054 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5057 .description = "rsvd1",
5058 .field_bit_size = 16,
5059 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5060 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5063 .description = "rsvd0",
5064 .field_bit_size = 8,
5065 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5066 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5069 .description = "decap_func",
5070 .field_bit_size = 5,
5071 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5072 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5075 .description = "meter",
5076 .field_bit_size = 10,
5077 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5078 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5081 .description = "stats_op",
5082 .field_bit_size = 1,
5083 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5084 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5089 .description = "stats_ptr",
5090 .field_bit_size = 16,
5091 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5092 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5094 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
5095 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
5098 .description = "vnic_or_vport",
5099 .field_bit_size = 11,
5100 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5101 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
5103 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
5104 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
5107 .description = "use_default",
5108 .field_bit_size = 1,
5109 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5110 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5113 .description = "mirror",
5114 .field_bit_size = 4,
5115 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5116 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5119 .description = "cond_copy",
5120 .field_bit_size = 1,
5121 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5122 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5125 .description = "vlan_del_rpt",
5126 .field_bit_size = 2,
5127 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5128 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5131 .description = "drop",
5132 .field_bit_size = 1,
5133 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5134 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5137 .description = "hit",
5138 .field_bit_size = 1,
5139 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5140 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5143 .description = "type",
5144 .field_bit_size = 3,
5145 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5146 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5152 struct bnxt_ulp_mapper_ident_info ulp_thor_act_ident_list[] = {
5153 /* act_tid: 1, , table: shared_mirror_record.rd */
5155 .description = "mirror_id",
5156 .regfile_idx = BNXT_ULP_RF_IDX_MIRROR_ID_0,
5157 .ident_bit_size = 4,
5160 /* act_tid: 6, , table: source_property_cache.rd */
5162 .description = "sp_rec_ptr",
5163 .regfile_idx = BNXT_ULP_RF_IDX_MAIN_SP_PTR,
5164 .ident_bit_size = 16,
5167 /* act_tid: 6, , table: vxlan_encap_rec_cache.rd */
5169 .description = "enc_rec_ptr",
5170 .regfile_idx = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
5171 .ident_bit_size = 16,