1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2014-2021 Broadcom
6 /* date: Thu Oct 15 17:28:37 2020 */
8 #include "ulp_template_db_enum.h"
9 #include "ulp_template_db_field.h"
10 #include "ulp_template_struct.h"
11 #include "ulp_rte_parser.h"
13 /* Mapper templates for header act list */
14 struct bnxt_ulp_mapper_tmpl_info ulp_wh_plus_act_tmpl_list[] = {
15 /* act-ing-[dec_ttl, count, nat]:1 */
16 /* act_tid: 1, wh_plus, ingress */
18 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
22 /* act-ing-[drop, pop_vlan, push_vlan, dec_ttl, count, vxlan_decap]:2 */
23 /* act_tid: 2, wh_plus, ingress */
25 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
29 /* act-ing-[mark, rss, count, pop_vlan, vxlan_decap]:3 */
30 /* act_tid: 3, wh_plus, ingress */
32 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
36 /* act_egr-[vxlan_encap, count]:4 */
37 /* act_tid: 4, wh_plus, egress */
39 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
43 /* act-egr-[dec_ttl, count, nat]:5 */
44 /* act_tid: 5, wh_plus, egress */
46 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
50 /* act-egr-[drop, push_vlan, dec_ttl, count]:6 */
51 /* act_tid: 6, wh_plus, egress */
53 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
59 struct bnxt_ulp_mapper_tbl_info ulp_wh_plus_act_tbl_list[] = {
60 { /* act_tid: 1, wh_plus, table: int_flow_counter_tbl_0 */
61 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
62 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
64 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
65 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
66 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
67 .direction = TF_DIR_RX,
68 .result_start_idx = 0,
69 .result_bit_size = 64,
70 .result_num_fields = 1,
71 .encap_num_fields = 0,
72 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
73 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
74 .tbl_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
76 { /* act_tid: 1, wh_plus, table: int_act_modify_ipv4_src_0 */
77 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
78 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
80 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
81 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
82 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_SRC,
83 .direction = TF_DIR_RX,
84 .result_start_idx = 1,
85 .result_bit_size = 32,
86 .result_num_fields = 1,
87 .encap_num_fields = 0,
88 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
89 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
90 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0
92 { /* act_tid: 1, wh_plus, table: int_act_modify_ipv4_dst_0 */
93 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
94 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
96 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
97 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
98 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_DST,
99 .direction = TF_DIR_RX,
100 .result_start_idx = 2,
101 .result_bit_size = 32,
102 .result_num_fields = 1,
103 .encap_num_fields = 0,
104 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
105 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
106 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0
108 { /* act_tid: 1, wh_plus, table: int_encap_mac_record_0 */
109 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
110 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
112 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
113 .direction = TF_DIR_RX,
114 .result_start_idx = 3,
115 .result_bit_size = 0,
116 .result_num_fields = 0,
117 .encap_num_fields = 12,
118 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
119 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
120 .tbl_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR
122 { /* act_tid: 1, wh_plus, table: ext_full_act_record_0 */
123 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
124 .resource_type = TF_TBL_TYPE_EXT,
126 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
127 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,
128 .direction = TF_DIR_RX,
129 .result_start_idx = 15,
130 .result_bit_size = 128,
131 .result_num_fields = 26,
132 .encap_num_fields = 0,
133 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
134 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
135 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
137 { /* act_tid: 1, wh_plus, table: int_full_act_record_0 */
138 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
139 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
141 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
142 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
143 .direction = TF_DIR_RX,
144 .result_start_idx = 41,
145 .result_bit_size = 128,
146 .result_num_fields = 26,
147 .encap_num_fields = 0,
148 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
149 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
150 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
152 { /* act_tid: 2, wh_plus, table: int_flow_counter_tbl_0 */
153 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
154 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
156 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
157 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
158 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
159 .direction = TF_DIR_RX,
160 .result_start_idx = 67,
161 .result_bit_size = 64,
162 .result_num_fields = 1,
163 .encap_num_fields = 0,
164 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
165 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
166 .tbl_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
168 { /* act_tid: 2, wh_plus, table: ext_full_act_record_0 */
169 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
170 .resource_type = TF_TBL_TYPE_EXT,
172 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
173 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,
174 .direction = TF_DIR_RX,
175 .result_start_idx = 68,
176 .result_bit_size = 128,
177 .result_num_fields = 26,
178 .encap_num_fields = 0,
179 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
180 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
181 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
183 { /* act_tid: 2, wh_plus, table: int_full_act_record_0 */
184 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
185 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
187 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
188 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
189 .direction = TF_DIR_RX,
190 .result_start_idx = 94,
191 .result_bit_size = 128,
192 .result_num_fields = 26,
193 .encap_num_fields = 0,
194 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
195 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
196 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
198 { /* act_tid: 3, wh_plus, table: int_flow_counter_tbl_0 */
199 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
200 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
202 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
203 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
204 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
205 .direction = TF_DIR_RX,
206 .result_start_idx = 120,
207 .result_bit_size = 64,
208 .result_num_fields = 1,
209 .encap_num_fields = 0,
210 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
211 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
212 .tbl_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
214 { /* act_tid: 3, wh_plus, table: ext_full_act_record_0 */
215 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
216 .resource_type = TF_TBL_TYPE_EXT,
218 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
219 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,
220 .direction = TF_DIR_RX,
221 .result_start_idx = 121,
222 .result_bit_size = 128,
223 .result_num_fields = 26,
224 .encap_num_fields = 0,
225 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
226 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
227 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
229 { /* act_tid: 3, wh_plus, table: int_full_act_record_0 */
230 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
231 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
233 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
234 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
235 .direction = TF_DIR_RX,
236 .result_start_idx = 147,
237 .result_bit_size = 128,
238 .result_num_fields = 26,
239 .encap_num_fields = 0,
240 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
241 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
242 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
244 { /* act_tid: 4, wh_plus, table: int_flow_counter_tbl_0 */
245 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
246 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
248 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
249 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
250 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
251 .direction = TF_DIR_TX,
252 .result_start_idx = 173,
253 .result_bit_size = 64,
254 .result_num_fields = 1,
255 .encap_num_fields = 0,
256 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
257 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
258 .tbl_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
260 { /* act_tid: 4, wh_plus, table: int_sp_smac_ipv4_0 */
261 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
262 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
264 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
265 .cond_opcode = BNXT_ULP_COND_OPC_COMP_FIELD_IS_SET,
266 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG,
267 .direction = TF_DIR_TX,
268 .result_start_idx = 174,
269 .result_bit_size = 0,
270 .result_num_fields = 0,
271 .encap_num_fields = 3,
272 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
273 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
274 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR
276 { /* act_tid: 4, wh_plus, table: int_sp_smac_ipv6_0 */
277 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
278 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
280 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
281 .cond_opcode = BNXT_ULP_COND_OPC_COMP_FIELD_IS_SET,
282 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG,
283 .direction = TF_DIR_TX,
284 .result_start_idx = 177,
285 .result_bit_size = 0,
286 .result_num_fields = 0,
287 .encap_num_fields = 3,
288 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
289 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
290 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR
292 { /* act_tid: 4, wh_plus, table: int_tun_encap_record_0 */
293 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
294 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
296 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
297 .direction = TF_DIR_TX,
298 .result_start_idx = 180,
299 .result_bit_size = 0,
300 .result_num_fields = 0,
301 .encap_num_fields = 12,
302 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
303 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
304 .tbl_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0
306 { /* act_tid: 4, wh_plus, table: ext_full_act_record_0 */
307 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
308 .resource_type = TF_TBL_TYPE_EXT,
310 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
311 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,
312 .direction = TF_DIR_TX,
313 .result_start_idx = 192,
314 .result_bit_size = 128,
315 .result_num_fields = 26,
316 .encap_num_fields = 12,
317 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
318 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
319 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
321 { /* act_tid: 4, wh_plus, table: int_full_act_record_0 */
322 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
323 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
325 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
326 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
327 .direction = TF_DIR_TX,
328 .result_start_idx = 230,
329 .result_bit_size = 128,
330 .result_num_fields = 26,
331 .encap_num_fields = 0,
332 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
333 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
334 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
336 { /* act_tid: 5, wh_plus, 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 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
342 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
343 .direction = TF_DIR_TX,
344 .result_start_idx = 256,
345 .result_bit_size = 64,
346 .result_num_fields = 1,
347 .encap_num_fields = 0,
348 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
349 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
350 .tbl_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
352 { /* act_tid: 5, wh_plus, table: int_act_modify_ipv4_src_0 */
353 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
354 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
356 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
357 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
358 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_SRC,
359 .direction = TF_DIR_TX,
360 .result_start_idx = 257,
361 .result_bit_size = 32,
362 .result_num_fields = 1,
363 .encap_num_fields = 0,
364 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
365 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
366 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0
368 { /* act_tid: 5, wh_plus, table: int_act_modify_ipv4_dst_0 */
369 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
370 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
372 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
373 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
374 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_DST,
375 .direction = TF_DIR_TX,
376 .result_start_idx = 258,
377 .result_bit_size = 32,
378 .result_num_fields = 1,
379 .encap_num_fields = 0,
380 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
381 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
382 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0
384 { /* act_tid: 5, wh_plus, table: int_encap_mac_record_0 */
385 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
386 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
388 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
389 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
390 .direction = TF_DIR_TX,
391 .result_start_idx = 259,
392 .result_bit_size = 0,
393 .result_num_fields = 0,
394 .encap_num_fields = 12,
395 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
396 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
397 .tbl_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR
399 { /* act_tid: 5, wh_plus, table: int_full_act_record_0 */
400 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
401 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
403 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
404 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
405 .direction = TF_DIR_TX,
406 .result_start_idx = 271,
407 .result_bit_size = 128,
408 .result_num_fields = 26,
409 .encap_num_fields = 0,
410 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
411 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
412 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
414 { /* act_tid: 5, wh_plus, table: ext_full_act_record_0 */
415 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
416 .resource_type = TF_TBL_TYPE_EXT,
418 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
419 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,
420 .direction = TF_DIR_TX,
421 .result_start_idx = 297,
422 .result_bit_size = 128,
423 .result_num_fields = 26,
424 .encap_num_fields = 11,
425 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
426 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
427 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
429 { /* act_tid: 6, wh_plus, table: int_flow_counter_tbl_0 */
430 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
431 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
433 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
434 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
435 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
436 .direction = TF_DIR_TX,
437 .result_start_idx = 334,
438 .result_bit_size = 64,
439 .result_num_fields = 1,
440 .encap_num_fields = 0,
441 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
442 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
443 .tbl_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
445 { /* act_tid: 6, wh_plus, table: int_vtag_encap_record_0 */
446 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
447 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
449 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
450 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
451 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
452 .cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,
453 .direction = TF_DIR_TX,
454 .result_start_idx = 335,
455 .result_bit_size = 0,
456 .result_num_fields = 0,
457 .encap_num_fields = 12,
458 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
459 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
460 .tbl_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0
462 { /* act_tid: 6, wh_plus, table: int_full_act_record_0 */
463 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
464 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
466 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
467 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
468 .direction = TF_DIR_TX,
469 .result_start_idx = 347,
470 .result_bit_size = 128,
471 .result_num_fields = 26,
472 .encap_num_fields = 0,
473 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
474 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
475 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
477 { /* act_tid: 6, wh_plus, table: ext_full_act_record_no_tag_0 */
478 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
479 .resource_type = TF_TBL_TYPE_EXT,
481 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
482 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,
483 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_NOT_SET,
484 .cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,
485 .direction = TF_DIR_TX,
486 .result_start_idx = 373,
487 .result_bit_size = 128,
488 .result_num_fields = 26,
489 .encap_num_fields = 0,
490 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
491 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
492 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
494 { /* act_tid: 6, wh_plus, table: ext_full_act_record_one_tag_0 */
495 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
496 .resource_type = TF_TBL_TYPE_EXT,
498 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
499 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,
500 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
501 .cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,
502 .direction = TF_DIR_TX,
503 .result_start_idx = 399,
504 .result_bit_size = 128,
505 .result_num_fields = 26,
506 .encap_num_fields = 11,
507 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
508 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
509 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
513 struct bnxt_ulp_mapper_result_field_info ulp_wh_plus_act_result_field_list[] = {
514 /* act_tid: 1, wh_plus, table: int_flow_counter_tbl_0 */
516 .description = "count",
517 .field_bit_size = 64,
518 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
520 /* act_tid: 1, wh_plus, table: int_act_modify_ipv4_src_0 */
522 .description = "ipv4_addr",
523 .field_bit_size = 32,
524 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
526 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
527 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,
528 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
529 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
531 /* act_tid: 1, wh_plus, table: int_act_modify_ipv4_dst_0 */
533 .description = "ipv4_addr",
534 .field_bit_size = 32,
535 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
537 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
538 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,
539 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
540 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
542 /* act_tid: 1, wh_plus, table: int_encap_mac_record_0 */
544 .description = "ecv_tun_type",
546 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
549 .description = "ecv_l4_type",
551 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
554 .description = "ecv_l3_type",
556 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
559 .description = "ecv_l2_en",
561 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
563 BNXT_ULP_SYM_ECV_L2_EN_YES,
564 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
565 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
568 .description = "ecv_vtag_type",
570 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
573 .description = "ecv_custom_en",
575 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
578 .description = "ecv_valid",
580 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
581 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
582 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
585 .description = "vtag_tpid",
586 .field_bit_size = 16,
587 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
590 .description = "vtag_vid",
591 .field_bit_size = 12,
592 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
595 .description = "vtag_de",
597 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
600 .description = "vtag_pcp",
602 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
605 .description = "spare",
606 .field_bit_size = 80,
607 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
609 /* act_tid: 1, wh_plus, table: ext_full_act_record_0 */
611 .description = "flow_cntr_ptr",
612 .field_bit_size = 14,
613 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
615 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
616 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
617 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
618 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
621 .description = "age_enable",
623 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
626 .description = "agg_cntr_en",
628 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
631 .description = "rate_cntr_en",
633 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
636 .description = "flow_cntr_en",
638 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
640 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
641 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
642 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
643 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
644 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
645 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
646 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
647 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
648 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
651 .description = "flow_cntr_ext",
653 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
656 .description = "tcpflags_key",
658 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
661 .description = "tcpflags_mir",
663 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
666 .description = "tcpflags_match",
668 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
671 .description = "encap_ptr",
672 .field_bit_size = 11,
673 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
675 (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
676 BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
677 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
678 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
681 .description = "encap_rec_int",
683 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
684 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
685 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
688 .description = "dst_ip_ptr",
689 .field_bit_size = 10,
690 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
692 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
693 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
694 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
695 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
698 .description = "tcp_dst_port",
699 .field_bit_size = 16,
700 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
702 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
703 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
704 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
705 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
706 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
707 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
708 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
709 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
710 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
711 .result_operand_true = {
712 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
713 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
714 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
715 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
718 .description = "src_ip_ptr",
719 .field_bit_size = 10,
720 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
722 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
723 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
724 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
725 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
728 .description = "tcp_src_port",
729 .field_bit_size = 16,
730 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
732 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
733 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
734 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
735 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
736 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
737 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
738 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
739 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
740 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
741 .result_operand_true = {
742 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
743 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
744 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
745 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
748 .description = "meter_id",
749 .field_bit_size = 10,
750 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
753 .description = "l3_rdir",
755 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
758 .description = "tl3_rdir",
760 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
763 .description = "l3_ttl_dec",
765 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
767 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
768 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
769 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
770 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
773 .description = "tl3_ttl_dec",
775 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
777 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
778 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
779 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
780 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
783 .description = "decap_func",
785 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
787 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
788 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
789 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
790 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
791 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
792 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
793 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
794 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
795 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
796 .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
797 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
798 .result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
799 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
802 .description = "vnic_or_vport",
803 .field_bit_size = 12,
804 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
806 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
807 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
808 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
809 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
812 .description = "pop_vlan",
814 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
817 .description = "meter",
819 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
822 .description = "mirror",
824 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
827 .description = "drop",
829 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
831 /* act_tid: 1, wh_plus, table: int_full_act_record_0 */
833 .description = "flow_cntr_ptr",
834 .field_bit_size = 14,
835 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
837 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
838 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
839 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
840 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
843 .description = "age_enable",
845 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
848 .description = "agg_cntr_en",
850 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
853 .description = "rate_cntr_en",
855 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
858 .description = "flow_cntr_en",
860 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
862 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
863 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
864 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
865 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
866 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
867 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
868 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
869 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
870 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
873 .description = "tcpflags_key",
875 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
878 .description = "tcpflags_mir",
880 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
883 .description = "tcpflags_match",
885 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
888 .description = "encap_ptr",
889 .field_bit_size = 11,
890 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
892 (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
893 BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
894 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
895 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
898 .description = "dst_ip_ptr",
899 .field_bit_size = 10,
900 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
902 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
903 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
904 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
905 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
908 .description = "tcp_dst_port",
909 .field_bit_size = 16,
910 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
912 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
913 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
914 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
915 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
916 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
917 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
918 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
919 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
920 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
921 .result_operand_true = {
922 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
923 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
924 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
925 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
928 .description = "src_ip_ptr",
929 .field_bit_size = 10,
930 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
932 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
933 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
934 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
935 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
938 .description = "tcp_src_port",
939 .field_bit_size = 16,
940 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
942 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
943 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
944 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
945 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
946 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
947 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
948 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
949 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
950 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
951 .result_operand_true = {
952 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
953 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
954 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
955 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
958 .description = "meter_id",
959 .field_bit_size = 10,
960 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
963 .description = "l3_rdir",
965 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
968 .description = "tl3_rdir",
970 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
973 .description = "l3_ttl_dec",
975 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
977 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
978 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
979 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
980 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
983 .description = "tl3_ttl_dec",
985 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
987 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
988 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
989 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
990 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
993 .description = "decap_func",
995 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
997 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
998 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
999 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
1000 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
1001 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
1002 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
1003 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
1004 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
1005 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1006 .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
1007 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1008 .result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
1009 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1012 .description = "vnic_or_vport",
1013 .field_bit_size = 12,
1014 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1016 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1017 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1018 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1019 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1022 .description = "pop_vlan",
1023 .field_bit_size = 1,
1024 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1027 .description = "meter",
1028 .field_bit_size = 1,
1029 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1032 .description = "mirror",
1033 .field_bit_size = 2,
1034 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1037 .description = "drop",
1038 .field_bit_size = 1,
1039 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1042 .description = "hit",
1043 .field_bit_size = 1,
1044 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1047 .description = "type",
1048 .field_bit_size = 1,
1049 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1051 /* act_tid: 2, wh_plus, table: int_flow_counter_tbl_0 */
1053 .description = "count",
1054 .field_bit_size = 64,
1055 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1057 /* act_tid: 2, wh_plus, table: ext_full_act_record_0 */
1059 .description = "flow_cntr_ptr",
1060 .field_bit_size = 14,
1061 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1063 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1064 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1065 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1066 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1069 .description = "age_enable",
1070 .field_bit_size = 1,
1071 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1074 .description = "agg_cntr_en",
1075 .field_bit_size = 1,
1076 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1079 .description = "rate_cntr_en",
1080 .field_bit_size = 1,
1081 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1084 .description = "flow_cntr_en",
1085 .field_bit_size = 1,
1086 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1088 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1089 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1090 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1091 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1092 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1093 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1094 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1095 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1096 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1099 .description = "flow_cntr_ext",
1100 .field_bit_size = 1,
1101 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1104 .description = "tcpflags_key",
1105 .field_bit_size = 8,
1106 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1109 .description = "tcpflags_mir",
1110 .field_bit_size = 1,
1111 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1114 .description = "tcpflags_match",
1115 .field_bit_size = 1,
1116 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1119 .description = "encap_ptr",
1120 .field_bit_size = 11,
1121 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1124 .description = "encap_rec_int",
1125 .field_bit_size = 1,
1126 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1129 .description = "dst_ip_ptr",
1130 .field_bit_size = 10,
1131 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1133 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
1134 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
1135 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1136 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1139 .description = "tcp_dst_port",
1140 .field_bit_size = 16,
1141 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1143 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
1144 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
1145 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
1146 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
1147 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
1148 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
1149 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
1150 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
1151 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1152 .result_operand_true = {
1153 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
1154 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
1155 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1156 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1159 .description = "src_ip_ptr",
1160 .field_bit_size = 10,
1161 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1163 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
1164 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
1165 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1166 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1169 .description = "tcp_src_port",
1170 .field_bit_size = 16,
1171 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1173 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
1174 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
1175 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
1176 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
1177 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
1178 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
1179 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
1180 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
1181 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1182 .result_operand_true = {
1183 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
1184 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
1185 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1186 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1189 .description = "meter_id",
1190 .field_bit_size = 10,
1191 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1194 .description = "l3_rdir",
1195 .field_bit_size = 1,
1196 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1199 .description = "tl3_rdir",
1200 .field_bit_size = 1,
1201 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1204 .description = "l3_ttl_dec",
1205 .field_bit_size = 1,
1206 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1208 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1209 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
1210 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1211 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1214 .description = "tl3_ttl_dec",
1215 .field_bit_size = 1,
1216 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1218 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1219 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
1220 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1221 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1224 .description = "decap_func",
1225 .field_bit_size = 4,
1226 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
1228 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
1229 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
1230 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
1231 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
1232 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
1233 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
1234 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
1235 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
1236 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1237 .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
1238 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1241 .description = "vnic_or_vport",
1242 .field_bit_size = 12,
1243 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1245 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1246 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1248 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1251 .description = "pop_vlan",
1252 .field_bit_size = 1,
1253 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1255 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1256 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1257 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1258 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1259 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1260 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1261 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1262 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1263 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1266 .description = "meter",
1267 .field_bit_size = 1,
1268 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1271 .description = "mirror",
1272 .field_bit_size = 2,
1273 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1276 .description = "drop",
1277 .field_bit_size = 1,
1278 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1280 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
1281 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
1282 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
1283 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
1284 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
1285 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
1286 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
1287 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
1288 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1290 /* act_tid: 2, wh_plus, table: int_full_act_record_0 */
1292 .description = "flow_cntr_ptr",
1293 .field_bit_size = 14,
1294 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1296 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1297 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1298 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1299 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1302 .description = "age_enable",
1303 .field_bit_size = 1,
1304 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1307 .description = "agg_cntr_en",
1308 .field_bit_size = 1,
1309 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1312 .description = "rate_cntr_en",
1313 .field_bit_size = 1,
1314 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1317 .description = "flow_cntr_en",
1318 .field_bit_size = 1,
1319 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1321 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1322 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1323 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1324 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1325 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1326 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1327 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1328 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1329 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1332 .description = "tcpflags_key",
1333 .field_bit_size = 8,
1334 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1337 .description = "tcpflags_mir",
1338 .field_bit_size = 1,
1339 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1342 .description = "tcpflags_match",
1343 .field_bit_size = 1,
1344 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1347 .description = "encap_ptr",
1348 .field_bit_size = 11,
1349 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1351 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
1352 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
1353 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1354 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1357 .description = "dst_ip_ptr",
1358 .field_bit_size = 10,
1359 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1361 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
1362 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
1363 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1364 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1367 .description = "tcp_dst_port",
1368 .field_bit_size = 16,
1369 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1371 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
1372 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
1373 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
1374 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
1375 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
1376 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
1377 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
1378 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
1379 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1380 .result_operand_true = {
1381 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
1382 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
1383 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1384 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1387 .description = "src_ip_ptr",
1388 .field_bit_size = 10,
1389 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1391 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
1392 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
1393 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1394 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1397 .description = "tcp_src_port",
1398 .field_bit_size = 16,
1399 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1401 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
1402 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
1403 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
1404 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
1405 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
1406 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
1407 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
1408 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
1409 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1410 .result_operand_true = {
1411 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
1412 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
1413 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1414 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1417 .description = "meter_id",
1418 .field_bit_size = 10,
1419 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1422 .description = "l3_rdir",
1423 .field_bit_size = 1,
1424 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1427 .description = "tl3_rdir",
1428 .field_bit_size = 1,
1429 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1432 .description = "l3_ttl_dec",
1433 .field_bit_size = 1,
1434 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1436 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1437 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
1438 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1439 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1442 .description = "tl3_ttl_dec",
1443 .field_bit_size = 1,
1444 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1446 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1447 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
1448 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1449 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1452 .description = "decap_func",
1453 .field_bit_size = 4,
1454 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
1456 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
1457 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
1458 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
1459 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
1460 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
1461 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
1462 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
1463 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
1464 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1465 .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
1466 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1469 .description = "vnic_or_vport",
1470 .field_bit_size = 12,
1471 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1473 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1474 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1475 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1476 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1479 .description = "pop_vlan",
1480 .field_bit_size = 1,
1481 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1483 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1484 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1485 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1486 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1487 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1488 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1489 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1490 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1491 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1494 .description = "meter",
1495 .field_bit_size = 1,
1496 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1499 .description = "mirror",
1500 .field_bit_size = 2,
1501 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1504 .description = "drop",
1505 .field_bit_size = 1,
1506 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1508 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
1509 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
1510 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
1511 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
1512 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
1513 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
1514 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
1515 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
1516 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1519 .description = "hit",
1520 .field_bit_size = 1,
1521 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1524 .description = "type",
1525 .field_bit_size = 1,
1526 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1528 /* act_tid: 3, wh_plus, table: int_flow_counter_tbl_0 */
1530 .description = "count",
1531 .field_bit_size = 64,
1532 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1534 /* act_tid: 3, wh_plus, table: ext_full_act_record_0 */
1536 .description = "flow_cntr_ptr",
1537 .field_bit_size = 14,
1538 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1540 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1541 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1542 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1543 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1546 .description = "age_enable",
1547 .field_bit_size = 1,
1548 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1551 .description = "agg_cntr_en",
1552 .field_bit_size = 1,
1553 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1556 .description = "rate_cntr_en",
1557 .field_bit_size = 1,
1558 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1561 .description = "flow_cntr_en",
1562 .field_bit_size = 1,
1563 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1565 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1566 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1567 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1568 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1569 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1570 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1571 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1572 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1573 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1576 .description = "flow_cntr_ext",
1577 .field_bit_size = 1,
1578 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1581 .description = "tcpflags_key",
1582 .field_bit_size = 8,
1583 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1586 .description = "tcpflags_mir",
1587 .field_bit_size = 1,
1588 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1591 .description = "tcpflags_match",
1592 .field_bit_size = 1,
1593 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1596 .description = "encap_ptr",
1597 .field_bit_size = 11,
1598 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1601 .description = "encap_rec_int",
1602 .field_bit_size = 1,
1603 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1606 .description = "dst_ip_ptr",
1607 .field_bit_size = 10,
1608 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1611 .description = "tcp_dst_port",
1612 .field_bit_size = 16,
1613 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1616 .description = "src_ip_ptr",
1617 .field_bit_size = 10,
1618 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1621 .description = "tcp_src_port",
1622 .field_bit_size = 16,
1623 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1626 .description = "meter_id",
1627 .field_bit_size = 10,
1628 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1631 .description = "l3_rdir",
1632 .field_bit_size = 1,
1633 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1636 .description = "tl3_rdir",
1637 .field_bit_size = 1,
1638 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1641 .description = "l3_ttl_dec",
1642 .field_bit_size = 1,
1643 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1646 .description = "tl3_ttl_dec",
1647 .field_bit_size = 1,
1648 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1651 .description = "decap_func",
1652 .field_bit_size = 4,
1653 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
1655 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
1656 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
1657 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
1658 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
1659 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
1660 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
1661 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
1662 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
1663 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1664 .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
1665 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1668 .description = "vnic_or_vport",
1669 .field_bit_size = 12,
1670 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1672 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1673 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1674 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1675 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1678 .description = "pop_vlan",
1679 .field_bit_size = 1,
1680 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1682 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1683 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1684 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1685 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1686 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1687 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1688 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1689 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1690 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1693 .description = "meter",
1694 .field_bit_size = 1,
1695 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1698 .description = "mirror",
1699 .field_bit_size = 2,
1700 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1703 .description = "drop",
1704 .field_bit_size = 1,
1705 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1707 /* act_tid: 3, wh_plus, table: int_full_act_record_0 */
1709 .description = "flow_cntr_ptr",
1710 .field_bit_size = 14,
1711 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1713 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1714 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1715 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1716 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1719 .description = "age_enable",
1720 .field_bit_size = 1,
1721 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1724 .description = "agg_cntr_en",
1725 .field_bit_size = 1,
1726 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1729 .description = "rate_cntr_en",
1730 .field_bit_size = 1,
1731 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1734 .description = "flow_cntr_en",
1735 .field_bit_size = 1,
1736 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1738 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1739 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1740 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1741 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1742 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1743 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1744 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1745 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1746 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1749 .description = "tcpflags_key",
1750 .field_bit_size = 8,
1751 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1754 .description = "tcpflags_mir",
1755 .field_bit_size = 1,
1756 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1759 .description = "tcpflags_match",
1760 .field_bit_size = 1,
1761 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1764 .description = "encap_ptr",
1765 .field_bit_size = 11,
1766 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1769 .description = "dst_ip_ptr",
1770 .field_bit_size = 10,
1771 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1774 .description = "tcp_dst_port",
1775 .field_bit_size = 16,
1776 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1779 .description = "src_ip_ptr",
1780 .field_bit_size = 10,
1781 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1784 .description = "tcp_src_port",
1785 .field_bit_size = 16,
1786 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1789 .description = "meter_id",
1790 .field_bit_size = 10,
1791 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1794 .description = "l3_rdir",
1795 .field_bit_size = 1,
1796 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1799 .description = "tl3_rdir",
1800 .field_bit_size = 1,
1801 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1804 .description = "l3_ttl_dec",
1805 .field_bit_size = 1,
1806 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1809 .description = "tl3_ttl_dec",
1810 .field_bit_size = 1,
1811 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1814 .description = "decap_func",
1815 .field_bit_size = 4,
1816 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
1818 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
1819 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
1820 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
1821 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
1822 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
1823 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
1824 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
1825 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
1826 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1827 .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
1828 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1831 .description = "vnic_or_vport",
1832 .field_bit_size = 12,
1833 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1835 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1836 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1837 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1838 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1841 .description = "pop_vlan",
1842 .field_bit_size = 1,
1843 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1845 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1846 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1847 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1848 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1849 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1850 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1851 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1852 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1853 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1856 .description = "meter",
1857 .field_bit_size = 1,
1858 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1861 .description = "mirror",
1862 .field_bit_size = 2,
1863 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1866 .description = "drop",
1867 .field_bit_size = 1,
1868 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1871 .description = "hit",
1872 .field_bit_size = 1,
1873 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1876 .description = "type",
1877 .field_bit_size = 1,
1878 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1880 /* act_tid: 4, wh_plus, table: int_flow_counter_tbl_0 */
1882 .description = "count",
1883 .field_bit_size = 64,
1884 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1886 /* act_tid: 4, wh_plus, table: int_sp_smac_ipv4_0 */
1888 .description = "smac",
1889 .field_bit_size = 48,
1890 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1892 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
1893 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
1894 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1895 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1898 .description = "ipv4_src_addr",
1899 .field_bit_size = 32,
1900 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1902 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
1903 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
1904 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1905 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1908 .description = "reserved",
1909 .field_bit_size = 48,
1910 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1912 /* act_tid: 4, wh_plus, table: int_sp_smac_ipv6_0 */
1914 .description = "smac",
1915 .field_bit_size = 48,
1916 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1918 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
1919 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
1920 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1921 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1924 .description = "ipv6_src_addr",
1925 .field_bit_size = 128,
1926 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1928 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
1929 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
1930 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1931 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1934 .description = "reserved",
1935 .field_bit_size = 16,
1936 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1938 /* act_tid: 4, wh_plus, table: int_tun_encap_record_0 */
1940 .description = "ecv_tun_type",
1941 .field_bit_size = 3,
1942 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1944 BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,
1945 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1946 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1949 .description = "ecv_l4_type",
1950 .field_bit_size = 3,
1951 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1953 BNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,
1954 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1955 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1958 .description = "ecv_l3_type",
1959 .field_bit_size = 3,
1960 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1962 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
1963 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,
1964 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1965 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1968 .description = "ecv_l2_en",
1969 .field_bit_size = 1,
1970 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1971 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1972 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1975 .description = "ecv_vtag_type",
1976 .field_bit_size = 4,
1977 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1979 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
1980 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,
1981 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1982 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1985 .description = "ecv_custom_en",
1986 .field_bit_size = 1,
1987 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1990 .description = "ecv_valid",
1991 .field_bit_size = 1,
1992 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1993 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1994 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1997 .description = "encap_l2_dmac",
1998 .field_bit_size = 48,
1999 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2001 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
2002 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,
2003 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2004 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2007 .description = "encap_vtag",
2008 .field_bit_size = 0,
2009 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2011 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
2012 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
2013 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
2014 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,
2015 0x00, 0x00, 0x00, 0x00, 0x00,
2016 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2019 .description = "encap_ip",
2020 .field_bit_size = 0,
2021 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2023 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
2024 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
2025 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
2026 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,
2027 0x00, 0x00, 0x00, 0x00, 0x00,
2028 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2031 .description = "encap_udp",
2032 .field_bit_size = 32,
2033 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2035 (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
2036 BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,
2037 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2038 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2041 .description = "encap_tun",
2042 .field_bit_size = 0,
2043 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2045 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
2046 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,
2047 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,
2048 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,
2049 0x00, 0x00, 0x00, 0x00, 0x00,
2050 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2052 /* act_tid: 4, wh_plus, table: ext_full_act_record_0 */
2054 .description = "flow_cntr_ptr",
2055 .field_bit_size = 14,
2056 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2058 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2059 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2060 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2061 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2064 .description = "age_enable",
2065 .field_bit_size = 1,
2066 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2069 .description = "agg_cntr_en",
2070 .field_bit_size = 1,
2071 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2074 .description = "rate_cntr_en",
2075 .field_bit_size = 1,
2076 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2079 .description = "flow_cntr_en",
2080 .field_bit_size = 1,
2081 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2083 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2084 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2085 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2086 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2087 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2088 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2089 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2090 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2091 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2094 .description = "flow_cntr_ext",
2095 .field_bit_size = 1,
2096 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2099 .description = "tcpflags_key",
2100 .field_bit_size = 8,
2101 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2104 .description = "tcpflags_mir",
2105 .field_bit_size = 1,
2106 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2109 .description = "tcpflags_match",
2110 .field_bit_size = 1,
2111 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2114 .description = "encap_ptr",
2115 .field_bit_size = 11,
2116 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2119 .description = "encap_rec_int",
2120 .field_bit_size = 1,
2121 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2124 .description = "dst_ip_ptr",
2125 .field_bit_size = 10,
2126 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2129 .description = "tcp_dst_port",
2130 .field_bit_size = 16,
2131 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2134 .description = "src_ip_ptr",
2135 .field_bit_size = 10,
2136 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2139 .description = "tcp_src_port",
2140 .field_bit_size = 16,
2141 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2144 .description = "meter_id",
2145 .field_bit_size = 10,
2146 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2149 .description = "l3_rdir",
2150 .field_bit_size = 1,
2151 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2154 .description = "tl3_rdir",
2155 .field_bit_size = 1,
2156 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2159 .description = "l3_ttl_dec",
2160 .field_bit_size = 1,
2161 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2164 .description = "tl3_ttl_dec",
2165 .field_bit_size = 1,
2166 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2169 .description = "decap_func",
2170 .field_bit_size = 4,
2171 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2174 .description = "vnic_or_vport",
2175 .field_bit_size = 12,
2176 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2178 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2179 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2180 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2181 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2184 .description = "pop_vlan",
2185 .field_bit_size = 1,
2186 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2189 .description = "meter",
2190 .field_bit_size = 1,
2191 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2194 .description = "mirror",
2195 .field_bit_size = 2,
2196 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2199 .description = "drop",
2200 .field_bit_size = 1,
2201 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2204 .description = "ecv_tun_type",
2205 .field_bit_size = 3,
2206 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2208 BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,
2209 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2210 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2213 .description = "ecv_l4_type",
2214 .field_bit_size = 3,
2215 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2217 BNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,
2218 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2219 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2222 .description = "ecv_l3_type",
2223 .field_bit_size = 3,
2224 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2226 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
2227 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,
2228 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2229 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2232 .description = "ecv_l2_en",
2233 .field_bit_size = 1,
2234 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2235 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2236 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2239 .description = "ecv_vtag_type",
2240 .field_bit_size = 4,
2241 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2243 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
2244 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,
2245 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2246 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2249 .description = "ecv_custom_en",
2250 .field_bit_size = 1,
2251 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2254 .description = "ecv_valid",
2255 .field_bit_size = 1,
2256 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2257 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2258 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2261 .description = "encap_l2_dmac",
2262 .field_bit_size = 48,
2263 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2265 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
2266 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,
2267 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2268 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2271 .description = "encap_vtag",
2272 .field_bit_size = 0,
2273 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2275 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
2276 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
2277 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
2278 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,
2279 0x00, 0x00, 0x00, 0x00, 0x00,
2280 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2283 .description = "encap_ip",
2284 .field_bit_size = 0,
2285 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2287 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
2288 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
2289 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
2290 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,
2291 0x00, 0x00, 0x00, 0x00, 0x00,
2292 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2295 .description = "encap_udp",
2296 .field_bit_size = 32,
2297 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2299 (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
2300 BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,
2301 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2302 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2305 .description = "encap_tun",
2306 .field_bit_size = 0,
2307 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2309 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
2310 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,
2311 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,
2312 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,
2313 0x00, 0x00, 0x00, 0x00, 0x00,
2314 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2316 /* act_tid: 4, wh_plus, table: int_full_act_record_0 */
2318 .description = "flow_cntr_ptr",
2319 .field_bit_size = 14,
2320 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2322 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2323 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2324 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2325 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2328 .description = "age_enable",
2329 .field_bit_size = 1,
2330 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2333 .description = "agg_cntr_en",
2334 .field_bit_size = 1,
2335 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2338 .description = "rate_cntr_en",
2339 .field_bit_size = 1,
2340 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2343 .description = "flow_cntr_en",
2344 .field_bit_size = 1,
2345 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2347 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2348 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2349 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2350 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2351 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2352 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2353 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2354 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2355 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2358 .description = "tcpflags_key",
2359 .field_bit_size = 8,
2360 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2363 .description = "tcpflags_mir",
2364 .field_bit_size = 1,
2365 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2368 .description = "tcpflags_match",
2369 .field_bit_size = 1,
2370 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2373 .description = "encap_ptr",
2374 .field_bit_size = 11,
2375 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2377 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
2378 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
2379 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2380 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2383 .description = "dst_ip_ptr",
2384 .field_bit_size = 10,
2385 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2388 .description = "tcp_dst_port",
2389 .field_bit_size = 16,
2390 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2393 .description = "src_ip_ptr",
2394 .field_bit_size = 10,
2395 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2398 .description = "tcp_src_port",
2399 .field_bit_size = 16,
2400 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2403 .description = "meter_id",
2404 .field_bit_size = 10,
2405 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2408 .description = "l3_rdir",
2409 .field_bit_size = 1,
2410 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2413 .description = "tl3_rdir",
2414 .field_bit_size = 1,
2415 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2418 .description = "l3_ttl_dec",
2419 .field_bit_size = 1,
2420 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2423 .description = "tl3_ttl_dec",
2424 .field_bit_size = 1,
2425 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2428 .description = "decap_func",
2429 .field_bit_size = 4,
2430 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2433 .description = "vnic_or_vport",
2434 .field_bit_size = 12,
2435 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2437 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2438 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2439 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2440 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2443 .description = "pop_vlan",
2444 .field_bit_size = 1,
2445 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2448 .description = "meter",
2449 .field_bit_size = 1,
2450 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2453 .description = "mirror",
2454 .field_bit_size = 2,
2455 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2458 .description = "drop",
2459 .field_bit_size = 1,
2460 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2463 .description = "hit",
2464 .field_bit_size = 1,
2465 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2468 .description = "type",
2469 .field_bit_size = 1,
2470 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2472 /* act_tid: 5, wh_plus, table: int_flow_counter_tbl_0 */
2474 .description = "count",
2475 .field_bit_size = 64,
2476 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2478 /* act_tid: 5, wh_plus, table: int_act_modify_ipv4_src_0 */
2480 .description = "ipv4_addr",
2481 .field_bit_size = 32,
2482 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2484 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
2485 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,
2486 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2487 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2489 /* act_tid: 5, wh_plus, table: int_act_modify_ipv4_dst_0 */
2491 .description = "ipv4_addr",
2492 .field_bit_size = 32,
2493 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2495 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
2496 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,
2497 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2498 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2500 /* act_tid: 5, wh_plus, table: int_encap_mac_record_0 */
2502 .description = "ecv_tun_type",
2503 .field_bit_size = 3,
2504 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2507 .description = "ecv_l4_type",
2508 .field_bit_size = 3,
2509 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2512 .description = "ecv_l3_type",
2513 .field_bit_size = 3,
2514 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2517 .description = "ecv_l2_en",
2518 .field_bit_size = 1,
2519 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2521 BNXT_ULP_SYM_ECV_L2_EN_YES,
2522 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2523 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2526 .description = "ecv_vtag_type",
2527 .field_bit_size = 4,
2528 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2531 .description = "ecv_custom_en",
2532 .field_bit_size = 1,
2533 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2536 .description = "ecv_valid",
2537 .field_bit_size = 1,
2538 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2539 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2540 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2543 .description = "vtag_tpid",
2544 .field_bit_size = 16,
2545 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2548 .description = "vtag_vid",
2549 .field_bit_size = 12,
2550 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2553 .description = "vtag_de",
2554 .field_bit_size = 1,
2555 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2558 .description = "vtag_pcp",
2559 .field_bit_size = 3,
2560 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2563 .description = "spare",
2564 .field_bit_size = 80,
2565 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2567 /* act_tid: 5, wh_plus, table: int_full_act_record_0 */
2569 .description = "flow_cntr_ptr",
2570 .field_bit_size = 14,
2571 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2573 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2574 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2575 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2576 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2579 .description = "age_enable",
2580 .field_bit_size = 1,
2581 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2584 .description = "agg_cntr_en",
2585 .field_bit_size = 1,
2586 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2589 .description = "rate_cntr_en",
2590 .field_bit_size = 1,
2591 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2594 .description = "flow_cntr_en",
2595 .field_bit_size = 1,
2596 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2598 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2599 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2600 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2601 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2602 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2603 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2604 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2605 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2606 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2609 .description = "tcpflags_key",
2610 .field_bit_size = 8,
2611 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2614 .description = "tcpflags_mir",
2615 .field_bit_size = 1,
2616 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2619 .description = "tcpflags_match",
2620 .field_bit_size = 1,
2621 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2624 .description = "encap_ptr",
2625 .field_bit_size = 11,
2626 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
2628 (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
2629 BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
2630 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2631 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2634 .description = "dst_ip_ptr",
2635 .field_bit_size = 10,
2636 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2638 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
2639 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
2640 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2641 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2644 .description = "tcp_dst_port",
2645 .field_bit_size = 16,
2646 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2648 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
2649 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
2650 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
2651 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
2652 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
2653 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
2654 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
2655 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
2656 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2657 .result_operand_true = {
2658 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
2659 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
2660 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2661 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2664 .description = "src_ip_ptr",
2665 .field_bit_size = 10,
2666 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2668 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
2669 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
2670 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2671 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2674 .description = "tcp_src_port",
2675 .field_bit_size = 16,
2676 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2678 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
2679 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
2680 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
2681 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
2682 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
2683 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
2684 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
2685 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
2686 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2687 .result_operand_true = {
2688 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
2689 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
2690 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2691 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2694 .description = "meter_id",
2695 .field_bit_size = 10,
2696 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2699 .description = "l3_rdir",
2700 .field_bit_size = 1,
2701 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2704 .description = "tl3_rdir",
2705 .field_bit_size = 1,
2706 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2709 .description = "l3_ttl_dec",
2710 .field_bit_size = 1,
2711 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2713 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2714 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
2715 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2716 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2719 .description = "tl3_ttl_dec",
2720 .field_bit_size = 1,
2721 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2723 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2724 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
2725 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2726 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2729 .description = "decap_func",
2730 .field_bit_size = 4,
2731 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
2733 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
2734 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
2735 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
2736 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
2737 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
2738 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
2739 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
2740 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
2741 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2742 .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
2743 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2744 .result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
2745 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2748 .description = "vnic_or_vport",
2749 .field_bit_size = 12,
2750 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2752 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2753 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2754 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2755 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2758 .description = "pop_vlan",
2759 .field_bit_size = 1,
2760 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2763 .description = "meter",
2764 .field_bit_size = 1,
2765 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2768 .description = "mirror",
2769 .field_bit_size = 2,
2770 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2773 .description = "drop",
2774 .field_bit_size = 1,
2775 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2778 .description = "hit",
2779 .field_bit_size = 1,
2780 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2783 .description = "type",
2784 .field_bit_size = 1,
2785 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2787 /* act_tid: 5, wh_plus, table: ext_full_act_record_0 */
2789 .description = "flow_cntr_ptr",
2790 .field_bit_size = 14,
2791 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2793 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2794 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2795 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2796 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2799 .description = "age_enable",
2800 .field_bit_size = 1,
2801 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2804 .description = "agg_cntr_en",
2805 .field_bit_size = 1,
2806 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2809 .description = "rate_cntr_en",
2810 .field_bit_size = 1,
2811 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2814 .description = "flow_cntr_en",
2815 .field_bit_size = 1,
2816 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2818 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2819 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2820 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2821 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2822 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2823 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2824 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2825 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2826 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2829 .description = "flow_cntr_ext",
2830 .field_bit_size = 1,
2831 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2834 .description = "tcpflags_key",
2835 .field_bit_size = 8,
2836 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2839 .description = "tcpflags_mir",
2840 .field_bit_size = 1,
2841 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2844 .description = "tcpflags_match",
2845 .field_bit_size = 1,
2846 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2849 .description = "encap_ptr",
2850 .field_bit_size = 11,
2851 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2854 .description = "encap_rec_int",
2855 .field_bit_size = 1,
2856 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2859 .description = "dst_ip_ptr",
2860 .field_bit_size = 10,
2861 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2863 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
2864 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
2865 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2866 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2869 .description = "tcp_dst_port",
2870 .field_bit_size = 16,
2871 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2873 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
2874 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
2875 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
2876 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
2877 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
2878 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
2879 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
2880 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
2881 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2882 .result_operand_true = {
2883 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
2884 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
2885 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2886 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2889 .description = "src_ip_ptr",
2890 .field_bit_size = 10,
2891 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2893 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
2894 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
2895 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2896 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2899 .description = "tcp_src_port",
2900 .field_bit_size = 16,
2901 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2903 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
2904 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
2905 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
2906 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
2907 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
2908 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
2909 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
2910 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
2911 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2912 .result_operand_true = {
2913 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
2914 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
2915 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2916 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2919 .description = "meter_id",
2920 .field_bit_size = 10,
2921 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2924 .description = "l3_rdir",
2925 .field_bit_size = 1,
2926 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2929 .description = "tl3_rdir",
2930 .field_bit_size = 1,
2931 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2934 .description = "l3_ttl_dec",
2935 .field_bit_size = 1,
2936 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2938 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2939 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
2940 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2941 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2944 .description = "tl3_ttl_dec",
2945 .field_bit_size = 1,
2946 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2948 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2949 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
2950 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2951 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2954 .description = "decap_func",
2955 .field_bit_size = 4,
2956 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
2958 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
2959 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
2960 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
2961 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
2962 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
2963 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
2964 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
2965 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
2966 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2967 .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
2968 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2969 .result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
2970 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2973 .description = "vnic_or_vport",
2974 .field_bit_size = 12,
2975 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2977 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2978 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2979 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2980 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2983 .description = "pop_vlan",
2984 .field_bit_size = 1,
2985 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2988 .description = "meter",
2989 .field_bit_size = 1,
2990 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2993 .description = "mirror",
2994 .field_bit_size = 2,
2995 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2998 .description = "drop",
2999 .field_bit_size = 1,
3000 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3003 .description = "ecv_tun_type",
3004 .field_bit_size = 3,
3005 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3008 .description = "ecv_l4_type",
3009 .field_bit_size = 3,
3010 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3013 .description = "ecv_l3_type",
3014 .field_bit_size = 3,
3015 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3018 .description = "ecv_l2_en",
3019 .field_bit_size = 1,
3020 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
3022 BNXT_ULP_SYM_ECV_L2_EN_YES,
3023 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3024 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3027 .description = "ecv_vtag_type",
3028 .field_bit_size = 4,
3029 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3032 .description = "ecv_custom_en",
3033 .field_bit_size = 1,
3034 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3037 .description = "ecv_valid",
3038 .field_bit_size = 1,
3039 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
3040 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3041 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3044 .description = "vtag_tpid",
3045 .field_bit_size = 16,
3046 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3049 .description = "vtag_vid",
3050 .field_bit_size = 12,
3051 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3054 .description = "vtag_de",
3055 .field_bit_size = 1,
3056 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3059 .description = "vtag_pcp",
3060 .field_bit_size = 3,
3061 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3063 /* act_tid: 6, wh_plus, table: int_flow_counter_tbl_0 */
3065 .description = "count",
3066 .field_bit_size = 64,
3067 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3069 /* act_tid: 6, wh_plus, table: int_vtag_encap_record_0 */
3071 .description = "ecv_tun_type",
3072 .field_bit_size = 3,
3073 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3076 .description = "ecv_l4_type",
3077 .field_bit_size = 3,
3078 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3081 .description = "ecv_l3_type",
3082 .field_bit_size = 3,
3083 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3086 .description = "ecv_l2_en",
3087 .field_bit_size = 1,
3088 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3091 .description = "ecv_vtag_type",
3092 .field_bit_size = 4,
3093 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
3095 BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,
3096 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3097 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3100 .description = "ecv_custom_en",
3101 .field_bit_size = 1,
3102 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3105 .description = "ecv_valid",
3106 .field_bit_size = 1,
3107 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
3108 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3109 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3112 .description = "vtag_tpid",
3113 .field_bit_size = 16,
3114 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3116 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
3117 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,
3118 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3119 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3122 .description = "vtag_vid",
3123 .field_bit_size = 12,
3124 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3126 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
3127 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,
3128 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3129 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3132 .description = "vtag_de",
3133 .field_bit_size = 1,
3134 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3137 .description = "vtag_pcp",
3138 .field_bit_size = 3,
3139 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3141 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
3142 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,
3143 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3144 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3147 .description = "spare",
3148 .field_bit_size = 80,
3149 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3151 /* act_tid: 6, wh_plus, table: int_full_act_record_0 */
3153 .description = "flow_cntr_ptr",
3154 .field_bit_size = 14,
3155 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
3157 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
3158 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
3159 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3160 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3163 .description = "age_enable",
3164 .field_bit_size = 1,
3165 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3168 .description = "agg_cntr_en",
3169 .field_bit_size = 1,
3170 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3173 .description = "rate_cntr_en",
3174 .field_bit_size = 1,
3175 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3178 .description = "flow_cntr_en",
3179 .field_bit_size = 1,
3180 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3182 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
3183 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
3184 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
3185 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
3186 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
3187 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
3188 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
3189 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
3190 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3193 .description = "tcpflags_key",
3194 .field_bit_size = 8,
3195 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3198 .description = "tcpflags_mir",
3199 .field_bit_size = 1,
3200 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3203 .description = "tcpflags_match",
3204 .field_bit_size = 1,
3205 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3208 .description = "encap_ptr",
3209 .field_bit_size = 11,
3210 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
3212 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
3213 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
3214 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3218 .description = "dst_ip_ptr",
3219 .field_bit_size = 10,
3220 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3223 .description = "tcp_dst_port",
3224 .field_bit_size = 16,
3225 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3228 .description = "src_ip_ptr",
3229 .field_bit_size = 10,
3230 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3233 .description = "tcp_src_port",
3234 .field_bit_size = 16,
3235 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3238 .description = "meter_id",
3239 .field_bit_size = 10,
3240 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3243 .description = "l3_rdir",
3244 .field_bit_size = 1,
3245 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3248 .description = "tl3_rdir",
3249 .field_bit_size = 1,
3250 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3253 .description = "l3_ttl_dec",
3254 .field_bit_size = 1,
3255 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
3257 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3258 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
3259 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3260 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3263 .description = "tl3_ttl_dec",
3264 .field_bit_size = 1,
3265 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
3267 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3268 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
3269 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3270 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3273 .description = "decap_func",
3274 .field_bit_size = 4,
3275 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3278 .description = "vnic_or_vport",
3279 .field_bit_size = 12,
3280 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3282 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3283 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
3284 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3285 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3288 .description = "pop_vlan",
3289 .field_bit_size = 1,
3290 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3293 .description = "meter",
3294 .field_bit_size = 1,
3295 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3298 .description = "mirror",
3299 .field_bit_size = 2,
3300 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3303 .description = "drop",
3304 .field_bit_size = 1,
3305 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3307 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
3308 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
3309 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
3310 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
3311 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
3312 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
3313 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
3314 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
3315 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3318 .description = "hit",
3319 .field_bit_size = 1,
3320 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3323 .description = "type",
3324 .field_bit_size = 1,
3325 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3327 /* act_tid: 6, wh_plus, table: ext_full_act_record_no_tag_0 */
3329 .description = "flow_cntr_ptr",
3330 .field_bit_size = 14,
3331 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
3333 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
3334 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
3335 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3336 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3339 .description = "age_enable",
3340 .field_bit_size = 1,
3341 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3344 .description = "agg_cntr_en",
3345 .field_bit_size = 1,
3346 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3349 .description = "rate_cntr_en",
3350 .field_bit_size = 1,
3351 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3354 .description = "flow_cntr_en",
3355 .field_bit_size = 1,
3356 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3358 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
3359 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
3360 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
3361 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
3362 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
3363 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
3364 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
3365 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
3366 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3369 .description = "flow_cntr_ext",
3370 .field_bit_size = 1,
3371 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3374 .description = "tcpflags_key",
3375 .field_bit_size = 8,
3376 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3379 .description = "tcpflags_mir",
3380 .field_bit_size = 1,
3381 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3384 .description = "tcpflags_match",
3385 .field_bit_size = 1,
3386 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3389 .description = "encap_ptr",
3390 .field_bit_size = 11,
3391 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3394 .description = "encap_rec_int",
3395 .field_bit_size = 1,
3396 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3399 .description = "dst_ip_ptr",
3400 .field_bit_size = 10,
3401 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3404 .description = "tcp_dst_port",
3405 .field_bit_size = 16,
3406 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3409 .description = "src_ip_ptr",
3410 .field_bit_size = 10,
3411 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3414 .description = "tcp_src_port",
3415 .field_bit_size = 16,
3416 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3419 .description = "meter_id",
3420 .field_bit_size = 10,
3421 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3424 .description = "l3_rdir",
3425 .field_bit_size = 1,
3426 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3429 .description = "tl3_rdir",
3430 .field_bit_size = 1,
3431 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3434 .description = "l3_ttl_dec",
3435 .field_bit_size = 1,
3436 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
3438 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3439 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
3440 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3441 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3444 .description = "tl3_ttl_dec",
3445 .field_bit_size = 1,
3446 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
3448 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3449 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
3450 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3451 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3454 .description = "decap_func",
3455 .field_bit_size = 4,
3456 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3459 .description = "vnic_or_vport",
3460 .field_bit_size = 12,
3461 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3463 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3464 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
3465 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3466 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3469 .description = "pop_vlan",
3470 .field_bit_size = 1,
3471 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3474 .description = "meter",
3475 .field_bit_size = 1,
3476 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3479 .description = "mirror",
3480 .field_bit_size = 2,
3481 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3484 .description = "drop",
3485 .field_bit_size = 1,
3486 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3488 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
3489 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
3490 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
3491 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
3492 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
3493 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
3494 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
3495 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
3496 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3498 /* act_tid: 6, wh_plus, table: ext_full_act_record_one_tag_0 */
3500 .description = "flow_cntr_ptr",
3501 .field_bit_size = 14,
3502 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
3504 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
3505 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
3506 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3507 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3510 .description = "age_enable",
3511 .field_bit_size = 1,
3512 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3515 .description = "agg_cntr_en",
3516 .field_bit_size = 1,
3517 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3520 .description = "rate_cntr_en",
3521 .field_bit_size = 1,
3522 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3525 .description = "flow_cntr_en",
3526 .field_bit_size = 1,
3527 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3529 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
3530 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
3531 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
3532 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
3533 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
3534 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
3535 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
3536 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
3537 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3540 .description = "flow_cntr_ext",
3541 .field_bit_size = 1,
3542 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3545 .description = "tcpflags_key",
3546 .field_bit_size = 8,
3547 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3550 .description = "tcpflags_mir",
3551 .field_bit_size = 1,
3552 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3555 .description = "tcpflags_match",
3556 .field_bit_size = 1,
3557 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3560 .description = "encap_ptr",
3561 .field_bit_size = 11,
3562 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3565 .description = "encap_rec_int",
3566 .field_bit_size = 1,
3567 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3570 .description = "dst_ip_ptr",
3571 .field_bit_size = 10,
3572 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3575 .description = "tcp_dst_port",
3576 .field_bit_size = 16,
3577 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3580 .description = "src_ip_ptr",
3581 .field_bit_size = 10,
3582 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3585 .description = "tcp_src_port",
3586 .field_bit_size = 16,
3587 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3590 .description = "meter_id",
3591 .field_bit_size = 10,
3592 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3595 .description = "l3_rdir",
3596 .field_bit_size = 1,
3597 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3600 .description = "tl3_rdir",
3601 .field_bit_size = 1,
3602 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3605 .description = "l3_ttl_dec",
3606 .field_bit_size = 1,
3607 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
3609 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3610 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
3611 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3612 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3615 .description = "tl3_ttl_dec",
3616 .field_bit_size = 1,
3617 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
3619 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3620 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
3621 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3622 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3625 .description = "decap_func",
3626 .field_bit_size = 4,
3627 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3630 .description = "vnic_or_vport",
3631 .field_bit_size = 12,
3632 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3634 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3635 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
3636 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3637 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3640 .description = "pop_vlan",
3641 .field_bit_size = 1,
3642 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3644 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
3645 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
3646 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
3647 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
3648 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
3649 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
3650 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
3651 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
3652 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3655 .description = "meter",
3656 .field_bit_size = 1,
3657 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3660 .description = "mirror",
3661 .field_bit_size = 2,
3662 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3665 .description = "drop",
3666 .field_bit_size = 1,
3667 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3669 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
3670 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
3671 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
3672 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
3673 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
3674 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
3675 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
3676 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
3677 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3680 .description = "ecv_tun_type",
3681 .field_bit_size = 3,
3682 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3685 .description = "ecv_l4_type",
3686 .field_bit_size = 3,
3687 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3690 .description = "ecv_l3_type",
3691 .field_bit_size = 3,
3692 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3695 .description = "ecv_l2_en",
3696 .field_bit_size = 1,
3697 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3700 .description = "ecv_vtag_type",
3701 .field_bit_size = 4,
3702 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
3704 BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,
3705 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3706 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3709 .description = "ecv_custom_en",
3710 .field_bit_size = 1,
3711 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3714 .description = "ecv_valid",
3715 .field_bit_size = 1,
3716 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
3717 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3718 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3721 .description = "vtag_tpid",
3722 .field_bit_size = 16,
3723 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3725 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
3726 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,
3727 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3728 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3731 .description = "vtag_vid",
3732 .field_bit_size = 12,
3733 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3735 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
3736 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,
3737 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3738 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3741 .description = "vtag_de",
3742 .field_bit_size = 1,
3743 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3746 .description = "vtag_pcp",
3747 .field_bit_size = 3,
3748 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3750 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
3751 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,
3752 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3753 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}