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