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