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