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 struct bnxt_ulp_mapper_tbl_list_info ulp_act_wh_plus_tmpl_list[] = {
13 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
16 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
19 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
22 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
25 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
28 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
31 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
34 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
37 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
40 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
43 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
46 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
50 struct bnxt_ulp_mapper_tbl_info ulp_act_wh_plus_tbl_list[] = {
52 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
53 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
55 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
56 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
57 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
58 .direction = TF_DIR_RX,
59 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
60 .result_start_idx = 0,
61 .result_bit_size = 64,
62 .result_num_fields = 1,
63 .encap_num_fields = 0,
64 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
65 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
66 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
69 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
70 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
72 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
73 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
74 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_SRC,
75 .direction = TF_DIR_RX,
76 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
77 .result_start_idx = 1,
78 .result_bit_size = 32,
79 .result_num_fields = 1,
80 .encap_num_fields = 0,
81 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
82 .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0,
83 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
86 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
87 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
89 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
90 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
91 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_DST,
92 .direction = TF_DIR_RX,
93 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
94 .result_start_idx = 2,
95 .result_bit_size = 32,
96 .result_num_fields = 1,
97 .encap_num_fields = 0,
98 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
99 .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0,
100 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
103 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
104 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
106 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
107 .direction = TF_DIR_RX,
108 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
109 .result_start_idx = 3,
110 .result_bit_size = 0,
111 .result_num_fields = 0,
112 .encap_num_fields = 12,
113 .index_opcode = BNXT_ULP_INDEX_OPCODE_GLOBAL,
114 .index_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR,
115 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
118 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
119 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
121 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
122 .direction = TF_DIR_RX,
123 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
124 .result_start_idx = 15,
125 .result_bit_size = 128,
126 .result_num_fields = 26,
127 .encap_num_fields = 0,
128 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
129 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
130 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
133 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
134 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
136 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
137 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
138 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
139 .direction = TF_DIR_RX,
140 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
141 .result_start_idx = 41,
142 .result_bit_size = 64,
143 .result_num_fields = 1,
144 .encap_num_fields = 0,
145 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
146 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
147 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
150 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
151 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
153 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
154 .direction = TF_DIR_RX,
155 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
156 .result_start_idx = 42,
157 .result_bit_size = 128,
158 .result_num_fields = 26,
159 .encap_num_fields = 0,
160 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
161 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
162 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
165 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
166 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
168 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
169 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
170 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
171 .direction = TF_DIR_RX,
172 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
173 .result_start_idx = 68,
174 .result_bit_size = 64,
175 .result_num_fields = 1,
176 .encap_num_fields = 0,
177 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
178 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
179 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
182 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
183 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
185 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
186 .direction = TF_DIR_RX,
187 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
188 .result_start_idx = 69,
189 .result_bit_size = 128,
190 .result_num_fields = 26,
191 .encap_num_fields = 0,
192 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
193 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
194 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
197 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
198 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
200 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
201 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
202 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
203 .direction = TF_DIR_TX,
204 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
205 .result_start_idx = 95,
206 .result_bit_size = 64,
207 .result_num_fields = 1,
208 .encap_num_fields = 0,
209 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
210 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
211 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
214 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
215 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
217 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
218 .cond_opcode = BNXT_ULP_COND_OPCODE_COMP_FIELD_IS_SET,
219 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG,
220 .direction = TF_DIR_TX,
221 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
222 .result_start_idx = 96,
223 .result_bit_size = 0,
224 .result_num_fields = 0,
225 .encap_num_fields = 3,
226 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
227 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR,
228 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
231 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
232 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
234 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
235 .cond_opcode = BNXT_ULP_COND_OPCODE_COMP_FIELD_IS_SET,
236 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG,
237 .direction = TF_DIR_TX,
238 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
239 .result_start_idx = 99,
240 .result_bit_size = 0,
241 .result_num_fields = 0,
242 .encap_num_fields = 3,
243 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
244 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR,
245 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
248 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
249 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
251 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
252 .direction = TF_DIR_TX,
253 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
254 .result_start_idx = 102,
255 .result_bit_size = 0,
256 .result_num_fields = 0,
257 .encap_num_fields = 12,
258 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
259 .index_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0,
260 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
263 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
264 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
266 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
267 .direction = TF_DIR_TX,
268 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
269 .result_start_idx = 114,
270 .result_bit_size = 128,
271 .result_num_fields = 26,
272 .encap_num_fields = 0,
273 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
274 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
275 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
278 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
279 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
281 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
282 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
283 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
284 .direction = TF_DIR_TX,
285 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
286 .result_start_idx = 140,
287 .result_bit_size = 64,
288 .result_num_fields = 1,
289 .encap_num_fields = 0,
290 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
291 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
292 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
295 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
296 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
298 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
299 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
300 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_SRC,
301 .direction = TF_DIR_TX,
302 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
303 .result_start_idx = 141,
304 .result_bit_size = 32,
305 .result_num_fields = 1,
306 .encap_num_fields = 0,
307 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
308 .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0,
309 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
312 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
313 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
315 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
316 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
317 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_DST,
318 .direction = TF_DIR_TX,
319 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
320 .result_start_idx = 142,
321 .result_bit_size = 32,
322 .result_num_fields = 1,
323 .encap_num_fields = 0,
324 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
325 .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0,
326 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
329 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
330 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
332 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
333 .direction = TF_DIR_TX,
334 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
335 .result_start_idx = 143,
336 .result_bit_size = 0,
337 .result_num_fields = 0,
338 .encap_num_fields = 12,
339 .index_opcode = BNXT_ULP_INDEX_OPCODE_GLOBAL,
340 .index_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR,
341 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
344 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
345 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
347 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
348 .direction = TF_DIR_TX,
349 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
350 .result_start_idx = 155,
351 .result_bit_size = 128,
352 .result_num_fields = 26,
353 .encap_num_fields = 0,
354 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
355 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
356 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
359 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
360 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
362 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
363 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
364 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
365 .direction = TF_DIR_TX,
366 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
367 .result_start_idx = 181,
368 .result_bit_size = 64,
369 .result_num_fields = 1,
370 .encap_num_fields = 0,
371 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
372 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
373 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
376 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
377 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
379 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
380 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
381 .cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,
382 .direction = TF_DIR_TX,
383 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
384 .result_start_idx = 182,
385 .result_bit_size = 0,
386 .result_num_fields = 0,
387 .encap_num_fields = 12,
388 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
389 .index_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0,
390 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
393 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
394 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
396 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
397 .direction = TF_DIR_TX,
398 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
399 .result_start_idx = 194,
400 .result_bit_size = 128,
401 .result_num_fields = 26,
402 .encap_num_fields = 0,
403 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
404 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
405 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
409 struct bnxt_ulp_mapper_result_field_info ulp_act_wh_plus_result_field_list[] = {
411 .field_bit_size = 64,
412 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
415 .field_bit_size = 32,
416 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
418 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
419 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,
420 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
421 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
424 .field_bit_size = 32,
425 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
427 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
428 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,
429 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
430 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
434 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
438 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
442 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
446 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
448 BNXT_ULP_SYM_ECV_L2_EN_YES,
449 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
450 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
454 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
458 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
462 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
463 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
464 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
467 .field_bit_size = 16,
468 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
471 .field_bit_size = 12,
472 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
476 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
480 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
483 .field_bit_size = 80,
484 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
487 .field_bit_size = 14,
488 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
490 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
491 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
492 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
493 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
497 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
501 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
505 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
509 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
511 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
512 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
513 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
514 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
515 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
516 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
517 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
518 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
519 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
523 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
527 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
531 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
534 .field_bit_size = 11,
535 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
537 (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
538 BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
539 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
540 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
543 .field_bit_size = 10,
544 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
546 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
547 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
548 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
549 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
552 .field_bit_size = 16,
553 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
555 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
556 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
557 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
558 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
559 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
560 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
561 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
562 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
563 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
564 .result_operand_true = {
565 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
566 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
567 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
568 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
571 .field_bit_size = 10,
572 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
574 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
575 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
576 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
577 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
580 .field_bit_size = 16,
581 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
583 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
584 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
585 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
586 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
587 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
588 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
589 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
590 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
591 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
592 .result_operand_true = {
593 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
594 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
595 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
596 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
599 .field_bit_size = 10,
600 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
604 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
608 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
612 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
614 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
615 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
616 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
617 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
621 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
623 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
624 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
625 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
626 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
630 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
632 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
633 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
634 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
635 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
636 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
637 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
638 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
639 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
640 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
641 .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
642 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
643 .result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
644 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
647 .field_bit_size = 12,
648 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
650 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
651 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
652 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
653 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
657 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
661 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
665 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
669 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
673 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
677 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
680 .field_bit_size = 64,
681 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
684 .field_bit_size = 14,
685 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
687 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
688 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
689 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
690 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
694 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
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_ACT_BIT,
708 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
709 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
710 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
711 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
712 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
713 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
714 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
715 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
716 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
720 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
724 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
728 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
731 .field_bit_size = 11,
732 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
734 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
735 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
736 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
737 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
740 .field_bit_size = 10,
741 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
743 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
744 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
745 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
746 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
749 .field_bit_size = 16,
750 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
752 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
753 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
754 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
755 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
756 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
757 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
758 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
759 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
760 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
761 .result_operand_true = {
762 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
763 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
764 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
765 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
768 .field_bit_size = 10,
769 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
771 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
772 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
773 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
774 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
777 .field_bit_size = 16,
778 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
780 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
781 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
782 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
783 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
784 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
785 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
786 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
787 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
788 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
789 .result_operand_true = {
790 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
791 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
792 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
793 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
796 .field_bit_size = 10,
797 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
801 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
805 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
809 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
811 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
812 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
813 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
814 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
818 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
820 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
821 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
822 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
823 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
827 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
829 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
830 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
831 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
832 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
833 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
834 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
835 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
836 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
837 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
838 .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
839 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
842 .field_bit_size = 12,
843 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
845 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
846 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
847 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
848 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
852 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
854 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
855 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
856 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
857 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
858 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
859 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
860 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
861 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
862 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
866 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
870 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
874 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
876 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
877 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
878 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
879 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
880 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
881 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
882 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
883 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
884 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
888 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
892 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
895 .field_bit_size = 64,
896 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
899 .field_bit_size = 14,
900 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
902 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
903 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
904 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
905 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
909 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
913 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
917 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
921 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
923 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
924 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
925 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
926 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
927 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
928 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
929 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
930 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
931 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
935 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
939 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
943 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
946 .field_bit_size = 11,
947 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
950 .field_bit_size = 10,
951 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
954 .field_bit_size = 16,
955 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
958 .field_bit_size = 10,
959 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
962 .field_bit_size = 16,
963 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
966 .field_bit_size = 10,
967 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
971 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
975 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
979 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
983 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
987 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
989 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
990 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
991 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
992 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
993 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
994 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
995 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
996 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
997 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
998 .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
999 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1002 .field_bit_size = 12,
1003 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1005 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1006 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1007 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1008 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1011 .field_bit_size = 1,
1012 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1014 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1015 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1016 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1017 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1018 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1019 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1020 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1021 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1022 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1025 .field_bit_size = 1,
1026 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1029 .field_bit_size = 2,
1030 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1033 .field_bit_size = 1,
1034 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1037 .field_bit_size = 1,
1038 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1041 .field_bit_size = 1,
1042 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1045 .field_bit_size = 64,
1046 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1049 .field_bit_size = 48,
1050 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1052 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
1053 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
1054 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1055 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1058 .field_bit_size = 32,
1059 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1061 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
1062 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
1063 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1064 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1067 .field_bit_size = 48,
1068 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1071 .field_bit_size = 48,
1072 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1074 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
1075 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
1076 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1077 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1080 .field_bit_size = 128,
1081 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1083 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
1084 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
1085 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1086 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1089 .field_bit_size = 16,
1090 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1093 .field_bit_size = 3,
1094 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1096 BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,
1097 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1098 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1101 .field_bit_size = 3,
1102 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1104 BNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,
1105 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1106 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1109 .field_bit_size = 3,
1110 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1112 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
1113 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,
1114 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1115 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1118 .field_bit_size = 1,
1119 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1120 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1121 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1124 .field_bit_size = 4,
1125 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1127 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
1128 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,
1129 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1130 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1133 .field_bit_size = 1,
1134 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1137 .field_bit_size = 1,
1138 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1139 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1140 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1143 .field_bit_size = 48,
1144 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1146 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
1147 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,
1148 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1149 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1152 .field_bit_size = 0,
1153 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
1155 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
1156 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
1157 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
1158 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,
1159 0x00, 0x00, 0x00, 0x00, 0x00,
1160 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1163 .field_bit_size = 0,
1164 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
1166 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
1167 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
1168 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
1169 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,
1170 0x00, 0x00, 0x00, 0x00, 0x00,
1171 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1174 .field_bit_size = 32,
1175 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1177 (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
1178 BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,
1179 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1180 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1183 .field_bit_size = 0,
1184 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
1186 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
1187 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,
1188 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,
1189 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,
1190 0x00, 0x00, 0x00, 0x00, 0x00,
1191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1194 .field_bit_size = 14,
1195 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1197 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1198 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1199 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1200 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1203 .field_bit_size = 1,
1204 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1207 .field_bit_size = 1,
1208 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1211 .field_bit_size = 1,
1212 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1215 .field_bit_size = 1,
1216 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1218 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1219 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1220 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1221 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1222 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1223 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1224 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1225 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1226 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1229 .field_bit_size = 8,
1230 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1233 .field_bit_size = 1,
1234 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1237 .field_bit_size = 1,
1238 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1241 .field_bit_size = 11,
1242 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1244 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
1245 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
1246 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1250 .field_bit_size = 10,
1251 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1254 .field_bit_size = 16,
1255 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1258 .field_bit_size = 10,
1259 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1262 .field_bit_size = 16,
1263 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1266 .field_bit_size = 10,
1267 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1270 .field_bit_size = 1,
1271 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1274 .field_bit_size = 1,
1275 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1278 .field_bit_size = 1,
1279 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1282 .field_bit_size = 1,
1283 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1286 .field_bit_size = 4,
1287 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1290 .field_bit_size = 12,
1291 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1293 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
1294 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
1295 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1296 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1299 .field_bit_size = 1,
1300 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1303 .field_bit_size = 1,
1304 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1307 .field_bit_size = 2,
1308 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1311 .field_bit_size = 1,
1312 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1315 .field_bit_size = 1,
1316 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1319 .field_bit_size = 1,
1320 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1323 .field_bit_size = 64,
1324 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1327 .field_bit_size = 32,
1328 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1330 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
1331 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,
1332 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1333 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1336 .field_bit_size = 32,
1337 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1339 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
1340 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,
1341 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1342 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1345 .field_bit_size = 3,
1346 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1349 .field_bit_size = 3,
1350 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1353 .field_bit_size = 3,
1354 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1357 .field_bit_size = 1,
1358 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1360 BNXT_ULP_SYM_ECV_L2_EN_YES,
1361 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1362 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1365 .field_bit_size = 4,
1366 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1369 .field_bit_size = 1,
1370 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1373 .field_bit_size = 1,
1374 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1375 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1376 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1379 .field_bit_size = 16,
1380 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1383 .field_bit_size = 12,
1384 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1387 .field_bit_size = 1,
1388 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1391 .field_bit_size = 3,
1392 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1395 .field_bit_size = 80,
1396 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1399 .field_bit_size = 14,
1400 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1402 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1403 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1404 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1405 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1408 .field_bit_size = 1,
1409 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1412 .field_bit_size = 1,
1413 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1416 .field_bit_size = 1,
1417 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1420 .field_bit_size = 1,
1421 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1423 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1424 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1425 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1426 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1427 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1428 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1429 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1430 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1431 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1434 .field_bit_size = 8,
1435 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1438 .field_bit_size = 1,
1439 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1442 .field_bit_size = 1,
1443 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1446 .field_bit_size = 11,
1447 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
1449 (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
1450 BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
1451 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1452 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1455 .field_bit_size = 10,
1456 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1458 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
1459 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
1460 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1461 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1464 .field_bit_size = 16,
1465 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1467 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
1468 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
1469 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
1470 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
1471 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
1472 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
1473 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
1474 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
1475 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1476 .result_operand_true = {
1477 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
1478 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
1479 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1480 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1483 .field_bit_size = 10,
1484 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1486 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
1487 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
1488 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1489 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1492 .field_bit_size = 16,
1493 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1495 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
1496 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
1497 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
1498 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
1499 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
1500 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
1501 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
1502 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
1503 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1504 .result_operand_true = {
1505 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
1506 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
1507 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1508 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1511 .field_bit_size = 10,
1512 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1515 .field_bit_size = 1,
1516 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1519 .field_bit_size = 1,
1520 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1523 .field_bit_size = 1,
1524 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1526 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1527 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
1528 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1529 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1532 .field_bit_size = 1,
1533 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1535 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1536 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
1537 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1538 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1541 .field_bit_size = 4,
1542 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
1544 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
1545 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
1546 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
1547 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
1548 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
1549 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
1550 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
1551 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
1552 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1553 .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
1554 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1555 .result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
1556 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1559 .field_bit_size = 12,
1560 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1562 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
1563 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
1564 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1565 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1568 .field_bit_size = 1,
1569 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1572 .field_bit_size = 1,
1573 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1576 .field_bit_size = 2,
1577 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1580 .field_bit_size = 1,
1581 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1584 .field_bit_size = 1,
1585 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1588 .field_bit_size = 1,
1589 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1592 .field_bit_size = 64,
1593 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1596 .field_bit_size = 3,
1597 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1600 .field_bit_size = 3,
1601 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1604 .field_bit_size = 3,
1605 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1608 .field_bit_size = 1,
1609 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1612 .field_bit_size = 4,
1613 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1615 BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,
1616 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1617 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1620 .field_bit_size = 1,
1621 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1624 .field_bit_size = 1,
1625 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1626 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1627 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1630 .field_bit_size = 16,
1631 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1633 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
1634 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,
1635 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1636 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1639 .field_bit_size = 12,
1640 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1642 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
1643 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,
1644 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1645 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1648 .field_bit_size = 1,
1649 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1652 .field_bit_size = 3,
1653 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1655 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
1656 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,
1657 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1658 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1661 .field_bit_size = 80,
1662 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1665 .field_bit_size = 14,
1666 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1668 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1669 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1670 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1671 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1674 .field_bit_size = 1,
1675 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1678 .field_bit_size = 1,
1679 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1682 .field_bit_size = 1,
1683 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1686 .field_bit_size = 1,
1687 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1689 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1690 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1691 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1692 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1693 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1694 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1695 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1696 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1697 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1700 .field_bit_size = 8,
1701 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1704 .field_bit_size = 1,
1705 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1708 .field_bit_size = 1,
1709 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1712 .field_bit_size = 11,
1713 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1715 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
1716 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
1717 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1718 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1721 .field_bit_size = 10,
1722 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1725 .field_bit_size = 16,
1726 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1729 .field_bit_size = 10,
1730 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1733 .field_bit_size = 16,
1734 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1737 .field_bit_size = 10,
1738 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1741 .field_bit_size = 1,
1742 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1745 .field_bit_size = 1,
1746 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1749 .field_bit_size = 1,
1750 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1752 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1753 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
1754 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1755 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1758 .field_bit_size = 1,
1759 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1761 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1762 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
1763 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1764 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1767 .field_bit_size = 4,
1768 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1771 .field_bit_size = 12,
1772 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1774 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
1775 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
1776 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1777 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1780 .field_bit_size = 1,
1781 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1784 .field_bit_size = 1,
1785 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1788 .field_bit_size = 2,
1789 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1792 .field_bit_size = 1,
1793 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1795 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
1796 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
1797 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
1798 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
1799 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
1800 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
1801 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
1802 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
1803 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1806 .field_bit_size = 1,
1807 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1810 .field_bit_size = 1,
1811 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO