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