1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2014-2021 Broadcom
6 /* date: Wed Aug 25 14:37:06 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,
94 .blob_key_bit_size = 1,
100 { /* act_tid: 1, , table: int_flow_counter_tbl.0 */
101 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
102 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
104 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
105 .direction = TF_DIR_RX,
108 .cond_false_goto = 1,
109 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
110 .cond_start_idx = 10,
112 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
113 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
114 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
115 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
116 .result_start_idx = 0,
117 .result_bit_size = 64,
118 .result_num_fields = 1
120 { /* act_tid: 1, , table: int_vtag_encap_record.0 */
121 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
122 .resource_type = TF_TBL_TYPE_ACT_ENCAP_8B,
124 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
125 .direction = TF_DIR_RX,
128 .cond_false_goto = 1,
129 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
130 .cond_start_idx = 11,
132 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
133 .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
134 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
135 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
137 .result_start_idx = 1,
138 .result_bit_size = 0,
139 .result_num_fields = 0,
140 .encap_num_fields = 11
142 { /* act_tid: 1, , table: int_full_act_record.0 */
143 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
144 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
146 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
147 .direction = TF_DIR_RX,
150 .cond_false_goto = 1,
151 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
152 .cond_start_idx = 12,
154 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
155 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
156 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
157 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
158 .result_start_idx = 12,
159 .result_bit_size = 128,
160 .result_num_fields = 26,
161 .encap_num_fields = 0
163 { /* act_tid: 1, , table: ext_full_act_record.0 */
164 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
165 .resource_type = TF_TBL_TYPE_EXT,
167 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
168 .direction = TF_DIR_RX,
171 .cond_false_goto = 0,
172 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
173 .cond_start_idx = 13,
175 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
176 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
177 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
178 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
179 .result_start_idx = 38,
180 .result_bit_size = 128,
181 .result_num_fields = 26,
182 .encap_num_fields = 11
184 { /* act_tid: 2, , table: control.0 */
185 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
186 .direction = TF_DIR_RX,
189 .cond_false_goto = 1,
190 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
191 .cond_start_idx = 14,
193 .fdb_opcode = BNXT_ULP_FDB_OPC_ALLOC_RID_REGFILE,
194 .fdb_operand = BNXT_ULP_RF_IDX_RID
196 { /* act_tid: 2, , table: mirror_tbl.alloc */
197 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
198 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
200 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
201 .direction = TF_DIR_RX,
204 .cond_false_goto = 1,
205 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
206 .cond_start_idx = 14,
208 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
209 .tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0,
210 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
211 .fdb_operand = BNXT_ULP_RF_IDX_RID,
212 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
213 .result_start_idx = 75,
214 .result_bit_size = 32,
215 .result_num_fields = 6
217 { /* act_tid: 2, , table: int_flow_counter_tbl.0 */
218 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
219 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
221 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
222 .direction = TF_DIR_RX,
225 .cond_false_goto = 1,
226 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
227 .cond_start_idx = 14,
229 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
230 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
231 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
232 .fdb_operand = BNXT_ULP_RF_IDX_RID,
233 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
234 .result_start_idx = 81,
235 .result_bit_size = 64,
236 .result_num_fields = 1
238 { /* act_tid: 2, , table: int_full_act_record.0 */
239 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
240 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
242 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
243 .direction = TF_DIR_RX,
246 .cond_false_goto = 1,
247 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
248 .cond_start_idx = 15,
250 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
251 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
252 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
253 .fdb_operand = BNXT_ULP_RF_IDX_RID,
254 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
255 .result_start_idx = 82,
256 .result_bit_size = 128,
257 .result_num_fields = 26,
258 .encap_num_fields = 0
260 { /* act_tid: 2, , table: ext_full_act_record.0 */
261 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
262 .resource_type = TF_TBL_TYPE_EXT,
264 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
265 .direction = TF_DIR_RX,
268 .cond_false_goto = 1,
269 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
270 .cond_start_idx = 15,
272 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
273 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
274 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_RID_REGFILE,
275 .fdb_operand = BNXT_ULP_RF_IDX_RID,
276 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
277 .result_start_idx = 108,
278 .result_bit_size = 128,
279 .result_num_fields = 26,
280 .encap_num_fields = 11
282 { /* act_tid: 2, , table: mirror_tbl.wr */
283 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
284 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
286 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
287 .direction = TF_DIR_RX,
290 .cond_false_goto = 1,
291 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
292 .cond_start_idx = 15,
294 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_REGFILE,
295 .tbl_operand = BNXT_ULP_RF_IDX_MIRROR_PTR_0,
296 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
297 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
298 .result_start_idx = 145,
299 .result_bit_size = 32,
300 .result_num_fields = 6
302 { /* act_tid: 2, , table: shared_mirror_record.wr */
303 .resource_func = BNXT_ULP_RESOURCE_FUNC_GENERIC_TABLE,
304 .resource_type = TF_TBL_TYPE_MIRROR_CONFIG,
306 BNXT_ULP_RESOURCE_SUB_TYPE_GENERIC_TABLE_SHARED_MIRROR,
307 .direction = TF_DIR_RX,
310 .cond_false_goto = 0,
311 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
312 .cond_start_idx = 15,
314 .tbl_opcode = BNXT_ULP_GENERIC_TBL_OPC_WRITE,
315 .gen_tbl_lkup_type = BNXT_ULP_GENERIC_TBL_LKUP_TYPE_INDEX,
316 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
318 .blob_key_bit_size = 1,
321 .result_start_idx = 151,
322 .result_bit_size = 34,
323 .result_num_fields = 2
325 { /* act_tid: 3, , table: control.0 */
326 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
327 .direction = TF_DIR_RX,
329 .cond_true_goto = 1023,
330 .cond_false_goto = 1,
331 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
332 .cond_start_idx = 15,
334 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
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 = 16,
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 .result_start_idx = 153,
352 .result_bit_size = 64,
353 .result_num_fields = 1
355 { /* act_tid: 3, , table: act_modify_ipv4_src.0 */
356 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
357 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
359 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
360 .direction = TF_DIR_RX,
363 .cond_false_goto = 1,
364 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
365 .cond_start_idx = 17,
367 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
368 .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0,
369 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
370 .result_start_idx = 154,
371 .result_bit_size = 32,
372 .result_num_fields = 1
374 { /* act_tid: 3, , table: act_modify_ipv4_dst.0 */
375 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
376 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
378 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
379 .direction = TF_DIR_RX,
382 .cond_false_goto = 1,
383 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
384 .cond_start_idx = 18,
386 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
387 .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0,
388 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
389 .result_start_idx = 155,
390 .result_bit_size = 32,
391 .result_num_fields = 1
393 { /* act_tid: 3, , table: int_encap_mac_record.0 */
394 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
395 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
397 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
398 .direction = TF_DIR_RX,
401 .cond_false_goto = 1,
402 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
403 .cond_start_idx = 19,
405 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
406 .tbl_operand = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
407 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
409 .result_start_idx = 156,
410 .result_bit_size = 0,
411 .result_num_fields = 0,
412 .encap_num_fields = 11
414 { /* act_tid: 3, , table: int_full_act_record.0 */
415 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
416 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
418 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
419 .direction = TF_DIR_RX,
422 .cond_false_goto = 1,
423 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
424 .cond_start_idx = 19,
426 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
427 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
428 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
429 .result_start_idx = 167,
430 .result_bit_size = 128,
431 .result_num_fields = 26
433 { /* act_tid: 3, , table: ext_full_act_record.0 */
434 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
435 .resource_type = TF_TBL_TYPE_EXT,
437 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
438 .direction = TF_DIR_RX,
441 .cond_false_goto = 0,
442 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
443 .cond_start_idx = 20,
445 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
446 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
447 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
448 .result_start_idx = 193,
449 .result_bit_size = 128,
450 .result_num_fields = 26,
451 .encap_num_fields = 11
453 { /* act_tid: 4, , table: int_flow_counter_tbl.0 */
454 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
455 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
457 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
458 .direction = TF_DIR_TX,
461 .cond_false_goto = 1,
462 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
463 .cond_start_idx = 21,
465 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
466 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
467 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
468 .result_start_idx = 230,
469 .result_bit_size = 64,
470 .result_num_fields = 1
472 { /* act_tid: 4, , table: int_vtag_encap_record.0 */
473 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
474 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
476 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
477 .direction = TF_DIR_TX,
480 .cond_false_goto = 1,
481 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
482 .cond_start_idx = 22,
484 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
485 .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
486 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
488 .result_start_idx = 231,
489 .result_bit_size = 0,
490 .result_num_fields = 0,
491 .encap_num_fields = 11
493 { /* act_tid: 4, , table: int_full_act_record.0 */
494 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
495 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
497 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
498 .direction = TF_DIR_TX,
501 .cond_false_goto = 1,
502 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
503 .cond_start_idx = 24,
505 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
506 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
507 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
508 .result_start_idx = 242,
509 .result_bit_size = 128,
510 .result_num_fields = 26
512 { /* act_tid: 4, , table: ext_full_act_record.no_tag */
513 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
514 .resource_type = TF_TBL_TYPE_EXT,
516 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
517 .direction = TF_DIR_TX,
520 .cond_false_goto = 1,
521 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
522 .cond_start_idx = 25,
524 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
525 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
526 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
527 .result_start_idx = 268,
528 .result_bit_size = 128,
529 .result_num_fields = 26,
530 .encap_num_fields = 11
532 { /* act_tid: 4, , table: ext_full_act_record.one_tag */
533 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
534 .resource_type = TF_TBL_TYPE_EXT,
536 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
537 .direction = TF_DIR_TX,
540 .cond_false_goto = 0,
541 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
542 .cond_start_idx = 27,
544 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
545 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
546 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
547 .result_start_idx = 305,
548 .result_bit_size = 128,
549 .result_num_fields = 26,
550 .encap_num_fields = 11
552 { /* act_tid: 5, , table: control.0 */
553 .resource_func = BNXT_ULP_RESOURCE_FUNC_CTRL_TABLE,
554 .direction = TF_DIR_TX,
556 .cond_true_goto = 1023,
557 .cond_false_goto = 1,
558 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
559 .cond_start_idx = 29,
561 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP
563 { /* act_tid: 5, , table: int_flow_counter_tbl.0 */
564 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
565 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
567 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
568 .direction = TF_DIR_TX,
571 .cond_false_goto = 1,
572 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
573 .cond_start_idx = 30,
575 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
576 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
577 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
578 .result_start_idx = 342,
579 .result_bit_size = 64,
580 .result_num_fields = 1
582 { /* act_tid: 5, , table: act_modify_ipv4_src.0 */
583 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
584 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
586 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
587 .direction = TF_DIR_TX,
590 .cond_false_goto = 1,
591 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
592 .cond_start_idx = 31,
594 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
595 .tbl_operand = BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0,
596 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
597 .result_start_idx = 343,
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 = 32,
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 .result_start_idx = 344,
617 .result_bit_size = 32,
618 .result_num_fields = 1
620 { /* act_tid: 5, , table: int_encap_mac_record.dummy */
621 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
622 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
624 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
625 .direction = TF_DIR_TX,
628 .cond_false_goto = 1,
629 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_TRUE,
630 .cond_start_idx = 33,
632 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
633 .tbl_operand = BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR,
634 .fdb_opcode = BNXT_ULP_FDB_OPC_NOP,
636 .result_start_idx = 345,
637 .result_bit_size = 0,
638 .result_num_fields = 0,
639 .encap_num_fields = 11
641 { /* act_tid: 5, , table: int_full_act_record.0 */
642 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
643 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
645 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
646 .direction = TF_DIR_TX,
649 .cond_false_goto = 1,
650 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
651 .cond_start_idx = 33,
653 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
654 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
655 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
656 .result_start_idx = 356,
657 .result_bit_size = 128,
658 .result_num_fields = 26
660 { /* act_tid: 5, , table: ext_full_act_record.0 */
661 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
662 .resource_type = TF_TBL_TYPE_EXT,
664 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
665 .direction = TF_DIR_TX,
668 .cond_false_goto = 0,
669 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
670 .cond_start_idx = 34,
672 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
673 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
674 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
675 .result_start_idx = 382,
676 .result_bit_size = 128,
677 .result_num_fields = 26,
678 .encap_num_fields = 11
680 { /* act_tid: 6, , table: int_flow_counter_tbl.0 */
681 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
682 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
684 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
685 .direction = TF_DIR_TX,
688 .cond_false_goto = 1,
689 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
690 .cond_start_idx = 35,
692 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_REGFILE,
693 .tbl_operand = BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0,
694 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
695 .result_start_idx = 419,
696 .result_bit_size = 64,
697 .result_num_fields = 1
699 { /* act_tid: 6, , table: sp_smac_ipv4.0 */
700 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
701 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
703 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
704 .direction = TF_DIR_TX,
707 .cond_false_goto = 1,
708 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
709 .cond_start_idx = 36,
711 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
712 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_SP_PTR,
713 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
715 .result_start_idx = 420,
716 .result_bit_size = 0,
717 .result_num_fields = 0,
718 .encap_num_fields = 2
720 { /* act_tid: 6, , table: sp_smac_ipv6.0 */
721 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
722 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
724 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
725 .direction = TF_DIR_TX,
728 .cond_false_goto = 1,
729 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
730 .cond_start_idx = 37,
732 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
733 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_SP_PTR,
734 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
736 .result_start_idx = 422,
737 .result_bit_size = 0,
738 .result_num_fields = 0,
739 .encap_num_fields = 2
741 { /* act_tid: 6, , table: int_tun_encap_record.0 */
742 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
743 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
745 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
746 .direction = TF_DIR_TX,
749 .cond_false_goto = 1,
750 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
751 .cond_start_idx = 38,
753 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
754 .tbl_operand = BNXT_ULP_RF_IDX_ENCAP_PTR_0,
755 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
757 .result_start_idx = 424,
758 .result_bit_size = 0,
759 .result_num_fields = 0,
760 .encap_num_fields = 30
762 { /* act_tid: 6, , table: int_full_act_record.0 */
763 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
764 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
766 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
767 .direction = TF_DIR_TX,
770 .cond_false_goto = 1,
771 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
772 .cond_start_idx = 39,
774 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
775 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
776 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
777 .result_start_idx = 454,
778 .result_bit_size = 128,
779 .result_num_fields = 26
781 { /* act_tid: 6, , table: ext_full_act_record_vxlan.0 */
782 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
783 .resource_type = TF_TBL_TYPE_EXT,
785 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
786 .direction = TF_DIR_TX,
789 .cond_false_goto = 0,
790 .cond_list_opcode = BNXT_ULP_COND_LIST_OPC_AND,
791 .cond_start_idx = 40,
793 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
794 .tbl_operand = BNXT_ULP_RF_IDX_MAIN_ACTION_PTR,
795 .fdb_opcode = BNXT_ULP_FDB_OPC_PUSH_FID,
796 .result_start_idx = 480,
797 .result_bit_size = 128,
798 .result_num_fields = 26,
799 .encap_num_fields = 30
803 struct bnxt_ulp_mapper_cond_info ulp_wh_plus_act_cond_list[] = {
804 /* cond_reject: wh_plus, act_tid: 1 */
806 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
807 .cond_operand = BNXT_ULP_ACT_BIT_SET_IPV4_SRC
810 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
811 .cond_operand = BNXT_ULP_ACT_BIT_SET_IPV6_SRC
814 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
815 .cond_operand = BNXT_ULP_ACT_BIT_SET_TP_SRC
818 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
819 .cond_operand = BNXT_ULP_ACT_BIT_SET_IPV4_DST
822 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
823 .cond_operand = BNXT_ULP_ACT_BIT_SET_IPV6_DST
826 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
827 .cond_operand = BNXT_ULP_ACT_BIT_SET_TP_DST
830 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
831 .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
834 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
835 .cond_operand = BNXT_ULP_ACT_BIT_SET_VLAN_VID
838 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
839 .cond_operand = BNXT_ULP_ACT_BIT_SET_VLAN_PCP
841 /* cond_execute: act_tid: 1, shared_mirror_record.rd */
843 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
844 .cond_operand = BNXT_ULP_ACT_BIT_SHARED_SAMPLE
846 /* cond_execute: act_tid: 1, int_flow_counter_tbl.0 */
848 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
849 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
851 /* cond_execute: act_tid: 1, int_vtag_encap_record.0 */
853 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
854 .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
856 /* cond_execute: act_tid: 1, int_full_act_record.0 */
858 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
860 /* cond_execute: act_tid: 1, ext_full_act_record.0 */
862 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
864 /* cond_execute: act_tid: 2, int_flow_counter_tbl.0 */
866 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
867 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
869 /* cond_execute: act_tid: 3, control.0 */
871 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
872 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
874 /* cond_execute: act_tid: 3, int_flow_counter_tbl.0 */
876 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
877 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
879 /* cond_execute: act_tid: 3, act_modify_ipv4_src.0 */
881 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
882 .cond_operand = BNXT_ULP_ACT_BIT_SET_IPV4_SRC
884 /* cond_execute: act_tid: 3, act_modify_ipv4_dst.0 */
886 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
887 .cond_operand = BNXT_ULP_ACT_BIT_SET_IPV4_DST
889 /* cond_execute: act_tid: 3, int_full_act_record.0 */
891 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
893 /* cond_execute: act_tid: 3, ext_full_act_record.0 */
895 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
897 /* cond_execute: act_tid: 4, int_flow_counter_tbl.0 */
899 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
900 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
902 /* cond_execute: act_tid: 4, int_vtag_encap_record.0 */
904 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
907 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
908 .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
910 /* cond_execute: act_tid: 4, int_full_act_record.0 */
912 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
914 /* cond_execute: act_tid: 4, ext_full_act_record.no_tag */
916 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
919 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_NOT_SET,
920 .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
922 /* cond_execute: act_tid: 4, ext_full_act_record.one_tag */
924 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
927 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
928 .cond_operand = BNXT_ULP_ACT_BIT_PUSH_VLAN
930 /* cond_execute: act_tid: 5, control.0 */
932 .cond_opcode = BNXT_ULP_COND_OPC_RF_IS_SET,
933 .cond_operand = BNXT_ULP_RF_IDX_GENERIC_TBL_MISS
935 /* cond_execute: act_tid: 5, int_flow_counter_tbl.0 */
937 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
938 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
940 /* cond_execute: act_tid: 5, act_modify_ipv4_src.0 */
942 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
943 .cond_operand = BNXT_ULP_ACT_BIT_SET_IPV4_SRC
945 /* cond_execute: act_tid: 5, act_modify_ipv4_dst.0 */
947 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
948 .cond_operand = BNXT_ULP_ACT_BIT_SET_IPV4_DST
950 /* cond_execute: act_tid: 5, int_full_act_record.0 */
952 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
954 /* cond_execute: act_tid: 5, ext_full_act_record.0 */
956 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
958 /* cond_execute: act_tid: 6, int_flow_counter_tbl.0 */
960 .cond_opcode = BNXT_ULP_COND_OPC_ACT_BIT_IS_SET,
961 .cond_operand = BNXT_ULP_ACT_BIT_COUNT
963 /* cond_execute: act_tid: 6, sp_smac_ipv4.0 */
965 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
966 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG
968 /* cond_execute: act_tid: 6, sp_smac_ipv6.0 */
970 .cond_opcode = BNXT_ULP_COND_OPC_CF_IS_SET,
971 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG
973 /* cond_execute: act_tid: 6, int_tun_encap_record.0 */
975 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
977 /* cond_execute: act_tid: 6, int_full_act_record.0 */
979 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_NOT_SET,
981 /* cond_execute: act_tid: 6, ext_full_act_record_vxlan.0 */
983 .cond_opcode = BNXT_ULP_COND_OPC_EXT_MEM_IS_SET,
987 struct bnxt_ulp_mapper_key_info ulp_wh_plus_act_key_info_list[] = {
988 /* act_tid: 1, , table: shared_mirror_record.rd */
991 .description = "shared_index",
993 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
994 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
999 .description = "shared_index",
1000 .field_bit_size = 1,
1001 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1002 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1004 (BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE >> 8) & 0xff,
1005 BNXT_ULP_ACT_PROP_IDX_SHARED_HANDLE & 0xff}
1008 /* act_tid: 2, , table: shared_mirror_record.wr */
1010 .field_info_mask = {
1011 .description = "shared_index",
1012 .field_bit_size = 1,
1013 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1014 .field_src1 = BNXT_ULP_FIELD_SRC_ONES,
1018 .field_info_spec = {
1019 .description = "shared_index",
1020 .field_bit_size = 1,
1021 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1022 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1024 (BNXT_ULP_RF_IDX_MIRROR_PTR_0 >> 8) & 0xff,
1025 BNXT_ULP_RF_IDX_MIRROR_PTR_0 & 0xff}
1030 struct bnxt_ulp_mapper_field_info ulp_wh_plus_act_result_field_list[] = {
1031 /* act_tid: 1, , table: int_flow_counter_tbl.0 */
1033 .description = "count",
1034 .field_bit_size = 64,
1035 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1036 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1038 /* act_tid: 1, , table: int_vtag_encap_record.0 */
1040 .description = "ecv_valid",
1041 .field_bit_size = 1,
1042 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1043 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1045 ULP_WP_SYM_ECV_VALID_YES}
1048 .description = "ecv_custom_en",
1049 .field_bit_size = 1,
1050 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1051 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1054 .description = "ecv_vtag_type",
1055 .field_bit_size = 4,
1056 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1057 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1059 ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
1062 .description = "ecv_l2_en",
1063 .field_bit_size = 1,
1064 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1065 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1068 .description = "ecv_l3_type",
1069 .field_bit_size = 3,
1070 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1071 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1074 .description = "ecv_l4_type",
1075 .field_bit_size = 3,
1076 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1077 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1080 .description = "ecv_tun_type",
1081 .field_bit_size = 3,
1082 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1083 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1086 .description = "vtag_tpid",
1087 .field_bit_size = 16,
1088 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1089 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1091 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
1092 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff}
1095 .description = "vtag_pcp",
1096 .field_bit_size = 3,
1097 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1098 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1100 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
1101 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff}
1104 .description = "vtag_de",
1105 .field_bit_size = 1,
1106 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1107 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1110 .description = "vtag_vid",
1111 .field_bit_size = 12,
1112 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1113 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1115 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
1116 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff}
1118 /* act_tid: 1, , table: int_full_act_record.0 */
1120 .description = "flow_cntr_ptr",
1121 .field_bit_size = 14,
1122 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1123 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1125 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1126 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
1129 .description = "age_enable",
1130 .field_bit_size = 1,
1131 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1132 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1135 .description = "agg_cntr_en",
1136 .field_bit_size = 1,
1137 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1138 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1141 .description = "rate_cntr_en",
1142 .field_bit_size = 1,
1143 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1144 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1147 .description = "flow_cntr_en",
1148 .field_bit_size = 1,
1149 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1150 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1152 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
1153 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
1154 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
1155 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
1156 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
1157 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
1158 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
1159 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
1162 .description = "tcpflags_key",
1163 .field_bit_size = 8,
1164 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1165 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1168 .description = "tcpflags_mir",
1169 .field_bit_size = 1,
1170 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1171 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1174 .description = "tcpflags_match",
1175 .field_bit_size = 1,
1176 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1177 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1180 .description = "encap_ptr",
1181 .field_bit_size = 11,
1182 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1183 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1185 (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
1186 BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
1189 .description = "dst_ip_ptr",
1190 .field_bit_size = 10,
1191 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1192 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1194 (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
1195 BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 & 0xff}
1198 .description = "tcp_dst_port",
1199 .field_bit_size = 16,
1200 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1201 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1203 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
1204 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
1205 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
1206 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
1207 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
1208 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
1209 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
1210 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
1211 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1213 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
1214 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
1215 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1218 .description = "src_ip_ptr",
1219 .field_bit_size = 10,
1220 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1221 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1223 (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
1224 BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 & 0xff}
1227 .description = "tcp_src_port",
1228 .field_bit_size = 16,
1229 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1230 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1232 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
1233 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
1234 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
1235 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
1236 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
1237 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
1238 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
1239 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
1240 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1242 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
1243 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
1244 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1247 .description = "meter_id",
1248 .field_bit_size = 10,
1249 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1250 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1253 .description = "l3_rdir",
1254 .field_bit_size = 1,
1255 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1256 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1259 .description = "tl3_rdir",
1260 .field_bit_size = 1,
1261 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1262 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1265 .description = "l3_ttl_dec",
1266 .field_bit_size = 1,
1267 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1268 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1270 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1271 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
1274 .description = "tl3_ttl_dec",
1275 .field_bit_size = 1,
1276 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1277 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1279 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1280 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
1283 .description = "decap_func",
1284 .field_bit_size = 4,
1285 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1286 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1288 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 56) & 0xff,
1289 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 48) & 0xff,
1290 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 40) & 0xff,
1291 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 32) & 0xff,
1292 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 24) & 0xff,
1293 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 16) & 0xff,
1294 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 8) & 0xff,
1295 (uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP & 0xff},
1296 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
1298 ULP_WP_SYM_DECAP_FUNC_THRU_TUN},
1299 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
1301 ULP_WP_SYM_DECAP_FUNC_NONE}
1304 .description = "vnic_or_vport",
1305 .field_bit_size = 12,
1306 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1307 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1309 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1310 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
1313 .description = "pop_vlan",
1314 .field_bit_size = 1,
1315 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1316 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1318 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff,
1319 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 48) & 0xff,
1320 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 40) & 0xff,
1321 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 32) & 0xff,
1322 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 24) & 0xff,
1323 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 16) & 0xff,
1324 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 8) & 0xff,
1325 (uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN & 0xff}
1328 .description = "meter",
1329 .field_bit_size = 1,
1330 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1331 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1334 .description = "mirror",
1335 .field_bit_size = 2,
1336 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1337 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1339 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 56) & 0xff,
1340 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 48) & 0xff,
1341 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 40) & 0xff,
1342 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 32) & 0xff,
1343 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 24) & 0xff,
1344 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 16) & 0xff,
1345 ((uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE >> 8) & 0xff,
1346 (uint64_t)BNXT_ULP_ACT_BIT_SHARED_SAMPLE & 0xff},
1347 .field_src2 = BNXT_ULP_FIELD_SRC_RF,
1349 (BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
1350 BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff},
1351 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1354 .description = "drop",
1355 .field_bit_size = 1,
1356 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1357 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1359 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
1360 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
1361 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
1362 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
1363 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
1364 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
1365 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
1366 (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
1369 .description = "hit",
1370 .field_bit_size = 1,
1371 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1372 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1375 .description = "type",
1376 .field_bit_size = 1,
1377 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1378 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1380 /* act_tid: 1, , table: ext_full_act_record.0 */
1382 .description = "flow_cntr_ptr",
1383 .field_bit_size = 14,
1384 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1385 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1387 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1388 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
1391 .description = "age_enable",
1392 .field_bit_size = 1,
1393 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1394 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1397 .description = "agg_cntr_en",
1398 .field_bit_size = 1,
1399 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1400 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1403 .description = "rate_cntr_en",
1404 .field_bit_size = 1,
1405 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1406 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1409 .description = "flow_cntr_en",
1410 .field_bit_size = 1,
1411 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1412 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1414 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
1415 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
1416 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
1417 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
1418 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
1419 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
1420 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
1421 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
1424 .description = "flow_cntr_ext",
1425 .field_bit_size = 1,
1426 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1427 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1430 .description = "tcpflags_key",
1431 .field_bit_size = 8,
1432 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1433 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1436 .description = "tcpflags_mir",
1437 .field_bit_size = 1,
1438 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1439 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1442 .description = "tcpflags_match",
1443 .field_bit_size = 1,
1444 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1445 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1448 .description = "encap_ptr",
1449 .field_bit_size = 11,
1450 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1451 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1454 .description = "encap_rec_int",
1455 .field_bit_size = 1,
1456 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1457 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1460 .description = "dst_ip_ptr",
1461 .field_bit_size = 10,
1462 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1463 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1465 (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
1466 BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 & 0xff}
1469 .description = "tcp_dst_port",
1470 .field_bit_size = 16,
1471 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1472 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1474 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
1475 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
1476 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
1477 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
1478 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
1479 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
1480 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
1481 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
1482 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1484 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
1485 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
1486 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1489 .description = "src_ip_ptr",
1490 .field_bit_size = 10,
1491 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1492 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1494 (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
1495 BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 & 0xff}
1498 .description = "tcp_src_port",
1499 .field_bit_size = 16,
1500 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1501 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1503 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
1504 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
1505 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
1506 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
1507 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
1508 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
1509 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
1510 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
1511 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1513 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
1514 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
1515 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
1518 .description = "meter_id",
1519 .field_bit_size = 10,
1520 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1521 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1524 .description = "l3_rdir",
1525 .field_bit_size = 1,
1526 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1527 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1530 .description = "tl3_rdir",
1531 .field_bit_size = 1,
1532 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1533 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1536 .description = "l3_ttl_dec",
1537 .field_bit_size = 1,
1538 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1539 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1541 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1542 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
1545 .description = "tl3_ttl_dec",
1546 .field_bit_size = 1,
1547 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1548 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
1550 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1551 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
1554 .description = "decap_func",
1555 .field_bit_size = 4,
1556 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
1557 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1559 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 56) & 0xff,
1560 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 48) & 0xff,
1561 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 40) & 0xff,
1562 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 32) & 0xff,
1563 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 24) & 0xff,
1564 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 16) & 0xff,
1565 ((uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP >> 8) & 0xff,
1566 (uint64_t)BNXT_ULP_ACT_BIT_VXLAN_DECAP & 0xff},
1567 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
1569 ULP_WP_SYM_DECAP_FUNC_THRU_TUN},
1570 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
1572 ULP_WP_SYM_DECAP_FUNC_NONE}
1575 .description = "vnic_or_vport",
1576 .field_bit_size = 12,
1577 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1578 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1580 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1581 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
1584 .description = "pop_vlan",
1585 .field_bit_size = 1,
1586 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1587 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1589 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff,
1590 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 48) & 0xff,
1591 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 40) & 0xff,
1592 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 32) & 0xff,
1593 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 24) & 0xff,
1594 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 16) & 0xff,
1595 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 8) & 0xff,
1596 (uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN & 0xff}
1599 .description = "meter",
1600 .field_bit_size = 1,
1601 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1602 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1605 .description = "mirror",
1606 .field_bit_size = 2,
1607 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1608 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1610 (BNXT_ULP_RF_IDX_MIRROR_ID_0 >> 8) & 0xff,
1611 BNXT_ULP_RF_IDX_MIRROR_ID_0 & 0xff}
1614 .description = "drop",
1615 .field_bit_size = 1,
1616 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1617 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1619 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
1620 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
1621 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
1622 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
1623 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
1624 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
1625 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
1626 (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
1629 .description = "ecv_valid",
1630 .field_bit_size = 1,
1631 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1632 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1634 ULP_WP_SYM_ECV_VALID_YES}
1637 .description = "ecv_custom_en",
1638 .field_bit_size = 1,
1639 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1640 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1643 .description = "ecv_vtag_type",
1644 .field_bit_size = 4,
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_ZERO
1655 .description = "ecv_l3_type",
1656 .field_bit_size = 3,
1657 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1658 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1661 .description = "ecv_l4_type",
1662 .field_bit_size = 3,
1663 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1664 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1667 .description = "ecv_tun_type",
1668 .field_bit_size = 3,
1669 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1670 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1673 .description = "vtag_tpid",
1674 .field_bit_size = 16,
1675 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1676 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1679 .description = "vtag_pcp",
1680 .field_bit_size = 3,
1681 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1682 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1685 .description = "vtag_de",
1686 .field_bit_size = 1,
1687 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1688 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1691 .description = "vtag_vid",
1692 .field_bit_size = 12,
1693 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1694 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1696 /* act_tid: 2, , table: mirror_tbl.alloc */
1698 .description = "act_rec_ptr",
1699 .field_bit_size = 16,
1700 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1701 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1704 .description = "enable",
1705 .field_bit_size = 1,
1706 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1707 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
1712 .description = "copy",
1713 .field_bit_size = 1,
1714 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1715 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1718 .description = "ign_drop",
1719 .field_bit_size = 1,
1720 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1721 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1724 .description = "reserved",
1725 .field_bit_size = 2,
1726 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1727 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1730 .description = "sp_ptr",
1731 .field_bit_size = 11,
1732 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1733 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1735 /* act_tid: 2, , table: int_flow_counter_tbl.0 */
1737 .description = "count",
1738 .field_bit_size = 64,
1739 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1740 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1742 /* act_tid: 2, , table: int_full_act_record.0 */
1744 .description = "flow_cntr_ptr",
1745 .field_bit_size = 14,
1746 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1747 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1749 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1750 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
1753 .description = "age_enable",
1754 .field_bit_size = 1,
1755 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1756 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1759 .description = "agg_cntr_en",
1760 .field_bit_size = 1,
1761 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1762 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1765 .description = "rate_cntr_en",
1766 .field_bit_size = 1,
1767 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1768 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1771 .description = "flow_cntr_en",
1772 .field_bit_size = 1,
1773 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1774 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1776 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
1777 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
1778 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
1779 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
1780 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
1781 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
1782 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
1783 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
1786 .description = "tcpflags_key",
1787 .field_bit_size = 8,
1788 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1789 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1792 .description = "tcpflags_mir",
1793 .field_bit_size = 1,
1794 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1795 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1798 .description = "tcpflags_match",
1799 .field_bit_size = 1,
1800 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1801 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1804 .description = "encap_ptr",
1805 .field_bit_size = 11,
1806 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1807 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1810 .description = "dst_ip_ptr",
1811 .field_bit_size = 10,
1812 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1813 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1816 .description = "tcp_dst_port",
1817 .field_bit_size = 16,
1818 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1819 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1822 .description = "src_ip_ptr",
1823 .field_bit_size = 10,
1824 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1825 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1828 .description = "tcp_src_port",
1829 .field_bit_size = 16,
1830 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1831 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1834 .description = "meter_id",
1835 .field_bit_size = 10,
1836 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1837 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1840 .description = "l3_rdir",
1841 .field_bit_size = 1,
1842 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1843 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1846 .description = "tl3_rdir",
1847 .field_bit_size = 1,
1848 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1849 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1852 .description = "l3_ttl_dec",
1853 .field_bit_size = 1,
1854 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1855 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1858 .description = "tl3_ttl_dec",
1859 .field_bit_size = 1,
1860 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1861 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1864 .description = "decap_func",
1865 .field_bit_size = 4,
1866 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1867 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1870 .description = "vnic_or_vport",
1871 .field_bit_size = 12,
1872 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1873 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
1875 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1876 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
1879 .description = "pop_vlan",
1880 .field_bit_size = 1,
1881 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1882 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1885 .description = "meter",
1886 .field_bit_size = 1,
1887 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1888 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1891 .description = "mirror",
1892 .field_bit_size = 2,
1893 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2,
1894 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
1899 .description = "drop",
1900 .field_bit_size = 1,
1901 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1902 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1905 .description = "hit",
1906 .field_bit_size = 1,
1907 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1908 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1911 .description = "type",
1912 .field_bit_size = 1,
1913 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1914 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1916 /* act_tid: 2, , table: ext_full_act_record.0 */
1918 .description = "flow_cntr_ptr",
1919 .field_bit_size = 14,
1920 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1921 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
1923 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1924 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
1927 .description = "age_enable",
1928 .field_bit_size = 1,
1929 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1930 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1933 .description = "agg_cntr_en",
1934 .field_bit_size = 1,
1935 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1936 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1939 .description = "rate_cntr_en",
1940 .field_bit_size = 1,
1941 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1942 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1945 .description = "flow_cntr_en",
1946 .field_bit_size = 1,
1947 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1948 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
1950 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
1951 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
1952 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
1953 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
1954 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
1955 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
1956 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
1957 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
1960 .description = "flow_cntr_ext",
1961 .field_bit_size = 1,
1962 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1963 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1966 .description = "tcpflags_key",
1967 .field_bit_size = 8,
1968 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1969 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1972 .description = "tcpflags_mir",
1973 .field_bit_size = 1,
1974 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1975 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1978 .description = "tcpflags_match",
1979 .field_bit_size = 1,
1980 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1981 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1984 .description = "encap_ptr",
1985 .field_bit_size = 11,
1986 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1987 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1990 .description = "encap_rec_int",
1991 .field_bit_size = 1,
1992 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1993 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
1996 .description = "dst_ip_ptr",
1997 .field_bit_size = 10,
1998 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
1999 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2002 .description = "tcp_dst_port",
2003 .field_bit_size = 16,
2004 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2005 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2008 .description = "src_ip_ptr",
2009 .field_bit_size = 10,
2010 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2011 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2014 .description = "tcp_src_port",
2015 .field_bit_size = 16,
2016 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2017 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2020 .description = "meter_id",
2021 .field_bit_size = 10,
2022 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2023 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2026 .description = "l3_rdir",
2027 .field_bit_size = 1,
2028 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2029 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2032 .description = "tl3_rdir",
2033 .field_bit_size = 1,
2034 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2035 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2038 .description = "l3_ttl_dec",
2039 .field_bit_size = 1,
2040 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2041 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2044 .description = "tl3_ttl_dec",
2045 .field_bit_size = 1,
2046 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2047 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2050 .description = "decap_func",
2051 .field_bit_size = 4,
2052 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2053 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2056 .description = "vnic_or_vport",
2057 .field_bit_size = 12,
2058 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2059 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2061 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
2062 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
2065 .description = "pop_vlan",
2066 .field_bit_size = 1,
2067 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2068 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2070 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff,
2071 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 48) & 0xff,
2072 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 40) & 0xff,
2073 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 32) & 0xff,
2074 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 24) & 0xff,
2075 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 16) & 0xff,
2076 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 8) & 0xff,
2077 (uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN & 0xff}
2080 .description = "meter",
2081 .field_bit_size = 1,
2082 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2083 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2086 .description = "mirror",
2087 .field_bit_size = 2,
2088 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2,
2089 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2094 .description = "drop",
2095 .field_bit_size = 1,
2096 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2097 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2100 .description = "ecv_valid",
2101 .field_bit_size = 1,
2102 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2103 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2105 ULP_WP_SYM_ECV_VALID_YES}
2108 .description = "ecv_custom_en",
2109 .field_bit_size = 1,
2110 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2111 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2114 .description = "ecv_vtag_type",
2115 .field_bit_size = 4,
2116 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2117 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2120 .description = "ecv_l2_en",
2121 .field_bit_size = 1,
2122 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2123 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2126 .description = "ecv_l3_type",
2127 .field_bit_size = 3,
2128 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2129 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2132 .description = "ecv_l4_type",
2133 .field_bit_size = 3,
2134 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2135 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2138 .description = "ecv_tun_type",
2139 .field_bit_size = 3,
2140 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2141 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2144 .description = "vtag_tpid",
2145 .field_bit_size = 16,
2146 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2147 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2150 .description = "vtag_pcp",
2151 .field_bit_size = 3,
2152 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2153 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2156 .description = "vtag_de",
2157 .field_bit_size = 1,
2158 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2159 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2162 .description = "vtag_vid",
2163 .field_bit_size = 12,
2164 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2165 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2167 /* act_tid: 2, , table: mirror_tbl.wr */
2169 .description = "act_rec_ptr",
2170 .field_bit_size = 16,
2171 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2172 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2174 (BNXT_ULP_RF_IDX_MAIN_ACTION_PTR >> 8) & 0xff,
2175 BNXT_ULP_RF_IDX_MAIN_ACTION_PTR & 0xff}
2178 .description = "enable",
2179 .field_bit_size = 1,
2180 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2181 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2186 .description = "copy",
2187 .field_bit_size = 1,
2188 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2189 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2192 .description = "ign_drop",
2193 .field_bit_size = 1,
2194 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2195 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2198 .description = "reserved",
2199 .field_bit_size = 2,
2200 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2201 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2204 .description = "sp_ptr",
2205 .field_bit_size = 11,
2206 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2207 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2209 /* act_tid: 2, , table: shared_mirror_record.wr */
2211 .description = "rid",
2212 .field_bit_size = 32,
2213 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2214 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2216 (BNXT_ULP_RF_IDX_RID >> 8) & 0xff,
2217 BNXT_ULP_RF_IDX_RID & 0xff}
2220 .description = "mirror_id",
2221 .field_bit_size = 2,
2222 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_PLUS_SRC2_POST,
2223 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2228 /* act_tid: 3, , table: int_flow_counter_tbl.0 */
2230 .description = "count",
2231 .field_bit_size = 64,
2232 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2233 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2235 /* act_tid: 3, , table: act_modify_ipv4_src.0 */
2237 .description = "ipv4_addr",
2238 .field_bit_size = 32,
2239 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2240 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2242 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
2243 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff}
2245 /* act_tid: 3, , table: act_modify_ipv4_dst.0 */
2247 .description = "ipv4_addr",
2248 .field_bit_size = 32,
2249 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2250 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2252 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
2253 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff}
2255 /* act_tid: 3, , table: int_encap_mac_record.0 */
2257 .description = "ecv_valid",
2258 .field_bit_size = 1,
2259 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2260 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2265 .description = "ecv_custom_en",
2266 .field_bit_size = 1,
2267 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2268 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2271 .description = "ecv_vtag_type",
2272 .field_bit_size = 4,
2273 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2274 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2277 .description = "ecv_l2_en",
2278 .field_bit_size = 1,
2279 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2280 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2282 ULP_WP_SYM_ECV_L2_EN_YES}
2285 .description = "ecv_l3_type",
2286 .field_bit_size = 3,
2287 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2288 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2291 .description = "ecv_l4_type",
2292 .field_bit_size = 3,
2293 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2294 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2297 .description = "ecv_tun_type",
2298 .field_bit_size = 3,
2299 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2300 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2303 .description = "vtag_tpid",
2304 .field_bit_size = 16,
2305 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2306 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2309 .description = "vtag_pcp",
2310 .field_bit_size = 3,
2311 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2312 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2315 .description = "vtag_de",
2316 .field_bit_size = 1,
2317 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2318 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2321 .description = "vtag_vid",
2322 .field_bit_size = 12,
2323 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2324 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2326 /* act_tid: 3, , table: int_full_act_record.0 */
2328 .description = "flow_cntr_ptr",
2329 .field_bit_size = 14,
2330 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2331 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2333 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2334 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
2337 .description = "age_enable",
2338 .field_bit_size = 1,
2339 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2340 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2343 .description = "agg_cntr_en",
2344 .field_bit_size = 1,
2345 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2346 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2349 .description = "rate_cntr_en",
2350 .field_bit_size = 1,
2351 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2352 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2355 .description = "flow_cntr_en",
2356 .field_bit_size = 1,
2357 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2358 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2360 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
2361 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
2362 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
2363 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
2364 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
2365 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
2366 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
2367 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
2370 .description = "tcpflags_key",
2371 .field_bit_size = 8,
2372 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2373 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2376 .description = "tcpflags_mir",
2377 .field_bit_size = 1,
2378 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2379 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2382 .description = "tcpflags_match",
2383 .field_bit_size = 1,
2384 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2385 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2388 .description = "encap_ptr",
2389 .field_bit_size = 11,
2390 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2391 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
2393 (BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR >> 8) & 0xff,
2394 BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR & 0xff}
2397 .description = "dst_ip_ptr",
2398 .field_bit_size = 10,
2399 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2400 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2402 (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
2403 BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 & 0xff}
2406 .description = "tcp_dst_port",
2407 .field_bit_size = 16,
2408 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2409 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2411 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
2412 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
2413 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
2414 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
2415 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
2416 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
2417 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
2418 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
2419 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2421 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
2422 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
2423 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2426 .description = "src_ip_ptr",
2427 .field_bit_size = 10,
2428 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2429 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2431 (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
2432 BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 & 0xff}
2435 .description = "tcp_src_port",
2436 .field_bit_size = 16,
2437 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2438 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2440 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
2441 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
2442 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
2443 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
2444 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
2445 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
2446 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
2447 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
2448 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2450 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
2451 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
2452 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2455 .description = "meter_id",
2456 .field_bit_size = 10,
2457 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2458 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2461 .description = "l3_rdir",
2462 .field_bit_size = 1,
2463 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2464 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2467 .description = "tl3_rdir",
2468 .field_bit_size = 1,
2469 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2470 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2473 .description = "l3_ttl_dec",
2474 .field_bit_size = 1,
2475 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2476 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2478 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2479 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
2482 .description = "tl3_ttl_dec",
2483 .field_bit_size = 1,
2484 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2485 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2487 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2488 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
2491 .description = "decap_func",
2492 .field_bit_size = 4,
2493 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2494 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
2496 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
2497 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
2498 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
2499 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
2500 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
2501 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
2502 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
2503 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
2504 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2506 ULP_WP_SYM_DECAP_FUNC_THRU_TL2},
2507 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
2509 ULP_WP_SYM_DECAP_FUNC_THRU_L2}
2512 .description = "vnic_or_vport",
2513 .field_bit_size = 12,
2514 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2515 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2517 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
2518 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
2521 .description = "pop_vlan",
2522 .field_bit_size = 1,
2523 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2524 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2527 .description = "meter",
2528 .field_bit_size = 1,
2529 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2530 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2533 .description = "mirror",
2534 .field_bit_size = 2,
2535 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2536 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2539 .description = "drop",
2540 .field_bit_size = 1,
2541 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2542 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2545 .description = "hit",
2546 .field_bit_size = 1,
2547 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2548 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2551 .description = "type",
2552 .field_bit_size = 1,
2553 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2554 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2556 /* act_tid: 3, , table: ext_full_act_record.0 */
2558 .description = "flow_cntr_ptr",
2559 .field_bit_size = 14,
2560 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2561 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2563 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2564 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
2567 .description = "age_enable",
2568 .field_bit_size = 1,
2569 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2570 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2573 .description = "agg_cntr_en",
2574 .field_bit_size = 1,
2575 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2576 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2579 .description = "rate_cntr_en",
2580 .field_bit_size = 1,
2581 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2582 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2585 .description = "flow_cntr_en",
2586 .field_bit_size = 1,
2587 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2588 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2590 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
2591 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
2592 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
2593 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
2594 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
2595 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
2596 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
2597 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
2600 .description = "flow_cntr_ext",
2601 .field_bit_size = 1,
2602 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2603 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2606 .description = "tcpflags_key",
2607 .field_bit_size = 8,
2608 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2609 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2612 .description = "tcpflags_mir",
2613 .field_bit_size = 1,
2614 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2615 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2618 .description = "tcpflags_match",
2619 .field_bit_size = 1,
2620 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2621 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2624 .description = "encap_ptr",
2625 .field_bit_size = 11,
2626 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2627 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
2629 (BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR >> 8) & 0xff,
2630 BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR & 0xff}
2633 .description = "encap_rec_int",
2634 .field_bit_size = 1,
2635 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2636 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2641 .description = "dst_ip_ptr",
2642 .field_bit_size = 10,
2643 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2644 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2646 (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
2647 BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 & 0xff}
2650 .description = "tcp_dst_port",
2651 .field_bit_size = 16,
2652 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2653 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2655 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
2656 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
2657 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
2658 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
2659 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
2660 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
2661 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
2662 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
2663 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2665 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
2666 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
2667 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2670 .description = "src_ip_ptr",
2671 .field_bit_size = 10,
2672 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2673 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2675 (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
2676 BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 & 0xff}
2679 .description = "tcp_src_port",
2680 .field_bit_size = 16,
2681 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2682 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2684 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
2685 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
2686 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
2687 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
2688 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
2689 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
2690 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
2691 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
2692 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2694 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
2695 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
2696 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
2699 .description = "meter_id",
2700 .field_bit_size = 10,
2701 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2702 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2705 .description = "l3_rdir",
2706 .field_bit_size = 1,
2707 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2708 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2711 .description = "tl3_rdir",
2712 .field_bit_size = 1,
2713 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2714 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2717 .description = "l3_ttl_dec",
2718 .field_bit_size = 1,
2719 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2720 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2722 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2723 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
2726 .description = "tl3_ttl_dec",
2727 .field_bit_size = 1,
2728 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2729 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
2731 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2732 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
2735 .description = "decap_func",
2736 .field_bit_size = 4,
2737 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
2738 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
2740 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
2741 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
2742 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
2743 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
2744 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
2745 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
2746 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
2747 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
2748 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
2750 ULP_WP_SYM_DECAP_FUNC_THRU_TL2},
2751 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
2753 ULP_WP_SYM_DECAP_FUNC_THRU_L2}
2756 .description = "vnic_or_vport",
2757 .field_bit_size = 12,
2758 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2759 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2761 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
2762 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff}
2765 .description = "pop_vlan",
2766 .field_bit_size = 1,
2767 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2768 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2771 .description = "meter",
2772 .field_bit_size = 1,
2773 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2774 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2777 .description = "mirror",
2778 .field_bit_size = 2,
2779 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2780 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2783 .description = "drop",
2784 .field_bit_size = 1,
2785 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2786 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2789 .description = "ecv_valid",
2790 .field_bit_size = 1,
2791 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2792 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2794 ULP_WP_SYM_ECV_VALID_YES}
2797 .description = "ecv_custom_en",
2798 .field_bit_size = 1,
2799 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2800 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2803 .description = "ecv_vtag_type",
2804 .field_bit_size = 4,
2805 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2806 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2809 .description = "ecv_l2_en",
2810 .field_bit_size = 1,
2811 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2812 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2815 .description = "ecv_l3_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_l4_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_tun_type",
2828 .field_bit_size = 3,
2829 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2830 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2833 .description = "vtag_tpid",
2834 .field_bit_size = 16,
2835 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2836 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2839 .description = "vtag_pcp",
2840 .field_bit_size = 3,
2841 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2842 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2845 .description = "vtag_de",
2846 .field_bit_size = 1,
2847 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2848 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2851 .description = "vtag_vid",
2852 .field_bit_size = 12,
2853 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2854 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2856 /* act_tid: 4, , table: int_flow_counter_tbl.0 */
2858 .description = "count",
2859 .field_bit_size = 64,
2860 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2861 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2863 /* act_tid: 4, , table: int_vtag_encap_record.0 */
2865 .description = "ecv_valid",
2866 .field_bit_size = 1,
2867 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2868 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2873 .description = "ecv_custom_en",
2874 .field_bit_size = 1,
2875 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2876 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2879 .description = "ecv_vtag_type",
2880 .field_bit_size = 4,
2881 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2882 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
2884 ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
2887 .description = "ecv_l2_en",
2888 .field_bit_size = 1,
2889 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2890 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2893 .description = "ecv_l3_type",
2894 .field_bit_size = 3,
2895 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2896 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2899 .description = "ecv_l4_type",
2900 .field_bit_size = 3,
2901 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2902 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2905 .description = "ecv_tun_type",
2906 .field_bit_size = 3,
2907 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2908 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2911 .description = "vtag_tpid",
2912 .field_bit_size = 16,
2913 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2914 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2916 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
2917 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff}
2920 .description = "vtag_pcp",
2921 .field_bit_size = 3,
2922 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2923 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2925 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
2926 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff}
2929 .description = "vtag_de",
2930 .field_bit_size = 1,
2931 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2932 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2935 .description = "vtag_vid",
2936 .field_bit_size = 12,
2937 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2938 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
2940 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
2941 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff}
2943 /* act_tid: 4, , table: int_full_act_record.0 */
2945 .description = "flow_cntr_ptr",
2946 .field_bit_size = 14,
2947 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2948 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
2950 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2951 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
2954 .description = "age_enable",
2955 .field_bit_size = 1,
2956 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2957 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2960 .description = "agg_cntr_en",
2961 .field_bit_size = 1,
2962 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2963 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2966 .description = "rate_cntr_en",
2967 .field_bit_size = 1,
2968 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2969 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2972 .description = "flow_cntr_en",
2973 .field_bit_size = 1,
2974 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2975 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
2977 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
2978 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
2979 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
2980 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
2981 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
2982 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
2983 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
2984 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
2987 .description = "tcpflags_key",
2988 .field_bit_size = 8,
2989 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2990 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2993 .description = "tcpflags_mir",
2994 .field_bit_size = 1,
2995 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
2996 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
2999 .description = "tcpflags_match",
3000 .field_bit_size = 1,
3001 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3002 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3005 .description = "encap_ptr",
3006 .field_bit_size = 11,
3007 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3008 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3010 (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
3011 BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
3014 .description = "dst_ip_ptr",
3015 .field_bit_size = 10,
3016 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3017 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3020 .description = "tcp_dst_port",
3021 .field_bit_size = 16,
3022 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3023 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3026 .description = "src_ip_ptr",
3027 .field_bit_size = 10,
3028 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3029 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3032 .description = "tcp_src_port",
3033 .field_bit_size = 16,
3034 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3035 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3038 .description = "meter_id",
3039 .field_bit_size = 10,
3040 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3041 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3044 .description = "l3_rdir",
3045 .field_bit_size = 1,
3046 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3047 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3050 .description = "tl3_rdir",
3051 .field_bit_size = 1,
3052 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3053 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3056 .description = "l3_ttl_dec",
3057 .field_bit_size = 1,
3058 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3059 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3061 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3062 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
3065 .description = "tl3_ttl_dec",
3066 .field_bit_size = 1,
3067 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3068 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3070 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3071 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
3074 .description = "decap_func",
3075 .field_bit_size = 4,
3076 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3077 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3080 .description = "vnic_or_vport",
3081 .field_bit_size = 12,
3082 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3083 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3085 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3086 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
3089 .description = "pop_vlan",
3090 .field_bit_size = 1,
3091 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3092 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3095 .description = "meter",
3096 .field_bit_size = 1,
3097 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3098 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3101 .description = "mirror",
3102 .field_bit_size = 2,
3103 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3104 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3107 .description = "drop",
3108 .field_bit_size = 1,
3109 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3110 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3112 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
3113 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
3114 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
3115 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
3116 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
3117 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
3118 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
3119 (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
3122 .description = "hit",
3123 .field_bit_size = 1,
3124 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3125 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3128 .description = "type",
3129 .field_bit_size = 1,
3130 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3131 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3133 /* act_tid: 4, , table: ext_full_act_record.no_tag */
3135 .description = "flow_cntr_ptr",
3136 .field_bit_size = 14,
3137 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3138 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3140 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
3141 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
3144 .description = "age_enable",
3145 .field_bit_size = 1,
3146 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3147 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3150 .description = "agg_cntr_en",
3151 .field_bit_size = 1,
3152 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3153 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3156 .description = "rate_cntr_en",
3157 .field_bit_size = 1,
3158 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3159 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3162 .description = "flow_cntr_en",
3163 .field_bit_size = 1,
3164 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3165 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3167 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
3168 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
3169 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
3170 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
3171 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
3172 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
3173 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
3174 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
3177 .description = "flow_cntr_ext",
3178 .field_bit_size = 1,
3179 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3180 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3183 .description = "tcpflags_key",
3184 .field_bit_size = 8,
3185 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3186 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3189 .description = "tcpflags_mir",
3190 .field_bit_size = 1,
3191 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3192 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3195 .description = "tcpflags_match",
3196 .field_bit_size = 1,
3197 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3198 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3201 .description = "encap_ptr",
3202 .field_bit_size = 11,
3203 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3204 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3207 .description = "encap_rec_int",
3208 .field_bit_size = 1,
3209 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3210 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3213 .description = "dst_ip_ptr",
3214 .field_bit_size = 10,
3215 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3216 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3219 .description = "tcp_dst_port",
3220 .field_bit_size = 16,
3221 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3222 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3225 .description = "src_ip_ptr",
3226 .field_bit_size = 10,
3227 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3228 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3231 .description = "tcp_src_port",
3232 .field_bit_size = 16,
3233 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3234 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3237 .description = "meter_id",
3238 .field_bit_size = 10,
3239 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3240 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3243 .description = "l3_rdir",
3244 .field_bit_size = 1,
3245 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3246 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3249 .description = "tl3_rdir",
3250 .field_bit_size = 1,
3251 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3252 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3255 .description = "l3_ttl_dec",
3256 .field_bit_size = 1,
3257 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3258 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3260 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3261 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
3264 .description = "tl3_ttl_dec",
3265 .field_bit_size = 1,
3266 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3267 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3269 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3270 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
3273 .description = "decap_func",
3274 .field_bit_size = 4,
3275 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3276 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3279 .description = "vnic_or_vport",
3280 .field_bit_size = 12,
3281 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3282 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3284 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3285 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
3288 .description = "pop_vlan",
3289 .field_bit_size = 1,
3290 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3291 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3294 .description = "meter",
3295 .field_bit_size = 1,
3296 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3297 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3300 .description = "mirror",
3301 .field_bit_size = 2,
3302 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3303 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3306 .description = "drop",
3307 .field_bit_size = 1,
3308 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3309 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3311 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
3312 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
3313 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
3314 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
3315 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
3316 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
3317 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
3318 (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
3321 .description = "ecv_valid",
3322 .field_bit_size = 1,
3323 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3324 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3326 ULP_WP_SYM_ECV_VALID_YES}
3329 .description = "ecv_custom_en",
3330 .field_bit_size = 1,
3331 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3332 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3335 .description = "ecv_vtag_type",
3336 .field_bit_size = 4,
3337 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3338 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3341 .description = "ecv_l2_en",
3342 .field_bit_size = 1,
3343 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3344 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3347 .description = "ecv_l3_type",
3348 .field_bit_size = 3,
3349 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3350 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3353 .description = "ecv_l4_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_tun_type",
3360 .field_bit_size = 3,
3361 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3362 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3365 .description = "vtag_tpid",
3366 .field_bit_size = 16,
3367 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3368 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3371 .description = "vtag_pcp",
3372 .field_bit_size = 3,
3373 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3374 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3377 .description = "vtag_de",
3378 .field_bit_size = 1,
3379 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3380 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3383 .description = "vtag_vid",
3384 .field_bit_size = 12,
3385 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3386 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3388 /* act_tid: 4, , table: ext_full_act_record.one_tag */
3390 .description = "flow_cntr_ptr",
3391 .field_bit_size = 14,
3392 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3393 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3395 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
3396 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
3399 .description = "age_enable",
3400 .field_bit_size = 1,
3401 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3402 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3405 .description = "agg_cntr_en",
3406 .field_bit_size = 1,
3407 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3408 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3411 .description = "rate_cntr_en",
3412 .field_bit_size = 1,
3413 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3414 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3417 .description = "flow_cntr_en",
3418 .field_bit_size = 1,
3419 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3420 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3422 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
3423 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
3424 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
3425 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
3426 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
3427 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
3428 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
3429 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
3432 .description = "flow_cntr_ext",
3433 .field_bit_size = 1,
3434 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3435 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3438 .description = "tcpflags_key",
3439 .field_bit_size = 8,
3440 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3441 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3444 .description = "tcpflags_mir",
3445 .field_bit_size = 1,
3446 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3447 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3450 .description = "tcpflags_match",
3451 .field_bit_size = 1,
3452 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3453 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3456 .description = "encap_ptr",
3457 .field_bit_size = 11,
3458 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3459 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3462 .description = "encap_rec_int",
3463 .field_bit_size = 1,
3464 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3465 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3468 .description = "dst_ip_ptr",
3469 .field_bit_size = 10,
3470 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3471 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3474 .description = "tcp_dst_port",
3475 .field_bit_size = 16,
3476 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3477 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3480 .description = "src_ip_ptr",
3481 .field_bit_size = 10,
3482 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3483 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3486 .description = "tcp_src_port",
3487 .field_bit_size = 16,
3488 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3489 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3492 .description = "meter_id",
3493 .field_bit_size = 10,
3494 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3495 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3498 .description = "l3_rdir",
3499 .field_bit_size = 1,
3500 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3501 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3504 .description = "tl3_rdir",
3505 .field_bit_size = 1,
3506 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3507 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3510 .description = "l3_ttl_dec",
3511 .field_bit_size = 1,
3512 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3513 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3515 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3516 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
3519 .description = "tl3_ttl_dec",
3520 .field_bit_size = 1,
3521 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3522 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3524 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3525 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
3528 .description = "decap_func",
3529 .field_bit_size = 4,
3530 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3531 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3534 .description = "vnic_or_vport",
3535 .field_bit_size = 12,
3536 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3537 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3539 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3540 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
3543 .description = "pop_vlan",
3544 .field_bit_size = 1,
3545 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3546 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3548 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 56) & 0xff,
3549 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 48) & 0xff,
3550 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 40) & 0xff,
3551 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 32) & 0xff,
3552 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 24) & 0xff,
3553 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 16) & 0xff,
3554 ((uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN >> 8) & 0xff,
3555 (uint64_t)BNXT_ULP_ACT_BIT_POP_VLAN & 0xff}
3558 .description = "meter",
3559 .field_bit_size = 1,
3560 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3561 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3564 .description = "mirror",
3565 .field_bit_size = 2,
3566 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3567 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3570 .description = "drop",
3571 .field_bit_size = 1,
3572 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3573 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3575 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 56) & 0xff,
3576 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 48) & 0xff,
3577 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 40) & 0xff,
3578 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 32) & 0xff,
3579 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 24) & 0xff,
3580 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 16) & 0xff,
3581 ((uint64_t)BNXT_ULP_ACT_BIT_DROP >> 8) & 0xff,
3582 (uint64_t)BNXT_ULP_ACT_BIT_DROP & 0xff}
3585 .description = "ecv_valid",
3586 .field_bit_size = 1,
3587 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3588 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3593 .description = "ecv_custom_en",
3594 .field_bit_size = 1,
3595 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3596 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3599 .description = "ecv_vtag_type",
3600 .field_bit_size = 4,
3601 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3602 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3604 ULP_WP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI}
3607 .description = "ecv_l2_en",
3608 .field_bit_size = 1,
3609 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3610 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3613 .description = "ecv_l3_type",
3614 .field_bit_size = 3,
3615 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3616 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3619 .description = "ecv_l4_type",
3620 .field_bit_size = 3,
3621 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3622 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3625 .description = "ecv_tun_type",
3626 .field_bit_size = 3,
3627 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3628 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3631 .description = "vtag_tpid",
3632 .field_bit_size = 16,
3633 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3634 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3636 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
3637 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff}
3640 .description = "vtag_pcp",
3641 .field_bit_size = 3,
3642 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3643 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3645 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
3646 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff}
3649 .description = "vtag_de",
3650 .field_bit_size = 1,
3651 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3652 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3655 .description = "vtag_vid",
3656 .field_bit_size = 12,
3657 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3658 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3660 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
3661 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff}
3663 /* act_tid: 5, , table: int_flow_counter_tbl.0 */
3665 .description = "count",
3666 .field_bit_size = 64,
3667 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3668 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3670 /* act_tid: 5, , table: act_modify_ipv4_src.0 */
3672 .description = "ipv4_addr",
3673 .field_bit_size = 32,
3674 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3675 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3677 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
3678 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff}
3680 /* act_tid: 5, , table: act_modify_ipv4_dst.0 */
3682 .description = "ipv4_addr",
3683 .field_bit_size = 32,
3684 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3685 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3687 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
3688 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff}
3690 /* act_tid: 5, , table: int_encap_mac_record.dummy */
3692 .description = "ecv_valid",
3693 .field_bit_size = 1,
3694 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3695 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3700 .description = "ecv_custom_en",
3701 .field_bit_size = 1,
3702 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3703 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3706 .description = "ecv_vtag_type",
3707 .field_bit_size = 4,
3708 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3709 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3712 .description = "ecv_l2_en",
3713 .field_bit_size = 1,
3714 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3715 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
3717 ULP_WP_SYM_ECV_L2_EN_YES}
3720 .description = "ecv_l3_type",
3721 .field_bit_size = 3,
3722 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3723 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3726 .description = "ecv_l4_type",
3727 .field_bit_size = 3,
3728 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3729 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3732 .description = "ecv_tun_type",
3733 .field_bit_size = 3,
3734 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3735 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3738 .description = "vtag_tpid",
3739 .field_bit_size = 16,
3740 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3741 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3744 .description = "vtag_pcp",
3745 .field_bit_size = 3,
3746 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3747 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3750 .description = "vtag_de",
3751 .field_bit_size = 1,
3752 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3753 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3756 .description = "vtag_vid",
3757 .field_bit_size = 12,
3758 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3759 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3761 /* act_tid: 5, , table: int_full_act_record.0 */
3763 .description = "flow_cntr_ptr",
3764 .field_bit_size = 14,
3765 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3766 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3768 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
3769 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
3772 .description = "age_enable",
3773 .field_bit_size = 1,
3774 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3775 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3778 .description = "agg_cntr_en",
3779 .field_bit_size = 1,
3780 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3781 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3784 .description = "rate_cntr_en",
3785 .field_bit_size = 1,
3786 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3787 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3790 .description = "flow_cntr_en",
3791 .field_bit_size = 1,
3792 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3793 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3795 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
3796 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
3797 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
3798 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
3799 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
3800 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
3801 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
3802 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
3805 .description = "tcpflags_key",
3806 .field_bit_size = 8,
3807 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3808 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3811 .description = "tcpflags_mir",
3812 .field_bit_size = 1,
3813 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3814 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3817 .description = "tcpflags_match",
3818 .field_bit_size = 1,
3819 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3820 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3823 .description = "encap_ptr",
3824 .field_bit_size = 11,
3825 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3826 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
3828 (BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR >> 8) & 0xff,
3829 BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR & 0xff}
3832 .description = "dst_ip_ptr",
3833 .field_bit_size = 10,
3834 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3835 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3837 (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
3838 BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 & 0xff}
3841 .description = "tcp_dst_port",
3842 .field_bit_size = 16,
3843 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3844 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3846 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
3847 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
3848 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
3849 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
3850 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
3851 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
3852 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
3853 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
3854 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3856 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
3857 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
3858 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
3861 .description = "src_ip_ptr",
3862 .field_bit_size = 10,
3863 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3864 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3866 (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
3867 BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 & 0xff}
3870 .description = "tcp_src_port",
3871 .field_bit_size = 16,
3872 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3873 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
3875 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
3876 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
3877 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
3878 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
3879 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
3880 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
3881 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
3882 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
3883 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3885 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
3886 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
3887 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
3890 .description = "meter_id",
3891 .field_bit_size = 10,
3892 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3893 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3896 .description = "l3_rdir",
3897 .field_bit_size = 1,
3898 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3899 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3902 .description = "tl3_rdir",
3903 .field_bit_size = 1,
3904 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3905 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3908 .description = "l3_ttl_dec",
3909 .field_bit_size = 1,
3910 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3911 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3913 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3914 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
3917 .description = "tl3_ttl_dec",
3918 .field_bit_size = 1,
3919 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3920 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
3922 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3923 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
3926 .description = "decap_func",
3927 .field_bit_size = 4,
3928 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
3929 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
3931 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
3932 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
3933 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
3934 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
3935 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
3936 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
3937 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
3938 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
3939 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
3941 ULP_WP_SYM_DECAP_FUNC_THRU_TL2},
3942 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
3944 ULP_WP_SYM_DECAP_FUNC_THRU_L2}
3947 .description = "vnic_or_vport",
3948 .field_bit_size = 12,
3949 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3950 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
3952 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3953 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
3956 .description = "pop_vlan",
3957 .field_bit_size = 1,
3958 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3959 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3962 .description = "meter",
3963 .field_bit_size = 1,
3964 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3965 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3968 .description = "mirror",
3969 .field_bit_size = 2,
3970 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3971 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3974 .description = "drop",
3975 .field_bit_size = 1,
3976 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3977 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3980 .description = "hit",
3981 .field_bit_size = 1,
3982 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3983 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3986 .description = "type",
3987 .field_bit_size = 1,
3988 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3989 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
3991 /* act_tid: 5, , table: ext_full_act_record.0 */
3993 .description = "flow_cntr_ptr",
3994 .field_bit_size = 14,
3995 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
3996 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
3998 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
3999 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
4002 .description = "age_enable",
4003 .field_bit_size = 1,
4004 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4005 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4008 .description = "agg_cntr_en",
4009 .field_bit_size = 1,
4010 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4011 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4014 .description = "rate_cntr_en",
4015 .field_bit_size = 1,
4016 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4017 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4020 .description = "flow_cntr_en",
4021 .field_bit_size = 1,
4022 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4023 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
4025 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
4026 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
4027 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
4028 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
4029 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
4030 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
4031 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
4032 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
4035 .description = "flow_cntr_ext",
4036 .field_bit_size = 1,
4037 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4038 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4041 .description = "tcpflags_key",
4042 .field_bit_size = 8,
4043 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4044 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4047 .description = "tcpflags_mir",
4048 .field_bit_size = 1,
4049 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4050 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4053 .description = "tcpflags_match",
4054 .field_bit_size = 1,
4055 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4056 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4059 .description = "encap_ptr",
4060 .field_bit_size = 11,
4061 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4062 .field_src1 = BNXT_ULP_FIELD_SRC_GLB_RF,
4064 (BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR >> 8) & 0xff,
4065 BNXT_ULP_GLB_RF_IDX_ENCAP_MAC_PTR & 0xff}
4068 .description = "encap_rec_int",
4069 .field_bit_size = 1,
4070 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4071 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4076 .description = "dst_ip_ptr",
4077 .field_bit_size = 10,
4078 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4079 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4081 (BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
4082 BNXT_ULP_RF_IDX_MODIFY_IPV4_DST_PTR_0 & 0xff}
4085 .description = "tcp_dst_port",
4086 .field_bit_size = 16,
4087 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4088 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
4090 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 56) & 0xff,
4091 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 48) & 0xff,
4092 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 40) & 0xff,
4093 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 32) & 0xff,
4094 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 24) & 0xff,
4095 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 16) & 0xff,
4096 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST >> 8) & 0xff,
4097 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_DST & 0xff},
4098 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4100 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
4101 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff},
4102 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4105 .description = "src_ip_ptr",
4106 .field_bit_size = 10,
4107 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4108 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4110 (BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
4111 BNXT_ULP_RF_IDX_MODIFY_IPV4_SRC_PTR_0 & 0xff}
4114 .description = "tcp_src_port",
4115 .field_bit_size = 16,
4116 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4117 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
4119 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 56) & 0xff,
4120 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 48) & 0xff,
4121 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 40) & 0xff,
4122 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 32) & 0xff,
4123 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 24) & 0xff,
4124 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 16) & 0xff,
4125 ((uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC >> 8) & 0xff,
4126 (uint64_t)BNXT_ULP_ACT_BIT_SET_TP_SRC & 0xff},
4127 .field_src2 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4129 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
4130 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff},
4131 .field_src3 = BNXT_ULP_FIELD_SRC_ZERO
4134 .description = "meter_id",
4135 .field_bit_size = 10,
4136 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4137 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4140 .description = "l3_rdir",
4141 .field_bit_size = 1,
4142 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4143 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4146 .description = "tl3_rdir",
4147 .field_bit_size = 1,
4148 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4149 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4152 .description = "l3_ttl_dec",
4153 .field_bit_size = 1,
4154 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4155 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4157 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
4158 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff}
4161 .description = "tl3_ttl_dec",
4162 .field_bit_size = 1,
4163 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4164 .field_src1 = BNXT_ULP_FIELD_SRC_CF,
4166 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
4167 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff}
4170 .description = "decap_func",
4171 .field_bit_size = 4,
4172 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4173 .field_src1 = BNXT_ULP_FIELD_SRC_HDR_BIT,
4175 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
4176 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
4177 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
4178 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
4179 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
4180 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
4181 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
4182 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
4183 .field_src2 = BNXT_ULP_FIELD_SRC_CONST,
4185 ULP_WP_SYM_DECAP_FUNC_THRU_TL2},
4186 .field_src3 = BNXT_ULP_FIELD_SRC_CONST,
4188 ULP_WP_SYM_DECAP_FUNC_THRU_L2}
4191 .description = "vnic_or_vport",
4192 .field_bit_size = 12,
4193 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4194 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4196 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
4197 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
4200 .description = "pop_vlan",
4201 .field_bit_size = 1,
4202 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4203 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4206 .description = "meter",
4207 .field_bit_size = 1,
4208 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4209 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4212 .description = "mirror",
4213 .field_bit_size = 2,
4214 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4215 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4218 .description = "drop",
4219 .field_bit_size = 1,
4220 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4221 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4224 .description = "ecv_valid",
4225 .field_bit_size = 1,
4226 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4227 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4229 ULP_WP_SYM_ECV_VALID_YES}
4232 .description = "ecv_custom_en",
4233 .field_bit_size = 1,
4234 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4235 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4238 .description = "ecv_vtag_type",
4239 .field_bit_size = 4,
4240 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4241 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4244 .description = "ecv_l2_en",
4245 .field_bit_size = 1,
4246 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4247 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4250 .description = "ecv_l3_type",
4251 .field_bit_size = 3,
4252 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4253 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4256 .description = "ecv_l4_type",
4257 .field_bit_size = 3,
4258 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4259 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4262 .description = "ecv_tun_type",
4263 .field_bit_size = 3,
4264 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4265 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4268 .description = "vtag_tpid",
4269 .field_bit_size = 16,
4270 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4271 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4274 .description = "vtag_pcp",
4275 .field_bit_size = 3,
4276 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4277 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4280 .description = "vtag_de",
4281 .field_bit_size = 1,
4282 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4283 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4286 .description = "vtag_vid",
4287 .field_bit_size = 12,
4288 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4289 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4291 /* act_tid: 6, , table: int_flow_counter_tbl.0 */
4293 .description = "count",
4294 .field_bit_size = 64,
4295 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4296 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4298 /* act_tid: 6, , table: sp_smac_ipv4.0 */
4300 .description = "smac",
4301 .field_bit_size = 48,
4302 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4303 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4305 (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
4306 BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
4309 .description = "ipv4_src_addr",
4310 .field_bit_size = 32,
4311 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4312 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4314 (BNXT_ULP_ENC_FIELD_IPV4_SADDR >> 8) & 0xff,
4315 BNXT_ULP_ENC_FIELD_IPV4_SADDR & 0xff}
4317 /* act_tid: 6, , table: sp_smac_ipv6.0 */
4319 .description = "smac",
4320 .field_bit_size = 48,
4321 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4322 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4324 (BNXT_ULP_ENC_FIELD_ETH_SMAC >> 8) & 0xff,
4325 BNXT_ULP_ENC_FIELD_ETH_SMAC & 0xff}
4328 .description = "ipv6_src_addr",
4329 .field_bit_size = 128,
4330 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4331 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4333 (BNXT_ULP_ENC_FIELD_IPV6_SADDR >> 8) & 0xff,
4334 BNXT_ULP_ENC_FIELD_IPV6_SADDR & 0xff}
4336 /* act_tid: 6, , table: int_tun_encap_record.0 */
4338 .description = "ecv_valid",
4339 .field_bit_size = 1,
4340 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4341 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4343 ULP_WP_SYM_ECV_VALID_YES}
4346 .description = "ecv_custom_en",
4347 .field_bit_size = 1,
4348 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4349 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4352 .description = "ecv_vtag_type",
4353 .field_bit_size = 4,
4354 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4355 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4357 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
4358 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff}
4361 .description = "ecv_l2_en",
4362 .field_bit_size = 1,
4363 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4364 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4366 ULP_WP_SYM_ECV_L2_EN_YES}
4369 .description = "ecv_l3_type",
4370 .field_bit_size = 3,
4371 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4372 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4374 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
4375 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff}
4378 .description = "ecv_l4_type",
4379 .field_bit_size = 3,
4380 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4381 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4383 ULP_WP_SYM_ECV_L4_TYPE_UDP_CSUM}
4386 .description = "ecv_tun_type",
4387 .field_bit_size = 3,
4388 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4389 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
4391 ULP_WP_SYM_ECV_TUN_TYPE_VXLAN}
4394 .description = "enc_eth_dmac",
4395 .field_bit_size = 48,
4396 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4397 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4399 (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
4400 BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
4403 .description = "enc_o_vlan_tag",
4404 .field_bit_size = 16,
4405 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4406 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4408 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
4409 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
4410 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
4411 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
4412 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
4413 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
4414 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
4415 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
4416 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4418 (BNXT_ULP_ENC_FIELD_O_VLAN_TCI >> 8) & 0xff,
4419 BNXT_ULP_ENC_FIELD_O_VLAN_TCI & 0xff},
4420 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4423 .description = "enc_o_vlan_type",
4424 .field_bit_size = 16,
4425 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4426 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4428 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
4429 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
4430 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
4431 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
4432 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
4433 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
4434 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
4435 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
4436 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4438 (BNXT_ULP_ENC_FIELD_O_VLAN_TYPE >> 8) & 0xff,
4439 BNXT_ULP_ENC_FIELD_O_VLAN_TYPE & 0xff},
4440 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4443 .description = "enc_i_vlan_tag",
4444 .field_bit_size = 16,
4445 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4446 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4448 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 56) & 0xff,
4449 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 48) & 0xff,
4450 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 40) & 0xff,
4451 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 32) & 0xff,
4452 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 24) & 0xff,
4453 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 16) & 0xff,
4454 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 8) & 0xff,
4455 (uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN & 0xff},
4456 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4458 (BNXT_ULP_ENC_FIELD_I_VLAN_TCI >> 8) & 0xff,
4459 BNXT_ULP_ENC_FIELD_I_VLAN_TCI & 0xff},
4460 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4463 .description = "enc_i_vlan_type",
4464 .field_bit_size = 16,
4465 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4466 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4468 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 56) & 0xff,
4469 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 48) & 0xff,
4470 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 40) & 0xff,
4471 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 32) & 0xff,
4472 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 24) & 0xff,
4473 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 16) & 0xff,
4474 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 8) & 0xff,
4475 (uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN & 0xff},
4476 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4478 (BNXT_ULP_ENC_FIELD_I_VLAN_TYPE >> 8) & 0xff,
4479 BNXT_ULP_ENC_FIELD_I_VLAN_TYPE & 0xff},
4480 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4483 .description = "enc_ipv4_ihl",
4484 .field_bit_size = 8,
4485 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4486 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4488 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
4489 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
4490 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
4491 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
4492 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
4493 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
4494 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
4495 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
4496 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4498 (BNXT_ULP_ENC_FIELD_IPV4_IHL >> 8) & 0xff,
4499 BNXT_ULP_ENC_FIELD_IPV4_IHL & 0xff},
4500 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4503 .description = "enc_ipv4_tos",
4504 .field_bit_size = 8,
4505 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4506 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4508 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
4509 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
4510 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
4511 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
4512 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
4513 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
4514 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
4515 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
4516 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4518 (BNXT_ULP_ENC_FIELD_IPV4_TOS >> 8) & 0xff,
4519 BNXT_ULP_ENC_FIELD_IPV4_TOS & 0xff},
4520 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4523 .description = "enc_ipv4_pkt_id",
4524 .field_bit_size = 16,
4525 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4526 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4528 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
4529 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
4530 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
4531 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
4532 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
4533 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
4534 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
4535 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
4536 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4538 (BNXT_ULP_ENC_FIELD_IPV4_PKT_ID >> 8) & 0xff,
4539 BNXT_ULP_ENC_FIELD_IPV4_PKT_ID & 0xff},
4540 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4543 .description = "enc_ipv4_frag",
4544 .field_bit_size = 16,
4545 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4546 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4548 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
4549 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
4550 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
4551 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
4552 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
4553 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
4554 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
4555 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
4556 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4558 (BNXT_ULP_ENC_FIELD_IPV4_FRAG >> 8) & 0xff,
4559 BNXT_ULP_ENC_FIELD_IPV4_FRAG & 0xff},
4560 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4563 .description = "enc_ipv4_ttl",
4564 .field_bit_size = 8,
4565 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4566 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4568 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
4569 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
4570 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
4571 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
4572 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
4573 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
4574 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
4575 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
4576 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4578 (BNXT_ULP_ENC_FIELD_IPV4_TTL >> 8) & 0xff,
4579 BNXT_ULP_ENC_FIELD_IPV4_TTL & 0xff},
4580 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4583 .description = "enc_ipv4_proto",
4584 .field_bit_size = 8,
4585 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4586 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4588 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
4589 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
4590 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
4591 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
4592 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
4593 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
4594 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
4595 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
4596 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4598 (BNXT_ULP_ENC_FIELD_IPV4_PROTO >> 8) & 0xff,
4599 BNXT_ULP_ENC_FIELD_IPV4_PROTO & 0xff},
4600 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4603 .description = "enc_ipv4_daddr",
4604 .field_bit_size = 32,
4605 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4606 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4608 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
4609 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
4610 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
4611 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
4612 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
4613 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
4614 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
4615 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
4616 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4618 (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff,
4619 BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff},
4620 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4623 .description = "enc_ipv6_vtc",
4624 .field_bit_size = 32,
4625 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4626 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4628 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff,
4629 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
4630 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
4631 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
4632 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
4633 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
4634 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
4635 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
4636 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4638 (BNXT_ULP_ENC_FIELD_IPV6_VTC_FLOW >> 8) & 0xff,
4639 BNXT_ULP_ENC_FIELD_IPV6_VTC_FLOW & 0xff},
4640 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4643 .description = "enc_ipv6_zero",
4644 .field_bit_size = 16,
4645 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4646 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4648 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff,
4649 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
4650 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
4651 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
4652 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
4653 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
4654 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
4655 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
4656 .field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
4657 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4660 .description = "enc_ipv6_proto",
4661 .field_bit_size = 8,
4662 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4663 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4665 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff,
4666 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
4667 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
4668 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
4669 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
4670 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
4671 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
4672 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
4673 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4675 (BNXT_ULP_ENC_FIELD_IPV6_PROTO >> 8) & 0xff,
4676 BNXT_ULP_ENC_FIELD_IPV6_PROTO & 0xff},
4677 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4680 .description = "enc_ipv6_ttl",
4681 .field_bit_size = 8,
4682 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4683 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4685 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff,
4686 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
4687 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
4688 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
4689 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
4690 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
4691 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
4692 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
4693 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4695 (BNXT_ULP_ENC_FIELD_IPV6_TTL >> 8) & 0xff,
4696 BNXT_ULP_ENC_FIELD_IPV6_TTL & 0xff},
4697 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4700 .description = "enc_ipv6_daddr",
4701 .field_bit_size = 128,
4702 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4703 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4705 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff,
4706 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
4707 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
4708 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
4709 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
4710 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
4711 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
4712 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
4713 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4715 (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff,
4716 BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff},
4717 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4720 .description = "enc_udp_sport",
4721 .field_bit_size = 16,
4722 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4723 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4725 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 56) & 0xff,
4726 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 48) & 0xff,
4727 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 40) & 0xff,
4728 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 32) & 0xff,
4729 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 24) & 0xff,
4730 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 16) & 0xff,
4731 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 8) & 0xff,
4732 (uint64_t)BNXT_ULP_HDR_BIT_O_UDP & 0xff},
4733 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4735 (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
4736 BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff},
4737 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4740 .description = "enc_udp_dport",
4741 .field_bit_size = 16,
4742 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4743 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4745 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 56) & 0xff,
4746 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 48) & 0xff,
4747 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 40) & 0xff,
4748 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 32) & 0xff,
4749 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 24) & 0xff,
4750 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 16) & 0xff,
4751 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 8) & 0xff,
4752 (uint64_t)BNXT_ULP_HDR_BIT_O_UDP & 0xff},
4753 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4755 (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
4756 BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff},
4757 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4760 .description = "enc_vxlan_flags",
4761 .field_bit_size = 8,
4762 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4763 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4765 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
4766 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
4767 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
4768 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
4769 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
4770 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
4771 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
4772 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
4773 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4775 (BNXT_ULP_ENC_FIELD_VXLAN_FLAGS >> 8) & 0xff,
4776 BNXT_ULP_ENC_FIELD_VXLAN_FLAGS & 0xff},
4777 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4780 .description = "enc_vxlan_rsvd0",
4781 .field_bit_size = 24,
4782 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4783 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4785 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
4786 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
4787 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
4788 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
4789 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
4790 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
4791 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
4792 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
4793 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4795 (BNXT_ULP_ENC_FIELD_VXLAN_RSVD0 >> 8) & 0xff,
4796 BNXT_ULP_ENC_FIELD_VXLAN_RSVD0 & 0xff},
4797 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4800 .description = "enc_vxlan_vni",
4801 .field_bit_size = 24,
4802 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4803 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4805 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
4806 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
4807 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
4808 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
4809 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
4810 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
4811 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
4812 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
4813 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4815 (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff,
4816 BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff},
4817 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4820 .description = "enc_vxlan_rsvd1",
4821 .field_bit_size = 8,
4822 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
4823 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
4825 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
4826 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
4827 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
4828 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
4829 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
4830 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
4831 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
4832 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
4833 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
4835 (BNXT_ULP_ENC_FIELD_VXLAN_RSVD1 >> 8) & 0xff,
4836 BNXT_ULP_ENC_FIELD_VXLAN_RSVD1 & 0xff},
4837 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
4839 /* act_tid: 6, , table: int_full_act_record.0 */
4841 .description = "flow_cntr_ptr",
4842 .field_bit_size = 14,
4843 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4844 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4846 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
4847 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
4850 .description = "age_enable",
4851 .field_bit_size = 1,
4852 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4853 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4856 .description = "agg_cntr_en",
4857 .field_bit_size = 1,
4858 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4859 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4862 .description = "rate_cntr_en",
4863 .field_bit_size = 1,
4864 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4865 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4868 .description = "flow_cntr_en",
4869 .field_bit_size = 1,
4870 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4871 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
4873 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
4874 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
4875 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
4876 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
4877 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
4878 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
4879 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
4880 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
4883 .description = "tcpflags_key",
4884 .field_bit_size = 8,
4885 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4886 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4889 .description = "tcpflags_mir",
4890 .field_bit_size = 1,
4891 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4892 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4895 .description = "tcpflags_match",
4896 .field_bit_size = 1,
4897 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4898 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4901 .description = "encap_ptr",
4902 .field_bit_size = 11,
4903 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4904 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
4906 (BNXT_ULP_RF_IDX_ENCAP_PTR_0 >> 8) & 0xff,
4907 BNXT_ULP_RF_IDX_ENCAP_PTR_0 & 0xff}
4910 .description = "dst_ip_ptr",
4911 .field_bit_size = 10,
4912 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4913 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4916 .description = "tcp_dst_port",
4917 .field_bit_size = 16,
4918 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4919 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4922 .description = "src_ip_ptr",
4923 .field_bit_size = 10,
4924 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4925 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4928 .description = "tcp_src_port",
4929 .field_bit_size = 16,
4930 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4931 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4934 .description = "meter_id",
4935 .field_bit_size = 10,
4936 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4937 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4940 .description = "l3_rdir",
4941 .field_bit_size = 1,
4942 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4943 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4946 .description = "tl3_rdir",
4947 .field_bit_size = 1,
4948 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4949 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4952 .description = "l3_ttl_dec",
4953 .field_bit_size = 1,
4954 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4955 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4958 .description = "tl3_ttl_dec",
4959 .field_bit_size = 1,
4960 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4961 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4964 .description = "decap_func",
4965 .field_bit_size = 4,
4966 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4967 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4970 .description = "vnic_or_vport",
4971 .field_bit_size = 12,
4972 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4973 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
4975 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
4976 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
4979 .description = "pop_vlan",
4980 .field_bit_size = 1,
4981 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4982 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4985 .description = "meter",
4986 .field_bit_size = 1,
4987 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4988 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4991 .description = "mirror",
4992 .field_bit_size = 2,
4993 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
4994 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
4997 .description = "drop",
4998 .field_bit_size = 1,
4999 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5000 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5003 .description = "hit",
5004 .field_bit_size = 1,
5005 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5006 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5009 .description = "type",
5010 .field_bit_size = 1,
5011 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5012 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5014 /* act_tid: 6, , table: ext_full_act_record_vxlan.0 */
5016 .description = "flow_cntr_ptr",
5017 .field_bit_size = 14,
5018 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5019 .field_src1 = BNXT_ULP_FIELD_SRC_RF,
5021 (BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
5022 BNXT_ULP_RF_IDX_FLOW_CNTR_PTR_0 & 0xff}
5025 .description = "age_enable",
5026 .field_bit_size = 1,
5027 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5028 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5031 .description = "agg_cntr_en",
5032 .field_bit_size = 1,
5033 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5034 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5037 .description = "rate_cntr_en",
5038 .field_bit_size = 1,
5039 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5040 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5043 .description = "flow_cntr_en",
5044 .field_bit_size = 1,
5045 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5046 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_BIT,
5048 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 56) & 0xff,
5049 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 48) & 0xff,
5050 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 40) & 0xff,
5051 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 32) & 0xff,
5052 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 24) & 0xff,
5053 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 16) & 0xff,
5054 ((uint64_t)BNXT_ULP_ACT_BIT_COUNT >> 8) & 0xff,
5055 (uint64_t)BNXT_ULP_ACT_BIT_COUNT & 0xff}
5058 .description = "flow_cntr_ext",
5059 .field_bit_size = 1,
5060 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5061 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5064 .description = "tcpflags_key",
5065 .field_bit_size = 8,
5066 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5067 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5070 .description = "tcpflags_mir",
5071 .field_bit_size = 1,
5072 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5073 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5076 .description = "tcpflags_match",
5077 .field_bit_size = 1,
5078 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5079 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5082 .description = "encap_ptr",
5083 .field_bit_size = 11,
5084 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5085 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5088 .description = "encap_rec_int",
5089 .field_bit_size = 1,
5090 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5091 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5094 .description = "dst_ip_ptr",
5095 .field_bit_size = 10,
5096 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5097 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5100 .description = "tcp_dst_port",
5101 .field_bit_size = 16,
5102 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5103 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5106 .description = "src_ip_ptr",
5107 .field_bit_size = 10,
5108 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5109 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5112 .description = "tcp_src_port",
5113 .field_bit_size = 16,
5114 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5115 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5118 .description = "meter_id",
5119 .field_bit_size = 10,
5120 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5121 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5124 .description = "l3_rdir",
5125 .field_bit_size = 1,
5126 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5127 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5130 .description = "tl3_rdir",
5131 .field_bit_size = 1,
5132 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5133 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5136 .description = "l3_ttl_dec",
5137 .field_bit_size = 1,
5138 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5139 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5142 .description = "tl3_ttl_dec",
5143 .field_bit_size = 1,
5144 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5145 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5148 .description = "decap_func",
5149 .field_bit_size = 4,
5150 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5151 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5154 .description = "vnic_or_vport",
5155 .field_bit_size = 12,
5156 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5157 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
5159 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
5160 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff}
5163 .description = "pop_vlan",
5164 .field_bit_size = 1,
5165 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5166 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5169 .description = "meter",
5170 .field_bit_size = 1,
5171 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5172 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5175 .description = "mirror",
5176 .field_bit_size = 2,
5177 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5178 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5181 .description = "drop",
5182 .field_bit_size = 1,
5183 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5184 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5187 .description = "ecv_valid",
5188 .field_bit_size = 1,
5189 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5190 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5192 ULP_WP_SYM_ECV_VALID_YES}
5195 .description = "ecv_custom_en",
5196 .field_bit_size = 1,
5197 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5198 .field_src1 = BNXT_ULP_FIELD_SRC_ZERO
5201 .description = "ecv_vtag_type",
5202 .field_bit_size = 4,
5203 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5204 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
5206 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
5207 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff}
5210 .description = "ecv_l2_en",
5211 .field_bit_size = 1,
5212 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5213 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5215 ULP_WP_SYM_ECV_L2_EN_YES}
5218 .description = "ecv_l3_type",
5219 .field_bit_size = 3,
5220 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5221 .field_src1 = BNXT_ULP_FIELD_SRC_ACT_PROP,
5223 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
5224 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff}
5227 .description = "ecv_l4_type",
5228 .field_bit_size = 3,
5229 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5230 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5232 ULP_WP_SYM_ECV_L4_TYPE_UDP_CSUM}
5235 .description = "ecv_tun_type",
5236 .field_bit_size = 3,
5237 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5238 .field_src1 = BNXT_ULP_FIELD_SRC_CONST,
5240 ULP_WP_SYM_ECV_TUN_TYPE_VXLAN}
5243 .description = "enc_eth_dmac",
5244 .field_bit_size = 48,
5245 .field_opc = BNXT_ULP_FIELD_OPC_SRC1,
5246 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5248 (BNXT_ULP_ENC_FIELD_ETH_DMAC >> 8) & 0xff,
5249 BNXT_ULP_ENC_FIELD_ETH_DMAC & 0xff}
5252 .description = "enc_o_vlan_tag",
5253 .field_bit_size = 16,
5254 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5255 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5257 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
5258 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
5259 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
5260 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
5261 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
5262 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
5263 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
5264 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
5265 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5267 (BNXT_ULP_ENC_FIELD_O_VLAN_TCI >> 8) & 0xff,
5268 BNXT_ULP_ENC_FIELD_O_VLAN_TCI & 0xff},
5269 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5272 .description = "enc_o_vlan_type",
5273 .field_bit_size = 16,
5274 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5275 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5277 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 56) & 0xff,
5278 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 48) & 0xff,
5279 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 40) & 0xff,
5280 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 32) & 0xff,
5281 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 24) & 0xff,
5282 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 16) & 0xff,
5283 ((uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN >> 8) & 0xff,
5284 (uint64_t)BNXT_ULP_HDR_BIT_OO_VLAN & 0xff},
5285 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5287 (BNXT_ULP_ENC_FIELD_O_VLAN_TYPE >> 8) & 0xff,
5288 BNXT_ULP_ENC_FIELD_O_VLAN_TYPE & 0xff},
5289 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5292 .description = "enc_i_vlan_tag",
5293 .field_bit_size = 16,
5294 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5295 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5297 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 56) & 0xff,
5298 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 48) & 0xff,
5299 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 40) & 0xff,
5300 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 32) & 0xff,
5301 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 24) & 0xff,
5302 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 16) & 0xff,
5303 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 8) & 0xff,
5304 (uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN & 0xff},
5305 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5307 (BNXT_ULP_ENC_FIELD_I_VLAN_TCI >> 8) & 0xff,
5308 BNXT_ULP_ENC_FIELD_I_VLAN_TCI & 0xff},
5309 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5312 .description = "enc_i_vlan_type",
5313 .field_bit_size = 16,
5314 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5315 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5317 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 56) & 0xff,
5318 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 48) & 0xff,
5319 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 40) & 0xff,
5320 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 32) & 0xff,
5321 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 24) & 0xff,
5322 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 16) & 0xff,
5323 ((uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN >> 8) & 0xff,
5324 (uint64_t)BNXT_ULP_HDR_BIT_OI_VLAN & 0xff},
5325 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5327 (BNXT_ULP_ENC_FIELD_I_VLAN_TYPE >> 8) & 0xff,
5328 BNXT_ULP_ENC_FIELD_I_VLAN_TYPE & 0xff},
5329 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5332 .description = "enc_ipv4_ihl",
5333 .field_bit_size = 8,
5334 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5335 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5337 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
5338 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
5339 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
5340 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
5341 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
5342 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
5343 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
5344 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
5345 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5347 (BNXT_ULP_ENC_FIELD_IPV4_IHL >> 8) & 0xff,
5348 BNXT_ULP_ENC_FIELD_IPV4_IHL & 0xff},
5349 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5352 .description = "enc_ipv4_tos",
5353 .field_bit_size = 8,
5354 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5355 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5357 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
5358 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
5359 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
5360 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
5361 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
5362 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
5363 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
5364 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
5365 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5367 (BNXT_ULP_ENC_FIELD_IPV4_TOS >> 8) & 0xff,
5368 BNXT_ULP_ENC_FIELD_IPV4_TOS & 0xff},
5369 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5372 .description = "enc_ipv4_pkt_id",
5373 .field_bit_size = 16,
5374 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5375 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5377 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
5378 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
5379 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
5380 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
5381 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
5382 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
5383 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
5384 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
5385 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5387 (BNXT_ULP_ENC_FIELD_IPV4_PKT_ID >> 8) & 0xff,
5388 BNXT_ULP_ENC_FIELD_IPV4_PKT_ID & 0xff},
5389 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5392 .description = "enc_ipv4_frag",
5393 .field_bit_size = 16,
5394 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5395 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5397 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
5398 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
5399 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
5400 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
5401 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
5402 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
5403 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
5404 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
5405 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5407 (BNXT_ULP_ENC_FIELD_IPV4_FRAG >> 8) & 0xff,
5408 BNXT_ULP_ENC_FIELD_IPV4_FRAG & 0xff},
5409 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5412 .description = "enc_ipv4_ttl",
5413 .field_bit_size = 8,
5414 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5415 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5417 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
5418 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
5419 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
5420 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
5421 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
5422 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
5423 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
5424 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
5425 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5427 (BNXT_ULP_ENC_FIELD_IPV4_TTL >> 8) & 0xff,
5428 BNXT_ULP_ENC_FIELD_IPV4_TTL & 0xff},
5429 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5432 .description = "enc_ipv4_proto",
5433 .field_bit_size = 8,
5434 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5435 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5437 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
5438 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
5439 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
5440 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
5441 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
5442 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
5443 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
5444 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
5445 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5447 (BNXT_ULP_ENC_FIELD_IPV4_PROTO >> 8) & 0xff,
5448 BNXT_ULP_ENC_FIELD_IPV4_PROTO & 0xff},
5449 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5452 .description = "enc_ipv4_daddr",
5453 .field_bit_size = 32,
5454 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5455 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5457 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 56) & 0xff,
5458 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 48) & 0xff,
5459 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 40) & 0xff,
5460 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 32) & 0xff,
5461 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 24) & 0xff,
5462 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 16) & 0xff,
5463 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 >> 8) & 0xff,
5464 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV4 & 0xff},
5465 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5467 (BNXT_ULP_ENC_FIELD_IPV4_DADDR >> 8) & 0xff,
5468 BNXT_ULP_ENC_FIELD_IPV4_DADDR & 0xff},
5469 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5472 .description = "enc_ipv6_vtc",
5473 .field_bit_size = 32,
5474 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5475 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5477 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff,
5478 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
5479 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
5480 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
5481 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
5482 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
5483 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
5484 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
5485 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5487 (BNXT_ULP_ENC_FIELD_IPV6_VTC_FLOW >> 8) & 0xff,
5488 BNXT_ULP_ENC_FIELD_IPV6_VTC_FLOW & 0xff},
5489 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5492 .description = "enc_ipv6_zero",
5493 .field_bit_size = 16,
5494 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5495 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5497 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff,
5498 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
5499 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
5500 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
5501 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
5502 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
5503 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
5504 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
5505 .field_src2 = BNXT_ULP_FIELD_SRC_ZERO,
5506 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5509 .description = "enc_ipv6_proto",
5510 .field_bit_size = 8,
5511 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5512 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5514 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff,
5515 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
5516 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
5517 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
5518 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
5519 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
5520 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
5521 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
5522 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5524 (BNXT_ULP_ENC_FIELD_IPV6_PROTO >> 8) & 0xff,
5525 BNXT_ULP_ENC_FIELD_IPV6_PROTO & 0xff},
5526 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5529 .description = "enc_ipv6_ttl",
5530 .field_bit_size = 8,
5531 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5532 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5534 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff,
5535 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
5536 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
5537 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
5538 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
5539 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
5540 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
5541 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
5542 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5544 (BNXT_ULP_ENC_FIELD_IPV6_TTL >> 8) & 0xff,
5545 BNXT_ULP_ENC_FIELD_IPV6_TTL & 0xff},
5546 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5549 .description = "enc_ipv6_daddr",
5550 .field_bit_size = 128,
5551 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5552 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5554 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 56) & 0xff,
5555 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 48) & 0xff,
5556 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 40) & 0xff,
5557 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 32) & 0xff,
5558 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 24) & 0xff,
5559 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 16) & 0xff,
5560 ((uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 >> 8) & 0xff,
5561 (uint64_t)BNXT_ULP_HDR_BIT_O_IPV6 & 0xff},
5562 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5564 (BNXT_ULP_ENC_FIELD_IPV6_DADDR >> 8) & 0xff,
5565 BNXT_ULP_ENC_FIELD_IPV6_DADDR & 0xff},
5566 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5569 .description = "enc_udp_sport",
5570 .field_bit_size = 16,
5571 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5572 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5574 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 56) & 0xff,
5575 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 48) & 0xff,
5576 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 40) & 0xff,
5577 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 32) & 0xff,
5578 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 24) & 0xff,
5579 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 16) & 0xff,
5580 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 8) & 0xff,
5581 (uint64_t)BNXT_ULP_HDR_BIT_O_UDP & 0xff},
5582 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5584 (BNXT_ULP_ENC_FIELD_UDP_SPORT >> 8) & 0xff,
5585 BNXT_ULP_ENC_FIELD_UDP_SPORT & 0xff},
5586 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5589 .description = "enc_udp_dport",
5590 .field_bit_size = 16,
5591 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5592 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5594 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 56) & 0xff,
5595 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 48) & 0xff,
5596 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 40) & 0xff,
5597 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 32) & 0xff,
5598 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 24) & 0xff,
5599 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 16) & 0xff,
5600 ((uint64_t)BNXT_ULP_HDR_BIT_O_UDP >> 8) & 0xff,
5601 (uint64_t)BNXT_ULP_HDR_BIT_O_UDP & 0xff},
5602 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5604 (BNXT_ULP_ENC_FIELD_UDP_DPORT >> 8) & 0xff,
5605 BNXT_ULP_ENC_FIELD_UDP_DPORT & 0xff},
5606 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5609 .description = "enc_vxlan_flags",
5610 .field_bit_size = 8,
5611 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5612 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5614 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
5615 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
5616 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
5617 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
5618 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
5619 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
5620 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
5621 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
5622 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5624 (BNXT_ULP_ENC_FIELD_VXLAN_FLAGS >> 8) & 0xff,
5625 BNXT_ULP_ENC_FIELD_VXLAN_FLAGS & 0xff},
5626 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5629 .description = "enc_vxlan_rsvd0",
5630 .field_bit_size = 24,
5631 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5632 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5634 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
5635 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
5636 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
5637 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
5638 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
5639 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
5640 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
5641 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
5642 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5644 (BNXT_ULP_ENC_FIELD_VXLAN_RSVD0 >> 8) & 0xff,
5645 BNXT_ULP_ENC_FIELD_VXLAN_RSVD0 & 0xff},
5646 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5649 .description = "enc_vxlan_vni",
5650 .field_bit_size = 24,
5651 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5652 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5654 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
5655 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
5656 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
5657 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
5658 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
5659 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
5660 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
5661 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
5662 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5664 (BNXT_ULP_ENC_FIELD_VXLAN_VNI >> 8) & 0xff,
5665 BNXT_ULP_ENC_FIELD_VXLAN_VNI & 0xff},
5666 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5669 .description = "enc_vxlan_rsvd1",
5670 .field_bit_size = 8,
5671 .field_opc = BNXT_ULP_FIELD_OPC_SRC1_THEN_SRC2_ELSE_SRC3,
5672 .field_src1 = BNXT_ULP_FIELD_SRC_ENC_HDR_BIT,
5674 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
5675 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
5676 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
5677 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
5678 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
5679 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
5680 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
5681 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff},
5682 .field_src2 = BNXT_ULP_FIELD_SRC_ENC_FIELD,
5684 (BNXT_ULP_ENC_FIELD_VXLAN_RSVD1 >> 8) & 0xff,
5685 BNXT_ULP_ENC_FIELD_VXLAN_RSVD1 & 0xff},
5686 .field_src3 = BNXT_ULP_FIELD_SRC_SKIP
5690 struct bnxt_ulp_mapper_ident_info ulp_wh_plus_act_ident_list[] = {
5691 /* act_tid: 1, , table: shared_mirror_record.rd */
5693 .description = "mirror_id",
5694 .regfile_idx = BNXT_ULP_RF_IDX_MIRROR_ID_0,
5695 .ident_bit_size = 2,