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_stingray_act_tmpl_list[] = {
15 /* act-ing-[dec_ttl, count, nat]:1 */
16 /* act_tid: 1, stingray, ingress */
18 .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
22 /* act-ing-[drop, pop_vlan, push_vlan, dec_ttl, count, vxlan_decap]:2 */
23 /* act_tid: 2, stingray, ingress */
25 .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
29 /* act-ing-[mark, rss, count, pop_vlan, vxlan_decap]:3 */
30 /* act_tid: 3, stingray, ingress */
32 .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
36 /* act_egr-[vxlan_encap, count]:4 */
37 /* act_tid: 4, stingray, egress */
39 .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
43 /* act-egr-[dec_ttl, count, nat]:5 */
44 /* act_tid: 5, stingray, egress */
46 .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
50 /* act-egr-[drop, push_vlan, dec_ttl, count]:6 */
51 /* act_tid: 6, stingray, egress */
53 .device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
59 struct bnxt_ulp_mapper_tbl_info ulp_stingray_act_tbl_list[] = {
60 { /* act_tid: 1, stingray, 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, stingray, 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, stingray, 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, stingray, 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 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
114 .direction = TF_DIR_RX,
115 .result_start_idx = 3,
116 .result_bit_size = 0,
117 .result_num_fields = 0,
118 .encap_num_fields = 12,
119 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
120 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
121 .tbl_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR
123 { /* act_tid: 1, stingray, table: ext_full_act_record_0 */
124 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
125 .resource_type = TF_TBL_TYPE_EXT,
127 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
128 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,
129 .direction = TF_DIR_RX,
130 .result_start_idx = 15,
131 .result_bit_size = 128,
132 .result_num_fields = 26,
133 .encap_num_fields = 0,
134 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
135 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
136 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
138 { /* act_tid: 1, stingray, table: int_full_act_record_0 */
139 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
140 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
142 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
143 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
144 .direction = TF_DIR_RX,
145 .result_start_idx = 41,
146 .result_bit_size = 128,
147 .result_num_fields = 26,
148 .encap_num_fields = 0,
149 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
150 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
151 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
153 { /* act_tid: 2, stingray, table: int_flow_counter_tbl_0 */
154 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
155 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
157 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
158 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
159 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
160 .direction = TF_DIR_RX,
161 .result_start_idx = 67,
162 .result_bit_size = 64,
163 .result_num_fields = 1,
164 .encap_num_fields = 0,
165 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
166 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
167 .tbl_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
169 { /* act_tid: 2, stingray, table: ext_full_act_record_0 */
170 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
171 .resource_type = TF_TBL_TYPE_EXT,
173 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
174 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,
175 .direction = TF_DIR_RX,
176 .result_start_idx = 68,
177 .result_bit_size = 128,
178 .result_num_fields = 26,
179 .encap_num_fields = 0,
180 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
181 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
182 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
184 { /* act_tid: 2, stingray, table: int_full_act_record_0 */
185 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
186 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
188 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
189 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
190 .direction = TF_DIR_RX,
191 .result_start_idx = 94,
192 .result_bit_size = 128,
193 .result_num_fields = 26,
194 .encap_num_fields = 0,
195 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
196 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
197 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
199 { /* act_tid: 3, stingray, table: int_flow_counter_tbl_0 */
200 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
201 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
203 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
204 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
205 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
206 .direction = TF_DIR_RX,
207 .result_start_idx = 120,
208 .result_bit_size = 64,
209 .result_num_fields = 1,
210 .encap_num_fields = 0,
211 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
212 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
213 .tbl_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
215 { /* act_tid: 3, stingray, table: ext_full_act_record_0 */
216 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
217 .resource_type = TF_TBL_TYPE_EXT,
219 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
220 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,
221 .direction = TF_DIR_RX,
222 .result_start_idx = 121,
223 .result_bit_size = 128,
224 .result_num_fields = 26,
225 .encap_num_fields = 0,
226 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
227 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
228 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
230 { /* act_tid: 3, stingray, table: int_full_act_record_0 */
231 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
232 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
234 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
235 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
236 .direction = TF_DIR_RX,
237 .result_start_idx = 147,
238 .result_bit_size = 128,
239 .result_num_fields = 26,
240 .encap_num_fields = 0,
241 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
242 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
243 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
245 { /* act_tid: 4, stingray, table: int_flow_counter_tbl_0 */
246 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
247 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
249 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
250 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
251 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
252 .direction = TF_DIR_TX,
253 .result_start_idx = 173,
254 .result_bit_size = 64,
255 .result_num_fields = 1,
256 .encap_num_fields = 0,
257 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
258 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
259 .tbl_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
261 { /* act_tid: 4, stingray, table: int_sp_smac_ipv4_0 */
262 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
263 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
265 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
266 .cond_opcode = BNXT_ULP_COND_OPC_COMP_FIELD_IS_SET,
267 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG,
268 .direction = TF_DIR_TX,
269 .result_start_idx = 174,
270 .result_bit_size = 0,
271 .result_num_fields = 0,
272 .encap_num_fields = 3,
273 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
274 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
275 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR
277 { /* act_tid: 4, stingray, table: int_sp_smac_ipv6_0 */
278 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
279 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
281 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
282 .cond_opcode = BNXT_ULP_COND_OPC_COMP_FIELD_IS_SET,
283 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG,
284 .direction = TF_DIR_TX,
285 .result_start_idx = 177,
286 .result_bit_size = 0,
287 .result_num_fields = 0,
288 .encap_num_fields = 3,
289 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
290 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
291 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR
293 { /* act_tid: 4, stingray, table: int_tun_encap_record_0 */
294 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
295 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
297 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
298 .direction = TF_DIR_TX,
299 .result_start_idx = 180,
300 .result_bit_size = 0,
301 .result_num_fields = 0,
302 .encap_num_fields = 12,
303 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
304 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
305 .tbl_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0
307 { /* act_tid: 4, stingray, table: ext_full_act_record_0 */
308 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
309 .resource_type = TF_TBL_TYPE_EXT,
311 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
312 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,
313 .direction = TF_DIR_TX,
314 .result_start_idx = 192,
315 .result_bit_size = 128,
316 .result_num_fields = 26,
317 .encap_num_fields = 12,
318 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
319 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
320 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
322 { /* act_tid: 4, stingray, table: int_full_act_record_0 */
323 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
324 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
326 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
327 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
328 .direction = TF_DIR_TX,
329 .result_start_idx = 230,
330 .result_bit_size = 128,
331 .result_num_fields = 26,
332 .encap_num_fields = 0,
333 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
334 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
335 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
337 { /* act_tid: 5, stingray, table: int_flow_counter_tbl_0 */
338 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
339 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
341 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
342 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
343 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
344 .direction = TF_DIR_TX,
345 .result_start_idx = 256,
346 .result_bit_size = 64,
347 .result_num_fields = 1,
348 .encap_num_fields = 0,
349 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
350 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
351 .tbl_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
353 { /* act_tid: 5, stingray, table: int_act_modify_ipv4_src_0 */
354 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
355 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
357 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
358 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
359 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_SRC,
360 .direction = TF_DIR_TX,
361 .result_start_idx = 257,
362 .result_bit_size = 32,
363 .result_num_fields = 1,
364 .encap_num_fields = 0,
365 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
366 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
367 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0
369 { /* act_tid: 5, stingray, table: int_act_modify_ipv4_dst_0 */
370 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
371 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
373 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
374 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
375 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_DST,
376 .direction = TF_DIR_TX,
377 .result_start_idx = 258,
378 .result_bit_size = 32,
379 .result_num_fields = 1,
380 .encap_num_fields = 0,
381 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
382 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
383 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0
385 { /* act_tid: 5, stingray, table: int_encap_mac_record_0 */
386 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
387 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
389 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
390 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
391 .direction = TF_DIR_TX,
392 .result_start_idx = 259,
393 .result_bit_size = 0,
394 .result_num_fields = 0,
395 .encap_num_fields = 12,
396 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
397 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_WR_GLB_REGFILE,
398 .tbl_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR
400 { /* act_tid: 5, stingray, table: int_full_act_record_0 */
401 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
402 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
404 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
405 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
406 .direction = TF_DIR_TX,
407 .result_start_idx = 271,
408 .result_bit_size = 128,
409 .result_num_fields = 26,
410 .encap_num_fields = 0,
411 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
412 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
413 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
415 { /* act_tid: 5, stingray, table: ext_full_act_record_0 */
416 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
417 .resource_type = TF_TBL_TYPE_EXT,
419 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
420 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,
421 .direction = TF_DIR_TX,
422 .result_start_idx = 297,
423 .result_bit_size = 128,
424 .result_num_fields = 26,
425 .encap_num_fields = 11,
426 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
427 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
428 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
430 { /* act_tid: 6, stingray, table: int_flow_counter_tbl_0 */
431 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
432 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
434 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_INT_COUNT,
435 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
436 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
437 .direction = TF_DIR_TX,
438 .result_start_idx = 334,
439 .result_bit_size = 64,
440 .result_num_fields = 1,
441 .encap_num_fields = 0,
442 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
443 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
444 .tbl_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
446 { /* act_tid: 6, stingray, table: int_vtag_encap_record_0 */
447 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
448 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
450 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
451 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
452 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
453 .cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,
454 .direction = TF_DIR_TX,
455 .result_start_idx = 335,
456 .result_bit_size = 0,
457 .result_num_fields = 0,
458 .encap_num_fields = 12,
459 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
460 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
461 .tbl_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0
463 { /* act_tid: 6, stingray, table: int_full_act_record_0 */
464 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
465 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
467 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
468 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_INT,
469 .direction = TF_DIR_TX,
470 .result_start_idx = 347,
471 .result_bit_size = 128,
472 .result_num_fields = 26,
473 .encap_num_fields = 0,
474 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
475 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
476 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
478 { /* act_tid: 6, stingray, table: ext_full_act_record_no_tag_0 */
479 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
480 .resource_type = TF_TBL_TYPE_EXT,
482 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
483 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,
484 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_NOT_SET,
485 .cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,
486 .direction = TF_DIR_TX,
487 .result_start_idx = 373,
488 .result_bit_size = 128,
489 .result_num_fields = 26,
490 .encap_num_fields = 0,
491 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
492 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
493 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
495 { /* act_tid: 6, stingray, table: ext_full_act_record_one_tag_0 */
496 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
497 .resource_type = TF_TBL_TYPE_EXT,
499 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TABLE_NORMAL,
500 .mem_type_opcode = BNXT_ULP_MEM_TYPE_OPC_EXECUTE_IF_EXT,
501 .cond_opcode = BNXT_ULP_COND_OPC_ACTION_BIT_IS_SET,
502 .cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,
503 .direction = TF_DIR_TX,
504 .result_start_idx = 399,
505 .result_bit_size = 128,
506 .result_num_fields = 26,
507 .encap_num_fields = 11,
508 .mark_db_opcode = BNXT_ULP_MARK_DB_OPC_NOP,
509 .tbl_opcode = BNXT_ULP_INDEX_TBL_OPC_ALLOC_WR_REGFILE,
510 .tbl_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
514 struct bnxt_ulp_mapper_result_field_info ulp_stingray_act_result_field_list[] = {
515 /* act_tid: 1, stingray, table: int_flow_counter_tbl_0 */
517 .description = "count",
518 .field_bit_size = 64,
519 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
521 /* act_tid: 1, stingray, table: int_act_modify_ipv4_src_0 */
523 .description = "ipv4_addr",
524 .field_bit_size = 32,
525 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
527 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
528 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,
529 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
530 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
532 /* act_tid: 1, stingray, table: int_act_modify_ipv4_dst_0 */
534 .description = "ipv4_addr",
535 .field_bit_size = 32,
536 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
538 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
539 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,
540 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
541 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
543 /* act_tid: 1, stingray, table: int_encap_mac_record_0 */
545 .description = "ecv_tun_type",
547 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
550 .description = "ecv_l4_type",
552 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
555 .description = "ecv_l3_type",
557 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
560 .description = "ecv_l2_en",
562 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
564 BNXT_ULP_SYM_ECV_L2_EN_YES,
565 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
566 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
569 .description = "ecv_vtag_type",
571 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
574 .description = "ecv_custom_en",
576 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
579 .description = "ecv_valid",
581 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
582 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
583 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
586 .description = "vtag_tpid",
587 .field_bit_size = 16,
588 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
591 .description = "vtag_vid",
592 .field_bit_size = 12,
593 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
596 .description = "vtag_de",
598 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
601 .description = "vtag_pcp",
603 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
606 .description = "spare",
607 .field_bit_size = 80,
608 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
610 /* act_tid: 1, stingray, table: ext_full_act_record_0 */
612 .description = "flow_cntr_ptr",
613 .field_bit_size = 14,
614 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
616 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
617 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
618 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
619 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
622 .description = "age_enable",
624 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
627 .description = "agg_cntr_en",
629 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
632 .description = "rate_cntr_en",
634 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
637 .description = "flow_cntr_en",
639 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
641 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
642 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
643 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
644 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
645 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
646 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
647 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
648 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
649 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
652 .description = "flow_cntr_ext",
654 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
657 .description = "tcpflags_key",
659 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
662 .description = "tcpflags_mir",
664 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
667 .description = "tcpflags_match",
669 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
672 .description = "encap_ptr",
673 .field_bit_size = 11,
674 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
676 (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
677 BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
678 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
679 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
682 .description = "encap_rec_int",
684 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
685 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
686 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
689 .description = "dst_ip_ptr",
690 .field_bit_size = 10,
691 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
693 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
694 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
695 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
696 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
699 .description = "tcp_dst_port",
700 .field_bit_size = 16,
701 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
703 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
704 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
705 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
706 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
707 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
708 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
709 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
710 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
711 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
712 .result_operand_true = {
713 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
714 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
715 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
716 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
719 .description = "src_ip_ptr",
720 .field_bit_size = 10,
721 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
723 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
724 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
725 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
726 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
729 .description = "tcp_src_port",
730 .field_bit_size = 16,
731 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
733 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
734 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
735 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
736 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
737 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
738 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
739 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
740 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
741 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
742 .result_operand_true = {
743 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
744 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
745 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
746 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
749 .description = "meter_id",
750 .field_bit_size = 10,
751 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
754 .description = "l3_rdir",
756 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
759 .description = "tl3_rdir",
761 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
764 .description = "l3_ttl_dec",
766 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
768 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
769 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
770 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
771 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
774 .description = "tl3_ttl_dec",
776 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
778 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
779 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
780 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
781 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
784 .description = "decap_func",
786 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
788 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
789 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
790 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
791 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
792 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
793 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
794 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
795 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
796 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
797 .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
798 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
799 .result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
800 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
803 .description = "vnic_or_vport",
804 .field_bit_size = 12,
805 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
807 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
808 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
809 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
810 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
813 .description = "pop_vlan",
815 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
818 .description = "meter",
820 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
823 .description = "mirror",
825 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
828 .description = "drop",
830 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
832 /* act_tid: 1, stingray, table: int_full_act_record_0 */
834 .description = "flow_cntr_ptr",
835 .field_bit_size = 14,
836 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
838 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
839 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
840 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
841 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
844 .description = "age_enable",
846 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
849 .description = "agg_cntr_en",
851 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
854 .description = "rate_cntr_en",
856 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
859 .description = "flow_cntr_en",
861 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
863 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
864 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
865 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
866 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
867 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
868 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
869 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
870 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
871 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
874 .description = "tcpflags_key",
876 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
879 .description = "tcpflags_mir",
881 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
884 .description = "tcpflags_match",
886 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
889 .description = "encap_ptr",
890 .field_bit_size = 11,
891 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
893 (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
894 BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
895 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
896 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
899 .description = "dst_ip_ptr",
900 .field_bit_size = 10,
901 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
903 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
904 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
905 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
906 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
909 .description = "tcp_dst_port",
910 .field_bit_size = 16,
911 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
913 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
914 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
915 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
916 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
917 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
918 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
919 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
920 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
921 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
922 .result_operand_true = {
923 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
924 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
925 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
926 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
929 .description = "src_ip_ptr",
930 .field_bit_size = 10,
931 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
933 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
934 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
935 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
936 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
939 .description = "tcp_src_port",
940 .field_bit_size = 16,
941 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
943 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
944 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
945 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
946 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
947 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
948 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
949 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
950 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
951 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
952 .result_operand_true = {
953 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
954 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
955 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
956 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
959 .description = "meter_id",
960 .field_bit_size = 10,
961 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
964 .description = "l3_rdir",
966 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
969 .description = "tl3_rdir",
971 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
974 .description = "l3_ttl_dec",
976 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
978 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
979 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
980 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
981 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
984 .description = "tl3_ttl_dec",
986 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
988 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
989 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
990 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
991 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
994 .description = "decap_func",
996 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
998 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
999 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
1000 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
1001 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
1002 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
1003 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
1004 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
1005 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
1006 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1007 .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
1008 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1009 .result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
1010 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1013 .description = "vnic_or_vport",
1014 .field_bit_size = 12,
1015 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1017 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1018 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1019 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1020 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1023 .description = "pop_vlan",
1024 .field_bit_size = 1,
1025 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1028 .description = "meter",
1029 .field_bit_size = 1,
1030 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1033 .description = "mirror",
1034 .field_bit_size = 2,
1035 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1038 .description = "drop",
1039 .field_bit_size = 1,
1040 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1043 .description = "hit",
1044 .field_bit_size = 1,
1045 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1048 .description = "type",
1049 .field_bit_size = 1,
1050 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1052 /* act_tid: 2, stingray, table: int_flow_counter_tbl_0 */
1054 .description = "count",
1055 .field_bit_size = 64,
1056 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1058 /* act_tid: 2, stingray, table: ext_full_act_record_0 */
1060 .description = "flow_cntr_ptr",
1061 .field_bit_size = 14,
1062 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1064 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1065 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1066 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1067 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1070 .description = "age_enable",
1071 .field_bit_size = 1,
1072 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1075 .description = "agg_cntr_en",
1076 .field_bit_size = 1,
1077 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1080 .description = "rate_cntr_en",
1081 .field_bit_size = 1,
1082 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1085 .description = "flow_cntr_en",
1086 .field_bit_size = 1,
1087 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1089 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1090 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1091 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1092 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1093 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1094 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1095 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1096 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1097 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1100 .description = "flow_cntr_ext",
1101 .field_bit_size = 1,
1102 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1105 .description = "tcpflags_key",
1106 .field_bit_size = 8,
1107 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1110 .description = "tcpflags_mir",
1111 .field_bit_size = 1,
1112 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1115 .description = "tcpflags_match",
1116 .field_bit_size = 1,
1117 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1120 .description = "encap_ptr",
1121 .field_bit_size = 11,
1122 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1125 .description = "encap_rec_int",
1126 .field_bit_size = 1,
1127 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1130 .description = "dst_ip_ptr",
1131 .field_bit_size = 10,
1132 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1134 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
1135 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
1136 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1137 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1140 .description = "tcp_dst_port",
1141 .field_bit_size = 16,
1142 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1144 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
1145 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
1146 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
1147 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
1148 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
1149 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
1150 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
1151 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
1152 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1153 .result_operand_true = {
1154 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
1155 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
1156 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1157 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1160 .description = "src_ip_ptr",
1161 .field_bit_size = 10,
1162 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1164 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
1165 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
1166 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1167 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1170 .description = "tcp_src_port",
1171 .field_bit_size = 16,
1172 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1174 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
1175 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
1176 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
1177 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
1178 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
1179 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
1180 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
1181 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
1182 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1183 .result_operand_true = {
1184 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
1185 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
1186 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1187 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1190 .description = "meter_id",
1191 .field_bit_size = 10,
1192 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1195 .description = "l3_rdir",
1196 .field_bit_size = 1,
1197 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1200 .description = "tl3_rdir",
1201 .field_bit_size = 1,
1202 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1205 .description = "l3_ttl_dec",
1206 .field_bit_size = 1,
1207 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1209 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1210 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
1211 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1212 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1215 .description = "tl3_ttl_dec",
1216 .field_bit_size = 1,
1217 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1219 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1220 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
1221 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1222 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1225 .description = "decap_func",
1226 .field_bit_size = 4,
1227 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
1229 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
1230 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
1231 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
1232 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
1233 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
1234 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
1235 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
1236 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
1237 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1238 .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
1239 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1242 .description = "vnic_or_vport",
1243 .field_bit_size = 12,
1244 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1246 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1247 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1248 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1249 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1252 .description = "pop_vlan",
1253 .field_bit_size = 1,
1254 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1256 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1257 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1258 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1259 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1260 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1261 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1262 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1263 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1264 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1267 .description = "meter",
1268 .field_bit_size = 1,
1269 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1272 .description = "mirror",
1273 .field_bit_size = 2,
1274 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1277 .description = "drop",
1278 .field_bit_size = 1,
1279 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1281 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
1282 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
1283 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
1284 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
1285 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
1286 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
1287 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
1288 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
1289 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1291 /* act_tid: 2, stingray, table: int_full_act_record_0 */
1293 .description = "flow_cntr_ptr",
1294 .field_bit_size = 14,
1295 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1297 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1298 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1299 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1300 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1303 .description = "age_enable",
1304 .field_bit_size = 1,
1305 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1308 .description = "agg_cntr_en",
1309 .field_bit_size = 1,
1310 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1313 .description = "rate_cntr_en",
1314 .field_bit_size = 1,
1315 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1318 .description = "flow_cntr_en",
1319 .field_bit_size = 1,
1320 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1322 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1323 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1324 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1325 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1326 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1327 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1328 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1329 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1330 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1333 .description = "tcpflags_key",
1334 .field_bit_size = 8,
1335 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1338 .description = "tcpflags_mir",
1339 .field_bit_size = 1,
1340 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1343 .description = "tcpflags_match",
1344 .field_bit_size = 1,
1345 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1348 .description = "encap_ptr",
1349 .field_bit_size = 11,
1350 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1352 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
1353 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
1354 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1355 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1358 .description = "dst_ip_ptr",
1359 .field_bit_size = 10,
1360 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1362 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
1363 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
1364 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1365 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1368 .description = "tcp_dst_port",
1369 .field_bit_size = 16,
1370 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1372 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
1373 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
1374 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
1375 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
1376 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
1377 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
1378 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
1379 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
1380 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1381 .result_operand_true = {
1382 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
1383 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
1384 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1385 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1388 .description = "src_ip_ptr",
1389 .field_bit_size = 10,
1390 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1392 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
1393 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
1394 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1395 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1398 .description = "tcp_src_port",
1399 .field_bit_size = 16,
1400 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1402 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
1403 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
1404 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
1405 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
1406 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
1407 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
1408 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
1409 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
1410 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1411 .result_operand_true = {
1412 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
1413 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
1414 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1415 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1418 .description = "meter_id",
1419 .field_bit_size = 10,
1420 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1423 .description = "l3_rdir",
1424 .field_bit_size = 1,
1425 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1428 .description = "tl3_rdir",
1429 .field_bit_size = 1,
1430 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1433 .description = "l3_ttl_dec",
1434 .field_bit_size = 1,
1435 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1437 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1438 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
1439 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1440 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1443 .description = "tl3_ttl_dec",
1444 .field_bit_size = 1,
1445 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1447 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1448 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
1449 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1450 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1453 .description = "decap_func",
1454 .field_bit_size = 4,
1455 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
1457 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
1458 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
1459 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
1460 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
1461 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
1462 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
1463 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
1464 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
1465 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1466 .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
1467 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1470 .description = "vnic_or_vport",
1471 .field_bit_size = 12,
1472 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1474 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1475 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1476 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1477 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1480 .description = "pop_vlan",
1481 .field_bit_size = 1,
1482 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1484 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1485 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1486 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1487 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1488 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1489 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1490 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1491 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1492 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1495 .description = "meter",
1496 .field_bit_size = 1,
1497 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1500 .description = "mirror",
1501 .field_bit_size = 2,
1502 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1505 .description = "drop",
1506 .field_bit_size = 1,
1507 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1509 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
1510 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
1511 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
1512 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
1513 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
1514 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
1515 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
1516 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
1517 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1520 .description = "hit",
1521 .field_bit_size = 1,
1522 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1525 .description = "type",
1526 .field_bit_size = 1,
1527 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1529 /* act_tid: 3, stingray, table: int_flow_counter_tbl_0 */
1531 .description = "count",
1532 .field_bit_size = 64,
1533 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1535 /* act_tid: 3, stingray, table: ext_full_act_record_0 */
1537 .description = "flow_cntr_ptr",
1538 .field_bit_size = 14,
1539 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1541 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1542 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1543 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1544 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1547 .description = "age_enable",
1548 .field_bit_size = 1,
1549 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1552 .description = "agg_cntr_en",
1553 .field_bit_size = 1,
1554 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1557 .description = "rate_cntr_en",
1558 .field_bit_size = 1,
1559 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1562 .description = "flow_cntr_en",
1563 .field_bit_size = 1,
1564 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1566 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1567 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1568 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1569 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1570 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1571 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1572 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1573 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1574 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1577 .description = "flow_cntr_ext",
1578 .field_bit_size = 1,
1579 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1582 .description = "tcpflags_key",
1583 .field_bit_size = 8,
1584 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1587 .description = "tcpflags_mir",
1588 .field_bit_size = 1,
1589 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1592 .description = "tcpflags_match",
1593 .field_bit_size = 1,
1594 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1597 .description = "encap_ptr",
1598 .field_bit_size = 11,
1599 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1602 .description = "encap_rec_int",
1603 .field_bit_size = 1,
1604 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1607 .description = "dst_ip_ptr",
1608 .field_bit_size = 10,
1609 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1612 .description = "tcp_dst_port",
1613 .field_bit_size = 16,
1614 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1617 .description = "src_ip_ptr",
1618 .field_bit_size = 10,
1619 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1622 .description = "tcp_src_port",
1623 .field_bit_size = 16,
1624 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1627 .description = "meter_id",
1628 .field_bit_size = 10,
1629 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1632 .description = "l3_rdir",
1633 .field_bit_size = 1,
1634 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1637 .description = "tl3_rdir",
1638 .field_bit_size = 1,
1639 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1642 .description = "l3_ttl_dec",
1643 .field_bit_size = 1,
1644 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1647 .description = "tl3_ttl_dec",
1648 .field_bit_size = 1,
1649 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1652 .description = "decap_func",
1653 .field_bit_size = 4,
1654 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
1656 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
1657 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
1658 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
1659 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
1660 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
1661 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
1662 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
1663 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
1664 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1665 .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
1666 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1669 .description = "vnic_or_vport",
1670 .field_bit_size = 12,
1671 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1673 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1674 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1675 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1676 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1679 .description = "pop_vlan",
1680 .field_bit_size = 1,
1681 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1683 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1684 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1685 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1686 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1687 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1688 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1689 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1690 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1691 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1694 .description = "meter",
1695 .field_bit_size = 1,
1696 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1699 .description = "mirror",
1700 .field_bit_size = 2,
1701 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1704 .description = "drop",
1705 .field_bit_size = 1,
1706 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1708 /* act_tid: 3, stingray, table: int_full_act_record_0 */
1710 .description = "flow_cntr_ptr",
1711 .field_bit_size = 14,
1712 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1714 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1715 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1716 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1717 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1720 .description = "age_enable",
1721 .field_bit_size = 1,
1722 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1725 .description = "agg_cntr_en",
1726 .field_bit_size = 1,
1727 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1730 .description = "rate_cntr_en",
1731 .field_bit_size = 1,
1732 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1735 .description = "flow_cntr_en",
1736 .field_bit_size = 1,
1737 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1739 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1740 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1741 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1742 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1743 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1744 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1745 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1746 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1747 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1750 .description = "tcpflags_key",
1751 .field_bit_size = 8,
1752 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1755 .description = "tcpflags_mir",
1756 .field_bit_size = 1,
1757 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1760 .description = "tcpflags_match",
1761 .field_bit_size = 1,
1762 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1765 .description = "encap_ptr",
1766 .field_bit_size = 11,
1767 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1770 .description = "dst_ip_ptr",
1771 .field_bit_size = 10,
1772 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1775 .description = "tcp_dst_port",
1776 .field_bit_size = 16,
1777 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1780 .description = "src_ip_ptr",
1781 .field_bit_size = 10,
1782 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1785 .description = "tcp_src_port",
1786 .field_bit_size = 16,
1787 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1790 .description = "meter_id",
1791 .field_bit_size = 10,
1792 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1795 .description = "l3_rdir",
1796 .field_bit_size = 1,
1797 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1800 .description = "tl3_rdir",
1801 .field_bit_size = 1,
1802 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1805 .description = "l3_ttl_dec",
1806 .field_bit_size = 1,
1807 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1810 .description = "tl3_ttl_dec",
1811 .field_bit_size = 1,
1812 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1815 .description = "decap_func",
1816 .field_bit_size = 4,
1817 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
1819 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
1820 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
1821 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
1822 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
1823 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
1824 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
1825 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
1826 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
1827 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1828 .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
1829 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1832 .description = "vnic_or_vport",
1833 .field_bit_size = 12,
1834 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1836 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1837 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1838 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1839 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1842 .description = "pop_vlan",
1843 .field_bit_size = 1,
1844 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1846 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1847 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1848 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1849 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1850 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1851 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1852 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1853 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1854 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1857 .description = "meter",
1858 .field_bit_size = 1,
1859 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1862 .description = "mirror",
1863 .field_bit_size = 2,
1864 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1867 .description = "drop",
1868 .field_bit_size = 1,
1869 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1872 .description = "hit",
1873 .field_bit_size = 1,
1874 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1877 .description = "type",
1878 .field_bit_size = 1,
1879 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1881 /* act_tid: 4, stingray, table: int_flow_counter_tbl_0 */
1883 .description = "count",
1884 .field_bit_size = 64,
1885 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1887 /* act_tid: 4, stingray, table: int_sp_smac_ipv4_0 */
1889 .description = "smac",
1890 .field_bit_size = 48,
1891 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1893 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
1894 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
1895 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1896 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1899 .description = "ipv4_src_addr",
1900 .field_bit_size = 32,
1901 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1903 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
1904 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
1905 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1906 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1909 .description = "reserved",
1910 .field_bit_size = 48,
1911 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1913 /* act_tid: 4, stingray, table: int_sp_smac_ipv6_0 */
1915 .description = "smac",
1916 .field_bit_size = 48,
1917 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1919 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
1920 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
1921 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1922 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1925 .description = "ipv6_src_addr",
1926 .field_bit_size = 128,
1927 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1929 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
1930 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
1931 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1932 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1935 .description = "reserved",
1936 .field_bit_size = 16,
1937 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1939 /* act_tid: 4, stingray, table: int_tun_encap_record_0 */
1941 .description = "ecv_tun_type",
1942 .field_bit_size = 3,
1943 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1945 BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,
1946 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1947 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1950 .description = "ecv_l4_type",
1951 .field_bit_size = 3,
1952 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1954 BNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,
1955 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1956 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1959 .description = "ecv_l3_type",
1960 .field_bit_size = 3,
1961 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1963 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
1964 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,
1965 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1966 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1969 .description = "ecv_l2_en",
1970 .field_bit_size = 1,
1971 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1972 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1973 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1976 .description = "ecv_vtag_type",
1977 .field_bit_size = 4,
1978 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1980 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
1981 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,
1982 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1983 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1986 .description = "ecv_custom_en",
1987 .field_bit_size = 1,
1988 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1991 .description = "ecv_valid",
1992 .field_bit_size = 1,
1993 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1994 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1995 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1998 .description = "encap_l2_dmac",
1999 .field_bit_size = 48,
2000 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2002 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
2003 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,
2004 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2005 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2008 .description = "encap_vtag",
2009 .field_bit_size = 0,
2010 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2012 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
2013 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
2014 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
2015 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,
2016 0x00, 0x00, 0x00, 0x00, 0x00,
2017 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2020 .description = "encap_ip",
2021 .field_bit_size = 0,
2022 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2024 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
2025 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
2026 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
2027 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,
2028 0x00, 0x00, 0x00, 0x00, 0x00,
2029 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2032 .description = "encap_udp",
2033 .field_bit_size = 32,
2034 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2036 (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
2037 BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,
2038 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2039 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2042 .description = "encap_tun",
2043 .field_bit_size = 0,
2044 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2046 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
2047 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,
2048 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,
2049 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,
2050 0x00, 0x00, 0x00, 0x00, 0x00,
2051 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2053 /* act_tid: 4, stingray, table: ext_full_act_record_0 */
2055 .description = "flow_cntr_ptr",
2056 .field_bit_size = 14,
2057 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2059 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2060 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2061 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2062 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2065 .description = "age_enable",
2066 .field_bit_size = 1,
2067 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2070 .description = "agg_cntr_en",
2071 .field_bit_size = 1,
2072 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2075 .description = "rate_cntr_en",
2076 .field_bit_size = 1,
2077 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2080 .description = "flow_cntr_en",
2081 .field_bit_size = 1,
2082 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2084 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2085 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2086 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2087 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2088 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2089 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2090 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2091 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2092 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2095 .description = "flow_cntr_ext",
2096 .field_bit_size = 1,
2097 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2100 .description = "tcpflags_key",
2101 .field_bit_size = 8,
2102 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2105 .description = "tcpflags_mir",
2106 .field_bit_size = 1,
2107 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2110 .description = "tcpflags_match",
2111 .field_bit_size = 1,
2112 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2115 .description = "encap_ptr",
2116 .field_bit_size = 11,
2117 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2120 .description = "encap_rec_int",
2121 .field_bit_size = 1,
2122 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2125 .description = "dst_ip_ptr",
2126 .field_bit_size = 10,
2127 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2130 .description = "tcp_dst_port",
2131 .field_bit_size = 16,
2132 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2135 .description = "src_ip_ptr",
2136 .field_bit_size = 10,
2137 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2140 .description = "tcp_src_port",
2141 .field_bit_size = 16,
2142 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2145 .description = "meter_id",
2146 .field_bit_size = 10,
2147 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2150 .description = "l3_rdir",
2151 .field_bit_size = 1,
2152 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2155 .description = "tl3_rdir",
2156 .field_bit_size = 1,
2157 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2160 .description = "l3_ttl_dec",
2161 .field_bit_size = 1,
2162 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2165 .description = "tl3_ttl_dec",
2166 .field_bit_size = 1,
2167 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2170 .description = "decap_func",
2171 .field_bit_size = 4,
2172 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2175 .description = "vnic_or_vport",
2176 .field_bit_size = 12,
2177 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2179 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2180 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2181 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2182 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2185 .description = "pop_vlan",
2186 .field_bit_size = 1,
2187 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2190 .description = "meter",
2191 .field_bit_size = 1,
2192 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2195 .description = "mirror",
2196 .field_bit_size = 2,
2197 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2200 .description = "drop",
2201 .field_bit_size = 1,
2202 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2205 .description = "ecv_tun_type",
2206 .field_bit_size = 3,
2207 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2209 BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,
2210 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2211 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2214 .description = "ecv_l4_type",
2215 .field_bit_size = 3,
2216 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2218 BNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,
2219 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2220 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2223 .description = "ecv_l3_type",
2224 .field_bit_size = 3,
2225 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2227 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
2228 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,
2229 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2230 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2233 .description = "ecv_l2_en",
2234 .field_bit_size = 1,
2235 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2236 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2237 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2240 .description = "ecv_vtag_type",
2241 .field_bit_size = 4,
2242 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2244 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
2245 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,
2246 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2250 .description = "ecv_custom_en",
2251 .field_bit_size = 1,
2252 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2255 .description = "ecv_valid",
2256 .field_bit_size = 1,
2257 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2258 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2259 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2262 .description = "encap_l2_dmac",
2263 .field_bit_size = 48,
2264 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2266 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
2267 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,
2268 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2269 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2272 .description = "encap_vtag",
2273 .field_bit_size = 0,
2274 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2276 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
2277 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
2278 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
2279 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,
2280 0x00, 0x00, 0x00, 0x00, 0x00,
2281 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2284 .description = "encap_ip",
2285 .field_bit_size = 0,
2286 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2288 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
2289 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
2290 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
2291 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,
2292 0x00, 0x00, 0x00, 0x00, 0x00,
2293 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2296 .description = "encap_udp",
2297 .field_bit_size = 32,
2298 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2300 (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
2301 BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,
2302 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2303 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2306 .description = "encap_tun",
2307 .field_bit_size = 0,
2308 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2310 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
2311 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,
2312 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,
2313 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,
2314 0x00, 0x00, 0x00, 0x00, 0x00,
2315 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2317 /* act_tid: 4, stingray, table: int_full_act_record_0 */
2319 .description = "flow_cntr_ptr",
2320 .field_bit_size = 14,
2321 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2323 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2324 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2325 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2326 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2329 .description = "age_enable",
2330 .field_bit_size = 1,
2331 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2334 .description = "agg_cntr_en",
2335 .field_bit_size = 1,
2336 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2339 .description = "rate_cntr_en",
2340 .field_bit_size = 1,
2341 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2344 .description = "flow_cntr_en",
2345 .field_bit_size = 1,
2346 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2348 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2349 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2350 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2351 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2352 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2353 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2354 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2355 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2356 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2359 .description = "tcpflags_key",
2360 .field_bit_size = 8,
2361 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2364 .description = "tcpflags_mir",
2365 .field_bit_size = 1,
2366 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2369 .description = "tcpflags_match",
2370 .field_bit_size = 1,
2371 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2374 .description = "encap_ptr",
2375 .field_bit_size = 11,
2376 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2378 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
2379 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
2380 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2381 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2384 .description = "dst_ip_ptr",
2385 .field_bit_size = 10,
2386 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2389 .description = "tcp_dst_port",
2390 .field_bit_size = 16,
2391 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2394 .description = "src_ip_ptr",
2395 .field_bit_size = 10,
2396 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2399 .description = "tcp_src_port",
2400 .field_bit_size = 16,
2401 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2404 .description = "meter_id",
2405 .field_bit_size = 10,
2406 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2409 .description = "l3_rdir",
2410 .field_bit_size = 1,
2411 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2414 .description = "tl3_rdir",
2415 .field_bit_size = 1,
2416 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2419 .description = "l3_ttl_dec",
2420 .field_bit_size = 1,
2421 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2424 .description = "tl3_ttl_dec",
2425 .field_bit_size = 1,
2426 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2429 .description = "decap_func",
2430 .field_bit_size = 4,
2431 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2434 .description = "vnic_or_vport",
2435 .field_bit_size = 12,
2436 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2438 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2439 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2440 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2441 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2444 .description = "pop_vlan",
2445 .field_bit_size = 1,
2446 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2449 .description = "meter",
2450 .field_bit_size = 1,
2451 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2454 .description = "mirror",
2455 .field_bit_size = 2,
2456 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2459 .description = "drop",
2460 .field_bit_size = 1,
2461 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2464 .description = "hit",
2465 .field_bit_size = 1,
2466 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2469 .description = "type",
2470 .field_bit_size = 1,
2471 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2473 /* act_tid: 5, stingray, table: int_flow_counter_tbl_0 */
2475 .description = "count",
2476 .field_bit_size = 64,
2477 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2479 /* act_tid: 5, stingray, table: int_act_modify_ipv4_src_0 */
2481 .description = "ipv4_addr",
2482 .field_bit_size = 32,
2483 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2485 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
2486 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,
2487 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2488 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2490 /* act_tid: 5, stingray, table: int_act_modify_ipv4_dst_0 */
2492 .description = "ipv4_addr",
2493 .field_bit_size = 32,
2494 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2496 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
2497 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,
2498 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2499 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2501 /* act_tid: 5, stingray, table: int_encap_mac_record_0 */
2503 .description = "ecv_tun_type",
2504 .field_bit_size = 3,
2505 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2508 .description = "ecv_l4_type",
2509 .field_bit_size = 3,
2510 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2513 .description = "ecv_l3_type",
2514 .field_bit_size = 3,
2515 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2518 .description = "ecv_l2_en",
2519 .field_bit_size = 1,
2520 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2522 BNXT_ULP_SYM_ECV_L2_EN_YES,
2523 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2524 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2527 .description = "ecv_vtag_type",
2528 .field_bit_size = 4,
2529 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2532 .description = "ecv_custom_en",
2533 .field_bit_size = 1,
2534 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2537 .description = "ecv_valid",
2538 .field_bit_size = 1,
2539 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2540 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2541 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2544 .description = "vtag_tpid",
2545 .field_bit_size = 16,
2546 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2549 .description = "vtag_vid",
2550 .field_bit_size = 12,
2551 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2554 .description = "vtag_de",
2555 .field_bit_size = 1,
2556 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2559 .description = "vtag_pcp",
2560 .field_bit_size = 3,
2561 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2564 .description = "spare",
2565 .field_bit_size = 80,
2566 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2568 /* act_tid: 5, stingray, table: int_full_act_record_0 */
2570 .description = "flow_cntr_ptr",
2571 .field_bit_size = 14,
2572 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2574 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2575 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2576 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2577 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2580 .description = "age_enable",
2581 .field_bit_size = 1,
2582 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2585 .description = "agg_cntr_en",
2586 .field_bit_size = 1,
2587 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2590 .description = "rate_cntr_en",
2591 .field_bit_size = 1,
2592 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2595 .description = "flow_cntr_en",
2596 .field_bit_size = 1,
2597 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2599 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2600 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2601 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2602 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2603 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2604 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2605 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2606 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2607 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2610 .description = "tcpflags_key",
2611 .field_bit_size = 8,
2612 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2615 .description = "tcpflags_mir",
2616 .field_bit_size = 1,
2617 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2620 .description = "tcpflags_match",
2621 .field_bit_size = 1,
2622 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2625 .description = "encap_ptr",
2626 .field_bit_size = 11,
2627 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
2629 (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
2630 BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
2631 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2632 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2635 .description = "dst_ip_ptr",
2636 .field_bit_size = 10,
2637 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2639 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
2640 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
2641 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2642 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2645 .description = "tcp_dst_port",
2646 .field_bit_size = 16,
2647 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2649 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
2650 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
2651 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
2652 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
2653 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
2654 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
2655 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
2656 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
2657 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2658 .result_operand_true = {
2659 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
2660 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
2661 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2662 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2665 .description = "src_ip_ptr",
2666 .field_bit_size = 10,
2667 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2669 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
2670 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
2671 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2672 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2675 .description = "tcp_src_port",
2676 .field_bit_size = 16,
2677 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2679 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
2680 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
2681 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
2682 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
2683 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
2684 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
2685 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
2686 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
2687 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2688 .result_operand_true = {
2689 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
2690 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
2691 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2692 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2695 .description = "meter_id",
2696 .field_bit_size = 10,
2697 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2700 .description = "l3_rdir",
2701 .field_bit_size = 1,
2702 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2705 .description = "tl3_rdir",
2706 .field_bit_size = 1,
2707 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2710 .description = "l3_ttl_dec",
2711 .field_bit_size = 1,
2712 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2714 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2715 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
2716 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2717 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2720 .description = "tl3_ttl_dec",
2721 .field_bit_size = 1,
2722 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2724 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2725 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
2726 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2727 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2730 .description = "decap_func",
2731 .field_bit_size = 4,
2732 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
2734 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
2735 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
2736 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
2737 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
2738 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
2739 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
2740 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
2741 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
2742 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2743 .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
2744 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2745 .result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
2746 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2749 .description = "vnic_or_vport",
2750 .field_bit_size = 12,
2751 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2753 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2754 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2755 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2756 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2759 .description = "pop_vlan",
2760 .field_bit_size = 1,
2761 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2764 .description = "meter",
2765 .field_bit_size = 1,
2766 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2769 .description = "mirror",
2770 .field_bit_size = 2,
2771 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2774 .description = "drop",
2775 .field_bit_size = 1,
2776 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2779 .description = "hit",
2780 .field_bit_size = 1,
2781 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2784 .description = "type",
2785 .field_bit_size = 1,
2786 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2788 /* act_tid: 5, stingray, table: ext_full_act_record_0 */
2790 .description = "flow_cntr_ptr",
2791 .field_bit_size = 14,
2792 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2794 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2795 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2796 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2797 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2800 .description = "age_enable",
2801 .field_bit_size = 1,
2802 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2805 .description = "agg_cntr_en",
2806 .field_bit_size = 1,
2807 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2810 .description = "rate_cntr_en",
2811 .field_bit_size = 1,
2812 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2815 .description = "flow_cntr_en",
2816 .field_bit_size = 1,
2817 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2819 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2820 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2821 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2822 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2823 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2824 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2825 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2826 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2827 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2830 .description = "flow_cntr_ext",
2831 .field_bit_size = 1,
2832 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2835 .description = "tcpflags_key",
2836 .field_bit_size = 8,
2837 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2840 .description = "tcpflags_mir",
2841 .field_bit_size = 1,
2842 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2845 .description = "tcpflags_match",
2846 .field_bit_size = 1,
2847 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2850 .description = "encap_ptr",
2851 .field_bit_size = 11,
2852 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2855 .description = "encap_rec_int",
2856 .field_bit_size = 1,
2857 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2860 .description = "dst_ip_ptr",
2861 .field_bit_size = 10,
2862 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2864 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
2865 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
2866 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2867 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2870 .description = "tcp_dst_port",
2871 .field_bit_size = 16,
2872 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2874 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
2875 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
2876 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
2877 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
2878 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
2879 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
2880 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
2881 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
2882 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2883 .result_operand_true = {
2884 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
2885 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
2886 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2887 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2890 .description = "src_ip_ptr",
2891 .field_bit_size = 10,
2892 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2894 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
2895 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
2896 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2897 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2900 .description = "tcp_src_port",
2901 .field_bit_size = 16,
2902 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2904 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
2905 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
2906 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
2907 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
2908 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
2909 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
2910 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
2911 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
2912 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2913 .result_operand_true = {
2914 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
2915 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
2916 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2917 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2920 .description = "meter_id",
2921 .field_bit_size = 10,
2922 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2925 .description = "l3_rdir",
2926 .field_bit_size = 1,
2927 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2930 .description = "tl3_rdir",
2931 .field_bit_size = 1,
2932 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2935 .description = "l3_ttl_dec",
2936 .field_bit_size = 1,
2937 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2939 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2940 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
2941 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2942 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2945 .description = "tl3_ttl_dec",
2946 .field_bit_size = 1,
2947 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2949 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2950 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
2951 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2952 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2955 .description = "decap_func",
2956 .field_bit_size = 4,
2957 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
2959 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
2960 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
2961 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
2962 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
2963 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
2964 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
2965 ((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
2966 (uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
2967 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2968 .result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
2969 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2970 .result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
2971 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2974 .description = "vnic_or_vport",
2975 .field_bit_size = 12,
2976 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2978 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2979 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2980 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2981 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2984 .description = "pop_vlan",
2985 .field_bit_size = 1,
2986 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2989 .description = "meter",
2990 .field_bit_size = 1,
2991 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2994 .description = "mirror",
2995 .field_bit_size = 2,
2996 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2999 .description = "drop",
3000 .field_bit_size = 1,
3001 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3004 .description = "ecv_tun_type",
3005 .field_bit_size = 3,
3006 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3009 .description = "ecv_l4_type",
3010 .field_bit_size = 3,
3011 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3014 .description = "ecv_l3_type",
3015 .field_bit_size = 3,
3016 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3019 .description = "ecv_l2_en",
3020 .field_bit_size = 1,
3021 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
3023 BNXT_ULP_SYM_ECV_L2_EN_YES,
3024 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3025 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3028 .description = "ecv_vtag_type",
3029 .field_bit_size = 4,
3030 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3033 .description = "ecv_custom_en",
3034 .field_bit_size = 1,
3035 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3038 .description = "ecv_valid",
3039 .field_bit_size = 1,
3040 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
3041 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3042 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3045 .description = "vtag_tpid",
3046 .field_bit_size = 16,
3047 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3050 .description = "vtag_vid",
3051 .field_bit_size = 12,
3052 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3055 .description = "vtag_de",
3056 .field_bit_size = 1,
3057 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3060 .description = "vtag_pcp",
3061 .field_bit_size = 3,
3062 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3064 /* act_tid: 6, stingray, table: int_flow_counter_tbl_0 */
3066 .description = "count",
3067 .field_bit_size = 64,
3068 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3070 /* act_tid: 6, stingray, table: int_vtag_encap_record_0 */
3072 .description = "ecv_tun_type",
3073 .field_bit_size = 3,
3074 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3077 .description = "ecv_l4_type",
3078 .field_bit_size = 3,
3079 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3082 .description = "ecv_l3_type",
3083 .field_bit_size = 3,
3084 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3087 .description = "ecv_l2_en",
3088 .field_bit_size = 1,
3089 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3092 .description = "ecv_vtag_type",
3093 .field_bit_size = 4,
3094 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
3096 BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,
3097 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3098 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3101 .description = "ecv_custom_en",
3102 .field_bit_size = 1,
3103 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3106 .description = "ecv_valid",
3107 .field_bit_size = 1,
3108 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
3109 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3110 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3113 .description = "vtag_tpid",
3114 .field_bit_size = 16,
3115 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3117 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
3118 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,
3119 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3120 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3123 .description = "vtag_vid",
3124 .field_bit_size = 12,
3125 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3127 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
3128 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,
3129 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3130 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3133 .description = "vtag_de",
3134 .field_bit_size = 1,
3135 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3138 .description = "vtag_pcp",
3139 .field_bit_size = 3,
3140 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3142 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
3143 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,
3144 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3145 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3148 .description = "spare",
3149 .field_bit_size = 80,
3150 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3152 /* act_tid: 6, stingray, table: int_full_act_record_0 */
3154 .description = "flow_cntr_ptr",
3155 .field_bit_size = 14,
3156 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
3158 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
3159 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
3160 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3161 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3164 .description = "age_enable",
3165 .field_bit_size = 1,
3166 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3169 .description = "agg_cntr_en",
3170 .field_bit_size = 1,
3171 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3174 .description = "rate_cntr_en",
3175 .field_bit_size = 1,
3176 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3179 .description = "flow_cntr_en",
3180 .field_bit_size = 1,
3181 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3183 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
3184 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
3185 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
3186 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
3187 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
3188 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
3189 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
3190 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
3191 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3194 .description = "tcpflags_key",
3195 .field_bit_size = 8,
3196 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3199 .description = "tcpflags_mir",
3200 .field_bit_size = 1,
3201 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3204 .description = "tcpflags_match",
3205 .field_bit_size = 1,
3206 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3209 .description = "encap_ptr",
3210 .field_bit_size = 11,
3211 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
3213 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
3214 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
3215 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3216 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3219 .description = "dst_ip_ptr",
3220 .field_bit_size = 10,
3221 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3224 .description = "tcp_dst_port",
3225 .field_bit_size = 16,
3226 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3229 .description = "src_ip_ptr",
3230 .field_bit_size = 10,
3231 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3234 .description = "tcp_src_port",
3235 .field_bit_size = 16,
3236 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3239 .description = "meter_id",
3240 .field_bit_size = 10,
3241 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3244 .description = "l3_rdir",
3245 .field_bit_size = 1,
3246 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3249 .description = "tl3_rdir",
3250 .field_bit_size = 1,
3251 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3254 .description = "l3_ttl_dec",
3255 .field_bit_size = 1,
3256 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
3258 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3259 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
3260 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3261 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3264 .description = "tl3_ttl_dec",
3265 .field_bit_size = 1,
3266 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
3268 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3269 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
3270 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3271 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3274 .description = "decap_func",
3275 .field_bit_size = 4,
3276 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3279 .description = "vnic_or_vport",
3280 .field_bit_size = 12,
3281 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3283 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3284 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
3285 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3286 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3289 .description = "pop_vlan",
3290 .field_bit_size = 1,
3291 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3294 .description = "meter",
3295 .field_bit_size = 1,
3296 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3299 .description = "mirror",
3300 .field_bit_size = 2,
3301 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3304 .description = "drop",
3305 .field_bit_size = 1,
3306 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3308 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
3309 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
3310 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
3311 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
3312 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
3313 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
3314 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
3315 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
3316 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3319 .description = "hit",
3320 .field_bit_size = 1,
3321 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3324 .description = "type",
3325 .field_bit_size = 1,
3326 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3328 /* act_tid: 6, stingray, table: ext_full_act_record_no_tag_0 */
3330 .description = "flow_cntr_ptr",
3331 .field_bit_size = 14,
3332 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
3334 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
3335 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
3336 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3337 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3340 .description = "age_enable",
3341 .field_bit_size = 1,
3342 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3345 .description = "agg_cntr_en",
3346 .field_bit_size = 1,
3347 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3350 .description = "rate_cntr_en",
3351 .field_bit_size = 1,
3352 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3355 .description = "flow_cntr_en",
3356 .field_bit_size = 1,
3357 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3359 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
3360 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
3361 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
3362 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
3363 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
3364 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
3365 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
3366 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
3367 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3370 .description = "flow_cntr_ext",
3371 .field_bit_size = 1,
3372 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3375 .description = "tcpflags_key",
3376 .field_bit_size = 8,
3377 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3380 .description = "tcpflags_mir",
3381 .field_bit_size = 1,
3382 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3385 .description = "tcpflags_match",
3386 .field_bit_size = 1,
3387 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3390 .description = "encap_ptr",
3391 .field_bit_size = 11,
3392 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3395 .description = "encap_rec_int",
3396 .field_bit_size = 1,
3397 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3400 .description = "dst_ip_ptr",
3401 .field_bit_size = 10,
3402 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3405 .description = "tcp_dst_port",
3406 .field_bit_size = 16,
3407 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3410 .description = "src_ip_ptr",
3411 .field_bit_size = 10,
3412 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3415 .description = "tcp_src_port",
3416 .field_bit_size = 16,
3417 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3420 .description = "meter_id",
3421 .field_bit_size = 10,
3422 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3425 .description = "l3_rdir",
3426 .field_bit_size = 1,
3427 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3430 .description = "tl3_rdir",
3431 .field_bit_size = 1,
3432 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3435 .description = "l3_ttl_dec",
3436 .field_bit_size = 1,
3437 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
3439 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3440 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
3441 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3442 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3445 .description = "tl3_ttl_dec",
3446 .field_bit_size = 1,
3447 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
3449 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3450 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
3451 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3452 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3455 .description = "decap_func",
3456 .field_bit_size = 4,
3457 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3460 .description = "vnic_or_vport",
3461 .field_bit_size = 12,
3462 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3464 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3465 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
3466 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3467 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3470 .description = "pop_vlan",
3471 .field_bit_size = 1,
3472 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3475 .description = "meter",
3476 .field_bit_size = 1,
3477 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3480 .description = "mirror",
3481 .field_bit_size = 2,
3482 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3485 .description = "drop",
3486 .field_bit_size = 1,
3487 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3489 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
3490 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
3491 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
3492 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
3493 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
3494 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
3495 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
3496 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
3497 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3499 /* act_tid: 6, stingray, table: ext_full_act_record_one_tag_0 */
3501 .description = "flow_cntr_ptr",
3502 .field_bit_size = 14,
3503 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
3505 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
3506 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
3507 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3508 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3511 .description = "age_enable",
3512 .field_bit_size = 1,
3513 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3516 .description = "agg_cntr_en",
3517 .field_bit_size = 1,
3518 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3521 .description = "rate_cntr_en",
3522 .field_bit_size = 1,
3523 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3526 .description = "flow_cntr_en",
3527 .field_bit_size = 1,
3528 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3530 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
3531 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
3532 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
3533 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
3534 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
3535 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
3536 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
3537 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
3538 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3541 .description = "flow_cntr_ext",
3542 .field_bit_size = 1,
3543 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3546 .description = "tcpflags_key",
3547 .field_bit_size = 8,
3548 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3551 .description = "tcpflags_mir",
3552 .field_bit_size = 1,
3553 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3556 .description = "tcpflags_match",
3557 .field_bit_size = 1,
3558 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3561 .description = "encap_ptr",
3562 .field_bit_size = 11,
3563 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3566 .description = "encap_rec_int",
3567 .field_bit_size = 1,
3568 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3571 .description = "dst_ip_ptr",
3572 .field_bit_size = 10,
3573 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3576 .description = "tcp_dst_port",
3577 .field_bit_size = 16,
3578 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3581 .description = "src_ip_ptr",
3582 .field_bit_size = 10,
3583 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3586 .description = "tcp_src_port",
3587 .field_bit_size = 16,
3588 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3591 .description = "meter_id",
3592 .field_bit_size = 10,
3593 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3596 .description = "l3_rdir",
3597 .field_bit_size = 1,
3598 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3601 .description = "tl3_rdir",
3602 .field_bit_size = 1,
3603 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3606 .description = "l3_ttl_dec",
3607 .field_bit_size = 1,
3608 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
3610 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3611 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
3612 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3613 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3616 .description = "tl3_ttl_dec",
3617 .field_bit_size = 1,
3618 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
3620 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3621 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
3622 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3623 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3626 .description = "decap_func",
3627 .field_bit_size = 4,
3628 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3631 .description = "vnic_or_vport",
3632 .field_bit_size = 12,
3633 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3635 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3636 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
3637 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3638 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3641 .description = "pop_vlan",
3642 .field_bit_size = 1,
3643 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3645 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
3646 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
3647 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
3648 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
3649 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
3650 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
3651 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
3652 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
3653 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3656 .description = "meter",
3657 .field_bit_size = 1,
3658 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3661 .description = "mirror",
3662 .field_bit_size = 2,
3663 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3666 .description = "drop",
3667 .field_bit_size = 1,
3668 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3670 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
3671 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
3672 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
3673 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
3674 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
3675 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
3676 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
3677 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
3678 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3681 .description = "ecv_tun_type",
3682 .field_bit_size = 3,
3683 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3686 .description = "ecv_l4_type",
3687 .field_bit_size = 3,
3688 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3691 .description = "ecv_l3_type",
3692 .field_bit_size = 3,
3693 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3696 .description = "ecv_l2_en",
3697 .field_bit_size = 1,
3698 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3701 .description = "ecv_vtag_type",
3702 .field_bit_size = 4,
3703 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
3705 BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,
3706 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3707 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3710 .description = "ecv_custom_en",
3711 .field_bit_size = 1,
3712 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3715 .description = "ecv_valid",
3716 .field_bit_size = 1,
3717 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
3718 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3719 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3722 .description = "vtag_tpid",
3723 .field_bit_size = 16,
3724 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3726 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
3727 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,
3728 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3729 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3732 .description = "vtag_vid",
3733 .field_bit_size = 12,
3734 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3736 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
3737 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,
3738 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3739 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3742 .description = "vtag_de",
3743 .field_bit_size = 1,
3744 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3747 .description = "vtag_pcp",
3748 .field_bit_size = 3,
3749 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3751 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
3752 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,
3753 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3754 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}