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