1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2014-2020 Broadcom
6 #include "ulp_template_db_enum.h"
7 #include "ulp_template_db_field.h"
8 #include "ulp_template_struct.h"
9 #include "ulp_rte_parser.h"
11 uint16_t ulp_act_sig_tbl[BNXT_ULP_ACT_SIG_TBL_MAX_SZ] = {
12 [BNXT_ULP_ACT_HID_0002] = 1,
13 [BNXT_ULP_ACT_HID_0022] = 2,
14 [BNXT_ULP_ACT_HID_0026] = 3,
15 [BNXT_ULP_ACT_HID_0006] = 4,
16 [BNXT_ULP_ACT_HID_0009] = 5,
17 [BNXT_ULP_ACT_HID_0029] = 6,
18 [BNXT_ULP_ACT_HID_002d] = 7,
19 [BNXT_ULP_ACT_HID_004b] = 8,
20 [BNXT_ULP_ACT_HID_004a] = 9,
21 [BNXT_ULP_ACT_HID_004f] = 10,
22 [BNXT_ULP_ACT_HID_004e] = 11,
23 [BNXT_ULP_ACT_HID_006c] = 12,
24 [BNXT_ULP_ACT_HID_0070] = 13,
25 [BNXT_ULP_ACT_HID_0021] = 14,
26 [BNXT_ULP_ACT_HID_0025] = 15,
27 [BNXT_ULP_ACT_HID_0043] = 16,
28 [BNXT_ULP_ACT_HID_0042] = 17,
29 [BNXT_ULP_ACT_HID_0047] = 18,
30 [BNXT_ULP_ACT_HID_0046] = 19,
31 [BNXT_ULP_ACT_HID_0064] = 20,
32 [BNXT_ULP_ACT_HID_0068] = 21,
33 [BNXT_ULP_ACT_HID_00a1] = 22,
34 [BNXT_ULP_ACT_HID_00df] = 23
37 struct bnxt_ulp_act_match_info ulp_act_match_list[] = {
39 .act_hid = BNXT_ULP_ACT_HID_0002,
41 BNXT_ULP_ACTION_BIT_DROP |
42 BNXT_ULP_FLOW_DIR_BITMASK_ING },
46 .act_hid = BNXT_ULP_ACT_HID_0022,
48 BNXT_ULP_ACTION_BIT_DROP |
49 BNXT_ULP_ACTION_BIT_VNIC |
50 BNXT_ULP_FLOW_DIR_BITMASK_ING },
54 .act_hid = BNXT_ULP_ACT_HID_0026,
56 BNXT_ULP_ACTION_BIT_DROP |
57 BNXT_ULP_ACTION_BIT_VNIC |
58 BNXT_ULP_ACTION_BIT_COUNT |
59 BNXT_ULP_FLOW_DIR_BITMASK_ING },
63 .act_hid = BNXT_ULP_ACT_HID_0006,
65 BNXT_ULP_ACTION_BIT_DROP |
66 BNXT_ULP_ACTION_BIT_COUNT |
67 BNXT_ULP_FLOW_DIR_BITMASK_ING },
71 .act_hid = BNXT_ULP_ACT_HID_0009,
73 BNXT_ULP_ACTION_BIT_MARK |
74 BNXT_ULP_ACTION_BIT_RSS |
75 BNXT_ULP_FLOW_DIR_BITMASK_ING },
79 .act_hid = BNXT_ULP_ACT_HID_0029,
81 BNXT_ULP_ACTION_BIT_MARK |
82 BNXT_ULP_ACTION_BIT_VNIC |
83 BNXT_ULP_ACTION_BIT_RSS |
84 BNXT_ULP_FLOW_DIR_BITMASK_ING },
88 .act_hid = BNXT_ULP_ACT_HID_002d,
90 BNXT_ULP_ACTION_BIT_MARK |
91 BNXT_ULP_ACTION_BIT_VNIC |
92 BNXT_ULP_ACTION_BIT_RSS |
93 BNXT_ULP_ACTION_BIT_COUNT |
94 BNXT_ULP_FLOW_DIR_BITMASK_ING },
98 .act_hid = BNXT_ULP_ACT_HID_004b,
100 BNXT_ULP_ACTION_BIT_MARK |
101 BNXT_ULP_ACTION_BIT_VNIC |
102 BNXT_ULP_ACTION_BIT_RSS |
103 BNXT_ULP_ACTION_BIT_POP_VLAN |
104 BNXT_ULP_FLOW_DIR_BITMASK_ING },
108 .act_hid = BNXT_ULP_ACT_HID_004a,
110 BNXT_ULP_ACTION_BIT_MARK |
111 BNXT_ULP_ACTION_BIT_VNIC |
112 BNXT_ULP_ACTION_BIT_RSS |
113 BNXT_ULP_ACTION_BIT_DEC_TTL |
114 BNXT_ULP_FLOW_DIR_BITMASK_ING },
118 .act_hid = BNXT_ULP_ACT_HID_004f,
120 BNXT_ULP_ACTION_BIT_MARK |
121 BNXT_ULP_ACTION_BIT_VNIC |
122 BNXT_ULP_ACTION_BIT_RSS |
123 BNXT_ULP_ACTION_BIT_COUNT |
124 BNXT_ULP_ACTION_BIT_POP_VLAN |
125 BNXT_ULP_FLOW_DIR_BITMASK_ING },
129 .act_hid = BNXT_ULP_ACT_HID_004e,
131 BNXT_ULP_ACTION_BIT_MARK |
132 BNXT_ULP_ACTION_BIT_VNIC |
133 BNXT_ULP_ACTION_BIT_RSS |
134 BNXT_ULP_ACTION_BIT_COUNT |
135 BNXT_ULP_ACTION_BIT_DEC_TTL |
136 BNXT_ULP_FLOW_DIR_BITMASK_ING },
140 .act_hid = BNXT_ULP_ACT_HID_006c,
142 BNXT_ULP_ACTION_BIT_MARK |
143 BNXT_ULP_ACTION_BIT_VNIC |
144 BNXT_ULP_ACTION_BIT_RSS |
145 BNXT_ULP_ACTION_BIT_POP_VLAN |
146 BNXT_ULP_ACTION_BIT_DEC_TTL |
147 BNXT_ULP_FLOW_DIR_BITMASK_ING },
151 .act_hid = BNXT_ULP_ACT_HID_0070,
153 BNXT_ULP_ACTION_BIT_MARK |
154 BNXT_ULP_ACTION_BIT_VNIC |
155 BNXT_ULP_ACTION_BIT_RSS |
156 BNXT_ULP_ACTION_BIT_COUNT |
157 BNXT_ULP_ACTION_BIT_POP_VLAN |
158 BNXT_ULP_ACTION_BIT_DEC_TTL |
159 BNXT_ULP_FLOW_DIR_BITMASK_ING },
163 .act_hid = BNXT_ULP_ACT_HID_0021,
165 BNXT_ULP_ACTION_BIT_MARK |
166 BNXT_ULP_ACTION_BIT_VNIC |
167 BNXT_ULP_FLOW_DIR_BITMASK_ING },
171 .act_hid = BNXT_ULP_ACT_HID_0025,
173 BNXT_ULP_ACTION_BIT_MARK |
174 BNXT_ULP_ACTION_BIT_VNIC |
175 BNXT_ULP_ACTION_BIT_COUNT |
176 BNXT_ULP_FLOW_DIR_BITMASK_ING },
180 .act_hid = BNXT_ULP_ACT_HID_0043,
182 BNXT_ULP_ACTION_BIT_MARK |
183 BNXT_ULP_ACTION_BIT_VNIC |
184 BNXT_ULP_ACTION_BIT_POP_VLAN |
185 BNXT_ULP_FLOW_DIR_BITMASK_ING },
189 .act_hid = BNXT_ULP_ACT_HID_0042,
191 BNXT_ULP_ACTION_BIT_MARK |
192 BNXT_ULP_ACTION_BIT_VNIC |
193 BNXT_ULP_ACTION_BIT_DEC_TTL |
194 BNXT_ULP_FLOW_DIR_BITMASK_ING },
198 .act_hid = BNXT_ULP_ACT_HID_0047,
200 BNXT_ULP_ACTION_BIT_MARK |
201 BNXT_ULP_ACTION_BIT_VNIC |
202 BNXT_ULP_ACTION_BIT_COUNT |
203 BNXT_ULP_ACTION_BIT_POP_VLAN |
204 BNXT_ULP_FLOW_DIR_BITMASK_ING },
208 .act_hid = BNXT_ULP_ACT_HID_0046,
210 BNXT_ULP_ACTION_BIT_MARK |
211 BNXT_ULP_ACTION_BIT_VNIC |
212 BNXT_ULP_ACTION_BIT_COUNT |
213 BNXT_ULP_ACTION_BIT_DEC_TTL |
214 BNXT_ULP_FLOW_DIR_BITMASK_ING },
218 .act_hid = BNXT_ULP_ACT_HID_0064,
220 BNXT_ULP_ACTION_BIT_MARK |
221 BNXT_ULP_ACTION_BIT_VNIC |
222 BNXT_ULP_ACTION_BIT_POP_VLAN |
223 BNXT_ULP_ACTION_BIT_DEC_TTL |
224 BNXT_ULP_FLOW_DIR_BITMASK_ING },
228 .act_hid = BNXT_ULP_ACT_HID_0068,
230 BNXT_ULP_ACTION_BIT_MARK |
231 BNXT_ULP_ACTION_BIT_VNIC |
232 BNXT_ULP_ACTION_BIT_COUNT |
233 BNXT_ULP_ACTION_BIT_POP_VLAN |
234 BNXT_ULP_ACTION_BIT_DEC_TTL |
235 BNXT_ULP_FLOW_DIR_BITMASK_ING },
239 .act_hid = BNXT_ULP_ACT_HID_00a1,
241 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
242 BNXT_ULP_ACTION_BIT_MARK |
243 BNXT_ULP_ACTION_BIT_VNIC |
244 BNXT_ULP_FLOW_DIR_BITMASK_ING },
248 .act_hid = BNXT_ULP_ACT_HID_00df,
250 BNXT_ULP_ACTION_BIT_VXLAN_ENCAP |
251 BNXT_ULP_ACTION_BIT_VPORT |
252 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
257 struct bnxt_ulp_mapper_tbl_list_info ulp_act_tmpl_list[] = {
258 [((1 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
259 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
260 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
263 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
265 [((2 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
266 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
267 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
270 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
272 [((3 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
273 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
274 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
277 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
281 struct bnxt_ulp_mapper_tbl_info ulp_act_tbl_list[] = {
283 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
284 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
286 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
287 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
288 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
289 .direction = TF_DIR_RX,
290 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
291 .result_start_idx = 0,
292 .result_bit_size = 64,
293 .result_num_fields = 1,
294 .encap_num_fields = 0,
295 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
296 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
297 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
300 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
301 .resource_type = TF_TBL_TYPE_EXT,
303 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
304 .direction = TF_DIR_RX,
305 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
306 .result_start_idx = 1,
307 .result_bit_size = 128,
308 .result_num_fields = 26,
309 .encap_num_fields = 0,
310 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
311 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
312 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
315 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
316 .resource_type = TF_TBL_TYPE_EXT,
318 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
319 .direction = TF_DIR_RX,
320 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
321 .result_start_idx = 27,
322 .result_bit_size = 128,
323 .result_num_fields = 26,
324 .encap_num_fields = 0,
325 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
326 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
327 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
330 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
331 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
333 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
334 .cond_opcode = BNXT_ULP_COND_OPCODE_COMP_FIELD_IS_SET,
335 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG,
336 .direction = TF_DIR_TX,
337 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
338 .result_start_idx = 53,
339 .result_bit_size = 0,
340 .result_num_fields = 0,
341 .encap_num_fields = 3,
342 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
343 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR,
344 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
347 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
348 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
350 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
351 .cond_opcode = BNXT_ULP_COND_OPCODE_COMP_FIELD_IS_SET,
352 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG,
353 .direction = TF_DIR_TX,
354 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
355 .result_start_idx = 56,
356 .result_bit_size = 0,
357 .result_num_fields = 0,
358 .encap_num_fields = 3,
359 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
360 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR,
361 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
364 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
365 .resource_type = TF_TBL_TYPE_EXT,
367 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
368 .direction = TF_DIR_TX,
369 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
370 .result_start_idx = 59,
371 .result_bit_size = 128,
372 .result_num_fields = 26,
373 .encap_num_fields = 12,
374 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
375 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
376 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
380 struct bnxt_ulp_mapper_result_field_info ulp_act_result_field_list[] = {
382 .field_bit_size = 64,
383 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
386 .field_bit_size = 14,
387 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
389 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
390 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
391 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
392 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
396 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
400 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
404 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
408 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
410 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
411 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
412 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
413 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
414 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
415 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
416 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
417 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
418 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
422 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
426 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
430 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
434 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
437 .field_bit_size = 11,
438 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
442 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
445 .field_bit_size = 10,
446 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
449 .field_bit_size = 16,
450 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
453 .field_bit_size = 10,
454 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
457 .field_bit_size = 16,
458 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
461 .field_bit_size = 10,
462 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
466 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
470 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
474 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
476 ((uint64_t)BNXT_ULP_ACTION_BIT_DEC_TTL >> 56) & 0xff,
477 ((uint64_t)BNXT_ULP_ACTION_BIT_DEC_TTL >> 48) & 0xff,
478 ((uint64_t)BNXT_ULP_ACTION_BIT_DEC_TTL >> 40) & 0xff,
479 ((uint64_t)BNXT_ULP_ACTION_BIT_DEC_TTL >> 32) & 0xff,
480 ((uint64_t)BNXT_ULP_ACTION_BIT_DEC_TTL >> 24) & 0xff,
481 ((uint64_t)BNXT_ULP_ACTION_BIT_DEC_TTL >> 16) & 0xff,
482 ((uint64_t)BNXT_ULP_ACTION_BIT_DEC_TTL >> 8) & 0xff,
483 (uint64_t)BNXT_ULP_ACTION_BIT_DEC_TTL & 0xff,
484 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
488 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
492 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
495 .field_bit_size = 12,
496 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
498 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
499 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
500 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
501 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
505 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
507 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
508 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
509 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
510 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
511 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
512 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
513 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
514 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
515 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
519 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
523 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
527 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
529 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
530 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
531 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
532 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
533 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
534 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
535 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
536 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
537 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
540 .field_bit_size = 14,
541 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
545 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
549 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
553 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
557 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
561 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
565 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
569 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
573 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
576 .field_bit_size = 11,
577 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
581 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
584 .field_bit_size = 10,
585 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
588 .field_bit_size = 16,
589 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
592 .field_bit_size = 10,
593 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
596 .field_bit_size = 16,
597 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
600 .field_bit_size = 10,
601 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
605 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
609 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
613 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
617 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
621 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
623 BNXT_ULP_SYM_DECAP_FUNC_THRU_TUN,
624 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
625 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
628 .field_bit_size = 12,
629 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
631 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
632 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
633 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
634 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
638 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
642 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
646 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
650 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
653 .field_bit_size = 48,
654 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
656 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
657 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
658 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
659 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
662 .field_bit_size = 32,
663 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
665 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
666 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
667 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
668 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
671 .field_bit_size = 48,
672 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
675 .field_bit_size = 48,
676 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
678 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
679 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
680 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
681 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
684 .field_bit_size = 128,
685 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
687 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
688 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
689 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
690 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
693 .field_bit_size = 16,
694 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
697 .field_bit_size = 14,
698 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
702 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
706 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
710 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
714 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
718 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
722 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
726 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
730 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
733 .field_bit_size = 11,
734 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
738 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
741 .field_bit_size = 10,
742 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
745 .field_bit_size = 16,
746 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
749 .field_bit_size = 10,
750 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
753 .field_bit_size = 16,
754 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
757 .field_bit_size = 10,
758 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
762 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
766 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
770 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
774 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
778 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
781 .field_bit_size = 12,
782 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
784 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
785 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
786 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
787 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
791 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
795 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
799 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
803 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
807 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
809 BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,
810 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
811 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
815 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
817 BNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,
818 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
819 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
823 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
825 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
826 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,
827 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
828 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
832 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
833 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
834 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
838 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
840 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
841 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,
842 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
843 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
847 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
851 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
852 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
853 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
856 .field_bit_size = 48,
857 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
859 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
860 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,
861 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
862 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
866 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
868 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
869 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
870 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
871 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,
872 0x00, 0x00, 0x00, 0x00, 0x00,
873 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
877 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
879 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
880 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
881 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
882 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,
883 0x00, 0x00, 0x00, 0x00, 0x00,
884 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
887 .field_bit_size = 32,
888 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
890 (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
891 BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,
892 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
893 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
897 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
899 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
900 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,
901 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,
902 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,
903 0x00, 0x00, 0x00, 0x00, 0x00,
904 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}