1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2014-2021 Broadcom
6 /* date: Thu May 13 18:15:56 2021 */
8 #include "ulp_template_db_enum.h"
9 #include "ulp_template_db_field.h"
10 #include "ulp_template_struct.h"
11 #include "ulp_template_db_tbl.h"
13 /* Mapper templates for header act list */
14 struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_act_tmpl_list[] = {
15 /* act_tid: 1, ingress */
17 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
21 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_OR,
25 /* act_tid: 2, ingress */
27 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
31 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
35 /* act_tid: 3, ingress */
37 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
41 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
45 /* act_tid: 4, egress */
47 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
51 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
55 /* act_tid: 5, egress */
57 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
61 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
65 /* act_tid: 6, egress */
67 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
71 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_FALSE,
77 struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_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,
93 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
95 .blob_key_bit_size = 1,
101 { /* act_tid: 1, , table: int_flow_counter_tbl.0 */
102 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
103 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
105 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
106 .direction = TF_DIR_RX,
109 .cond_false_goto = 1,
110 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
111 .cond_start_idx = 10,
113 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
114 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
115 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
116 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
117 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
118 .result_start_idx = 0,
119 .result_bit_size = 64,
120 .result_num_fields = 1
122 { /* act_tid: 1, , table: int_vtag_encap_record.0 */
123 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
124 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
126 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
127 .direction = TF_DIR_RX,
130 .cond_false_goto = 1,
131 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
132 .cond_start_idx = 11,
134 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
135 .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
136 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
137 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
138 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
139 .result_start_idx = 1,
140 .result_bit_size = 0,
141 .result_num_fields = 0,
142 .encap_num_fields = 12
144 { /* act_tid: 1, , table: int_full_act_record.0 */
145 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
146 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
148 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
149 .direction = TF_DIR_RX,
152 .cond_false_goto = 1,
153 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
154 .cond_start_idx = 12,
156 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
157 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
158 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
159 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
160 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
161 .result_start_idx = 13,
162 .result_bit_size = 128,
163 .result_num_fields = 26,
164 .encap_num_fields = 0
166 { /* act_tid: 1, , table: ext_full_act_record.0 */
167 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
168 .resource_type = TF_TBL_TYPE_EXT,
170 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
171 .direction = TF_DIR_RX,
174 .cond_false_goto = 0,
175 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
176 .cond_start_idx = 13,
178 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
179 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
180 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
181 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
182 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
183 .result_start_idx = 39,
184 .result_bit_size = 128,
185 .result_num_fields = 26,
186 .encap_num_fields = 12
188 { /* act_tid: 2, , table: control.0 */
189 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
190 .direction = TF_DIR_RX,
193 .cond_false_goto = 1,
194 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
195 .cond_start_idx = 14,
197 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
198 .fdb_operand = BNXT_ULP_RF_IDX_RID,
199 .byte_order = BNXT_ULP_BYTE_ORDER_LE
201 { /* act_tid: 2, , table: mirror_tbl.alloc */
202 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
203 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
205 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
206 .direction = TF_DIR_RX,
209 .cond_false_goto = 1,
210 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
211 .cond_start_idx = 14,
213 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
214 .tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0,
215 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
216 .fdb_operand = BNXT_ULP_RF_IDX_RID,
217 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
218 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
219 .result_start_idx = 77,
220 .result_bit_size = 32,
221 .result_num_fields = 6
223 { /* act_tid: 2, , table: int_flow_counter_tbl.0 */
224 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
225 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
227 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
228 .direction = TF_DIR_RX,
231 .cond_false_goto = 1,
232 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
233 .cond_start_idx = 14,
235 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
236 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
237 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
238 .fdb_operand = BNXT_ULP_RF_IDX_RID,
239 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
240 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
241 .result_start_idx = 83,
242 .result_bit_size = 64,
243 .result_num_fields = 1
245 { /* act_tid: 2, , table: int_full_act_record.0 */
246 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
247 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
249 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
250 .direction = TF_DIR_RX,
253 .cond_false_goto = 1,
254 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
255 .cond_start_idx = 15,
257 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
258 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
259 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
260 .fdb_operand = BNXT_ULP_RF_IDX_RID,
261 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
262 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
263 .result_start_idx = 84,
264 .result_bit_size = 128,
265 .result_num_fields = 26,
266 .encap_num_fields = 0
268 { /* act_tid: 2, , table: ext_full_act_record.0 */
269 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
270 .resource_type = TF_TBL_TYPE_EXT,
272 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
273 .direction = TF_DIR_RX,
276 .cond_false_goto = 1,
277 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
278 .cond_start_idx = 15,
280 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
281 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
282 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
283 .fdb_operand = BNXT_ULP_RF_IDX_RID,
284 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
285 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
286 .result_start_idx = 110,
287 .result_bit_size = 128,
288 .result_num_fields = 26,
289 .encap_num_fields = 12
291 { /* act_tid: 2, , table: mirror_tbl.wr */
292 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
293 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
295 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
296 .direction = TF_DIR_RX,
299 .cond_false_goto = 1,
300 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
301 .cond_start_idx = 15,
303 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE,
304 .tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0,
305 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
306 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
307 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
308 .result_start_idx = 148,
309 .result_bit_size = 32,
310 .result_num_fields = 6
312 { /* act_tid: 2, , table: shared_mirror_record.wr */
313 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
314 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
316 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR,
317 .direction = TF_DIR_RX,
320 .cond_false_goto = 0,
321 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
322 .cond_start_idx = 15,
324 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
325 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
326 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
327 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
329 .blob_key_bit_size = 1,
332 .result_start_idx = 154,
333 .result_bit_size = 34,
334 .result_num_fields = 2
336 { /* act_tid: 3, , table: int_flow_counter_tbl.0 */
337 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
338 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
340 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
341 .direction = TF_DIR_RX,
344 .cond_false_goto = 1,
345 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
346 .cond_start_idx = 15,
348 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
349 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
350 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
351 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
352 .result_start_idx = 156,
353 .result_bit_size = 64,
354 .result_num_fields = 1
356 { /* act_tid: 3, , table: act_modify_ipv4_src.0 */
357 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
358 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
360 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
361 .direction = TF_DIR_RX,
364 .cond_false_goto = 1,
365 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
366 .cond_start_idx = 16,
368 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
369 .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0,
370 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
371 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
372 .result_start_idx = 157,
373 .result_bit_size = 32,
374 .result_num_fields = 1
376 { /* act_tid: 3, , table: act_modify_ipv4_dst.0 */
377 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
378 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
380 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
381 .direction = TF_DIR_RX,
384 .cond_false_goto = 1,
385 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
386 .cond_start_idx = 17,
388 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
389 .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0,
390 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
391 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
392 .result_start_idx = 158,
393 .result_bit_size = 32,
394 .result_num_fields = 1
396 { /* act_tid: 3, , table: int_encap_mac_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_RX,
404 .cond_false_goto = 1,
405 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
406 .cond_start_idx = 18,
408 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
409 .tbl_operand = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
410 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
411 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
412 .result_start_idx = 159,
413 .result_bit_size = 0,
414 .result_num_fields = 0,
415 .encap_num_fields = 12
417 { /* act_tid: 3, , table: int_full_act_record.0 */
418 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
419 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
421 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
422 .direction = TF_DIR_RX,
425 .cond_false_goto = 1,
426 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
427 .cond_start_idx = 18,
429 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
430 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
431 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
432 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
433 .result_start_idx = 171,
434 .result_bit_size = 128,
435 .result_num_fields = 26
437 { /* act_tid: 3, , table: ext_full_act_record.0 */
438 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
439 .resource_type = TF_TBL_TYPE_EXT,
441 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
442 .direction = TF_DIR_RX,
445 .cond_false_goto = 0,
446 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
447 .cond_start_idx = 19,
449 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
450 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
451 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
452 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
453 .result_start_idx = 197,
454 .result_bit_size = 128,
455 .result_num_fields = 26,
456 .encap_num_fields = 12
458 { /* act_tid: 4, , table: int_flow_counter_tbl.0 */
459 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
460 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
462 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
463 .direction = TF_DIR_TX,
466 .cond_false_goto = 1,
467 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
468 .cond_start_idx = 20,
470 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
471 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
472 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
473 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
474 .result_start_idx = 235,
475 .result_bit_size = 64,
476 .result_num_fields = 1
478 { /* act_tid: 4, , table: int_vtag_encap_record.0 */
479 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
480 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
482 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
483 .direction = TF_DIR_TX,
486 .cond_false_goto = 1,
487 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
488 .cond_start_idx = 21,
490 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
491 .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
492 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
493 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
494 .result_start_idx = 236,
495 .result_bit_size = 0,
496 .result_num_fields = 0,
497 .encap_num_fields = 12
499 { /* act_tid: 4, , table: int_full_act_record.0 */
500 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
501 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
503 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
504 .direction = TF_DIR_TX,
507 .cond_false_goto = 1,
508 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
509 .cond_start_idx = 23,
511 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
512 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
513 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
514 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
515 .result_start_idx = 248,
516 .result_bit_size = 128,
517 .result_num_fields = 26
519 { /* act_tid: 4, , table: ext_full_act_record.no_tag */
520 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
521 .resource_type = TF_TBL_TYPE_EXT,
523 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
524 .direction = TF_DIR_TX,
527 .cond_false_goto = 1,
528 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
529 .cond_start_idx = 24,
531 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
532 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
533 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
534 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
535 .result_start_idx = 274,
536 .result_bit_size = 128,
537 .result_num_fields = 26,
538 .encap_num_fields = 12
540 { /* act_tid: 4, , table: ext_full_act_record.one_tag */
541 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
542 .resource_type = TF_TBL_TYPE_EXT,
544 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
545 .direction = TF_DIR_TX,
548 .cond_false_goto = 0,
549 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
550 .cond_start_idx = 26,
552 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
553 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
554 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
555 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
556 .result_start_idx = 312,
557 .result_bit_size = 128,
558 .result_num_fields = 26,
559 .encap_num_fields = 12
561 { /* act_tid: 5, , table: int_flow_counter_tbl.0 */
562 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
563 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
565 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
566 .direction = TF_DIR_TX,
569 .cond_false_goto = 1,
570 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
571 .cond_start_idx = 28,
573 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
574 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
575 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
576 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
577 .result_start_idx = 350,
578 .result_bit_size = 64,
579 .result_num_fields = 1
581 { /* act_tid: 5, , table: act_modify_ipv4_src.0 */
582 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
583 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
585 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
586 .direction = TF_DIR_TX,
589 .cond_false_goto = 1,
590 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
591 .cond_start_idx = 29,
593 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
594 .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0,
595 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
596 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
597 .result_start_idx = 351,
598 .result_bit_size = 32,
599 .result_num_fields = 1
601 { /* act_tid: 5, , table: act_modify_ipv4_dst.0 */
602 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
603 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
605 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
606 .direction = TF_DIR_TX,
609 .cond_false_goto = 1,
610 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
611 .cond_start_idx = 30,
613 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
614 .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0,
615 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
616 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
617 .result_start_idx = 352,
618 .result_bit_size = 32,
619 .result_num_fields = 1
621 { /* act_tid: 5, , table: int_encap_mac_record.dummy */
622 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
623 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
625 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
626 .direction = TF_DIR_TX,
629 .cond_false_goto = 1,
630 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
631 .cond_start_idx = 31,
633 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
634 .tbl_operand = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
635 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
636 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
637 .result_start_idx = 353,
638 .result_bit_size = 0,
639 .result_num_fields = 0,
640 .encap_num_fields = 12
642 { /* act_tid: 5, , table: int_full_act_record.0 */
643 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
644 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
646 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
647 .direction = TF_DIR_TX,
650 .cond_false_goto = 1,
651 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
652 .cond_start_idx = 31,
654 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
655 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
656 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
657 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
658 .result_start_idx = 365,
659 .result_bit_size = 128,
660 .result_num_fields = 26
662 { /* act_tid: 5, , table: ext_full_act_record.0 */
663 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
664 .resource_type = TF_TBL_TYPE_EXT,
666 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
667 .direction = TF_DIR_TX,
670 .cond_false_goto = 0,
671 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
672 .cond_start_idx = 32,
674 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
675 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
676 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
677 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
678 .result_start_idx = 391,
679 .result_bit_size = 128,
680 .result_num_fields = 26,
681 .encap_num_fields = 12
683 { /* act_tid: 6, , table: int_flow_counter_tbl.0 */
684 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
685 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
687 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
688 .direction = TF_DIR_TX,
691 .cond_false_goto = 1,
692 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
693 .cond_start_idx = 33,
695 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
696 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
697 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
698 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
699 .result_start_idx = 429,
700 .result_bit_size = 64,
701 .result_num_fields = 1
703 { /* act_tid: 6, , table: sp_smac_ipv4.0 */
704 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
705 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
707 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
708 .direction = TF_DIR_TX,
711 .cond_false_goto = 1,
712 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
713 .cond_start_idx = 34,
715 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
716 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_SP_PTR,
717 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
718 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
719 .result_start_idx = 430,
720 .result_bit_size = 0,
721 .result_num_fields = 0,
722 .encap_num_fields = 3
724 { /* act_tid: 6, , table: sp_smac_ipv6.0 */
725 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
726 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
728 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
729 .direction = TF_DIR_TX,
732 .cond_false_goto = 1,
733 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
734 .cond_start_idx = 35,
736 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
737 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_SP_PTR,
738 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
739 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
740 .result_start_idx = 433,
741 .result_bit_size = 0,
742 .result_num_fields = 0,
743 .encap_num_fields = 3
745 { /* act_tid: 6, , table: int_tun_encap_record.0 */
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 = 36,
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 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
761 .result_start_idx = 436,
762 .result_bit_size = 0,
763 .result_num_fields = 0,
764 .encap_num_fields = 12
766 { /* act_tid: 6, , table: int_full_act_record.0 */
767 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
768 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
770 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
771 .direction = TF_DIR_TX,
774 .cond_false_goto = 1,
775 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
776 .cond_start_idx = 37,
778 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
779 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
780 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
781 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
782 .result_start_idx = 448,
783 .result_bit_size = 128,
784 .result_num_fields = 26
786 { /* act_tid: 6, , table: ext_full_act_record_vxlan.0 */
787 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
788 .resource_type = TF_TBL_TYPE_EXT,
790 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
791 .direction = TF_DIR_TX,
794 .cond_false_goto = 0,
795 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
796 .cond_start_idx = 38,
798 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
799 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
800 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
801 .byte_order = BNXT_ULP_BYTE_ORDER_LE,
802 .result_start_idx = 474,
803 .result_bit_size = 128,
804 .result_num_fields = 26,
805 .encap_num_fields = 12
809 struct bnxt_ulp_mapper_cond_info ulp_wh_plus_act_cond_list[] = {
810 /* cond_reject: wh_plus, act_tid: 1 */
812 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
813 .cond_operand = BNXT_ULP_ACT_BIT_SET_IPV4_SRC
816 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
817 .cond_operand = BNXT_ULP_ACT_BIT_SET_IPV6_SRC
820 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
821 .cond_operand = BNXT_ULP_ACT_BIT_SET_TP_SRC
824 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
825 .cond_operand = BNXT_ULP_ACT_BIT_SET_IPV4_DST
828 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
829 .cond_operand = BNXT_ULP_ACT_BIT_SET_IPV6_DST
832 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
833 .cond_operand = BNXT_ULP_ACT_BIT_SET_TP_DST
836 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
837 .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
840 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
841 .cond_operand = BNXT_ULP_ACT_BIT_SET_VLAN_VID
844 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
845 .cond_operand = BNXT_ULP_ACT_BIT_SET_VLAN_PCP
847 /* cond_execute: act_tid: 1, shared_mirror_record.rd */
849 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
850 .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
852 /* cond_execute: act_tid: 1, int_flow_counter_tbl.0 */
854 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
855 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
857 /* cond_execute: act_tid: 1, int_vtag_encap_record.0 */
859 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
860 .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
862 /* cond_execute: act_tid: 1, int_full_act_record.0 */
864 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
866 /* cond_execute: act_tid: 1, ext_full_act_record.0 */
868 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
870 /* cond_execute: act_tid: 2, int_flow_counter_tbl.0 */
872 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
873 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
875 /* cond_execute: act_tid: 3, int_flow_counter_tbl.0 */
877 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
878 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
880 /* cond_execute: act_tid: 3, act_modify_ipv4_src.0 */
882 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
883 .cond_operand = BNXT_ULP_ACT_BIT_SET_IPV4_SRC
885 /* cond_execute: act_tid: 3, act_modify_ipv4_dst.0 */
887 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
888 .cond_operand = BNXT_ULP_ACT_BIT_SET_IPV4_DST
890 /* cond_execute: act_tid: 3, int_full_act_record.0 */
892 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
894 /* cond_execute: act_tid: 3, ext_full_act_record.0 */
896 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
898 /* cond_execute: act_tid: 4, int_flow_counter_tbl.0 */
900 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
901 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
903 /* cond_execute: act_tid: 4, int_vtag_encap_record.0 */
905 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
908 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
909 .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
911 /* cond_execute: act_tid: 4, int_full_act_record.0 */
913 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
915 /* cond_execute: act_tid: 4, ext_full_act_record.no_tag */
917 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
920 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
921 .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
923 /* cond_execute: act_tid: 4, ext_full_act_record.one_tag */
925 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
928 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
929 .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
931 /* cond_execute: act_tid: 5, int_flow_counter_tbl.0 */
933 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
934 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
936 /* cond_execute: act_tid: 5, act_modify_ipv4_src.0 */
938 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
939 .cond_operand = BNXT_ULP_ACT_BIT_SET_IPV4_SRC
941 /* cond_execute: act_tid: 5, act_modify_ipv4_dst.0 */
943 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
944 .cond_operand = BNXT_ULP_ACT_BIT_SET_IPV4_DST
946 /* cond_execute: act_tid: 5, int_full_act_record.0 */
948 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
950 /* cond_execute: act_tid: 5, ext_full_act_record.0 */
952 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
954 /* cond_execute: act_tid: 6, int_flow_counter_tbl.0 */
956 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
957 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
959 /* cond_execute: act_tid: 6, sp_smac_ipv4.0 */
961 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
962 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG
964 /* cond_execute: act_tid: 6, sp_smac_ipv6.0 */
966 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
967 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG
969 /* cond_execute: act_tid: 6, int_tun_encap_record.0 */
971 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
973 /* cond_execute: act_tid: 6, int_full_act_record.0 */
975 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
977 /* cond_execute: act_tid: 6, ext_full_act_record_vxlan.0 */
979 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
983 struct bnxt_ulp_mapper_key_info ulp_wh_plus_act_key_info_list[] = {
984 /* act_tid: 1, , table: shared_mirror_record.rd */
987 .description = "shared_index",
989 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
990 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
995 .description = "shared_index",
997 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
998 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1000 (BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff,
1001 BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff}
1004 /* act_tid: 2, , table: shared_mirror_record.wr */
1006 .field_info_mask = {
1007 .description = "shared_index",
1008 .field_bit_size = 1,
1009 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1010 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1014 .field_info_spec = {
1015 .description = "shared_index",
1016 .field_bit_size = 1,
1017 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1018 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1020 (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff,
1021 BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff}
1026 struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
1027 /* act_tid: 1, , table: int_flow_counter_tbl.0 */
1029 .description = "count",
1030 .field_bit_size = 64,
1031 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1032 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1034 /* act_tid: 1, , table: int_vtag_encap_record.0 */
1036 .description = "ecv_tun_type",
1037 .field_bit_size = 3,
1038 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1039 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1042 .description = "ecv_l4_type",
1043 .field_bit_size = 3,
1044 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1045 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1048 .description = "ecv_l3_type",
1049 .field_bit_size = 3,
1050 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1051 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1054 .description = "ecv_l2_en",
1055 .field_bit_size = 1,
1056 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1057 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1060 .description = "ecv_vtag_type",
1061 .field_bit_size = 4,
1062 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1063 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1065 ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
1068 .description = "ecv_custom_en",
1069 .field_bit_size = 1,
1070 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1071 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1074 .description = "ecv_valid",
1075 .field_bit_size = 1,
1076 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1077 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1082 .description = "vtag_tpid",
1083 .field_bit_size = 16,
1084 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1085 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1087 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
1088 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff}
1091 .description = "vtag_vid",
1092 .field_bit_size = 12,
1093 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1094 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1096 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
1097 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff}
1100 .description = "vtag_de",
1101 .field_bit_size = 1,
1102 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1103 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1106 .description = "vtag_pcp",
1107 .field_bit_size = 3,
1108 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1109 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1111 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
1112 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff}
1115 .description = "spare",
1116 .field_bit_size = 80,
1117 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1118 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1120 /* act_tid: 1, , table: int_full_act_record.0 */
1122 .description = "flow_cntr_ptr",
1123 .field_bit_size = 14,
1124 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1125 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1127 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1128 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
1131 .description = "age_enable",
1132 .field_bit_size = 1,
1133 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1134 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1137 .description = "agg_cntr_en",
1138 .field_bit_size = 1,
1139 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1140 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1143 .description = "rate_cntr_en",
1144 .field_bit_size = 1,
1145 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1146 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1149 .description = "flow_cntr_en",
1150 .field_bit_size = 1,
1151 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1152 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1154 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
1155 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
1156 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
1157 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
1158 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
1159 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
1160 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
1161 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
1164 .description = "tcpflags_key",
1165 .field_bit_size = 8,
1166 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1167 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1170 .description = "tcpflags_mir",
1171 .field_bit_size = 1,
1172 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1173 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1176 .description = "tcpflags_match",
1177 .field_bit_size = 1,
1178 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1179 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1182 .description = "encap_ptr",
1183 .field_bit_size = 11,
1184 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1185 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1187 (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
1188 BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
1191 .description = "dst_ip_ptr",
1192 .field_bit_size = 10,
1193 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1194 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1196 (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
1197 BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 & 0xff}
1200 .description = "tcp_dst_port",
1201 .field_bit_size = 16,
1202 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1203 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1205 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
1206 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
1207 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
1208 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
1209 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
1210 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
1211 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
1212 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
1213 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1215 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
1216 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
1217 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1220 .description = "src_ip_ptr",
1221 .field_bit_size = 10,
1222 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1223 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1225 (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
1226 BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 & 0xff}
1229 .description = "tcp_src_port",
1230 .field_bit_size = 16,
1231 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1232 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1234 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
1235 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
1236 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
1237 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
1238 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
1239 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
1240 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
1241 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
1242 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1244 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
1245 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
1246 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1249 .description = "meter_id",
1250 .field_bit_size = 10,
1251 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1252 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1255 .description = "l3_rdir",
1256 .field_bit_size = 1,
1257 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1258 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1261 .description = "tl3_rdir",
1262 .field_bit_size = 1,
1263 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1264 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1267 .description = "l3_ttl_dec",
1268 .field_bit_size = 1,
1269 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1270 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1272 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1273 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
1276 .description = "tl3_ttl_dec",
1277 .field_bit_size = 1,
1278 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1279 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1281 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1282 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
1285 .description = "decap_func",
1286 .field_bit_size = 4,
1287 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1288 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1290 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 56) & 0xff,
1291 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 48) & 0xff,
1292 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 40) & 0xff,
1293 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 32) & 0xff,
1294 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 24) & 0xff,
1295 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 16) & 0xff,
1296 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 8) & 0xff,
1297 (uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP & 0xff},
1298 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
1300 ULP_WP_SYM_DECAP_FUNC_THRU_TUN},
1301 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
1303 ULP_WP_SYM_DECAP_FUNC_NONE}
1306 .description = "vnic_or_vport",
1307 .field_bit_size = 12,
1308 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1309 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1311 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1312 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
1315 .description = "pop_vlan",
1316 .field_bit_size = 1,
1317 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1318 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1320 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff,
1321 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 48) & 0xff,
1322 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 40) & 0xff,
1323 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 32) & 0xff,
1324 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 24) & 0xff,
1325 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 16) & 0xff,
1326 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 8) & 0xff,
1327 (uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN & 0xff}
1330 .description = "meter",
1331 .field_bit_size = 1,
1332 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1333 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1336 .description = "mirror",
1337 .field_bit_size = 2,
1338 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1339 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1341 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 56) & 0xff,
1342 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 48) & 0xff,
1343 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 40) & 0xff,
1344 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 32) & 0xff,
1345 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 24) & 0xff,
1346 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 16) & 0xff,
1347 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 8) & 0xff,
1348 (uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE & 0xff},
1349 .field_src2 = BNXT_ULP_FIELD_SRC_RF,
1351 (BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
1352 BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff},
1353 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1356 .description = "drop",
1357 .field_bit_size = 1,
1358 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1359 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1361 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
1362 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
1363 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
1364 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
1365 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
1366 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
1367 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
1368 (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
1371 .description = "hit",
1372 .field_bit_size = 1,
1373 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1374 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1377 .description = "type",
1378 .field_bit_size = 1,
1379 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1380 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1382 /* act_tid: 1, , table: ext_full_act_record.0 */
1384 .description = "flow_cntr_ptr",
1385 .field_bit_size = 14,
1386 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1387 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1389 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1390 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
1393 .description = "age_enable",
1394 .field_bit_size = 1,
1395 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1396 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1399 .description = "agg_cntr_en",
1400 .field_bit_size = 1,
1401 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1402 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1405 .description = "rate_cntr_en",
1406 .field_bit_size = 1,
1407 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1408 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1411 .description = "flow_cntr_en",
1412 .field_bit_size = 1,
1413 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1414 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1416 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
1417 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
1418 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
1419 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
1420 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
1421 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
1422 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
1423 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
1426 .description = "flow_cntr_ext",
1427 .field_bit_size = 1,
1428 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1429 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1432 .description = "tcpflags_key",
1433 .field_bit_size = 8,
1434 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1435 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1438 .description = "tcpflags_mir",
1439 .field_bit_size = 1,
1440 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1441 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1444 .description = "tcpflags_match",
1445 .field_bit_size = 1,
1446 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1447 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1450 .description = "encap_ptr",
1451 .field_bit_size = 11,
1452 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1453 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1456 .description = "encap_rec_int",
1457 .field_bit_size = 1,
1458 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1459 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1462 .description = "dst_ip_ptr",
1463 .field_bit_size = 10,
1464 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1465 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1467 (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
1468 BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 & 0xff}
1471 .description = "tcp_dst_port",
1472 .field_bit_size = 16,
1473 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1474 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1476 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
1477 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
1478 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
1479 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
1480 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
1481 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
1482 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
1483 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
1484 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1486 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
1487 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
1488 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1491 .description = "src_ip_ptr",
1492 .field_bit_size = 10,
1493 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1494 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1496 (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
1497 BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 & 0xff}
1500 .description = "tcp_src_port",
1501 .field_bit_size = 16,
1502 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1503 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1505 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
1506 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
1507 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
1508 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
1509 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
1510 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
1511 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
1512 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
1513 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1515 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
1516 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
1517 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1520 .description = "meter_id",
1521 .field_bit_size = 10,
1522 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1523 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1526 .description = "l3_rdir",
1527 .field_bit_size = 1,
1528 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1529 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1532 .description = "tl3_rdir",
1533 .field_bit_size = 1,
1534 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1535 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1538 .description = "l3_ttl_dec",
1539 .field_bit_size = 1,
1540 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1541 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1543 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1544 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
1547 .description = "tl3_ttl_dec",
1548 .field_bit_size = 1,
1549 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1550 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1552 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1553 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
1556 .description = "decap_func",
1557 .field_bit_size = 4,
1558 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1559 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1561 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 56) & 0xff,
1562 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 48) & 0xff,
1563 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 40) & 0xff,
1564 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 32) & 0xff,
1565 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 24) & 0xff,
1566 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 16) & 0xff,
1567 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 8) & 0xff,
1568 (uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP & 0xff},
1569 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
1571 ULP_WP_SYM_DECAP_FUNC_THRU_TUN},
1572 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
1574 ULP_WP_SYM_DECAP_FUNC_NONE}
1577 .description = "vnic_or_vport",
1578 .field_bit_size = 12,
1579 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1580 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1582 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1583 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
1586 .description = "pop_vlan",
1587 .field_bit_size = 1,
1588 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1589 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1591 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff,
1592 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 48) & 0xff,
1593 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 40) & 0xff,
1594 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 32) & 0xff,
1595 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 24) & 0xff,
1596 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 16) & 0xff,
1597 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 8) & 0xff,
1598 (uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN & 0xff}
1601 .description = "meter",
1602 .field_bit_size = 1,
1603 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1604 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1607 .description = "mirror",
1608 .field_bit_size = 2,
1609 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1610 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1612 (BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
1613 BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff}
1616 .description = "drop",
1617 .field_bit_size = 1,
1618 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1619 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1621 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
1622 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
1623 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
1624 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
1625 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
1626 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
1627 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
1628 (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
1631 .description = "ecv_tun_type",
1632 .field_bit_size = 3,
1633 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1634 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1637 .description = "ecv_l4_type",
1638 .field_bit_size = 3,
1639 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1640 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1643 .description = "ecv_l3_type",
1644 .field_bit_size = 3,
1645 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1646 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1649 .description = "ecv_l2_en",
1650 .field_bit_size = 1,
1651 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1652 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1654 ULP_WP_SYM_ECV_L2_EN_YES}
1657 .description = "ecv_vtag_type",
1658 .field_bit_size = 4,
1659 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1660 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1663 .description = "ecv_custom_en",
1664 .field_bit_size = 1,
1665 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1666 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1669 .description = "ecv_valid",
1670 .field_bit_size = 1,
1671 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1672 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1675 .description = "vtag_tpid",
1676 .field_bit_size = 16,
1677 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1678 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1681 .description = "vtag_vid",
1682 .field_bit_size = 12,
1683 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1684 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1687 .description = "vtag_de",
1688 .field_bit_size = 1,
1689 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1690 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1693 .description = "vtag_pcp",
1694 .field_bit_size = 3,
1695 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1696 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1699 .description = "spare",
1700 .field_bit_size = 0,
1701 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1702 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1704 /* act_tid: 2, , table: mirror_tbl.alloc */
1706 .description = "act_rec_ptr",
1707 .field_bit_size = 16,
1708 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1709 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1712 .description = "enable",
1713 .field_bit_size = 1,
1714 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1715 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1720 .description = "copy",
1721 .field_bit_size = 1,
1722 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1723 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1726 .description = "ign_drop",
1727 .field_bit_size = 1,
1728 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1729 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1732 .description = "reserved",
1733 .field_bit_size = 2,
1734 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1735 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1738 .description = "sp_ptr",
1739 .field_bit_size = 11,
1740 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1741 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1743 /* act_tid: 2, , table: int_flow_counter_tbl.0 */
1745 .description = "count",
1746 .field_bit_size = 64,
1747 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1748 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1750 /* act_tid: 2, , table: int_full_act_record.0 */
1752 .description = "flow_cntr_ptr",
1753 .field_bit_size = 14,
1754 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1755 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1757 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1758 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
1761 .description = "age_enable",
1762 .field_bit_size = 1,
1763 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1764 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1767 .description = "agg_cntr_en",
1768 .field_bit_size = 1,
1769 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1770 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1773 .description = "rate_cntr_en",
1774 .field_bit_size = 1,
1775 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1776 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1779 .description = "flow_cntr_en",
1780 .field_bit_size = 1,
1781 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1782 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1784 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
1785 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
1786 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
1787 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
1788 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
1789 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
1790 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
1791 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
1794 .description = "tcpflags_key",
1795 .field_bit_size = 8,
1796 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1797 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1800 .description = "tcpflags_mir",
1801 .field_bit_size = 1,
1802 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1803 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1806 .description = "tcpflags_match",
1807 .field_bit_size = 1,
1808 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1809 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1812 .description = "encap_ptr",
1813 .field_bit_size = 11,
1814 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1815 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1818 .description = "dst_ip_ptr",
1819 .field_bit_size = 10,
1820 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1821 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1824 .description = "tcp_dst_port",
1825 .field_bit_size = 16,
1826 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1827 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1830 .description = "src_ip_ptr",
1831 .field_bit_size = 10,
1832 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1833 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1836 .description = "tcp_src_port",
1837 .field_bit_size = 16,
1838 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1839 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1842 .description = "meter_id",
1843 .field_bit_size = 10,
1844 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1845 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1848 .description = "l3_rdir",
1849 .field_bit_size = 1,
1850 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1851 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1854 .description = "tl3_rdir",
1855 .field_bit_size = 1,
1856 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1857 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1860 .description = "l3_ttl_dec",
1861 .field_bit_size = 1,
1862 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1863 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1866 .description = "tl3_ttl_dec",
1867 .field_bit_size = 1,
1868 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1869 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1872 .description = "decap_func",
1873 .field_bit_size = 4,
1874 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1875 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1878 .description = "vnic_or_vport",
1879 .field_bit_size = 12,
1880 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1881 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1883 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1884 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
1887 .description = "pop_vlan",
1888 .field_bit_size = 1,
1889 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1890 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1893 .description = "meter",
1894 .field_bit_size = 1,
1895 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1896 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1899 .description = "mirror",
1900 .field_bit_size = 2,
1901 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2,
1902 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
1907 .description = "drop",
1908 .field_bit_size = 1,
1909 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1910 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1913 .description = "hit",
1914 .field_bit_size = 1,
1915 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1916 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1919 .description = "type",
1920 .field_bit_size = 1,
1921 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1922 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1924 /* act_tid: 2, , table: ext_full_act_record.0 */
1926 .description = "flow_cntr_ptr",
1927 .field_bit_size = 14,
1928 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1929 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1931 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1932 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
1935 .description = "age_enable",
1936 .field_bit_size = 1,
1937 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1938 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1941 .description = "agg_cntr_en",
1942 .field_bit_size = 1,
1943 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1944 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1947 .description = "rate_cntr_en",
1948 .field_bit_size = 1,
1949 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1950 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1953 .description = "flow_cntr_en",
1954 .field_bit_size = 1,
1955 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1956 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1958 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
1959 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
1960 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
1961 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
1962 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
1963 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
1964 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
1965 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
1968 .description = "flow_cntr_ext",
1969 .field_bit_size = 1,
1970 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1971 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1974 .description = "tcpflags_key",
1975 .field_bit_size = 8,
1976 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1977 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1980 .description = "tcpflags_mir",
1981 .field_bit_size = 1,
1982 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1983 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1986 .description = "tcpflags_match",
1987 .field_bit_size = 1,
1988 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1989 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1992 .description = "encap_ptr",
1993 .field_bit_size = 11,
1994 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1995 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1998 .description = "encap_rec_int",
1999 .field_bit_size = 1,
2000 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2001 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2004 .description = "dst_ip_ptr",
2005 .field_bit_size = 10,
2006 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2007 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2010 .description = "tcp_dst_port",
2011 .field_bit_size = 16,
2012 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2013 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2016 .description = "src_ip_ptr",
2017 .field_bit_size = 10,
2018 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2019 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2022 .description = "tcp_src_port",
2023 .field_bit_size = 16,
2024 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2025 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2028 .description = "meter_id",
2029 .field_bit_size = 10,
2030 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2031 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2034 .description = "l3_rdir",
2035 .field_bit_size = 1,
2036 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2037 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2040 .description = "tl3_rdir",
2041 .field_bit_size = 1,
2042 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2043 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2046 .description = "l3_ttl_dec",
2047 .field_bit_size = 1,
2048 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2049 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2052 .description = "tl3_ttl_dec",
2053 .field_bit_size = 1,
2054 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2055 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2058 .description = "decap_func",
2059 .field_bit_size = 4,
2060 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2061 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2064 .description = "vnic_or_vport",
2065 .field_bit_size = 12,
2066 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2067 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2069 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
2070 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
2073 .description = "pop_vlan",
2074 .field_bit_size = 1,
2075 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2076 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2078 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff,
2079 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 48) & 0xff,
2080 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 40) & 0xff,
2081 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 32) & 0xff,
2082 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 24) & 0xff,
2083 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 16) & 0xff,
2084 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 8) & 0xff,
2085 (uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN & 0xff}
2088 .description = "meter",
2089 .field_bit_size = 1,
2090 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2091 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2094 .description = "mirror",
2095 .field_bit_size = 2,
2096 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2,
2097 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2102 .description = "drop",
2103 .field_bit_size = 1,
2104 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2105 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2108 .description = "ecv_tun_type",
2109 .field_bit_size = 3,
2110 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2111 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2114 .description = "ecv_l4_type",
2115 .field_bit_size = 3,
2116 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2117 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2120 .description = "ecv_l3_type",
2121 .field_bit_size = 3,
2122 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2123 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2126 .description = "ecv_l2_en",
2127 .field_bit_size = 1,
2128 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2129 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2131 ULP_WP_SYM_ECV_L2_EN_YES}
2134 .description = "ecv_vtag_type",
2135 .field_bit_size = 4,
2136 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2137 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2140 .description = "ecv_custom_en",
2141 .field_bit_size = 1,
2142 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2143 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2146 .description = "ecv_valid",
2147 .field_bit_size = 1,
2148 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2149 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2152 .description = "vtag_tpid",
2153 .field_bit_size = 16,
2154 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2155 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2158 .description = "vtag_vid",
2159 .field_bit_size = 12,
2160 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2161 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2164 .description = "vtag_de",
2165 .field_bit_size = 1,
2166 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2167 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2170 .description = "vtag_pcp",
2171 .field_bit_size = 3,
2172 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2173 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2176 .description = "spare",
2177 .field_bit_size = 0,
2178 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2179 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2181 /* act_tid: 2, , table: mirror_tbl.wr */
2183 .description = "act_rec_ptr",
2184 .field_bit_size = 16,
2185 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2186 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2188 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
2189 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
2192 .description = "enable",
2193 .field_bit_size = 1,
2194 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2195 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2200 .description = "copy",
2201 .field_bit_size = 1,
2202 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2203 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2206 .description = "ign_drop",
2207 .field_bit_size = 1,
2208 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2209 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2212 .description = "reserved",
2213 .field_bit_size = 2,
2214 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2215 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2218 .description = "sp_ptr",
2219 .field_bit_size = 11,
2220 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2221 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2223 /* act_tid: 2, , table: shared_mirror_record.wr */
2225 .description = "rid",
2226 .field_bit_size = 32,
2227 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2228 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2230 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
2231 BNXT_ULP_RF_IDX_RID & 0xff}
2234 .description = "mirror_id",
2235 .field_bit_size = 2,
2236 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2_POST,
2237 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2242 /* act_tid: 3, , table: int_flow_counter_tbl.0 */
2244 .description = "count",
2245 .field_bit_size = 64,
2246 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2247 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2249 /* act_tid: 3, , table: act_modify_ipv4_src.0 */
2251 .description = "ipv4_addr",
2252 .field_bit_size = 32,
2253 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2254 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2256 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
2257 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff}
2259 /* act_tid: 3, , table: act_modify_ipv4_dst.0 */
2261 .description = "ipv4_addr",
2262 .field_bit_size = 32,
2263 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2264 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2266 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
2267 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff}
2269 /* act_tid: 3, , table: int_encap_mac_record.0 */
2271 .description = "ecv_tun_type",
2272 .field_bit_size = 3,
2273 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2274 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2277 .description = "ecv_l4_type",
2278 .field_bit_size = 3,
2279 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2280 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2283 .description = "ecv_l3_type",
2284 .field_bit_size = 3,
2285 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2286 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2289 .description = "ecv_l2_en",
2290 .field_bit_size = 1,
2291 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2292 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2294 ULP_WP_SYM_ECV_L2_EN_YES}
2297 .description = "ecv_vtag_type",
2298 .field_bit_size = 4,
2299 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2300 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2303 .description = "ecv_custom_en",
2304 .field_bit_size = 1,
2305 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2306 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2309 .description = "ecv_valid",
2310 .field_bit_size = 1,
2311 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2312 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2317 .description = "vtag_tpid",
2318 .field_bit_size = 16,
2319 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2320 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2323 .description = "vtag_vid",
2324 .field_bit_size = 12,
2325 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2326 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2329 .description = "vtag_de",
2330 .field_bit_size = 1,
2331 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2332 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2335 .description = "vtag_pcp",
2336 .field_bit_size = 3,
2337 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2338 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2341 .description = "spare",
2342 .field_bit_size = 80,
2343 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2344 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2346 /* act_tid: 3, , table: int_full_act_record.0 */
2348 .description = "flow_cntr_ptr",
2349 .field_bit_size = 14,
2350 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2351 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2353 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2354 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
2357 .description = "age_enable",
2358 .field_bit_size = 1,
2359 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2360 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2363 .description = "agg_cntr_en",
2364 .field_bit_size = 1,
2365 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2366 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2369 .description = "rate_cntr_en",
2370 .field_bit_size = 1,
2371 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2372 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2375 .description = "flow_cntr_en",
2376 .field_bit_size = 1,
2377 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2378 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2380 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
2381 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
2382 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
2383 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
2384 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
2385 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
2386 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
2387 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
2390 .description = "tcpflags_key",
2391 .field_bit_size = 8,
2392 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2393 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2396 .description = "tcpflags_mir",
2397 .field_bit_size = 1,
2398 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2399 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2402 .description = "tcpflags_match",
2403 .field_bit_size = 1,
2404 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2405 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2408 .description = "encap_ptr",
2409 .field_bit_size = 11,
2410 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2411 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
2413 (BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR >> 8) & 0xff,
2414 BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR & 0xff}
2417 .description = "dst_ip_ptr",
2418 .field_bit_size = 10,
2419 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2420 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2422 (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
2423 BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 & 0xff}
2426 .description = "tcp_dst_port",
2427 .field_bit_size = 16,
2428 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2429 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2431 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
2432 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
2433 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
2434 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
2435 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
2436 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
2437 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
2438 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
2439 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2441 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
2442 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
2443 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2446 .description = "src_ip_ptr",
2447 .field_bit_size = 10,
2448 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2449 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2451 (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
2452 BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 & 0xff}
2455 .description = "tcp_src_port",
2456 .field_bit_size = 16,
2457 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2458 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2460 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
2461 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
2462 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
2463 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
2464 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
2465 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
2466 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
2467 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
2468 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2470 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
2471 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
2472 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2475 .description = "meter_id",
2476 .field_bit_size = 10,
2477 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2478 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2481 .description = "l3_rdir",
2482 .field_bit_size = 1,
2483 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2484 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2487 .description = "tl3_rdir",
2488 .field_bit_size = 1,
2489 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2490 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2493 .description = "l3_ttl_dec",
2494 .field_bit_size = 1,
2495 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2496 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2498 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2499 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
2502 .description = "tl3_ttl_dec",
2503 .field_bit_size = 1,
2504 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2505 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2507 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2508 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
2511 .description = "decap_func",
2512 .field_bit_size = 4,
2513 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2514 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
2516 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
2517 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
2518 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
2519 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
2520 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
2521 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
2522 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
2523 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
2524 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2526 ULP_WP_SYM_DECAP_FUNC_THRU_TL2},
2527 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
2529 ULP_WP_SYM_DECAP_FUNC_THRU_L2}
2532 .description = "vnic_or_vport",
2533 .field_bit_size = 12,
2534 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2535 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2537 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
2538 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
2541 .description = "pop_vlan",
2542 .field_bit_size = 1,
2543 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2544 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2547 .description = "meter",
2548 .field_bit_size = 1,
2549 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2550 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2553 .description = "mirror",
2554 .field_bit_size = 2,
2555 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2556 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2559 .description = "drop",
2560 .field_bit_size = 1,
2561 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2562 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2565 .description = "hit",
2566 .field_bit_size = 1,
2567 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2568 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2571 .description = "type",
2572 .field_bit_size = 1,
2573 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2574 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2576 /* act_tid: 3, , table: ext_full_act_record.0 */
2578 .description = "flow_cntr_ptr",
2579 .field_bit_size = 14,
2580 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2581 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2583 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2584 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
2587 .description = "age_enable",
2588 .field_bit_size = 1,
2589 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2590 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2593 .description = "agg_cntr_en",
2594 .field_bit_size = 1,
2595 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2596 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2599 .description = "rate_cntr_en",
2600 .field_bit_size = 1,
2601 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2602 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2605 .description = "flow_cntr_en",
2606 .field_bit_size = 1,
2607 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2608 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2610 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
2611 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
2612 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
2613 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
2614 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
2615 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
2616 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
2617 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
2620 .description = "flow_cntr_ext",
2621 .field_bit_size = 1,
2622 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2623 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2626 .description = "tcpflags_key",
2627 .field_bit_size = 8,
2628 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2629 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2632 .description = "tcpflags_mir",
2633 .field_bit_size = 1,
2634 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2635 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2638 .description = "tcpflags_match",
2639 .field_bit_size = 1,
2640 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2641 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2644 .description = "encap_ptr",
2645 .field_bit_size = 11,
2646 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2647 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
2649 (BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR >> 8) & 0xff,
2650 BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR & 0xff}
2653 .description = "encap_rec_int",
2654 .field_bit_size = 1,
2655 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2656 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2661 .description = "dst_ip_ptr",
2662 .field_bit_size = 10,
2663 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2664 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2666 (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
2667 BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 & 0xff}
2670 .description = "tcp_dst_port",
2671 .field_bit_size = 16,
2672 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2673 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2675 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
2676 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
2677 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
2678 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
2679 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
2680 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
2681 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
2682 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
2683 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2685 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
2686 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
2687 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2690 .description = "src_ip_ptr",
2691 .field_bit_size = 10,
2692 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2693 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2695 (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
2696 BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 & 0xff}
2699 .description = "tcp_src_port",
2700 .field_bit_size = 16,
2701 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2702 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2704 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
2705 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
2706 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
2707 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
2708 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
2709 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
2710 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
2711 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
2712 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2714 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
2715 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
2716 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2719 .description = "meter_id",
2720 .field_bit_size = 10,
2721 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2722 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2725 .description = "l3_rdir",
2726 .field_bit_size = 1,
2727 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2728 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2731 .description = "tl3_rdir",
2732 .field_bit_size = 1,
2733 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2734 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2737 .description = "l3_ttl_dec",
2738 .field_bit_size = 1,
2739 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2740 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2742 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2743 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
2746 .description = "tl3_ttl_dec",
2747 .field_bit_size = 1,
2748 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2749 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2751 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2752 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
2755 .description = "decap_func",
2756 .field_bit_size = 4,
2757 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2758 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
2760 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
2761 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
2762 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
2763 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
2764 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
2765 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
2766 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
2767 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
2768 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2770 ULP_WP_SYM_DECAP_FUNC_THRU_TL2},
2771 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
2773 ULP_WP_SYM_DECAP_FUNC_THRU_L2}
2776 .description = "vnic_or_vport",
2777 .field_bit_size = 12,
2778 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2779 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2781 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
2782 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
2785 .description = "pop_vlan",
2786 .field_bit_size = 1,
2787 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2788 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2791 .description = "meter",
2792 .field_bit_size = 1,
2793 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2794 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2797 .description = "mirror",
2798 .field_bit_size = 2,
2799 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2800 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2803 .description = "drop",
2804 .field_bit_size = 1,
2805 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2806 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2809 .description = "ecv_tun_type",
2810 .field_bit_size = 3,
2811 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2812 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2815 .description = "ecv_l4_type",
2816 .field_bit_size = 3,
2817 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2818 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2821 .description = "ecv_l3_type",
2822 .field_bit_size = 3,
2823 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2824 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2827 .description = "ecv_l2_en",
2828 .field_bit_size = 1,
2829 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2830 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2832 ULP_WP_SYM_ECV_L2_EN_YES}
2835 .description = "ecv_vtag_type",
2836 .field_bit_size = 4,
2837 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2838 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2841 .description = "ecv_custom_en",
2842 .field_bit_size = 1,
2843 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2844 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2847 .description = "ecv_valid",
2848 .field_bit_size = 1,
2849 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2850 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2853 .description = "vtag_tpid",
2854 .field_bit_size = 16,
2855 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2856 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2859 .description = "vtag_vid",
2860 .field_bit_size = 12,
2861 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2862 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2865 .description = "vtag_de",
2866 .field_bit_size = 1,
2867 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2868 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2871 .description = "vtag_pcp",
2872 .field_bit_size = 3,
2873 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2874 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2877 .description = "spare",
2878 .field_bit_size = 0,
2879 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2880 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2882 /* act_tid: 4, , table: int_flow_counter_tbl.0 */
2884 .description = "count",
2885 .field_bit_size = 64,
2886 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2887 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2889 /* act_tid: 4, , table: int_vtag_encap_record.0 */
2891 .description = "ecv_tun_type",
2892 .field_bit_size = 3,
2893 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2894 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2897 .description = "ecv_l4_type",
2898 .field_bit_size = 3,
2899 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2900 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2903 .description = "ecv_l3_type",
2904 .field_bit_size = 3,
2905 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2906 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2909 .description = "ecv_l2_en",
2910 .field_bit_size = 1,
2911 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2912 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2915 .description = "ecv_vtag_type",
2916 .field_bit_size = 4,
2917 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2918 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2920 ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
2923 .description = "ecv_custom_en",
2924 .field_bit_size = 1,
2925 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2926 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
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 = "vtag_tpid",
2938 .field_bit_size = 16,
2939 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2940 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2942 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
2943 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff}
2946 .description = "vtag_vid",
2947 .field_bit_size = 12,
2948 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2949 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2951 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
2952 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff}
2955 .description = "vtag_de",
2956 .field_bit_size = 1,
2957 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2958 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2961 .description = "vtag_pcp",
2962 .field_bit_size = 3,
2963 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2964 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2966 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
2967 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff}
2970 .description = "spare",
2971 .field_bit_size = 80,
2972 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2973 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2975 /* act_tid: 4, , table: int_full_act_record.0 */
2977 .description = "flow_cntr_ptr",
2978 .field_bit_size = 14,
2979 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2980 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2982 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2983 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
2986 .description = "age_enable",
2987 .field_bit_size = 1,
2988 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2989 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2992 .description = "agg_cntr_en",
2993 .field_bit_size = 1,
2994 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2995 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2998 .description = "rate_cntr_en",
2999 .field_bit_size = 1,
3000 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3001 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3004 .description = "flow_cntr_en",
3005 .field_bit_size = 1,
3006 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3007 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3009 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
3010 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
3011 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
3012 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
3013 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
3014 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
3015 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
3016 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
3019 .description = "tcpflags_key",
3020 .field_bit_size = 8,
3021 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3022 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3025 .description = "tcpflags_mir",
3026 .field_bit_size = 1,
3027 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3028 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3031 .description = "tcpflags_match",
3032 .field_bit_size = 1,
3033 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3034 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3037 .description = "encap_ptr",
3038 .field_bit_size = 11,
3039 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3040 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3042 (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
3043 BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
3046 .description = "dst_ip_ptr",
3047 .field_bit_size = 10,
3048 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3049 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3052 .description = "tcp_dst_port",
3053 .field_bit_size = 16,
3054 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3055 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3058 .description = "src_ip_ptr",
3059 .field_bit_size = 10,
3060 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3061 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3064 .description = "tcp_src_port",
3065 .field_bit_size = 16,
3066 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3067 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3070 .description = "meter_id",
3071 .field_bit_size = 10,
3072 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3073 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3076 .description = "l3_rdir",
3077 .field_bit_size = 1,
3078 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3079 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3082 .description = "tl3_rdir",
3083 .field_bit_size = 1,
3084 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3085 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3088 .description = "l3_ttl_dec",
3089 .field_bit_size = 1,
3090 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3091 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3093 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3094 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
3097 .description = "tl3_ttl_dec",
3098 .field_bit_size = 1,
3099 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3100 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3102 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3103 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
3106 .description = "decap_func",
3107 .field_bit_size = 4,
3108 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3109 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3112 .description = "vnic_or_vport",
3113 .field_bit_size = 12,
3114 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3115 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3117 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3118 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
3121 .description = "pop_vlan",
3122 .field_bit_size = 1,
3123 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3124 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3127 .description = "meter",
3128 .field_bit_size = 1,
3129 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3130 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3133 .description = "mirror",
3134 .field_bit_size = 2,
3135 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3136 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3139 .description = "drop",
3140 .field_bit_size = 1,
3141 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3142 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3144 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
3145 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
3146 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
3147 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
3148 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
3149 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
3150 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
3151 (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
3154 .description = "hit",
3155 .field_bit_size = 1,
3156 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3157 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3160 .description = "type",
3161 .field_bit_size = 1,
3162 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3163 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3165 /* act_tid: 4, , table: ext_full_act_record.no_tag */
3167 .description = "flow_cntr_ptr",
3168 .field_bit_size = 14,
3169 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3170 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3172 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
3173 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
3176 .description = "age_enable",
3177 .field_bit_size = 1,
3178 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3179 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3182 .description = "agg_cntr_en",
3183 .field_bit_size = 1,
3184 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3185 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3188 .description = "rate_cntr_en",
3189 .field_bit_size = 1,
3190 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3191 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3194 .description = "flow_cntr_en",
3195 .field_bit_size = 1,
3196 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3197 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3199 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
3200 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
3201 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
3202 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
3203 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
3204 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
3205 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
3206 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
3209 .description = "flow_cntr_ext",
3210 .field_bit_size = 1,
3211 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3212 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3215 .description = "tcpflags_key",
3216 .field_bit_size = 8,
3217 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3218 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3221 .description = "tcpflags_mir",
3222 .field_bit_size = 1,
3223 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3224 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3227 .description = "tcpflags_match",
3228 .field_bit_size = 1,
3229 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3230 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3233 .description = "encap_ptr",
3234 .field_bit_size = 11,
3235 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3236 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3239 .description = "encap_rec_int",
3240 .field_bit_size = 1,
3241 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3242 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3245 .description = "dst_ip_ptr",
3246 .field_bit_size = 10,
3247 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3248 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3251 .description = "tcp_dst_port",
3252 .field_bit_size = 16,
3253 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3254 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3257 .description = "src_ip_ptr",
3258 .field_bit_size = 10,
3259 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3260 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3263 .description = "tcp_src_port",
3264 .field_bit_size = 16,
3265 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3266 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3269 .description = "meter_id",
3270 .field_bit_size = 10,
3271 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3272 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3275 .description = "l3_rdir",
3276 .field_bit_size = 1,
3277 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3278 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3281 .description = "tl3_rdir",
3282 .field_bit_size = 1,
3283 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3284 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3287 .description = "l3_ttl_dec",
3288 .field_bit_size = 1,
3289 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3290 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3292 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3293 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
3296 .description = "tl3_ttl_dec",
3297 .field_bit_size = 1,
3298 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3299 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3301 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3302 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
3305 .description = "decap_func",
3306 .field_bit_size = 4,
3307 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3308 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3311 .description = "vnic_or_vport",
3312 .field_bit_size = 12,
3313 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3314 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3316 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3317 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
3320 .description = "pop_vlan",
3321 .field_bit_size = 1,
3322 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3323 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3326 .description = "meter",
3327 .field_bit_size = 1,
3328 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3329 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3332 .description = "mirror",
3333 .field_bit_size = 2,
3334 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3335 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3338 .description = "drop",
3339 .field_bit_size = 1,
3340 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3341 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3343 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
3344 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
3345 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
3346 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
3347 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
3348 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
3349 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
3350 (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
3353 .description = "ecv_tun_type",
3354 .field_bit_size = 3,
3355 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3356 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3359 .description = "ecv_l4_type",
3360 .field_bit_size = 3,
3361 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3362 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3365 .description = "ecv_l3_type",
3366 .field_bit_size = 3,
3367 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3368 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3371 .description = "ecv_l2_en",
3372 .field_bit_size = 1,
3373 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3374 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3376 ULP_WP_SYM_ECV_L2_EN_YES}
3379 .description = "ecv_vtag_type",
3380 .field_bit_size = 4,
3381 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3382 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3385 .description = "ecv_custom_en",
3386 .field_bit_size = 1,
3387 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3388 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3391 .description = "ecv_valid",
3392 .field_bit_size = 1,
3393 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3394 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3397 .description = "vtag_tpid",
3398 .field_bit_size = 16,
3399 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3400 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3403 .description = "vtag_vid",
3404 .field_bit_size = 12,
3405 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3406 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3409 .description = "vtag_de",
3410 .field_bit_size = 1,
3411 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3412 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3415 .description = "vtag_pcp",
3416 .field_bit_size = 3,
3417 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3418 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3421 .description = "spare",
3422 .field_bit_size = 0,
3423 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3424 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3426 /* act_tid: 4, , table: ext_full_act_record.one_tag */
3428 .description = "flow_cntr_ptr",
3429 .field_bit_size = 14,
3430 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3431 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3433 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
3434 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
3437 .description = "age_enable",
3438 .field_bit_size = 1,
3439 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3440 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3443 .description = "agg_cntr_en",
3444 .field_bit_size = 1,
3445 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3446 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3449 .description = "rate_cntr_en",
3450 .field_bit_size = 1,
3451 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3452 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3455 .description = "flow_cntr_en",
3456 .field_bit_size = 1,
3457 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3458 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3460 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
3461 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
3462 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
3463 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
3464 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
3465 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
3466 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
3467 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
3470 .description = "flow_cntr_ext",
3471 .field_bit_size = 1,
3472 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3473 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3476 .description = "tcpflags_key",
3477 .field_bit_size = 8,
3478 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3479 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3482 .description = "tcpflags_mir",
3483 .field_bit_size = 1,
3484 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3485 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3488 .description = "tcpflags_match",
3489 .field_bit_size = 1,
3490 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3491 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3494 .description = "encap_ptr",
3495 .field_bit_size = 11,
3496 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3497 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3500 .description = "encap_rec_int",
3501 .field_bit_size = 1,
3502 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3503 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3506 .description = "dst_ip_ptr",
3507 .field_bit_size = 10,
3508 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3509 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3512 .description = "tcp_dst_port",
3513 .field_bit_size = 16,
3514 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3515 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3518 .description = "src_ip_ptr",
3519 .field_bit_size = 10,
3520 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3521 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3524 .description = "tcp_src_port",
3525 .field_bit_size = 16,
3526 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3527 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3530 .description = "meter_id",
3531 .field_bit_size = 10,
3532 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3533 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3536 .description = "l3_rdir",
3537 .field_bit_size = 1,
3538 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3539 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3542 .description = "tl3_rdir",
3543 .field_bit_size = 1,
3544 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3545 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3548 .description = "l3_ttl_dec",
3549 .field_bit_size = 1,
3550 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3551 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3553 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3554 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
3557 .description = "tl3_ttl_dec",
3558 .field_bit_size = 1,
3559 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3560 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3562 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3563 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
3566 .description = "decap_func",
3567 .field_bit_size = 4,
3568 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3569 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3572 .description = "vnic_or_vport",
3573 .field_bit_size = 12,
3574 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3575 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3577 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3578 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
3581 .description = "pop_vlan",
3582 .field_bit_size = 1,
3583 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3584 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3586 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff,
3587 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 48) & 0xff,
3588 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 40) & 0xff,
3589 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 32) & 0xff,
3590 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 24) & 0xff,
3591 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 16) & 0xff,
3592 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 8) & 0xff,
3593 (uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN & 0xff}
3596 .description = "meter",
3597 .field_bit_size = 1,
3598 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3599 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3602 .description = "mirror",
3603 .field_bit_size = 2,
3604 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3605 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3608 .description = "drop",
3609 .field_bit_size = 1,
3610 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3611 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3613 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
3614 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
3615 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
3616 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
3617 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
3618 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
3619 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
3620 (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
3623 .description = "ecv_tun_type",
3624 .field_bit_size = 3,
3625 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3626 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3629 .description = "ecv_l4_type",
3630 .field_bit_size = 3,
3631 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3632 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3635 .description = "ecv_l3_type",
3636 .field_bit_size = 3,
3637 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3638 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3641 .description = "ecv_l2_en",
3642 .field_bit_size = 1,
3643 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3644 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3647 .description = "ecv_vtag_type",
3648 .field_bit_size = 4,
3649 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3650 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3652 ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
3655 .description = "ecv_custom_en",
3656 .field_bit_size = 1,
3657 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3658 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3661 .description = "ecv_valid",
3662 .field_bit_size = 1,
3663 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3664 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3669 .description = "vtag_tpid",
3670 .field_bit_size = 16,
3671 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3672 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3674 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
3675 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff}
3678 .description = "vtag_vid",
3679 .field_bit_size = 12,
3680 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3681 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3683 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
3684 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff}
3687 .description = "vtag_de",
3688 .field_bit_size = 1,
3689 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3690 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3693 .description = "vtag_pcp",
3694 .field_bit_size = 3,
3695 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3696 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3698 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
3699 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff}
3702 .description = "spare",
3703 .field_bit_size = 0,
3704 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3705 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3707 /* act_tid: 5, , table: int_flow_counter_tbl.0 */
3709 .description = "count",
3710 .field_bit_size = 64,
3711 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3712 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3714 /* act_tid: 5, , table: act_modify_ipv4_src.0 */
3716 .description = "ipv4_addr",
3717 .field_bit_size = 32,
3718 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3719 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3721 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
3722 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff}
3724 /* act_tid: 5, , table: act_modify_ipv4_dst.0 */
3726 .description = "ipv4_addr",
3727 .field_bit_size = 32,
3728 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3729 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3731 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
3732 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff}
3734 /* act_tid: 5, , table: int_encap_mac_record.dummy */
3736 .description = "ecv_tun_type",
3737 .field_bit_size = 3,
3738 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3739 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3742 .description = "ecv_l4_type",
3743 .field_bit_size = 3,
3744 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3745 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3748 .description = "ecv_l3_type",
3749 .field_bit_size = 3,
3750 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3751 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3754 .description = "ecv_l2_en",
3755 .field_bit_size = 1,
3756 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3757 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3759 ULP_WP_SYM_ECV_L2_EN_YES}
3762 .description = "ecv_vtag_type",
3763 .field_bit_size = 4,
3764 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3765 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3768 .description = "ecv_custom_en",
3769 .field_bit_size = 1,
3770 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3771 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3774 .description = "ecv_valid",
3775 .field_bit_size = 1,
3776 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3777 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3782 .description = "vtag_tpid",
3783 .field_bit_size = 16,
3784 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3785 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3788 .description = "vtag_vid",
3789 .field_bit_size = 12,
3790 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3791 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3794 .description = "vtag_de",
3795 .field_bit_size = 1,
3796 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3797 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3800 .description = "vtag_pcp",
3801 .field_bit_size = 3,
3802 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3803 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3806 .description = "spare",
3807 .field_bit_size = 80,
3808 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3809 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3811 /* act_tid: 5, , table: int_full_act_record.0 */
3813 .description = "flow_cntr_ptr",
3814 .field_bit_size = 14,
3815 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3816 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3818 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
3819 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
3822 .description = "age_enable",
3823 .field_bit_size = 1,
3824 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3825 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3828 .description = "agg_cntr_en",
3829 .field_bit_size = 1,
3830 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3831 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3834 .description = "rate_cntr_en",
3835 .field_bit_size = 1,
3836 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3837 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3840 .description = "flow_cntr_en",
3841 .field_bit_size = 1,
3842 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3843 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3845 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
3846 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
3847 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
3848 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
3849 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
3850 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
3851 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
3852 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
3855 .description = "tcpflags_key",
3856 .field_bit_size = 8,
3857 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3858 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3861 .description = "tcpflags_mir",
3862 .field_bit_size = 1,
3863 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3864 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3867 .description = "tcpflags_match",
3868 .field_bit_size = 1,
3869 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3870 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3873 .description = "encap_ptr",
3874 .field_bit_size = 11,
3875 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3876 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
3878 (BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR >> 8) & 0xff,
3879 BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR & 0xff}
3882 .description = "dst_ip_ptr",
3883 .field_bit_size = 10,
3884 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3885 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3887 (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
3888 BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 & 0xff}
3891 .description = "tcp_dst_port",
3892 .field_bit_size = 16,
3893 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3894 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3896 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
3897 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
3898 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
3899 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
3900 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
3901 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
3902 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
3903 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
3904 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3906 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
3907 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
3908 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
3911 .description = "src_ip_ptr",
3912 .field_bit_size = 10,
3913 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3914 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3916 (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
3917 BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 & 0xff}
3920 .description = "tcp_src_port",
3921 .field_bit_size = 16,
3922 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3923 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3925 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
3926 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
3927 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
3928 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
3929 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
3930 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
3931 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
3932 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
3933 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3935 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
3936 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
3937 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
3940 .description = "meter_id",
3941 .field_bit_size = 10,
3942 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3943 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3946 .description = "l3_rdir",
3947 .field_bit_size = 1,
3948 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3949 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3952 .description = "tl3_rdir",
3953 .field_bit_size = 1,
3954 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3955 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3958 .description = "l3_ttl_dec",
3959 .field_bit_size = 1,
3960 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3961 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3963 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3964 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
3967 .description = "tl3_ttl_dec",
3968 .field_bit_size = 1,
3969 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3970 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3972 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3973 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
3976 .description = "decap_func",
3977 .field_bit_size = 4,
3978 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3979 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
3981 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
3982 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
3983 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
3984 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
3985 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
3986 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
3987 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
3988 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
3989 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
3991 ULP_WP_SYM_DECAP_FUNC_THRU_TL2},
3992 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
3994 ULP_WP_SYM_DECAP_FUNC_THRU_L2}
3997 .description = "vnic_or_vport",
3998 .field_bit_size = 12,
3999 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4000 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4002 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
4003 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
4006 .description = "pop_vlan",
4007 .field_bit_size = 1,
4008 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4009 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4012 .description = "meter",
4013 .field_bit_size = 1,
4014 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4015 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4018 .description = "mirror",
4019 .field_bit_size = 2,
4020 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4021 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4024 .description = "drop",
4025 .field_bit_size = 1,
4026 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4027 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4030 .description = "hit",
4031 .field_bit_size = 1,
4032 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4033 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4036 .description = "type",
4037 .field_bit_size = 1,
4038 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4039 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4041 /* act_tid: 5, , table: ext_full_act_record.0 */
4043 .description = "flow_cntr_ptr",
4044 .field_bit_size = 14,
4045 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4046 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4048 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
4049 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
4052 .description = "age_enable",
4053 .field_bit_size = 1,
4054 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4055 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4058 .description = "agg_cntr_en",
4059 .field_bit_size = 1,
4060 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4061 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4064 .description = "rate_cntr_en",
4065 .field_bit_size = 1,
4066 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4067 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4070 .description = "flow_cntr_en",
4071 .field_bit_size = 1,
4072 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4073 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
4075 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
4076 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
4077 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
4078 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
4079 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
4080 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
4081 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
4082 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
4085 .description = "flow_cntr_ext",
4086 .field_bit_size = 1,
4087 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4088 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4091 .description = "tcpflags_key",
4092 .field_bit_size = 8,
4093 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4094 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4097 .description = "tcpflags_mir",
4098 .field_bit_size = 1,
4099 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4100 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4103 .description = "tcpflags_match",
4104 .field_bit_size = 1,
4105 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4106 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4109 .description = "encap_ptr",
4110 .field_bit_size = 11,
4111 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4112 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
4114 (BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR >> 8) & 0xff,
4115 BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR & 0xff}
4118 .description = "encap_rec_int",
4119 .field_bit_size = 1,
4120 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4121 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4126 .description = "dst_ip_ptr",
4127 .field_bit_size = 10,
4128 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4129 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4131 (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
4132 BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 & 0xff}
4135 .description = "tcp_dst_port",
4136 .field_bit_size = 16,
4137 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4138 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
4140 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
4141 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
4142 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
4143 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
4144 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
4145 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
4146 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
4147 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
4148 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4150 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
4151 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
4152 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4155 .description = "src_ip_ptr",
4156 .field_bit_size = 10,
4157 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4158 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4160 (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
4161 BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 & 0xff}
4164 .description = "tcp_src_port",
4165 .field_bit_size = 16,
4166 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4167 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
4169 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
4170 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
4171 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
4172 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
4173 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
4174 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
4175 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
4176 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
4177 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4179 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
4180 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
4181 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4184 .description = "meter_id",
4185 .field_bit_size = 10,
4186 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4187 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4190 .description = "l3_rdir",
4191 .field_bit_size = 1,
4192 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4193 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4196 .description = "tl3_rdir",
4197 .field_bit_size = 1,
4198 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4199 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4202 .description = "l3_ttl_dec",
4203 .field_bit_size = 1,
4204 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4205 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4207 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
4208 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
4211 .description = "tl3_ttl_dec",
4212 .field_bit_size = 1,
4213 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4214 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4216 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
4217 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
4220 .description = "decap_func",
4221 .field_bit_size = 4,
4222 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4223 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
4225 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
4226 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
4227 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
4228 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
4229 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
4230 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
4231 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
4232 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
4233 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
4235 ULP_WP_SYM_DECAP_FUNC_THRU_TL2},
4236 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
4238 ULP_WP_SYM_DECAP_FUNC_THRU_L2}
4241 .description = "vnic_or_vport",
4242 .field_bit_size = 12,
4243 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4244 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4246 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
4247 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
4250 .description = "pop_vlan",
4251 .field_bit_size = 1,
4252 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4253 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4256 .description = "meter",
4257 .field_bit_size = 1,
4258 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4259 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4262 .description = "mirror",
4263 .field_bit_size = 2,
4264 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4265 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4268 .description = "drop",
4269 .field_bit_size = 1,
4270 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4271 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4274 .description = "ecv_tun_type",
4275 .field_bit_size = 3,
4276 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4277 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4280 .description = "ecv_l4_type",
4281 .field_bit_size = 3,
4282 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4283 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4286 .description = "ecv_l3_type",
4287 .field_bit_size = 3,
4288 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4289 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4292 .description = "ecv_l2_en",
4293 .field_bit_size = 1,
4294 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4295 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4297 ULP_WP_SYM_ECV_L2_EN_YES}
4300 .description = "ecv_vtag_type",
4301 .field_bit_size = 4,
4302 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4303 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4306 .description = "ecv_custom_en",
4307 .field_bit_size = 1,
4308 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4309 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4312 .description = "ecv_valid",
4313 .field_bit_size = 1,
4314 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4315 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4318 .description = "vtag_tpid",
4319 .field_bit_size = 16,
4320 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4321 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4324 .description = "vtag_vid",
4325 .field_bit_size = 12,
4326 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4327 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4330 .description = "vtag_de",
4331 .field_bit_size = 1,
4332 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4333 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4336 .description = "vtag_pcp",
4337 .field_bit_size = 3,
4338 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4339 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4342 .description = "spare",
4343 .field_bit_size = 0,
4344 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4345 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4347 /* act_tid: 6, , table: int_flow_counter_tbl.0 */
4349 .description = "count",
4350 .field_bit_size = 64,
4351 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4352 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4354 /* act_tid: 6, , table: sp_smac_ipv4.0 */
4356 .description = "smac",
4357 .field_bit_size = 48,
4358 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4359 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4361 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
4362 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff}
4365 .description = "ipv4_src_addr",
4366 .field_bit_size = 32,
4367 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4368 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4370 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
4371 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff}
4374 .description = "reserved",
4375 .field_bit_size = 48,
4376 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4377 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4379 /* act_tid: 6, , table: sp_smac_ipv6.0 */
4381 .description = "smac",
4382 .field_bit_size = 48,
4383 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4384 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4386 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
4387 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff}
4390 .description = "ipv6_src_addr",
4391 .field_bit_size = 128,
4392 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4393 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4395 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
4396 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff}
4399 .description = "reserved",
4400 .field_bit_size = 16,
4401 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4402 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4404 /* act_tid: 6, , table: int_tun_encap_record.0 */
4406 .description = "ecv_tun_type",
4407 .field_bit_size = 3,
4408 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4409 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4411 ULP_WP_SYM_ECV_TUN_TYPE_VXLAN}
4414 .description = "ecv_l4_type",
4415 .field_bit_size = 3,
4416 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4417 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4419 ULP_WP_SYM_ECV_L4_TYPE_UDP_CSUM}
4422 .description = "ecv_l3_type",
4423 .field_bit_size = 3,
4424 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4425 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4427 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
4428 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff}
4431 .description = "ecv_l2_en",
4432 .field_bit_size = 1,
4433 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4434 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4439 .description = "ecv_vtag_type",
4440 .field_bit_size = 4,
4441 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4442 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4444 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
4445 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff}
4448 .description = "ecv_custom_en",
4449 .field_bit_size = 1,
4450 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4451 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4454 .description = "ecv_valid",
4455 .field_bit_size = 1,
4456 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4457 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4462 .description = "encap_l2_dmac",
4463 .field_bit_size = 48,
4464 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4465 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4467 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
4468 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff}
4471 .description = "encap_vtag",
4472 .field_bit_size = 0,
4473 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4474 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP_SZ,
4476 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
4477 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
4478 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
4479 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff}
4482 .description = "encap_ip",
4483 .field_bit_size = 0,
4484 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4485 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP_SZ,
4487 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
4488 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
4489 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
4490 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff}
4493 .description = "encap_udp",
4494 .field_bit_size = 32,
4495 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4496 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4498 (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
4499 BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff}
4502 .description = "encap_tun",
4503 .field_bit_size = 0,
4504 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4505 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP_SZ,
4507 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
4508 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,
4509 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,
4510 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff}
4512 /* act_tid: 6, , table: int_full_act_record.0 */
4514 .description = "flow_cntr_ptr",
4515 .field_bit_size = 14,
4516 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4517 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4519 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
4520 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
4523 .description = "age_enable",
4524 .field_bit_size = 1,
4525 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4526 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4529 .description = "agg_cntr_en",
4530 .field_bit_size = 1,
4531 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4532 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4535 .description = "rate_cntr_en",
4536 .field_bit_size = 1,
4537 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4538 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4541 .description = "flow_cntr_en",
4542 .field_bit_size = 1,
4543 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4544 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
4546 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
4547 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
4548 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
4549 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
4550 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
4551 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
4552 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
4553 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
4556 .description = "tcpflags_key",
4557 .field_bit_size = 8,
4558 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4559 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4562 .description = "tcpflags_mir",
4563 .field_bit_size = 1,
4564 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4565 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4568 .description = "tcpflags_match",
4569 .field_bit_size = 1,
4570 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4571 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4574 .description = "encap_ptr",
4575 .field_bit_size = 11,
4576 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4577 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4579 (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
4580 BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
4583 .description = "dst_ip_ptr",
4584 .field_bit_size = 10,
4585 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4586 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4589 .description = "tcp_dst_port",
4590 .field_bit_size = 16,
4591 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4592 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4595 .description = "src_ip_ptr",
4596 .field_bit_size = 10,
4597 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4598 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4601 .description = "tcp_src_port",
4602 .field_bit_size = 16,
4603 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4604 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4607 .description = "meter_id",
4608 .field_bit_size = 10,
4609 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4610 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4613 .description = "l3_rdir",
4614 .field_bit_size = 1,
4615 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4616 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4619 .description = "tl3_rdir",
4620 .field_bit_size = 1,
4621 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4622 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4625 .description = "l3_ttl_dec",
4626 .field_bit_size = 1,
4627 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4628 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4631 .description = "tl3_ttl_dec",
4632 .field_bit_size = 1,
4633 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4634 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4637 .description = "decap_func",
4638 .field_bit_size = 4,
4639 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4640 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4643 .description = "vnic_or_vport",
4644 .field_bit_size = 12,
4645 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4646 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4648 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
4649 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
4652 .description = "pop_vlan",
4653 .field_bit_size = 1,
4654 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4655 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4658 .description = "meter",
4659 .field_bit_size = 1,
4660 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4661 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4664 .description = "mirror",
4665 .field_bit_size = 2,
4666 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4667 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4670 .description = "drop",
4671 .field_bit_size = 1,
4672 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4673 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4676 .description = "hit",
4677 .field_bit_size = 1,
4678 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4679 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4682 .description = "type",
4683 .field_bit_size = 1,
4684 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4685 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4687 /* act_tid: 6, , table: ext_full_act_record_vxlan.0 */
4689 .description = "flow_cntr_ptr",
4690 .field_bit_size = 14,
4691 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4692 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4694 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
4695 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
4698 .description = "age_enable",
4699 .field_bit_size = 1,
4700 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4701 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4704 .description = "agg_cntr_en",
4705 .field_bit_size = 1,
4706 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4707 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4710 .description = "rate_cntr_en",
4711 .field_bit_size = 1,
4712 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4713 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4716 .description = "flow_cntr_en",
4717 .field_bit_size = 1,
4718 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4719 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
4721 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
4722 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
4723 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
4724 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
4725 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
4726 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
4727 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
4728 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
4731 .description = "flow_cntr_ext",
4732 .field_bit_size = 1,
4733 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4734 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4737 .description = "tcpflags_key",
4738 .field_bit_size = 8,
4739 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4740 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4743 .description = "tcpflags_mir",
4744 .field_bit_size = 1,
4745 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4746 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4749 .description = "tcpflags_match",
4750 .field_bit_size = 1,
4751 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4752 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4755 .description = "encap_ptr",
4756 .field_bit_size = 11,
4757 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4758 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4761 .description = "encap_rec_int",
4762 .field_bit_size = 1,
4763 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4764 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4767 .description = "dst_ip_ptr",
4768 .field_bit_size = 10,
4769 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4770 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4773 .description = "tcp_dst_port",
4774 .field_bit_size = 16,
4775 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4776 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4779 .description = "src_ip_ptr",
4780 .field_bit_size = 10,
4781 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4782 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4785 .description = "tcp_src_port",
4786 .field_bit_size = 16,
4787 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4788 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4791 .description = "meter_id",
4792 .field_bit_size = 10,
4793 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4794 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4797 .description = "l3_rdir",
4798 .field_bit_size = 1,
4799 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4800 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4803 .description = "tl3_rdir",
4804 .field_bit_size = 1,
4805 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4806 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4809 .description = "l3_ttl_dec",
4810 .field_bit_size = 1,
4811 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4812 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4815 .description = "tl3_ttl_dec",
4816 .field_bit_size = 1,
4817 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4818 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4821 .description = "decap_func",
4822 .field_bit_size = 4,
4823 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4824 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4827 .description = "vnic_or_vport",
4828 .field_bit_size = 12,
4829 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4830 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4832 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
4833 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
4836 .description = "pop_vlan",
4837 .field_bit_size = 1,
4838 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4839 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4842 .description = "meter",
4843 .field_bit_size = 1,
4844 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4845 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4848 .description = "mirror",
4849 .field_bit_size = 2,
4850 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4851 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4854 .description = "drop",
4855 .field_bit_size = 1,
4856 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4857 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4860 .description = "ecv_tun_type",
4861 .field_bit_size = 3,
4862 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4863 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4865 ULP_WP_SYM_ECV_TUN_TYPE_VXLAN}
4868 .description = "ecv_l4_type",
4869 .field_bit_size = 3,
4870 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4871 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4873 ULP_WP_SYM_ECV_L4_TYPE_UDP_CSUM}
4876 .description = "ecv_l3_type",
4877 .field_bit_size = 3,
4878 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4879 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4881 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
4882 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff}
4885 .description = "ecv_l2_en",
4886 .field_bit_size = 1,
4887 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4888 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4893 .description = "ecv_vtag_type",
4894 .field_bit_size = 4,
4895 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4896 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4898 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
4899 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff}
4902 .description = "ecv_custom_en",
4903 .field_bit_size = 1,
4904 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4905 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4908 .description = "ecv_valid",
4909 .field_bit_size = 1,
4910 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4911 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4916 .description = "encap_l2_dmac",
4917 .field_bit_size = 48,
4918 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4919 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4921 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
4922 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff}
4925 .description = "encap_vtag",
4926 .field_bit_size = 0,
4927 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4928 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP_SZ,
4930 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
4931 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
4932 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
4933 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff}
4936 .description = "encap_ip",
4937 .field_bit_size = 0,
4938 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4939 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP_SZ,
4941 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
4942 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
4943 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
4944 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff}
4947 .description = "encap_udp",
4948 .field_bit_size = 32,
4949 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4950 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4952 (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
4953 BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff}
4956 .description = "encap_tun",
4957 .field_bit_size = 80,
4958 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4959 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4961 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
4962 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff}
4966 struct bnxt_ulp_mapper_ident_info ulp_wh_plus_act_ident_list[] = {
4967 /* act_tid: 1, , table: shared_mirror_record.rd */
4969 .description = "mirror_id",
4970 .regfile_idx = BNXT_ULP_RF_IDX_MIRROR_ID_0,
4971 .ident_bit_size = 2,