1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2014-2020 Broadcom
3  * All rights reserved.
4  */
5 
6 #include "ulp_template_db_enum.h"
7 #include "ulp_template_db_field.h"
8 #include "ulp_template_struct.h"
9 #include "ulp_rte_parser.h"
10 
11 struct bnxt_ulp_mapper_tbl_list_info ulp_stingray_act_tmpl_list[] = {
12 	[1] = {
13 	.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
14 	.num_tbls = 6,
15 	.start_tbl_idx = 0
16 	},
17 	[2] = {
18 	.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
19 	.num_tbls = 3,
20 	.start_tbl_idx = 6
21 	},
22 	[3] = {
23 	.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
24 	.num_tbls = 3,
25 	.start_tbl_idx = 9
26 	},
27 	[4] = {
28 	.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
29 	.num_tbls = 6,
30 	.start_tbl_idx = 12
31 	},
32 	[5] = {
33 	.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
34 	.num_tbls = 6,
35 	.start_tbl_idx = 18
36 	},
37 	[6] = {
38 	.device_name = BNXT_ULP_DEVICE_ID_STINGRAY,
39 	.num_tbls = 5,
40 	.start_tbl_idx = 24
41 	}
42 };
43 
44 struct bnxt_ulp_mapper_tbl_info ulp_stingray_act_tbl_list[] = {
45 	{
46 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
47 	.resource_type = TF_TBL_TYPE_ACT_STATS_64,
48 	.resource_sub_type =
49 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
50 	.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
51 	.cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
52 	.direction = TF_DIR_RX,
53 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
54 	.result_start_idx = 0,
55 	.result_bit_size = 64,
56 	.result_num_fields = 1,
57 	.encap_num_fields = 0,
58 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
59 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
60 	.index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
61 	},
62 	{
63 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
64 	.resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
65 	.resource_sub_type =
66 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
67 	.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
68 	.cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_SRC,
69 	.direction = TF_DIR_RX,
70 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
71 	.result_start_idx = 1,
72 	.result_bit_size = 32,
73 	.result_num_fields = 1,
74 	.encap_num_fields = 0,
75 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
76 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
77 	.index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0
78 	},
79 	{
80 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
81 	.resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
82 	.resource_sub_type =
83 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
84 	.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
85 	.cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_DST,
86 	.direction = TF_DIR_RX,
87 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
88 	.result_start_idx = 2,
89 	.result_bit_size = 32,
90 	.result_num_fields = 1,
91 	.encap_num_fields = 0,
92 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
93 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
94 	.index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0
95 	},
96 	{
97 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
98 	.resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
99 	.resource_sub_type =
100 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
101 	.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
102 	.direction = TF_DIR_RX,
103 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
104 	.result_start_idx = 3,
105 	.result_bit_size = 0,
106 	.result_num_fields = 0,
107 	.encap_num_fields = 12,
108 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
109 	.index_opcode = BNXT_ULP_INDEX_OPCODE_GLOBAL,
110 	.index_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR
111 	},
112 	{
113 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
114 	.resource_type = TF_TBL_TYPE_EXT,
115 	.resource_sub_type =
116 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
117 	.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
118 	.direction = TF_DIR_RX,
119 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
120 	.result_start_idx = 15,
121 	.result_bit_size = 128,
122 	.result_num_fields = 26,
123 	.encap_num_fields = 0,
124 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
125 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
126 	.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
127 	},
128 	{
129 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
130 	.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
131 	.resource_sub_type =
132 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
133 	.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
134 	.direction = TF_DIR_RX,
135 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
136 	.result_start_idx = 41,
137 	.result_bit_size = 128,
138 	.result_num_fields = 26,
139 	.encap_num_fields = 0,
140 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
141 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
142 	.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
143 	},
144 	{
145 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
146 	.resource_type = TF_TBL_TYPE_ACT_STATS_64,
147 	.resource_sub_type =
148 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
149 	.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
150 	.cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
151 	.direction = TF_DIR_RX,
152 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
153 	.result_start_idx = 67,
154 	.result_bit_size = 64,
155 	.result_num_fields = 1,
156 	.encap_num_fields = 0,
157 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
158 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
159 	.index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
160 	},
161 	{
162 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
163 	.resource_type = TF_TBL_TYPE_EXT,
164 	.resource_sub_type =
165 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
166 	.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
167 	.direction = TF_DIR_RX,
168 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
169 	.result_start_idx = 68,
170 	.result_bit_size = 128,
171 	.result_num_fields = 26,
172 	.encap_num_fields = 0,
173 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
174 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
175 	.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
176 	},
177 	{
178 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
179 	.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
180 	.resource_sub_type =
181 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
182 	.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
183 	.direction = TF_DIR_RX,
184 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
185 	.result_start_idx = 94,
186 	.result_bit_size = 128,
187 	.result_num_fields = 26,
188 	.encap_num_fields = 0,
189 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
190 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
191 	.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
192 	},
193 	{
194 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
195 	.resource_type = TF_TBL_TYPE_ACT_STATS_64,
196 	.resource_sub_type =
197 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
198 	.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
199 	.cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
200 	.direction = TF_DIR_RX,
201 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
202 	.result_start_idx = 120,
203 	.result_bit_size = 64,
204 	.result_num_fields = 1,
205 	.encap_num_fields = 0,
206 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
207 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
208 	.index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
209 	},
210 	{
211 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
212 	.resource_type = TF_TBL_TYPE_EXT,
213 	.resource_sub_type =
214 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
215 	.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
216 	.direction = TF_DIR_RX,
217 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
218 	.result_start_idx = 121,
219 	.result_bit_size = 128,
220 	.result_num_fields = 26,
221 	.encap_num_fields = 0,
222 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
223 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
224 	.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
225 	},
226 	{
227 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
228 	.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
229 	.resource_sub_type =
230 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
231 	.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
232 	.direction = TF_DIR_RX,
233 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
234 	.result_start_idx = 147,
235 	.result_bit_size = 128,
236 	.result_num_fields = 26,
237 	.encap_num_fields = 0,
238 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
239 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
240 	.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
241 	},
242 	{
243 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
244 	.resource_type = TF_TBL_TYPE_ACT_STATS_64,
245 	.resource_sub_type =
246 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
247 	.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
248 	.cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
249 	.direction = TF_DIR_TX,
250 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
251 	.result_start_idx = 173,
252 	.result_bit_size = 64,
253 	.result_num_fields = 1,
254 	.encap_num_fields = 0,
255 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
256 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
257 	.index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
258 	},
259 	{
260 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
261 	.resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
262 	.resource_sub_type =
263 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
264 	.cond_opcode = BNXT_ULP_COND_OPCODE_COMP_FIELD_IS_SET,
265 	.cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG,
266 	.direction = TF_DIR_TX,
267 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
268 	.result_start_idx = 174,
269 	.result_bit_size = 0,
270 	.result_num_fields = 0,
271 	.encap_num_fields = 3,
272 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
273 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
274 	.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR
275 	},
276 	{
277 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
278 	.resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV6,
279 	.resource_sub_type =
280 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
281 	.cond_opcode = BNXT_ULP_COND_OPCODE_COMP_FIELD_IS_SET,
282 	.cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG,
283 	.direction = TF_DIR_TX,
284 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
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_OPCODE_NOP,
290 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
291 	.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR
292 	},
293 	{
294 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
295 	.resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
296 	.resource_sub_type =
297 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
298 	.direction = TF_DIR_TX,
299 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
300 	.result_start_idx = 180,
301 	.result_bit_size = 0,
302 	.result_num_fields = 0,
303 	.encap_num_fields = 12,
304 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
305 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
306 	.index_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0
307 	},
308 	{
309 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
310 	.resource_type = TF_TBL_TYPE_EXT,
311 	.resource_sub_type =
312 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
313 	.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
314 	.direction = TF_DIR_TX,
315 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
316 	.result_start_idx = 192,
317 	.result_bit_size = 128,
318 	.result_num_fields = 26,
319 	.encap_num_fields = 12,
320 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
321 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
322 	.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
323 	},
324 	{
325 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
326 	.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
327 	.resource_sub_type =
328 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
329 	.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
330 	.direction = TF_DIR_TX,
331 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
332 	.result_start_idx = 230,
333 	.result_bit_size = 128,
334 	.result_num_fields = 26,
335 	.encap_num_fields = 0,
336 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
337 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
338 	.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
339 	},
340 	{
341 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
342 	.resource_type = TF_TBL_TYPE_ACT_STATS_64,
343 	.resource_sub_type =
344 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
345 	.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
346 	.cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
347 	.direction = TF_DIR_TX,
348 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
349 	.result_start_idx = 256,
350 	.result_bit_size = 64,
351 	.result_num_fields = 1,
352 	.encap_num_fields = 0,
353 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
354 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
355 	.index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
356 	},
357 	{
358 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
359 	.resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
360 	.resource_sub_type =
361 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
362 	.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
363 	.cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_SRC,
364 	.direction = TF_DIR_TX,
365 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
366 	.result_start_idx = 257,
367 	.result_bit_size = 32,
368 	.result_num_fields = 1,
369 	.encap_num_fields = 0,
370 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
371 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
372 	.index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0
373 	},
374 	{
375 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
376 	.resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
377 	.resource_sub_type =
378 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
379 	.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
380 	.cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_DST,
381 	.direction = TF_DIR_TX,
382 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
383 	.result_start_idx = 258,
384 	.result_bit_size = 32,
385 	.result_num_fields = 1,
386 	.encap_num_fields = 0,
387 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
388 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
389 	.index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0
390 	},
391 	{
392 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
393 	.resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
394 	.resource_sub_type =
395 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
396 	.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
397 	.direction = TF_DIR_TX,
398 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
399 	.result_start_idx = 259,
400 	.result_bit_size = 0,
401 	.result_num_fields = 0,
402 	.encap_num_fields = 12,
403 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
404 	.index_opcode = BNXT_ULP_INDEX_OPCODE_GLOBAL,
405 	.index_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR
406 	},
407 	{
408 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
409 	.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
410 	.resource_sub_type =
411 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
412 	.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
413 	.direction = TF_DIR_TX,
414 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
415 	.result_start_idx = 271,
416 	.result_bit_size = 128,
417 	.result_num_fields = 26,
418 	.encap_num_fields = 0,
419 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
420 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
421 	.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
422 	},
423 	{
424 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
425 	.resource_type = TF_TBL_TYPE_EXT,
426 	.resource_sub_type =
427 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
428 	.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
429 	.direction = TF_DIR_TX,
430 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
431 	.result_start_idx = 297,
432 	.result_bit_size = 128,
433 	.result_num_fields = 26,
434 	.encap_num_fields = 11,
435 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
436 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
437 	.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
438 	},
439 	{
440 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
441 	.resource_type = TF_TBL_TYPE_ACT_STATS_64,
442 	.resource_sub_type =
443 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
444 	.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
445 	.cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
446 	.direction = TF_DIR_TX,
447 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
448 	.result_start_idx = 334,
449 	.result_bit_size = 64,
450 	.result_num_fields = 1,
451 	.encap_num_fields = 0,
452 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
453 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
454 	.index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0
455 	},
456 	{
457 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
458 	.resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
459 	.resource_sub_type =
460 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
461 	.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
462 	.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
463 	.cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,
464 	.direction = TF_DIR_TX,
465 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
466 	.result_start_idx = 335,
467 	.result_bit_size = 0,
468 	.result_num_fields = 0,
469 	.encap_num_fields = 12,
470 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
471 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
472 	.index_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0
473 	},
474 	{
475 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
476 	.resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
477 	.resource_sub_type =
478 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
479 	.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_INT,
480 	.direction = TF_DIR_TX,
481 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
482 	.result_start_idx = 347,
483 	.result_bit_size = 128,
484 	.result_num_fields = 26,
485 	.encap_num_fields = 0,
486 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
487 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
488 	.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
489 	},
490 	{
491 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
492 	.resource_type = TF_TBL_TYPE_EXT,
493 	.resource_sub_type =
494 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
495 	.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
496 	.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_NOT_SET,
497 	.cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,
498 	.direction = TF_DIR_TX,
499 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
500 	.result_start_idx = 373,
501 	.result_bit_size = 128,
502 	.result_num_fields = 26,
503 	.encap_num_fields = 0,
504 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
505 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
506 	.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
507 	},
508 	{
509 	.resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
510 	.resource_type = TF_TBL_TYPE_EXT,
511 	.resource_sub_type =
512 		BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
513 	.mem_type_opcode = BNXT_ULP_MEM_TYPE_OPCODE_EXECUTE_IF_EXT,
514 	.cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
515 	.cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,
516 	.direction = TF_DIR_TX,
517 	.srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
518 	.result_start_idx = 399,
519 	.result_bit_size = 128,
520 	.result_num_fields = 26,
521 	.encap_num_fields = 11,
522 	.mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP,
523 	.index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
524 	.index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR
525 	}
526 };
527 
528 struct bnxt_ulp_mapper_result_field_info ulp_stingray_act_result_field_list[] = {
529 	{
530 	.field_bit_size = 64,
531 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
532 	},
533 	{
534 	.field_bit_size = 32,
535 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
536 	.result_operand = {
537 		(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
538 		BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,
539 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
540 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
541 	},
542 	{
543 	.field_bit_size = 32,
544 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
545 	.result_operand = {
546 		(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
547 		BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,
548 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
549 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
550 	},
551 	{
552 	.field_bit_size = 3,
553 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
554 	},
555 	{
556 	.field_bit_size = 3,
557 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
558 	},
559 	{
560 	.field_bit_size = 3,
561 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
562 	},
563 	{
564 	.field_bit_size = 1,
565 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
566 	.result_operand = {
567 		BNXT_ULP_SYM_ECV_L2_EN_YES,
568 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
569 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
570 	},
571 	{
572 	.field_bit_size = 4,
573 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
574 	},
575 	{
576 	.field_bit_size = 1,
577 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
578 	},
579 	{
580 	.field_bit_size = 1,
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}
584 	},
585 	{
586 	.field_bit_size = 16,
587 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
588 	},
589 	{
590 	.field_bit_size = 12,
591 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
592 	},
593 	{
594 	.field_bit_size = 1,
595 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
596 	},
597 	{
598 	.field_bit_size = 3,
599 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
600 	},
601 	{
602 	.field_bit_size = 80,
603 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
604 	},
605 	{
606 	.field_bit_size = 14,
607 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
608 	.result_operand = {
609 		(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
610 		BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
611 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
612 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
613 	},
614 	{
615 	.field_bit_size = 1,
616 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
617 	},
618 	{
619 	.field_bit_size = 1,
620 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
621 	},
622 	{
623 	.field_bit_size = 1,
624 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
625 	},
626 	{
627 	.field_bit_size = 1,
628 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
629 	.result_operand = {
630 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
631 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
632 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
633 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
634 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
635 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
636 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
637 		(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
638 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
639 	},
640 	{
641 	.field_bit_size = 1,
642 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
643 	},
644 	{
645 	.field_bit_size = 8,
646 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
647 	},
648 	{
649 	.field_bit_size = 1,
650 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
651 	},
652 	{
653 	.field_bit_size = 1,
654 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
655 	},
656 	{
657 	.field_bit_size = 11,
658 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
659 	.result_operand = {
660 		(BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
661 		BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
662 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
663 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
664 	},
665 	{
666 	.field_bit_size = 1,
667 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
668 	.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
669 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
670 	},
671 	{
672 	.field_bit_size = 10,
673 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
674 	.result_operand = {
675 		(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
676 		BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
677 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
678 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
679 	},
680 	{
681 	.field_bit_size = 16,
682 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
683 	.result_operand = {
684 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
685 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
686 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
687 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
688 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
689 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
690 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
691 		(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
692 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
693 	.result_operand_true = {
694 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
695 		BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
696 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
697 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
698 	},
699 	{
700 	.field_bit_size = 10,
701 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
702 	.result_operand = {
703 		(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
704 		BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
705 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
706 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
707 	},
708 	{
709 	.field_bit_size = 16,
710 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
711 	.result_operand = {
712 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
713 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
714 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
715 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
716 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
717 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
718 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
719 		(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
720 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
721 	.result_operand_true = {
722 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
723 		BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
724 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
725 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
726 	},
727 	{
728 	.field_bit_size = 10,
729 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
730 	},
731 	{
732 	.field_bit_size = 1,
733 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
734 	},
735 	{
736 	.field_bit_size = 1,
737 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
738 	},
739 	{
740 	.field_bit_size = 1,
741 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
742 	.result_operand = {
743 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
744 		BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
745 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
746 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
747 	},
748 	{
749 	.field_bit_size = 1,
750 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
751 	.result_operand = {
752 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
753 		BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
754 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
755 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
756 	},
757 	{
758 	.field_bit_size = 4,
759 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
760 	.result_operand = {
761 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
762 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
763 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
764 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
765 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
766 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
767 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
768 		(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
769 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
770 	.result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
771 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
772 	.result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
773 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
774 	},
775 	{
776 	.field_bit_size = 12,
777 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
778 	.result_operand = {
779 		(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
780 		BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
781 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
782 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
783 	},
784 	{
785 	.field_bit_size = 1,
786 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
787 	},
788 	{
789 	.field_bit_size = 1,
790 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
791 	},
792 	{
793 	.field_bit_size = 2,
794 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
795 	},
796 	{
797 	.field_bit_size = 1,
798 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
799 	},
800 	{
801 	.field_bit_size = 14,
802 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
803 	.result_operand = {
804 		(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
805 		BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
806 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
807 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
808 	},
809 	{
810 	.field_bit_size = 1,
811 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
812 	},
813 	{
814 	.field_bit_size = 1,
815 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
816 	},
817 	{
818 	.field_bit_size = 1,
819 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
820 	},
821 	{
822 	.field_bit_size = 1,
823 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
824 	.result_operand = {
825 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
826 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
827 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
828 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
829 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
830 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
831 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
832 		(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
833 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
834 	},
835 	{
836 	.field_bit_size = 8,
837 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
838 	},
839 	{
840 	.field_bit_size = 1,
841 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
842 	},
843 	{
844 	.field_bit_size = 1,
845 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
846 	},
847 	{
848 	.field_bit_size = 11,
849 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
850 	.result_operand = {
851 		(BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
852 		BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
853 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
854 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
855 	},
856 	{
857 	.field_bit_size = 10,
858 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
859 	.result_operand = {
860 		(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
861 		BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
862 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
863 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
864 	},
865 	{
866 	.field_bit_size = 16,
867 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
868 	.result_operand = {
869 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
870 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
871 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
872 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
873 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
874 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
875 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
876 		(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
877 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
878 	.result_operand_true = {
879 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
880 		BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
881 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
882 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
883 	},
884 	{
885 	.field_bit_size = 10,
886 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
887 	.result_operand = {
888 		(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
889 		BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
890 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
891 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
892 	},
893 	{
894 	.field_bit_size = 16,
895 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
896 	.result_operand = {
897 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
898 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
899 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
900 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
901 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
902 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
903 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
904 		(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
905 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
906 	.result_operand_true = {
907 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
908 		BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
909 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
910 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
911 	},
912 	{
913 	.field_bit_size = 10,
914 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
915 	},
916 	{
917 	.field_bit_size = 1,
918 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
919 	},
920 	{
921 	.field_bit_size = 1,
922 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
923 	},
924 	{
925 	.field_bit_size = 1,
926 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
927 	.result_operand = {
928 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
929 		BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
930 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
931 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
932 	},
933 	{
934 	.field_bit_size = 1,
935 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
936 	.result_operand = {
937 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
938 		BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
939 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
940 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
941 	},
942 	{
943 	.field_bit_size = 4,
944 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
945 	.result_operand = {
946 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
947 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
948 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
949 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
950 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
951 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
952 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
953 		(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
954 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
955 	.result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
956 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
957 	.result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
958 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
959 	},
960 	{
961 	.field_bit_size = 12,
962 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
963 	.result_operand = {
964 		(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
965 		BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
966 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
967 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
968 	},
969 	{
970 	.field_bit_size = 1,
971 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
972 	},
973 	{
974 	.field_bit_size = 1,
975 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
976 	},
977 	{
978 	.field_bit_size = 2,
979 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
980 	},
981 	{
982 	.field_bit_size = 1,
983 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
984 	},
985 	{
986 	.field_bit_size = 1,
987 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
988 	},
989 	{
990 	.field_bit_size = 1,
991 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
992 	},
993 	{
994 	.field_bit_size = 64,
995 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
996 	},
997 	{
998 	.field_bit_size = 14,
999 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1000 	.result_operand = {
1001 		(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1002 		BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1003 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1004 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1005 	},
1006 	{
1007 	.field_bit_size = 1,
1008 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1009 	},
1010 	{
1011 	.field_bit_size = 1,
1012 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1013 	},
1014 	{
1015 	.field_bit_size = 1,
1016 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1017 	},
1018 	{
1019 	.field_bit_size = 1,
1020 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1021 	.result_operand = {
1022 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1023 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1024 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1025 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1026 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1027 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1028 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1029 		(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1030 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1031 	},
1032 	{
1033 	.field_bit_size = 1,
1034 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1035 	},
1036 	{
1037 	.field_bit_size = 8,
1038 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1039 	},
1040 	{
1041 	.field_bit_size = 1,
1042 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1043 	},
1044 	{
1045 	.field_bit_size = 1,
1046 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1047 	},
1048 	{
1049 	.field_bit_size = 11,
1050 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1051 	},
1052 	{
1053 	.field_bit_size = 1,
1054 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1055 	},
1056 	{
1057 	.field_bit_size = 10,
1058 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1059 	.result_operand = {
1060 		(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
1061 		BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
1062 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1063 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1064 	},
1065 	{
1066 	.field_bit_size = 16,
1067 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1068 	.result_operand = {
1069 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
1070 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
1071 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
1072 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
1073 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
1074 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
1075 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
1076 		(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
1077 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1078 	.result_operand_true = {
1079 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
1080 		BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
1081 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1082 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1083 	},
1084 	{
1085 	.field_bit_size = 10,
1086 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1087 	.result_operand = {
1088 		(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
1089 		BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
1090 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1091 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1092 	},
1093 	{
1094 	.field_bit_size = 16,
1095 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1096 	.result_operand = {
1097 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
1098 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
1099 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
1100 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
1101 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
1102 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
1103 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
1104 		(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
1105 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1106 	.result_operand_true = {
1107 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
1108 		BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
1109 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1110 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1111 	},
1112 	{
1113 	.field_bit_size = 10,
1114 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1115 	},
1116 	{
1117 	.field_bit_size = 1,
1118 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1119 	},
1120 	{
1121 	.field_bit_size = 1,
1122 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1123 	},
1124 	{
1125 	.field_bit_size = 1,
1126 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1127 	.result_operand = {
1128 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1129 		BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
1130 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1131 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1132 	},
1133 	{
1134 	.field_bit_size = 1,
1135 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1136 	.result_operand = {
1137 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1138 		BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
1139 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1140 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1141 	},
1142 	{
1143 	.field_bit_size = 4,
1144 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
1145 	.result_operand = {
1146 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
1147 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
1148 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
1149 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
1150 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
1151 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
1152 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
1153 		(uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
1154 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1155 	.result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
1156 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1157 	},
1158 	{
1159 	.field_bit_size = 12,
1160 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1161 	.result_operand = {
1162 		(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1163 		BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1164 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1165 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1166 	},
1167 	{
1168 	.field_bit_size = 1,
1169 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1170 	.result_operand = {
1171 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1172 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1173 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1174 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1175 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1176 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1177 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1178 		(uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1179 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1180 	},
1181 	{
1182 	.field_bit_size = 1,
1183 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1184 	},
1185 	{
1186 	.field_bit_size = 2,
1187 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1188 	},
1189 	{
1190 	.field_bit_size = 1,
1191 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1192 	.result_operand = {
1193 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
1194 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
1195 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
1196 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
1197 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
1198 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
1199 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
1200 		(uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
1201 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1202 	},
1203 	{
1204 	.field_bit_size = 14,
1205 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1206 	.result_operand = {
1207 		(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1208 		BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1209 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1210 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1211 	},
1212 	{
1213 	.field_bit_size = 1,
1214 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1215 	},
1216 	{
1217 	.field_bit_size = 1,
1218 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1219 	},
1220 	{
1221 	.field_bit_size = 1,
1222 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1223 	},
1224 	{
1225 	.field_bit_size = 1,
1226 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1227 	.result_operand = {
1228 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1229 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1230 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1231 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1232 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1233 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1234 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1235 		(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1236 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1237 	},
1238 	{
1239 	.field_bit_size = 8,
1240 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1241 	},
1242 	{
1243 	.field_bit_size = 1,
1244 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1245 	},
1246 	{
1247 	.field_bit_size = 1,
1248 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1249 	},
1250 	{
1251 	.field_bit_size = 11,
1252 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1253 	.result_operand = {
1254 		(BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
1255 		BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
1256 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1257 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1258 	},
1259 	{
1260 	.field_bit_size = 10,
1261 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1262 	.result_operand = {
1263 		(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
1264 		BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
1265 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1266 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1267 	},
1268 	{
1269 	.field_bit_size = 16,
1270 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1271 	.result_operand = {
1272 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
1273 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
1274 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
1275 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
1276 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
1277 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
1278 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
1279 		(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
1280 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1281 	.result_operand_true = {
1282 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
1283 		BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
1284 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1285 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1286 	},
1287 	{
1288 	.field_bit_size = 10,
1289 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1290 	.result_operand = {
1291 		(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
1292 		BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
1293 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1294 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1295 	},
1296 	{
1297 	.field_bit_size = 16,
1298 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1299 	.result_operand = {
1300 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
1301 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
1302 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
1303 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
1304 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
1305 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
1306 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
1307 		(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
1308 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1309 	.result_operand_true = {
1310 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
1311 		BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
1312 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1313 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1314 	},
1315 	{
1316 	.field_bit_size = 10,
1317 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1318 	},
1319 	{
1320 	.field_bit_size = 1,
1321 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1322 	},
1323 	{
1324 	.field_bit_size = 1,
1325 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1326 	},
1327 	{
1328 	.field_bit_size = 1,
1329 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1330 	.result_operand = {
1331 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1332 		BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
1333 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1334 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1335 	},
1336 	{
1337 	.field_bit_size = 1,
1338 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1339 	.result_operand = {
1340 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1341 		BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
1342 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1343 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1344 	},
1345 	{
1346 	.field_bit_size = 4,
1347 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
1348 	.result_operand = {
1349 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
1350 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
1351 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
1352 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
1353 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
1354 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
1355 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
1356 		(uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
1357 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1358 	.result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
1359 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1360 	},
1361 	{
1362 	.field_bit_size = 12,
1363 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1364 	.result_operand = {
1365 		(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1366 		BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1367 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1368 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1369 	},
1370 	{
1371 	.field_bit_size = 1,
1372 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1373 	.result_operand = {
1374 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1375 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1376 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1377 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1378 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1379 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1380 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1381 		(uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1382 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1383 	},
1384 	{
1385 	.field_bit_size = 1,
1386 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1387 	},
1388 	{
1389 	.field_bit_size = 2,
1390 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1391 	},
1392 	{
1393 	.field_bit_size = 1,
1394 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1395 	.result_operand = {
1396 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
1397 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
1398 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
1399 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
1400 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
1401 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
1402 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
1403 		(uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
1404 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1405 	},
1406 	{
1407 	.field_bit_size = 1,
1408 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1409 	},
1410 	{
1411 	.field_bit_size = 1,
1412 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1413 	},
1414 	{
1415 	.field_bit_size = 64,
1416 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1417 	},
1418 	{
1419 	.field_bit_size = 14,
1420 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1421 	.result_operand = {
1422 		(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1423 		BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1424 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1425 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1426 	},
1427 	{
1428 	.field_bit_size = 1,
1429 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1430 	},
1431 	{
1432 	.field_bit_size = 1,
1433 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1434 	},
1435 	{
1436 	.field_bit_size = 1,
1437 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1438 	},
1439 	{
1440 	.field_bit_size = 1,
1441 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1442 	.result_operand = {
1443 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1444 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1445 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1446 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1447 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1448 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1449 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1450 		(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1451 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1452 	},
1453 	{
1454 	.field_bit_size = 1,
1455 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1456 	},
1457 	{
1458 	.field_bit_size = 8,
1459 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1460 	},
1461 	{
1462 	.field_bit_size = 1,
1463 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1464 	},
1465 	{
1466 	.field_bit_size = 1,
1467 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1468 	},
1469 	{
1470 	.field_bit_size = 11,
1471 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1472 	},
1473 	{
1474 	.field_bit_size = 1,
1475 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1476 	},
1477 	{
1478 	.field_bit_size = 10,
1479 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1480 	},
1481 	{
1482 	.field_bit_size = 16,
1483 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1484 	},
1485 	{
1486 	.field_bit_size = 10,
1487 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1488 	},
1489 	{
1490 	.field_bit_size = 16,
1491 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1492 	},
1493 	{
1494 	.field_bit_size = 10,
1495 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1496 	},
1497 	{
1498 	.field_bit_size = 1,
1499 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1500 	},
1501 	{
1502 	.field_bit_size = 1,
1503 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1504 	},
1505 	{
1506 	.field_bit_size = 1,
1507 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1508 	},
1509 	{
1510 	.field_bit_size = 1,
1511 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1512 	},
1513 	{
1514 	.field_bit_size = 4,
1515 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
1516 	.result_operand = {
1517 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
1518 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
1519 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
1520 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
1521 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
1522 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
1523 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
1524 		(uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
1525 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1526 	.result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
1527 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1528 	},
1529 	{
1530 	.field_bit_size = 12,
1531 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1532 	.result_operand = {
1533 		(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1534 		BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1535 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1536 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1537 	},
1538 	{
1539 	.field_bit_size = 1,
1540 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1541 	.result_operand = {
1542 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1543 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1544 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1545 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1546 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1547 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1548 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1549 		(uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1550 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1551 	},
1552 	{
1553 	.field_bit_size = 1,
1554 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1555 	},
1556 	{
1557 	.field_bit_size = 2,
1558 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1559 	},
1560 	{
1561 	.field_bit_size = 1,
1562 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1563 	},
1564 	{
1565 	.field_bit_size = 14,
1566 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1567 	.result_operand = {
1568 		(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1569 		BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1570 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1571 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1572 	},
1573 	{
1574 	.field_bit_size = 1,
1575 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1576 	},
1577 	{
1578 	.field_bit_size = 1,
1579 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1580 	},
1581 	{
1582 	.field_bit_size = 1,
1583 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1584 	},
1585 	{
1586 	.field_bit_size = 1,
1587 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1588 	.result_operand = {
1589 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1590 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1591 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1592 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1593 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1594 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1595 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1596 		(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1597 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1598 	},
1599 	{
1600 	.field_bit_size = 8,
1601 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1602 	},
1603 	{
1604 	.field_bit_size = 1,
1605 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1606 	},
1607 	{
1608 	.field_bit_size = 1,
1609 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1610 	},
1611 	{
1612 	.field_bit_size = 11,
1613 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1614 	},
1615 	{
1616 	.field_bit_size = 10,
1617 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1618 	},
1619 	{
1620 	.field_bit_size = 16,
1621 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1622 	},
1623 	{
1624 	.field_bit_size = 10,
1625 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1626 	},
1627 	{
1628 	.field_bit_size = 16,
1629 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1630 	},
1631 	{
1632 	.field_bit_size = 10,
1633 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1634 	},
1635 	{
1636 	.field_bit_size = 1,
1637 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1638 	},
1639 	{
1640 	.field_bit_size = 1,
1641 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1642 	},
1643 	{
1644 	.field_bit_size = 1,
1645 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1646 	},
1647 	{
1648 	.field_bit_size = 1,
1649 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1650 	},
1651 	{
1652 	.field_bit_size = 4,
1653 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
1654 	.result_operand = {
1655 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
1656 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
1657 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
1658 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
1659 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
1660 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
1661 		((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
1662 		(uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
1663 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1664 	.result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
1665 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1666 	},
1667 	{
1668 	.field_bit_size = 12,
1669 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1670 	.result_operand = {
1671 		(BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1672 		BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1673 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1674 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1675 	},
1676 	{
1677 	.field_bit_size = 1,
1678 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1679 	.result_operand = {
1680 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1681 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1682 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1683 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1684 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1685 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1686 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1687 		(uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1688 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1689 	},
1690 	{
1691 	.field_bit_size = 1,
1692 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1693 	},
1694 	{
1695 	.field_bit_size = 2,
1696 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1697 	},
1698 	{
1699 	.field_bit_size = 1,
1700 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1701 	},
1702 	{
1703 	.field_bit_size = 1,
1704 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1705 	},
1706 	{
1707 	.field_bit_size = 1,
1708 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1709 	},
1710 	{
1711 	.field_bit_size = 64,
1712 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1713 	},
1714 	{
1715 	.field_bit_size = 48,
1716 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1717 	.result_operand = {
1718 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
1719 		BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
1720 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1721 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1722 	},
1723 	{
1724 	.field_bit_size = 32,
1725 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1726 	.result_operand = {
1727 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
1728 		BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
1729 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1730 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1731 	},
1732 	{
1733 	.field_bit_size = 48,
1734 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1735 	},
1736 	{
1737 	.field_bit_size = 48,
1738 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1739 	.result_operand = {
1740 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
1741 		BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
1742 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1743 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1744 	},
1745 	{
1746 	.field_bit_size = 128,
1747 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1748 	.result_operand = {
1749 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
1750 		BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
1751 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1752 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1753 	},
1754 	{
1755 	.field_bit_size = 16,
1756 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1757 	},
1758 	{
1759 	.field_bit_size = 3,
1760 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1761 	.result_operand = {
1762 		BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,
1763 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1764 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1765 	},
1766 	{
1767 	.field_bit_size = 3,
1768 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1769 	.result_operand = {
1770 		BNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,
1771 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1772 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1773 	},
1774 	{
1775 	.field_bit_size = 3,
1776 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1777 	.result_operand = {
1778 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
1779 		BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,
1780 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1781 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1782 	},
1783 	{
1784 	.field_bit_size = 1,
1785 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1786 	.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1787 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1788 	},
1789 	{
1790 	.field_bit_size = 4,
1791 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1792 	.result_operand = {
1793 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
1794 		BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,
1795 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1796 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1797 	},
1798 	{
1799 	.field_bit_size = 1,
1800 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1801 	},
1802 	{
1803 	.field_bit_size = 1,
1804 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1805 	.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1806 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1807 	},
1808 	{
1809 	.field_bit_size = 48,
1810 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1811 	.result_operand = {
1812 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
1813 		BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,
1814 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1815 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1816 	},
1817 	{
1818 	.field_bit_size = 0,
1819 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
1820 	.result_operand = {
1821 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
1822 		BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
1823 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
1824 		BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,
1825 		0x00, 0x00, 0x00, 0x00, 0x00,
1826 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1827 	},
1828 	{
1829 	.field_bit_size = 0,
1830 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
1831 	.result_operand = {
1832 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
1833 		BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
1834 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
1835 		BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,
1836 		0x00, 0x00, 0x00, 0x00, 0x00,
1837 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1838 	},
1839 	{
1840 	.field_bit_size = 32,
1841 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1842 	.result_operand = {
1843 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
1844 		BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,
1845 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1846 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1847 	},
1848 	{
1849 	.field_bit_size = 0,
1850 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
1851 	.result_operand = {
1852 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
1853 		BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,
1854 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,
1855 		BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,
1856 		0x00, 0x00, 0x00, 0x00, 0x00,
1857 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1858 	},
1859 	{
1860 	.field_bit_size = 14,
1861 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1862 	.result_operand = {
1863 		(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1864 		BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1865 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1866 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1867 	},
1868 	{
1869 	.field_bit_size = 1,
1870 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1871 	},
1872 	{
1873 	.field_bit_size = 1,
1874 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1875 	},
1876 	{
1877 	.field_bit_size = 1,
1878 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1879 	},
1880 	{
1881 	.field_bit_size = 1,
1882 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1883 	.result_operand = {
1884 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1885 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1886 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1887 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1888 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1889 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1890 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1891 		(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1892 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1893 	},
1894 	{
1895 	.field_bit_size = 1,
1896 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1897 	},
1898 	{
1899 	.field_bit_size = 8,
1900 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1901 	},
1902 	{
1903 	.field_bit_size = 1,
1904 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1905 	},
1906 	{
1907 	.field_bit_size = 1,
1908 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1909 	},
1910 	{
1911 	.field_bit_size = 11,
1912 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1913 	},
1914 	{
1915 	.field_bit_size = 1,
1916 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1917 	},
1918 	{
1919 	.field_bit_size = 10,
1920 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1921 	},
1922 	{
1923 	.field_bit_size = 16,
1924 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1925 	},
1926 	{
1927 	.field_bit_size = 10,
1928 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1929 	},
1930 	{
1931 	.field_bit_size = 16,
1932 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1933 	},
1934 	{
1935 	.field_bit_size = 10,
1936 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1937 	},
1938 	{
1939 	.field_bit_size = 1,
1940 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1941 	},
1942 	{
1943 	.field_bit_size = 1,
1944 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1945 	},
1946 	{
1947 	.field_bit_size = 1,
1948 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1949 	},
1950 	{
1951 	.field_bit_size = 1,
1952 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1953 	},
1954 	{
1955 	.field_bit_size = 4,
1956 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1957 	},
1958 	{
1959 	.field_bit_size = 12,
1960 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1961 	.result_operand = {
1962 		(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
1963 		BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
1964 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1965 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1966 	},
1967 	{
1968 	.field_bit_size = 1,
1969 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1970 	},
1971 	{
1972 	.field_bit_size = 1,
1973 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1974 	},
1975 	{
1976 	.field_bit_size = 2,
1977 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1978 	},
1979 	{
1980 	.field_bit_size = 1,
1981 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1982 	},
1983 	{
1984 	.field_bit_size = 3,
1985 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1986 	.result_operand = {
1987 		BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,
1988 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1989 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1990 	},
1991 	{
1992 	.field_bit_size = 3,
1993 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1994 	.result_operand = {
1995 		BNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,
1996 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1997 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1998 	},
1999 	{
2000 	.field_bit_size = 3,
2001 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2002 	.result_operand = {
2003 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
2004 		BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,
2005 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2006 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2007 	},
2008 	{
2009 	.field_bit_size = 1,
2010 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2011 	.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2012 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2013 	},
2014 	{
2015 	.field_bit_size = 4,
2016 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2017 	.result_operand = {
2018 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
2019 		BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,
2020 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2021 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2022 	},
2023 	{
2024 	.field_bit_size = 1,
2025 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2026 	},
2027 	{
2028 	.field_bit_size = 1,
2029 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2030 	.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2031 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2032 	},
2033 	{
2034 	.field_bit_size = 48,
2035 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2036 	.result_operand = {
2037 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
2038 		BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,
2039 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2040 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2041 	},
2042 	{
2043 	.field_bit_size = 0,
2044 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2045 	.result_operand = {
2046 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
2047 		BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
2048 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
2049 		BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,
2050 		0x00, 0x00, 0x00, 0x00, 0x00,
2051 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2052 	},
2053 	{
2054 	.field_bit_size = 0,
2055 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2056 	.result_operand = {
2057 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
2058 		BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
2059 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
2060 		BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,
2061 		0x00, 0x00, 0x00, 0x00, 0x00,
2062 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2063 	},
2064 	{
2065 	.field_bit_size = 32,
2066 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2067 	.result_operand = {
2068 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
2069 		BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,
2070 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2071 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2072 	},
2073 	{
2074 	.field_bit_size = 0,
2075 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2076 	.result_operand = {
2077 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
2078 		BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,
2079 		(BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,
2080 		BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,
2081 		0x00, 0x00, 0x00, 0x00, 0x00,
2082 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2083 	},
2084 	{
2085 	.field_bit_size = 14,
2086 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2087 	.result_operand = {
2088 		(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2089 		BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2090 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2091 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2092 	},
2093 	{
2094 	.field_bit_size = 1,
2095 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2096 	},
2097 	{
2098 	.field_bit_size = 1,
2099 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2100 	},
2101 	{
2102 	.field_bit_size = 1,
2103 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2104 	},
2105 	{
2106 	.field_bit_size = 1,
2107 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2108 	.result_operand = {
2109 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2110 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2111 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2112 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2113 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2114 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2115 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2116 		(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2117 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2118 	},
2119 	{
2120 	.field_bit_size = 8,
2121 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2122 	},
2123 	{
2124 	.field_bit_size = 1,
2125 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2126 	},
2127 	{
2128 	.field_bit_size = 1,
2129 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2130 	},
2131 	{
2132 	.field_bit_size = 11,
2133 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2134 	.result_operand = {
2135 		(BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
2136 		BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
2137 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2138 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2139 	},
2140 	{
2141 	.field_bit_size = 10,
2142 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2143 	},
2144 	{
2145 	.field_bit_size = 16,
2146 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2147 	},
2148 	{
2149 	.field_bit_size = 10,
2150 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2151 	},
2152 	{
2153 	.field_bit_size = 16,
2154 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2155 	},
2156 	{
2157 	.field_bit_size = 10,
2158 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2159 	},
2160 	{
2161 	.field_bit_size = 1,
2162 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2163 	},
2164 	{
2165 	.field_bit_size = 1,
2166 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2167 	},
2168 	{
2169 	.field_bit_size = 1,
2170 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2171 	},
2172 	{
2173 	.field_bit_size = 1,
2174 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2175 	},
2176 	{
2177 	.field_bit_size = 4,
2178 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2179 	},
2180 	{
2181 	.field_bit_size = 12,
2182 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2183 	.result_operand = {
2184 		(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2185 		BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2186 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2187 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2188 	},
2189 	{
2190 	.field_bit_size = 1,
2191 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2192 	},
2193 	{
2194 	.field_bit_size = 1,
2195 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2196 	},
2197 	{
2198 	.field_bit_size = 2,
2199 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2200 	},
2201 	{
2202 	.field_bit_size = 1,
2203 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2204 	},
2205 	{
2206 	.field_bit_size = 1,
2207 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2208 	},
2209 	{
2210 	.field_bit_size = 1,
2211 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2212 	},
2213 	{
2214 	.field_bit_size = 64,
2215 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2216 	},
2217 	{
2218 	.field_bit_size = 32,
2219 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2220 	.result_operand = {
2221 		(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
2222 		BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,
2223 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2224 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2225 	},
2226 	{
2227 	.field_bit_size = 32,
2228 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2229 	.result_operand = {
2230 		(BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
2231 		BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,
2232 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2233 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2234 	},
2235 	{
2236 	.field_bit_size = 3,
2237 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2238 	},
2239 	{
2240 	.field_bit_size = 3,
2241 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2242 	},
2243 	{
2244 	.field_bit_size = 3,
2245 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2246 	},
2247 	{
2248 	.field_bit_size = 1,
2249 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2250 	.result_operand = {
2251 		BNXT_ULP_SYM_ECV_L2_EN_YES,
2252 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2253 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2254 	},
2255 	{
2256 	.field_bit_size = 4,
2257 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2258 	},
2259 	{
2260 	.field_bit_size = 1,
2261 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2262 	},
2263 	{
2264 	.field_bit_size = 1,
2265 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2266 	.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2267 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2268 	},
2269 	{
2270 	.field_bit_size = 16,
2271 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2272 	},
2273 	{
2274 	.field_bit_size = 12,
2275 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2276 	},
2277 	{
2278 	.field_bit_size = 1,
2279 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2280 	},
2281 	{
2282 	.field_bit_size = 3,
2283 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2284 	},
2285 	{
2286 	.field_bit_size = 80,
2287 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2288 	},
2289 	{
2290 	.field_bit_size = 14,
2291 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2292 	.result_operand = {
2293 		(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2294 		BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2295 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2296 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2297 	},
2298 	{
2299 	.field_bit_size = 1,
2300 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2301 	},
2302 	{
2303 	.field_bit_size = 1,
2304 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2305 	},
2306 	{
2307 	.field_bit_size = 1,
2308 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2309 	},
2310 	{
2311 	.field_bit_size = 1,
2312 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2313 	.result_operand = {
2314 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2315 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2316 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2317 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2318 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2319 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2320 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2321 		(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2322 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2323 	},
2324 	{
2325 	.field_bit_size = 8,
2326 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2327 	},
2328 	{
2329 	.field_bit_size = 1,
2330 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2331 	},
2332 	{
2333 	.field_bit_size = 1,
2334 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2335 	},
2336 	{
2337 	.field_bit_size = 11,
2338 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
2339 	.result_operand = {
2340 		(BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
2341 		BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
2342 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2343 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2344 	},
2345 	{
2346 	.field_bit_size = 10,
2347 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2348 	.result_operand = {
2349 		(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
2350 		BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
2351 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2352 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2353 	},
2354 	{
2355 	.field_bit_size = 16,
2356 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2357 	.result_operand = {
2358 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
2359 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
2360 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
2361 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
2362 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
2363 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
2364 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
2365 		(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
2366 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2367 	.result_operand_true = {
2368 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
2369 		BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
2370 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2371 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2372 	},
2373 	{
2374 	.field_bit_size = 10,
2375 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2376 	.result_operand = {
2377 		(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
2378 		BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
2379 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2380 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2381 	},
2382 	{
2383 	.field_bit_size = 16,
2384 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2385 	.result_operand = {
2386 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
2387 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
2388 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
2389 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
2390 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
2391 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
2392 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
2393 		(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
2394 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2395 	.result_operand_true = {
2396 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
2397 		BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
2398 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2399 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2400 	},
2401 	{
2402 	.field_bit_size = 10,
2403 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2404 	},
2405 	{
2406 	.field_bit_size = 1,
2407 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2408 	},
2409 	{
2410 	.field_bit_size = 1,
2411 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2412 	},
2413 	{
2414 	.field_bit_size = 1,
2415 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2416 	.result_operand = {
2417 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2418 		BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
2419 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2420 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2421 	},
2422 	{
2423 	.field_bit_size = 1,
2424 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2425 	.result_operand = {
2426 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2427 		BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
2428 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2429 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2430 	},
2431 	{
2432 	.field_bit_size = 4,
2433 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
2434 	.result_operand = {
2435 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
2436 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
2437 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
2438 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
2439 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
2440 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
2441 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
2442 		(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
2443 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2444 	.result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
2445 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2446 	.result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
2447 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2448 	},
2449 	{
2450 	.field_bit_size = 12,
2451 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2452 	.result_operand = {
2453 		(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2454 		BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2455 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2456 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2457 	},
2458 	{
2459 	.field_bit_size = 1,
2460 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2461 	},
2462 	{
2463 	.field_bit_size = 1,
2464 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2465 	},
2466 	{
2467 	.field_bit_size = 2,
2468 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2469 	},
2470 	{
2471 	.field_bit_size = 1,
2472 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2473 	},
2474 	{
2475 	.field_bit_size = 1,
2476 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2477 	},
2478 	{
2479 	.field_bit_size = 1,
2480 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2481 	},
2482 	{
2483 	.field_bit_size = 14,
2484 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2485 	.result_operand = {
2486 		(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2487 		BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2488 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2489 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2490 	},
2491 	{
2492 	.field_bit_size = 1,
2493 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2494 	},
2495 	{
2496 	.field_bit_size = 1,
2497 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2498 	},
2499 	{
2500 	.field_bit_size = 1,
2501 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2502 	},
2503 	{
2504 	.field_bit_size = 1,
2505 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2506 	.result_operand = {
2507 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2508 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2509 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2510 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2511 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2512 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2513 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2514 		(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2515 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2516 	},
2517 	{
2518 	.field_bit_size = 1,
2519 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2520 	},
2521 	{
2522 	.field_bit_size = 8,
2523 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2524 	},
2525 	{
2526 	.field_bit_size = 1,
2527 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2528 	},
2529 	{
2530 	.field_bit_size = 1,
2531 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2532 	},
2533 	{
2534 	.field_bit_size = 11,
2535 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2536 	},
2537 	{
2538 	.field_bit_size = 1,
2539 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2540 	},
2541 	{
2542 	.field_bit_size = 10,
2543 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2544 	.result_operand = {
2545 		(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
2546 		BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
2547 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2548 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2549 	},
2550 	{
2551 	.field_bit_size = 16,
2552 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2553 	.result_operand = {
2554 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
2555 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
2556 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
2557 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
2558 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
2559 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
2560 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
2561 		(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
2562 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2563 	.result_operand_true = {
2564 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
2565 		BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
2566 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2567 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2568 	},
2569 	{
2570 	.field_bit_size = 10,
2571 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2572 	.result_operand = {
2573 		(BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
2574 		BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
2575 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2576 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2577 	},
2578 	{
2579 	.field_bit_size = 16,
2580 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2581 	.result_operand = {
2582 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
2583 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
2584 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
2585 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
2586 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
2587 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
2588 		((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
2589 		(uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
2590 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2591 	.result_operand_true = {
2592 		(BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
2593 		BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
2594 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2595 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2596 	},
2597 	{
2598 	.field_bit_size = 10,
2599 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2600 	},
2601 	{
2602 	.field_bit_size = 1,
2603 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2604 	},
2605 	{
2606 	.field_bit_size = 1,
2607 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2608 	},
2609 	{
2610 	.field_bit_size = 1,
2611 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2612 	.result_operand = {
2613 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2614 		BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
2615 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2616 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2617 	},
2618 	{
2619 	.field_bit_size = 1,
2620 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2621 	.result_operand = {
2622 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2623 		BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
2624 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2625 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2626 	},
2627 	{
2628 	.field_bit_size = 4,
2629 	.result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
2630 	.result_operand = {
2631 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 56) & 0xff,
2632 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 48) & 0xff,
2633 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 40) & 0xff,
2634 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 32) & 0xff,
2635 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 24) & 0xff,
2636 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 16) & 0xff,
2637 		((uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN >> 8) & 0xff,
2638 		(uint64_t)BNXT_ULP_HDR_BIT_T_VXLAN & 0xff,
2639 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2640 	.result_operand_true = {0x03, 0x00, 0x00, 0x00, 0x00, 0x00,
2641 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2642 	.result_operand_false = {0x0b, 0x00, 0x00, 0x00, 0x00, 0x00,
2643 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2644 	},
2645 	{
2646 	.field_bit_size = 12,
2647 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2648 	.result_operand = {
2649 		(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2650 		BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2651 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2652 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2653 	},
2654 	{
2655 	.field_bit_size = 1,
2656 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2657 	},
2658 	{
2659 	.field_bit_size = 1,
2660 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2661 	},
2662 	{
2663 	.field_bit_size = 2,
2664 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2665 	},
2666 	{
2667 	.field_bit_size = 1,
2668 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2669 	},
2670 	{
2671 	.field_bit_size = 3,
2672 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2673 	},
2674 	{
2675 	.field_bit_size = 3,
2676 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2677 	},
2678 	{
2679 	.field_bit_size = 3,
2680 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2681 	},
2682 	{
2683 	.field_bit_size = 1,
2684 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2685 	.result_operand = {
2686 		BNXT_ULP_SYM_ECV_L2_EN_YES,
2687 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2688 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2689 	},
2690 	{
2691 	.field_bit_size = 4,
2692 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2693 	},
2694 	{
2695 	.field_bit_size = 1,
2696 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2697 	},
2698 	{
2699 	.field_bit_size = 1,
2700 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2701 	.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2702 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2703 	},
2704 	{
2705 	.field_bit_size = 16,
2706 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2707 	},
2708 	{
2709 	.field_bit_size = 12,
2710 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2711 	},
2712 	{
2713 	.field_bit_size = 1,
2714 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2715 	},
2716 	{
2717 	.field_bit_size = 3,
2718 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2719 	},
2720 	{
2721 	.field_bit_size = 64,
2722 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2723 	},
2724 	{
2725 	.field_bit_size = 3,
2726 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2727 	},
2728 	{
2729 	.field_bit_size = 3,
2730 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2731 	},
2732 	{
2733 	.field_bit_size = 3,
2734 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2735 	},
2736 	{
2737 	.field_bit_size = 1,
2738 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2739 	},
2740 	{
2741 	.field_bit_size = 4,
2742 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2743 	.result_operand = {
2744 		BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,
2745 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2746 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2747 	},
2748 	{
2749 	.field_bit_size = 1,
2750 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2751 	},
2752 	{
2753 	.field_bit_size = 1,
2754 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2755 	.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2756 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2757 	},
2758 	{
2759 	.field_bit_size = 16,
2760 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2761 	.result_operand = {
2762 		(BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
2763 		BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,
2764 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2765 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2766 	},
2767 	{
2768 	.field_bit_size = 12,
2769 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2770 	.result_operand = {
2771 		(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
2772 		BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,
2773 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2774 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2775 	},
2776 	{
2777 	.field_bit_size = 1,
2778 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2779 	},
2780 	{
2781 	.field_bit_size = 3,
2782 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2783 	.result_operand = {
2784 		(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
2785 		BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,
2786 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2787 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2788 	},
2789 	{
2790 	.field_bit_size = 80,
2791 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2792 	},
2793 	{
2794 	.field_bit_size = 14,
2795 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2796 	.result_operand = {
2797 		(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2798 		BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2799 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2800 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2801 	},
2802 	{
2803 	.field_bit_size = 1,
2804 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2805 	},
2806 	{
2807 	.field_bit_size = 1,
2808 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2809 	},
2810 	{
2811 	.field_bit_size = 1,
2812 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2813 	},
2814 	{
2815 	.field_bit_size = 1,
2816 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2817 	.result_operand = {
2818 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2819 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2820 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2821 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2822 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2823 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2824 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2825 		(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2826 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2827 	},
2828 	{
2829 	.field_bit_size = 8,
2830 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2831 	},
2832 	{
2833 	.field_bit_size = 1,
2834 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2835 	},
2836 	{
2837 	.field_bit_size = 1,
2838 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2839 	},
2840 	{
2841 	.field_bit_size = 11,
2842 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2843 	.result_operand = {
2844 		(BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
2845 		BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
2846 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2847 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2848 	},
2849 	{
2850 	.field_bit_size = 10,
2851 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2852 	},
2853 	{
2854 	.field_bit_size = 16,
2855 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2856 	},
2857 	{
2858 	.field_bit_size = 10,
2859 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2860 	},
2861 	{
2862 	.field_bit_size = 16,
2863 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2864 	},
2865 	{
2866 	.field_bit_size = 10,
2867 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2868 	},
2869 	{
2870 	.field_bit_size = 1,
2871 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2872 	},
2873 	{
2874 	.field_bit_size = 1,
2875 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2876 	},
2877 	{
2878 	.field_bit_size = 1,
2879 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2880 	.result_operand = {
2881 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2882 		BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
2883 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2884 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2885 	},
2886 	{
2887 	.field_bit_size = 1,
2888 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2889 	.result_operand = {
2890 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2891 		BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
2892 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2893 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2894 	},
2895 	{
2896 	.field_bit_size = 4,
2897 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2898 	},
2899 	{
2900 	.field_bit_size = 12,
2901 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2902 	.result_operand = {
2903 		(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2904 		BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2905 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2906 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2907 	},
2908 	{
2909 	.field_bit_size = 1,
2910 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2911 	},
2912 	{
2913 	.field_bit_size = 1,
2914 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2915 	},
2916 	{
2917 	.field_bit_size = 2,
2918 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2919 	},
2920 	{
2921 	.field_bit_size = 1,
2922 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2923 	.result_operand = {
2924 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
2925 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
2926 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
2927 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
2928 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
2929 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
2930 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
2931 		(uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
2932 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2933 	},
2934 	{
2935 	.field_bit_size = 1,
2936 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2937 	},
2938 	{
2939 	.field_bit_size = 1,
2940 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2941 	},
2942 	{
2943 	.field_bit_size = 14,
2944 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2945 	.result_operand = {
2946 		(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2947 		BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2948 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2949 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2950 	},
2951 	{
2952 	.field_bit_size = 1,
2953 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2954 	},
2955 	{
2956 	.field_bit_size = 1,
2957 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2958 	},
2959 	{
2960 	.field_bit_size = 1,
2961 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2962 	},
2963 	{
2964 	.field_bit_size = 1,
2965 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2966 	.result_operand = {
2967 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2968 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2969 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2970 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2971 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2972 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2973 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2974 		(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2975 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2976 	},
2977 	{
2978 	.field_bit_size = 1,
2979 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2980 	},
2981 	{
2982 	.field_bit_size = 8,
2983 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2984 	},
2985 	{
2986 	.field_bit_size = 1,
2987 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2988 	},
2989 	{
2990 	.field_bit_size = 1,
2991 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2992 	},
2993 	{
2994 	.field_bit_size = 11,
2995 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2996 	},
2997 	{
2998 	.field_bit_size = 1,
2999 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3000 	},
3001 	{
3002 	.field_bit_size = 10,
3003 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3004 	},
3005 	{
3006 	.field_bit_size = 16,
3007 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3008 	},
3009 	{
3010 	.field_bit_size = 10,
3011 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3012 	},
3013 	{
3014 	.field_bit_size = 16,
3015 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3016 	},
3017 	{
3018 	.field_bit_size = 10,
3019 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3020 	},
3021 	{
3022 	.field_bit_size = 1,
3023 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3024 	},
3025 	{
3026 	.field_bit_size = 1,
3027 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3028 	},
3029 	{
3030 	.field_bit_size = 1,
3031 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
3032 	.result_operand = {
3033 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3034 		BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
3035 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3036 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3037 	},
3038 	{
3039 	.field_bit_size = 1,
3040 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
3041 	.result_operand = {
3042 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3043 		BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
3044 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3045 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3046 	},
3047 	{
3048 	.field_bit_size = 4,
3049 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3050 	},
3051 	{
3052 	.field_bit_size = 12,
3053 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3054 	.result_operand = {
3055 		(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3056 		BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
3057 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3058 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3059 	},
3060 	{
3061 	.field_bit_size = 1,
3062 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3063 	},
3064 	{
3065 	.field_bit_size = 1,
3066 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3067 	},
3068 	{
3069 	.field_bit_size = 2,
3070 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3071 	},
3072 	{
3073 	.field_bit_size = 1,
3074 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3075 	.result_operand = {
3076 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
3077 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
3078 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
3079 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
3080 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
3081 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
3082 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
3083 		(uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
3084 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3085 	},
3086 	{
3087 	.field_bit_size = 14,
3088 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
3089 	.result_operand = {
3090 		(BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
3091 		BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
3092 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3093 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3094 	},
3095 	{
3096 	.field_bit_size = 1,
3097 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3098 	},
3099 	{
3100 	.field_bit_size = 1,
3101 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3102 	},
3103 	{
3104 	.field_bit_size = 1,
3105 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3106 	},
3107 	{
3108 	.field_bit_size = 1,
3109 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3110 	.result_operand = {
3111 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
3112 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
3113 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
3114 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
3115 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
3116 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
3117 		((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
3118 		(uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
3119 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3120 	},
3121 	{
3122 	.field_bit_size = 1,
3123 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3124 	},
3125 	{
3126 	.field_bit_size = 8,
3127 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3128 	},
3129 	{
3130 	.field_bit_size = 1,
3131 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3132 	},
3133 	{
3134 	.field_bit_size = 1,
3135 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3136 	},
3137 	{
3138 	.field_bit_size = 11,
3139 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3140 	},
3141 	{
3142 	.field_bit_size = 1,
3143 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3144 	},
3145 	{
3146 	.field_bit_size = 10,
3147 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3148 	},
3149 	{
3150 	.field_bit_size = 16,
3151 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3152 	},
3153 	{
3154 	.field_bit_size = 10,
3155 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3156 	},
3157 	{
3158 	.field_bit_size = 16,
3159 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3160 	},
3161 	{
3162 	.field_bit_size = 10,
3163 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3164 	},
3165 	{
3166 	.field_bit_size = 1,
3167 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3168 	},
3169 	{
3170 	.field_bit_size = 1,
3171 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3172 	},
3173 	{
3174 	.field_bit_size = 1,
3175 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
3176 	.result_operand = {
3177 		(BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
3178 		BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
3179 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3180 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3181 	},
3182 	{
3183 	.field_bit_size = 1,
3184 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
3185 	.result_operand = {
3186 		(BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
3187 		BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
3188 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3189 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3190 	},
3191 	{
3192 	.field_bit_size = 4,
3193 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3194 	},
3195 	{
3196 	.field_bit_size = 12,
3197 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3198 	.result_operand = {
3199 		(BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
3200 		BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
3201 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3202 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3203 	},
3204 	{
3205 	.field_bit_size = 1,
3206 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3207 	.result_operand = {
3208 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
3209 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
3210 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
3211 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
3212 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
3213 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
3214 		((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
3215 		(uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
3216 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3217 	},
3218 	{
3219 	.field_bit_size = 1,
3220 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3221 	},
3222 	{
3223 	.field_bit_size = 2,
3224 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3225 	},
3226 	{
3227 	.field_bit_size = 1,
3228 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
3229 	.result_operand = {
3230 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
3231 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
3232 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
3233 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
3234 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
3235 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
3236 		((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
3237 		(uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
3238 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3239 	},
3240 	{
3241 	.field_bit_size = 3,
3242 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3243 	},
3244 	{
3245 	.field_bit_size = 3,
3246 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3247 	},
3248 	{
3249 	.field_bit_size = 3,
3250 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3251 	},
3252 	{
3253 	.field_bit_size = 1,
3254 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3255 	},
3256 	{
3257 	.field_bit_size = 4,
3258 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
3259 	.result_operand = {
3260 		BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,
3261 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3262 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3263 	},
3264 	{
3265 	.field_bit_size = 1,
3266 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3267 	},
3268 	{
3269 	.field_bit_size = 1,
3270 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
3271 	.result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
3272 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3273 	},
3274 	{
3275 	.field_bit_size = 16,
3276 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3277 	.result_operand = {
3278 		(BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
3279 		BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,
3280 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3281 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3282 	},
3283 	{
3284 	.field_bit_size = 12,
3285 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3286 	.result_operand = {
3287 		(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
3288 		BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,
3289 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3290 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3291 	},
3292 	{
3293 	.field_bit_size = 1,
3294 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
3295 	},
3296 	{
3297 	.field_bit_size = 3,
3298 	.result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
3299 	.result_operand = {
3300 		(BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
3301 		BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,
3302 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
3303 		0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
3304 	}
3305 };
3306