de96afe8cf2e60f9d6783622a02dd318d7a51ab0
[dpdk.git] / drivers / net / bnxt / tf_ulp / ulp_template_db_act.c
1 /* SPDX-License-Identifier: BSD-3-Clause
2  * Copyright(c) 2014-2020 Broadcom
3  * All rights reserved.
4  */
5
6 #include "ulp_template_db_enum.h"
7 #include "ulp_template_db_field.h"
8 #include "ulp_template_struct.h"
9 #include "ulp_rte_parser.h"
10
11 uint16_t ulp_act_sig_tbl[BNXT_ULP_ACT_SIG_TBL_MAX_SZ] = {
12         [BNXT_ULP_ACT_HID_015a] = 1,
13         [BNXT_ULP_ACT_HID_00eb] = 2,
14         [BNXT_ULP_ACT_HID_0043] = 3,
15         [BNXT_ULP_ACT_HID_03d8] = 4,
16         [BNXT_ULP_ACT_HID_02c1] = 5,
17         [BNXT_ULP_ACT_HID_015e] = 6,
18         [BNXT_ULP_ACT_HID_00ef] = 7,
19         [BNXT_ULP_ACT_HID_0047] = 8,
20         [BNXT_ULP_ACT_HID_03dc] = 9,
21         [BNXT_ULP_ACT_HID_02c5] = 10,
22         [BNXT_ULP_ACT_HID_025b] = 11,
23         [BNXT_ULP_ACT_HID_01ec] = 12,
24         [BNXT_ULP_ACT_HID_0144] = 13,
25         [BNXT_ULP_ACT_HID_04d9] = 14,
26         [BNXT_ULP_ACT_HID_03c2] = 15,
27         [BNXT_ULP_ACT_HID_025f] = 16,
28         [BNXT_ULP_ACT_HID_01f0] = 17,
29         [BNXT_ULP_ACT_HID_0148] = 18,
30         [BNXT_ULP_ACT_HID_04dd] = 19,
31         [BNXT_ULP_ACT_HID_03c6] = 20,
32         [BNXT_ULP_ACT_HID_0000] = 21,
33         [BNXT_ULP_ACT_HID_0002] = 22,
34         [BNXT_ULP_ACT_HID_0800] = 23,
35         [BNXT_ULP_ACT_HID_0101] = 24,
36         [BNXT_ULP_ACT_HID_0020] = 25,
37         [BNXT_ULP_ACT_HID_0901] = 26,
38         [BNXT_ULP_ACT_HID_0121] = 27,
39         [BNXT_ULP_ACT_HID_0004] = 28,
40         [BNXT_ULP_ACT_HID_0006] = 29,
41         [BNXT_ULP_ACT_HID_0804] = 30,
42         [BNXT_ULP_ACT_HID_0105] = 31,
43         [BNXT_ULP_ACT_HID_0024] = 32,
44         [BNXT_ULP_ACT_HID_0905] = 33,
45         [BNXT_ULP_ACT_HID_0125] = 34,
46         [BNXT_ULP_ACT_HID_0001] = 35,
47         [BNXT_ULP_ACT_HID_0005] = 36,
48         [BNXT_ULP_ACT_HID_0009] = 37,
49         [BNXT_ULP_ACT_HID_000d] = 38,
50         [BNXT_ULP_ACT_HID_0021] = 39,
51         [BNXT_ULP_ACT_HID_0029] = 40,
52         [BNXT_ULP_ACT_HID_0025] = 41,
53         [BNXT_ULP_ACT_HID_002d] = 42,
54         [BNXT_ULP_ACT_HID_0801] = 43,
55         [BNXT_ULP_ACT_HID_0809] = 44,
56         [BNXT_ULP_ACT_HID_0805] = 45,
57         [BNXT_ULP_ACT_HID_080d] = 46,
58         [BNXT_ULP_ACT_HID_0c15] = 47,
59         [BNXT_ULP_ACT_HID_0c19] = 48,
60         [BNXT_ULP_ACT_HID_02f6] = 49,
61         [BNXT_ULP_ACT_HID_04f8] = 50,
62         [BNXT_ULP_ACT_HID_01df] = 51,
63         [BNXT_ULP_ACT_HID_07e5] = 52,
64         [BNXT_ULP_ACT_HID_06ce] = 53,
65         [BNXT_ULP_ACT_HID_02fa] = 54,
66         [BNXT_ULP_ACT_HID_04fc] = 55,
67         [BNXT_ULP_ACT_HID_01e3] = 56,
68         [BNXT_ULP_ACT_HID_07e9] = 57,
69         [BNXT_ULP_ACT_HID_06d2] = 58,
70         [BNXT_ULP_ACT_HID_03f7] = 59,
71         [BNXT_ULP_ACT_HID_05f9] = 60,
72         [BNXT_ULP_ACT_HID_02e0] = 61,
73         [BNXT_ULP_ACT_HID_08e6] = 62,
74         [BNXT_ULP_ACT_HID_07cf] = 63,
75         [BNXT_ULP_ACT_HID_03fb] = 64,
76         [BNXT_ULP_ACT_HID_05fd] = 65,
77         [BNXT_ULP_ACT_HID_02e4] = 66,
78         [BNXT_ULP_ACT_HID_08ea] = 67,
79         [BNXT_ULP_ACT_HID_07d3] = 68,
80         [BNXT_ULP_ACT_HID_040d] = 69,
81         [BNXT_ULP_ACT_HID_040f] = 70,
82         [BNXT_ULP_ACT_HID_0413] = 71,
83         [BNXT_ULP_ACT_HID_0567] = 72,
84         [BNXT_ULP_ACT_HID_0a49] = 73,
85         [BNXT_ULP_ACT_HID_050e] = 74,
86         [BNXT_ULP_ACT_HID_0668] = 75,
87         [BNXT_ULP_ACT_HID_0b4a] = 76,
88         [BNXT_ULP_ACT_HID_0411] = 77,
89         [BNXT_ULP_ACT_HID_056b] = 78,
90         [BNXT_ULP_ACT_HID_0a4d] = 79,
91         [BNXT_ULP_ACT_HID_0512] = 80,
92         [BNXT_ULP_ACT_HID_066c] = 81,
93         [BNXT_ULP_ACT_HID_0b4e] = 82
94 };
95
96 struct bnxt_ulp_act_match_info ulp_act_match_list[] = {
97         [1] = {
98         .act_hid = BNXT_ULP_ACT_HID_015a,
99         .act_sig = { .bits =
100                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
101                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
102         .act_tid = 1
103         },
104         [2] = {
105         .act_hid = BNXT_ULP_ACT_HID_00eb,
106         .act_sig = { .bits =
107                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
108                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
109                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
110         .act_tid = 1
111         },
112         [3] = {
113         .act_hid = BNXT_ULP_ACT_HID_0043,
114         .act_sig = { .bits =
115                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
116                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
117         .act_tid = 1
118         },
119         [4] = {
120         .act_hid = BNXT_ULP_ACT_HID_03d8,
121         .act_sig = { .bits =
122                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
123                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
124                 BNXT_ULP_ACTION_BIT_SET_TP_DST |
125                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
126         .act_tid = 1
127         },
128         [5] = {
129         .act_hid = BNXT_ULP_ACT_HID_02c1,
130         .act_sig = { .bits =
131                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
132                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
133                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
134                 BNXT_ULP_ACTION_BIT_SET_TP_DST |
135                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
136         .act_tid = 1
137         },
138         [6] = {
139         .act_hid = BNXT_ULP_ACT_HID_015e,
140         .act_sig = { .bits =
141                 BNXT_ULP_ACTION_BIT_COUNT |
142                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
143                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
144         .act_tid = 1
145         },
146         [7] = {
147         .act_hid = BNXT_ULP_ACT_HID_00ef,
148         .act_sig = { .bits =
149                 BNXT_ULP_ACTION_BIT_COUNT |
150                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
151                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
152                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
153         .act_tid = 1
154         },
155         [8] = {
156         .act_hid = BNXT_ULP_ACT_HID_0047,
157         .act_sig = { .bits =
158                 BNXT_ULP_ACTION_BIT_COUNT |
159                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
160                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
161         .act_tid = 1
162         },
163         [9] = {
164         .act_hid = BNXT_ULP_ACT_HID_03dc,
165         .act_sig = { .bits =
166                 BNXT_ULP_ACTION_BIT_COUNT |
167                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
168                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
169                 BNXT_ULP_ACTION_BIT_SET_TP_DST |
170                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
171         .act_tid = 1
172         },
173         [10] = {
174         .act_hid = BNXT_ULP_ACT_HID_02c5,
175         .act_sig = { .bits =
176                 BNXT_ULP_ACTION_BIT_COUNT |
177                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
178                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
179                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
180                 BNXT_ULP_ACTION_BIT_SET_TP_DST |
181                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
182         .act_tid = 1
183         },
184         [11] = {
185         .act_hid = BNXT_ULP_ACT_HID_025b,
186         .act_sig = { .bits =
187                 BNXT_ULP_ACTION_BIT_DEC_TTL |
188                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
189                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
190         .act_tid = 1
191         },
192         [12] = {
193         .act_hid = BNXT_ULP_ACT_HID_01ec,
194         .act_sig = { .bits =
195                 BNXT_ULP_ACTION_BIT_DEC_TTL |
196                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
197                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
198                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
199         .act_tid = 1
200         },
201         [13] = {
202         .act_hid = BNXT_ULP_ACT_HID_0144,
203         .act_sig = { .bits =
204                 BNXT_ULP_ACTION_BIT_DEC_TTL |
205                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
206                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
207         .act_tid = 1
208         },
209         [14] = {
210         .act_hid = BNXT_ULP_ACT_HID_04d9,
211         .act_sig = { .bits =
212                 BNXT_ULP_ACTION_BIT_DEC_TTL |
213                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
214                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
215                 BNXT_ULP_ACTION_BIT_SET_TP_DST |
216                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
217         .act_tid = 1
218         },
219         [15] = {
220         .act_hid = BNXT_ULP_ACT_HID_03c2,
221         .act_sig = { .bits =
222                 BNXT_ULP_ACTION_BIT_DEC_TTL |
223                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
224                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
225                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
226                 BNXT_ULP_ACTION_BIT_SET_TP_DST |
227                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
228         .act_tid = 1
229         },
230         [16] = {
231         .act_hid = BNXT_ULP_ACT_HID_025f,
232         .act_sig = { .bits =
233                 BNXT_ULP_ACTION_BIT_DEC_TTL |
234                 BNXT_ULP_ACTION_BIT_COUNT |
235                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
236                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
237         .act_tid = 1
238         },
239         [17] = {
240         .act_hid = BNXT_ULP_ACT_HID_01f0,
241         .act_sig = { .bits =
242                 BNXT_ULP_ACTION_BIT_DEC_TTL |
243                 BNXT_ULP_ACTION_BIT_COUNT |
244                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
245                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
246                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
247         .act_tid = 1
248         },
249         [18] = {
250         .act_hid = BNXT_ULP_ACT_HID_0148,
251         .act_sig = { .bits =
252                 BNXT_ULP_ACTION_BIT_DEC_TTL |
253                 BNXT_ULP_ACTION_BIT_COUNT |
254                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
255                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
256         .act_tid = 1
257         },
258         [19] = {
259         .act_hid = BNXT_ULP_ACT_HID_04dd,
260         .act_sig = { .bits =
261                 BNXT_ULP_ACTION_BIT_DEC_TTL |
262                 BNXT_ULP_ACTION_BIT_COUNT |
263                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
264                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
265                 BNXT_ULP_ACTION_BIT_SET_TP_DST |
266                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
267         .act_tid = 1
268         },
269         [20] = {
270         .act_hid = BNXT_ULP_ACT_HID_03c6,
271         .act_sig = { .bits =
272                 BNXT_ULP_ACTION_BIT_DEC_TTL |
273                 BNXT_ULP_ACTION_BIT_COUNT |
274                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
275                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
276                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
277                 BNXT_ULP_ACTION_BIT_SET_TP_DST |
278                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
279         .act_tid = 1
280         },
281         [21] = {
282         .act_hid = BNXT_ULP_ACT_HID_0000,
283         .act_sig = { .bits =
284                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
285         .act_tid = 2
286         },
287         [22] = {
288         .act_hid = BNXT_ULP_ACT_HID_0002,
289         .act_sig = { .bits =
290                 BNXT_ULP_ACTION_BIT_DROP |
291                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
292         .act_tid = 2
293         },
294         [23] = {
295         .act_hid = BNXT_ULP_ACT_HID_0800,
296         .act_sig = { .bits =
297                 BNXT_ULP_ACTION_BIT_POP_VLAN |
298                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
299         .act_tid = 2
300         },
301         [24] = {
302         .act_hid = BNXT_ULP_ACT_HID_0101,
303         .act_sig = { .bits =
304                 BNXT_ULP_ACTION_BIT_DEC_TTL |
305                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
306         .act_tid = 2
307         },
308         [25] = {
309         .act_hid = BNXT_ULP_ACT_HID_0020,
310         .act_sig = { .bits =
311                 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
312                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
313         .act_tid = 2
314         },
315         [26] = {
316         .act_hid = BNXT_ULP_ACT_HID_0901,
317         .act_sig = { .bits =
318                 BNXT_ULP_ACTION_BIT_DEC_TTL |
319                 BNXT_ULP_ACTION_BIT_POP_VLAN |
320                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
321         .act_tid = 2
322         },
323         [27] = {
324         .act_hid = BNXT_ULP_ACT_HID_0121,
325         .act_sig = { .bits =
326                 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
327                 BNXT_ULP_ACTION_BIT_DEC_TTL |
328                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
329         .act_tid = 2
330         },
331         [28] = {
332         .act_hid = BNXT_ULP_ACT_HID_0004,
333         .act_sig = { .bits =
334                 BNXT_ULP_ACTION_BIT_COUNT |
335                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
336         .act_tid = 2
337         },
338         [29] = {
339         .act_hid = BNXT_ULP_ACT_HID_0006,
340         .act_sig = { .bits =
341                 BNXT_ULP_ACTION_BIT_COUNT |
342                 BNXT_ULP_ACTION_BIT_DROP |
343                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
344         .act_tid = 2
345         },
346         [30] = {
347         .act_hid = BNXT_ULP_ACT_HID_0804,
348         .act_sig = { .bits =
349                 BNXT_ULP_ACTION_BIT_COUNT |
350                 BNXT_ULP_ACTION_BIT_POP_VLAN |
351                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
352         .act_tid = 2
353         },
354         [31] = {
355         .act_hid = BNXT_ULP_ACT_HID_0105,
356         .act_sig = { .bits =
357                 BNXT_ULP_ACTION_BIT_COUNT |
358                 BNXT_ULP_ACTION_BIT_DEC_TTL |
359                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
360         .act_tid = 2
361         },
362         [32] = {
363         .act_hid = BNXT_ULP_ACT_HID_0024,
364         .act_sig = { .bits =
365                 BNXT_ULP_ACTION_BIT_COUNT |
366                 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
367                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
368         .act_tid = 2
369         },
370         [33] = {
371         .act_hid = BNXT_ULP_ACT_HID_0905,
372         .act_sig = { .bits =
373                 BNXT_ULP_ACTION_BIT_COUNT |
374                 BNXT_ULP_ACTION_BIT_DEC_TTL |
375                 BNXT_ULP_ACTION_BIT_POP_VLAN |
376                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
377         .act_tid = 2
378         },
379         [34] = {
380         .act_hid = BNXT_ULP_ACT_HID_0125,
381         .act_sig = { .bits =
382                 BNXT_ULP_ACTION_BIT_COUNT |
383                 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
384                 BNXT_ULP_ACTION_BIT_DEC_TTL |
385                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
386         .act_tid = 2
387         },
388         [35] = {
389         .act_hid = BNXT_ULP_ACT_HID_0001,
390         .act_sig = { .bits =
391                 BNXT_ULP_ACTION_BIT_MARK |
392                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
393         .act_tid = 3
394         },
395         [36] = {
396         .act_hid = BNXT_ULP_ACT_HID_0005,
397         .act_sig = { .bits =
398                 BNXT_ULP_ACTION_BIT_MARK |
399                 BNXT_ULP_ACTION_BIT_COUNT |
400                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
401         .act_tid = 3
402         },
403         [37] = {
404         .act_hid = BNXT_ULP_ACT_HID_0009,
405         .act_sig = { .bits =
406                 BNXT_ULP_ACTION_BIT_MARK |
407                 BNXT_ULP_ACTION_BIT_RSS |
408                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
409         .act_tid = 3
410         },
411         [38] = {
412         .act_hid = BNXT_ULP_ACT_HID_000d,
413         .act_sig = { .bits =
414                 BNXT_ULP_ACTION_BIT_MARK |
415                 BNXT_ULP_ACTION_BIT_RSS |
416                 BNXT_ULP_ACTION_BIT_COUNT |
417                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
418         .act_tid = 3
419         },
420         [39] = {
421         .act_hid = BNXT_ULP_ACT_HID_0021,
422         .act_sig = { .bits =
423                 BNXT_ULP_ACTION_BIT_MARK |
424                 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
425                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
426         .act_tid = 3
427         },
428         [40] = {
429         .act_hid = BNXT_ULP_ACT_HID_0029,
430         .act_sig = { .bits =
431                 BNXT_ULP_ACTION_BIT_MARK |
432                 BNXT_ULP_ACTION_BIT_RSS |
433                 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
434                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
435         .act_tid = 3
436         },
437         [41] = {
438         .act_hid = BNXT_ULP_ACT_HID_0025,
439         .act_sig = { .bits =
440                 BNXT_ULP_ACTION_BIT_MARK |
441                 BNXT_ULP_ACTION_BIT_COUNT |
442                 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
443                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
444         .act_tid = 3
445         },
446         [42] = {
447         .act_hid = BNXT_ULP_ACT_HID_002d,
448         .act_sig = { .bits =
449                 BNXT_ULP_ACTION_BIT_MARK |
450                 BNXT_ULP_ACTION_BIT_RSS |
451                 BNXT_ULP_ACTION_BIT_COUNT |
452                 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
453                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
454         .act_tid = 3
455         },
456         [43] = {
457         .act_hid = BNXT_ULP_ACT_HID_0801,
458         .act_sig = { .bits =
459                 BNXT_ULP_ACTION_BIT_MARK |
460                 BNXT_ULP_ACTION_BIT_POP_VLAN |
461                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
462         .act_tid = 3
463         },
464         [44] = {
465         .act_hid = BNXT_ULP_ACT_HID_0809,
466         .act_sig = { .bits =
467                 BNXT_ULP_ACTION_BIT_MARK |
468                 BNXT_ULP_ACTION_BIT_RSS |
469                 BNXT_ULP_ACTION_BIT_POP_VLAN |
470                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
471         .act_tid = 3
472         },
473         [45] = {
474         .act_hid = BNXT_ULP_ACT_HID_0805,
475         .act_sig = { .bits =
476                 BNXT_ULP_ACTION_BIT_MARK |
477                 BNXT_ULP_ACTION_BIT_COUNT |
478                 BNXT_ULP_ACTION_BIT_POP_VLAN |
479                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
480         .act_tid = 3
481         },
482         [46] = {
483         .act_hid = BNXT_ULP_ACT_HID_080d,
484         .act_sig = { .bits =
485                 BNXT_ULP_ACTION_BIT_MARK |
486                 BNXT_ULP_ACTION_BIT_RSS |
487                 BNXT_ULP_ACTION_BIT_COUNT |
488                 BNXT_ULP_ACTION_BIT_POP_VLAN |
489                 BNXT_ULP_FLOW_DIR_BITMASK_ING },
490         .act_tid = 3
491         },
492         [47] = {
493         .act_hid = BNXT_ULP_ACT_HID_0c15,
494         .act_sig = { .bits =
495                 BNXT_ULP_ACTION_BIT_VXLAN_ENCAP |
496                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
497         .act_tid = 4
498         },
499         [48] = {
500         .act_hid = BNXT_ULP_ACT_HID_0c19,
501         .act_sig = { .bits =
502                 BNXT_ULP_ACTION_BIT_VXLAN_ENCAP |
503                 BNXT_ULP_ACTION_BIT_COUNT |
504                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
505         .act_tid = 4
506         },
507         [49] = {
508         .act_hid = BNXT_ULP_ACT_HID_02f6,
509         .act_sig = { .bits =
510                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
511                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
512         .act_tid = 5
513         },
514         [50] = {
515         .act_hid = BNXT_ULP_ACT_HID_04f8,
516         .act_sig = { .bits =
517                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
518                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
519                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
520         .act_tid = 5
521         },
522         [51] = {
523         .act_hid = BNXT_ULP_ACT_HID_01df,
524         .act_sig = { .bits =
525                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
526                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
527         .act_tid = 5
528         },
529         [52] = {
530         .act_hid = BNXT_ULP_ACT_HID_07e5,
531         .act_sig = { .bits =
532                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
533                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
534                 BNXT_ULP_ACTION_BIT_SET_TP_DST |
535                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
536         .act_tid = 5
537         },
538         [53] = {
539         .act_hid = BNXT_ULP_ACT_HID_06ce,
540         .act_sig = { .bits =
541                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
542                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
543                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
544                 BNXT_ULP_ACTION_BIT_SET_TP_DST |
545                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
546         .act_tid = 5
547         },
548         [54] = {
549         .act_hid = BNXT_ULP_ACT_HID_02fa,
550         .act_sig = { .bits =
551                 BNXT_ULP_ACTION_BIT_COUNT |
552                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
553                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
554         .act_tid = 5
555         },
556         [55] = {
557         .act_hid = BNXT_ULP_ACT_HID_04fc,
558         .act_sig = { .bits =
559                 BNXT_ULP_ACTION_BIT_COUNT |
560                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
561                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
562                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
563         .act_tid = 5
564         },
565         [56] = {
566         .act_hid = BNXT_ULP_ACT_HID_01e3,
567         .act_sig = { .bits =
568                 BNXT_ULP_ACTION_BIT_COUNT |
569                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
570                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
571         .act_tid = 5
572         },
573         [57] = {
574         .act_hid = BNXT_ULP_ACT_HID_07e9,
575         .act_sig = { .bits =
576                 BNXT_ULP_ACTION_BIT_COUNT |
577                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
578                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
579                 BNXT_ULP_ACTION_BIT_SET_TP_DST |
580                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
581         .act_tid = 5
582         },
583         [58] = {
584         .act_hid = BNXT_ULP_ACT_HID_06d2,
585         .act_sig = { .bits =
586                 BNXT_ULP_ACTION_BIT_COUNT |
587                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
588                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
589                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
590                 BNXT_ULP_ACTION_BIT_SET_TP_DST |
591                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
592         .act_tid = 5
593         },
594         [59] = {
595         .act_hid = BNXT_ULP_ACT_HID_03f7,
596         .act_sig = { .bits =
597                 BNXT_ULP_ACTION_BIT_DEC_TTL |
598                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
599                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
600         .act_tid = 5
601         },
602         [60] = {
603         .act_hid = BNXT_ULP_ACT_HID_05f9,
604         .act_sig = { .bits =
605                 BNXT_ULP_ACTION_BIT_DEC_TTL |
606                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
607                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
608                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
609         .act_tid = 5
610         },
611         [61] = {
612         .act_hid = BNXT_ULP_ACT_HID_02e0,
613         .act_sig = { .bits =
614                 BNXT_ULP_ACTION_BIT_DEC_TTL |
615                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
616                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
617         .act_tid = 5
618         },
619         [62] = {
620         .act_hid = BNXT_ULP_ACT_HID_08e6,
621         .act_sig = { .bits =
622                 BNXT_ULP_ACTION_BIT_DEC_TTL |
623                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
624                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
625                 BNXT_ULP_ACTION_BIT_SET_TP_DST |
626                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
627         .act_tid = 5
628         },
629         [63] = {
630         .act_hid = BNXT_ULP_ACT_HID_07cf,
631         .act_sig = { .bits =
632                 BNXT_ULP_ACTION_BIT_DEC_TTL |
633                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
634                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
635                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
636                 BNXT_ULP_ACTION_BIT_SET_TP_DST |
637                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
638         .act_tid = 5
639         },
640         [64] = {
641         .act_hid = BNXT_ULP_ACT_HID_03fb,
642         .act_sig = { .bits =
643                 BNXT_ULP_ACTION_BIT_DEC_TTL |
644                 BNXT_ULP_ACTION_BIT_COUNT |
645                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
646                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
647         .act_tid = 5
648         },
649         [65] = {
650         .act_hid = BNXT_ULP_ACT_HID_05fd,
651         .act_sig = { .bits =
652                 BNXT_ULP_ACTION_BIT_DEC_TTL |
653                 BNXT_ULP_ACTION_BIT_COUNT |
654                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
655                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
656                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
657         .act_tid = 5
658         },
659         [66] = {
660         .act_hid = BNXT_ULP_ACT_HID_02e4,
661         .act_sig = { .bits =
662                 BNXT_ULP_ACTION_BIT_DEC_TTL |
663                 BNXT_ULP_ACTION_BIT_COUNT |
664                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
665                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
666         .act_tid = 5
667         },
668         [67] = {
669         .act_hid = BNXT_ULP_ACT_HID_08ea,
670         .act_sig = { .bits =
671                 BNXT_ULP_ACTION_BIT_DEC_TTL |
672                 BNXT_ULP_ACTION_BIT_COUNT |
673                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
674                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
675                 BNXT_ULP_ACTION_BIT_SET_TP_DST |
676                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
677         .act_tid = 5
678         },
679         [68] = {
680         .act_hid = BNXT_ULP_ACT_HID_07d3,
681         .act_sig = { .bits =
682                 BNXT_ULP_ACTION_BIT_DEC_TTL |
683                 BNXT_ULP_ACTION_BIT_COUNT |
684                 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
685                 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
686                 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
687                 BNXT_ULP_ACTION_BIT_SET_TP_DST |
688                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
689         .act_tid = 5
690         },
691         [69] = {
692         .act_hid = BNXT_ULP_ACT_HID_040d,
693         .act_sig = { .bits =
694                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
695         .act_tid = 6
696         },
697         [70] = {
698         .act_hid = BNXT_ULP_ACT_HID_040f,
699         .act_sig = { .bits =
700                 BNXT_ULP_ACTION_BIT_DROP |
701                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
702         .act_tid = 6
703         },
704         [71] = {
705         .act_hid = BNXT_ULP_ACT_HID_0413,
706         .act_sig = { .bits =
707                 BNXT_ULP_ACTION_BIT_DROP |
708                 BNXT_ULP_ACTION_BIT_COUNT |
709                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
710         .act_tid = 6
711         },
712         [72] = {
713         .act_hid = BNXT_ULP_ACT_HID_0567,
714         .act_sig = { .bits =
715                 BNXT_ULP_ACTION_BIT_SET_VLAN_PCP |
716                 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
717                 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
718                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
719         .act_tid = 6
720         },
721         [73] = {
722         .act_hid = BNXT_ULP_ACT_HID_0a49,
723         .act_sig = { .bits =
724                 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
725                 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
726                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
727         .act_tid = 6
728         },
729         [74] = {
730         .act_hid = BNXT_ULP_ACT_HID_050e,
731         .act_sig = { .bits =
732                 BNXT_ULP_ACTION_BIT_DEC_TTL |
733                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
734         .act_tid = 6
735         },
736         [75] = {
737         .act_hid = BNXT_ULP_ACT_HID_0668,
738         .act_sig = { .bits =
739                 BNXT_ULP_ACTION_BIT_DEC_TTL |
740                 BNXT_ULP_ACTION_BIT_SET_VLAN_PCP |
741                 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
742                 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
743                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
744         .act_tid = 6
745         },
746         [76] = {
747         .act_hid = BNXT_ULP_ACT_HID_0b4a,
748         .act_sig = { .bits =
749                 BNXT_ULP_ACTION_BIT_DEC_TTL |
750                 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
751                 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
752                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
753         .act_tid = 6
754         },
755         [77] = {
756         .act_hid = BNXT_ULP_ACT_HID_0411,
757         .act_sig = { .bits =
758                 BNXT_ULP_ACTION_BIT_COUNT |
759                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
760         .act_tid = 6
761         },
762         [78] = {
763         .act_hid = BNXT_ULP_ACT_HID_056b,
764         .act_sig = { .bits =
765                 BNXT_ULP_ACTION_BIT_COUNT |
766                 BNXT_ULP_ACTION_BIT_SET_VLAN_PCP |
767                 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
768                 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
769                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
770         .act_tid = 6
771         },
772         [79] = {
773         .act_hid = BNXT_ULP_ACT_HID_0a4d,
774         .act_sig = { .bits =
775                 BNXT_ULP_ACTION_BIT_COUNT |
776                 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
777                 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
778                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
779         .act_tid = 6
780         },
781         [80] = {
782         .act_hid = BNXT_ULP_ACT_HID_0512,
783         .act_sig = { .bits =
784                 BNXT_ULP_ACTION_BIT_COUNT |
785                 BNXT_ULP_ACTION_BIT_DEC_TTL |
786                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
787         .act_tid = 6
788         },
789         [81] = {
790         .act_hid = BNXT_ULP_ACT_HID_066c,
791         .act_sig = { .bits =
792                 BNXT_ULP_ACTION_BIT_COUNT |
793                 BNXT_ULP_ACTION_BIT_DEC_TTL |
794                 BNXT_ULP_ACTION_BIT_SET_VLAN_PCP |
795                 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
796                 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
797                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
798         .act_tid = 6
799         },
800         [82] = {
801         .act_hid = BNXT_ULP_ACT_HID_0b4e,
802         .act_sig = { .bits =
803                 BNXT_ULP_ACTION_BIT_COUNT |
804                 BNXT_ULP_ACTION_BIT_DEC_TTL |
805                 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
806                 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
807                 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
808         .act_tid = 6
809         }
810 };
811
812 struct bnxt_ulp_mapper_tbl_list_info ulp_act_tmpl_list[] = {
813         [((1 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
814                 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
815         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
816         .num_tbls = 5,
817         .start_tbl_idx = 0,
818         .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
819         },
820         [((2 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
821                 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
822         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
823         .num_tbls = 2,
824         .start_tbl_idx = 5,
825         .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
826         },
827         [((3 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
828                 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
829         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
830         .num_tbls = 2,
831         .start_tbl_idx = 7,
832         .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
833         },
834         [((4 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
835                 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
836         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
837         .num_tbls = 5,
838         .start_tbl_idx = 9,
839         .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
840         },
841         [((5 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
842                 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
843         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
844         .num_tbls = 5,
845         .start_tbl_idx = 14,
846         .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
847         },
848         [((6 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
849                 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
850         .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
851         .num_tbls = 3,
852         .start_tbl_idx = 19,
853         .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
854         }
855 };
856
857 struct bnxt_ulp_mapper_tbl_info ulp_act_tbl_list[] = {
858         {
859         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
860         .resource_type = TF_TBL_TYPE_ACT_STATS_64,
861         .resource_sub_type =
862                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
863         .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
864         .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
865         .direction = TF_DIR_RX,
866         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
867         .result_start_idx = 0,
868         .result_bit_size = 64,
869         .result_num_fields = 1,
870         .encap_num_fields = 0,
871         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
872         .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
873         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
874         },
875         {
876         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
877         .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
878         .resource_sub_type =
879                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
880         .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
881         .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_SRC,
882         .direction = TF_DIR_RX,
883         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
884         .result_start_idx = 1,
885         .result_bit_size = 32,
886         .result_num_fields = 1,
887         .encap_num_fields = 0,
888         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
889         .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0,
890         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
891         },
892         {
893         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
894         .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
895         .resource_sub_type =
896                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
897         .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
898         .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_DST,
899         .direction = TF_DIR_RX,
900         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
901         .result_start_idx = 2,
902         .result_bit_size = 32,
903         .result_num_fields = 1,
904         .encap_num_fields = 0,
905         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
906         .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0,
907         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
908         },
909         {
910         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
911         .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
912         .resource_sub_type =
913                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
914         .direction = TF_DIR_RX,
915         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
916         .result_start_idx = 3,
917         .result_bit_size = 0,
918         .result_num_fields = 0,
919         .encap_num_fields = 12,
920         .index_opcode = BNXT_ULP_INDEX_OPCODE_GLOBAL,
921         .index_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR,
922         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
923         },
924         {
925         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
926         .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
927         .resource_sub_type =
928                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
929         .direction = TF_DIR_RX,
930         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
931         .result_start_idx = 15,
932         .result_bit_size = 128,
933         .result_num_fields = 26,
934         .encap_num_fields = 0,
935         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
936         .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
937         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
938         },
939         {
940         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
941         .resource_type = TF_TBL_TYPE_ACT_STATS_64,
942         .resource_sub_type =
943                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
944         .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
945         .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
946         .direction = TF_DIR_RX,
947         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
948         .result_start_idx = 41,
949         .result_bit_size = 64,
950         .result_num_fields = 1,
951         .encap_num_fields = 0,
952         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
953         .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
954         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
955         },
956         {
957         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
958         .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
959         .resource_sub_type =
960                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
961         .direction = TF_DIR_RX,
962         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
963         .result_start_idx = 42,
964         .result_bit_size = 128,
965         .result_num_fields = 26,
966         .encap_num_fields = 0,
967         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
968         .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
969         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
970         },
971         {
972         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
973         .resource_type = TF_TBL_TYPE_ACT_STATS_64,
974         .resource_sub_type =
975                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
976         .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
977         .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
978         .direction = TF_DIR_RX,
979         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
980         .result_start_idx = 68,
981         .result_bit_size = 64,
982         .result_num_fields = 1,
983         .encap_num_fields = 0,
984         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
985         .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
986         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
987         },
988         {
989         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
990         .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
991         .resource_sub_type =
992                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
993         .direction = TF_DIR_RX,
994         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
995         .result_start_idx = 69,
996         .result_bit_size = 128,
997         .result_num_fields = 26,
998         .encap_num_fields = 0,
999         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1000         .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
1001         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1002         },
1003         {
1004         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1005         .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1006         .resource_sub_type =
1007                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
1008         .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
1009         .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
1010         .direction = TF_DIR_TX,
1011         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1012         .result_start_idx = 95,
1013         .result_bit_size = 64,
1014         .result_num_fields = 1,
1015         .encap_num_fields = 0,
1016         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1017         .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
1018         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1019         },
1020         {
1021         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1022         .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1023         .resource_sub_type =
1024                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1025         .cond_opcode = BNXT_ULP_COND_OPCODE_COMP_FIELD_IS_SET,
1026         .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG,
1027         .direction = TF_DIR_TX,
1028         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
1029         .result_start_idx = 96,
1030         .result_bit_size = 0,
1031         .result_num_fields = 0,
1032         .encap_num_fields = 3,
1033         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1034         .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR,
1035         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1036         },
1037         {
1038         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1039         .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1040         .resource_sub_type =
1041                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1042         .cond_opcode = BNXT_ULP_COND_OPCODE_COMP_FIELD_IS_SET,
1043         .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG,
1044         .direction = TF_DIR_TX,
1045         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
1046         .result_start_idx = 99,
1047         .result_bit_size = 0,
1048         .result_num_fields = 0,
1049         .encap_num_fields = 3,
1050         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1051         .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR,
1052         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1053         },
1054         {
1055         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1056         .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1057         .resource_sub_type =
1058                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1059         .direction = TF_DIR_TX,
1060         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_SEARCH_IF_HIT_SKIP,
1061         .result_start_idx = 102,
1062         .result_bit_size = 0,
1063         .result_num_fields = 0,
1064         .encap_num_fields = 12,
1065         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1066         .index_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0,
1067         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1068         },
1069         {
1070         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1071         .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1072         .resource_sub_type =
1073                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1074         .direction = TF_DIR_TX,
1075         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1076         .result_start_idx = 114,
1077         .result_bit_size = 128,
1078         .result_num_fields = 26,
1079         .encap_num_fields = 0,
1080         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1081         .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
1082         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1083         },
1084         {
1085         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1086         .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1087         .resource_sub_type =
1088                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
1089         .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
1090         .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
1091         .direction = TF_DIR_TX,
1092         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1093         .result_start_idx = 140,
1094         .result_bit_size = 64,
1095         .result_num_fields = 1,
1096         .encap_num_fields = 0,
1097         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1098         .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
1099         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1100         },
1101         {
1102         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1103         .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1104         .resource_sub_type =
1105                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1106         .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
1107         .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_SRC,
1108         .direction = TF_DIR_TX,
1109         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1110         .result_start_idx = 141,
1111         .result_bit_size = 32,
1112         .result_num_fields = 1,
1113         .encap_num_fields = 0,
1114         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1115         .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0,
1116         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1117         },
1118         {
1119         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1120         .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1121         .resource_sub_type =
1122                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1123         .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
1124         .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_DST,
1125         .direction = TF_DIR_TX,
1126         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1127         .result_start_idx = 142,
1128         .result_bit_size = 32,
1129         .result_num_fields = 1,
1130         .encap_num_fields = 0,
1131         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1132         .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0,
1133         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1134         },
1135         {
1136         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1137         .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
1138         .resource_sub_type =
1139                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1140         .direction = TF_DIR_TX,
1141         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1142         .result_start_idx = 143,
1143         .result_bit_size = 0,
1144         .result_num_fields = 0,
1145         .encap_num_fields = 12,
1146         .index_opcode = BNXT_ULP_INDEX_OPCODE_GLOBAL,
1147         .index_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR,
1148         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1149         },
1150         {
1151         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1152         .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1153         .resource_sub_type =
1154                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1155         .direction = TF_DIR_TX,
1156         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1157         .result_start_idx = 155,
1158         .result_bit_size = 128,
1159         .result_num_fields = 26,
1160         .encap_num_fields = 0,
1161         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1162         .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
1163         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1164         },
1165         {
1166         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1167         .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1168         .resource_sub_type =
1169                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
1170         .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
1171         .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
1172         .direction = TF_DIR_TX,
1173         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1174         .result_start_idx = 181,
1175         .result_bit_size = 64,
1176         .result_num_fields = 1,
1177         .encap_num_fields = 0,
1178         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1179         .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
1180         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1181         },
1182         {
1183         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1184         .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
1185         .resource_sub_type =
1186                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1187         .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
1188         .cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,
1189         .direction = TF_DIR_TX,
1190         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1191         .result_start_idx = 182,
1192         .result_bit_size = 0,
1193         .result_num_fields = 0,
1194         .encap_num_fields = 12,
1195         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1196         .index_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0,
1197         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1198         },
1199         {
1200         .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1201         .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1202         .resource_sub_type =
1203                 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1204         .direction = TF_DIR_TX,
1205         .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1206         .result_start_idx = 194,
1207         .result_bit_size = 128,
1208         .result_num_fields = 26,
1209         .encap_num_fields = 0,
1210         .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1211         .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
1212         .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1213         }
1214 };
1215
1216 struct bnxt_ulp_mapper_result_field_info ulp_act_result_field_list[] = {
1217         {
1218         .field_bit_size = 64,
1219         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1220         },
1221         {
1222         .field_bit_size = 32,
1223         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1224         .result_operand = {
1225                 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
1226                 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,
1227                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1228                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1229         },
1230         {
1231         .field_bit_size = 32,
1232         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1233         .result_operand = {
1234                 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
1235                 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,
1236                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1237                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1238         },
1239         {
1240         .field_bit_size = 3,
1241         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1242         },
1243         {
1244         .field_bit_size = 3,
1245         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1246         },
1247         {
1248         .field_bit_size = 3,
1249         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1250         },
1251         {
1252         .field_bit_size = 1,
1253         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1254         .result_operand = {
1255                 BNXT_ULP_SYM_ECV_L2_EN_YES,
1256                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1257                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1258         },
1259         {
1260         .field_bit_size = 4,
1261         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1262         },
1263         {
1264         .field_bit_size = 1,
1265         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1266         },
1267         {
1268         .field_bit_size = 1,
1269         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1270         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1271                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1272         },
1273         {
1274         .field_bit_size = 16,
1275         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1276         },
1277         {
1278         .field_bit_size = 12,
1279         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1280         },
1281         {
1282         .field_bit_size = 1,
1283         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1284         },
1285         {
1286         .field_bit_size = 3,
1287         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1288         },
1289         {
1290         .field_bit_size = 80,
1291         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1292         },
1293         {
1294         .field_bit_size = 14,
1295         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1296         .result_operand = {
1297                 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1298                 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1299                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1300                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1301         },
1302         {
1303         .field_bit_size = 1,
1304         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1305         },
1306         {
1307         .field_bit_size = 1,
1308         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1309         },
1310         {
1311         .field_bit_size = 1,
1312         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1313         },
1314         {
1315         .field_bit_size = 1,
1316         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1317         .result_operand = {
1318                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1319                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1320                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1321                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1322                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1323                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1324                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1325                 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1326                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1327         },
1328         {
1329         .field_bit_size = 8,
1330         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1331         },
1332         {
1333         .field_bit_size = 1,
1334         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1335         },
1336         {
1337         .field_bit_size = 1,
1338         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1339         },
1340         {
1341         .field_bit_size = 11,
1342         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
1343         .result_operand = {
1344                 (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
1345                 BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
1346                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1347                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1348         },
1349         {
1350         .field_bit_size = 10,
1351         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1352         .result_operand = {
1353                 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
1354                 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
1355                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1356                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1357         },
1358         {
1359         .field_bit_size = 16,
1360 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1361         .result_operand = {
1362                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
1363                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
1364                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
1365                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
1366                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
1367                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
1368                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
1369                 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
1370                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1371         .result_operand_true = {
1372                 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
1373                 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
1374                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1375                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1376         },
1377         {
1378         .field_bit_size = 10,
1379         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1380         .result_operand = {
1381                 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
1382                 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
1383                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1384                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1385         },
1386         {
1387         .field_bit_size = 16,
1388 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1389         .result_operand = {
1390                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
1391                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
1392                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
1393                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
1394                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
1395                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
1396                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
1397                 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
1398                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1399         .result_operand_true = {
1400                 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
1401                 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
1402                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1403                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1404         },
1405         {
1406         .field_bit_size = 10,
1407         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1408         },
1409         {
1410         .field_bit_size = 1,
1411         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1412         },
1413         {
1414         .field_bit_size = 1,
1415         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1416         },
1417         {
1418         .field_bit_size = 1,
1419         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1420         .result_operand = {
1421                 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1422                 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
1423                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1424                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1425         },
1426         {
1427         .field_bit_size = 1,
1428         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1429         .result_operand = {
1430                 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1431                 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
1432                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1433                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1434         },
1435         {
1436         .field_bit_size = 4,
1437         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1438         .result_operand = {
1439                 BNXT_ULP_SYM_DECAP_FUNC_THRU_L2,
1440                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1441                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1442         },
1443         {
1444         .field_bit_size = 12,
1445         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1446         .result_operand = {
1447                 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1448                 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1449                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1450                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1451         },
1452         {
1453         .field_bit_size = 1,
1454         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1455         },
1456         {
1457         .field_bit_size = 1,
1458         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1459         },
1460         {
1461         .field_bit_size = 2,
1462         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1463         },
1464         {
1465         .field_bit_size = 1,
1466         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1467         },
1468         {
1469         .field_bit_size = 1,
1470         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1471         },
1472         {
1473         .field_bit_size = 1,
1474         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1475         },
1476         {
1477         .field_bit_size = 64,
1478         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1479         },
1480         {
1481         .field_bit_size = 14,
1482         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1483         .result_operand = {
1484                 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1485                 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1486                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1487                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1488         },
1489         {
1490         .field_bit_size = 1,
1491         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1492         },
1493         {
1494         .field_bit_size = 1,
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_ACT_BIT,
1504         .result_operand = {
1505                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1506                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1507                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1508                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1509                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1510                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1511                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1512                 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1513                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1514         },
1515         {
1516         .field_bit_size = 8,
1517         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1518         },
1519         {
1520         .field_bit_size = 1,
1521         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1522         },
1523         {
1524         .field_bit_size = 1,
1525         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1526         },
1527         {
1528         .field_bit_size = 11,
1529         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1530         .result_operand = {
1531                 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
1532                 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
1533                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1534                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1535         },
1536         {
1537         .field_bit_size = 10,
1538         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1539         .result_operand = {
1540                 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
1541                 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
1542                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1543                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1544         },
1545         {
1546         .field_bit_size = 16,
1547 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1548         .result_operand = {
1549                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
1550                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
1551                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
1552                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
1553                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
1554                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
1555                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
1556                 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
1557                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1558         .result_operand_true = {
1559                 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
1560                 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
1561                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1562                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1563         },
1564         {
1565         .field_bit_size = 10,
1566         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1567         .result_operand = {
1568                 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
1569                 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_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 = 16,
1575 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1576         .result_operand = {
1577                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
1578                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
1579                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
1580                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
1581                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
1582                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
1583                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
1584                 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
1585                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1586         .result_operand_true = {
1587                 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
1588                 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
1589                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1590                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1591         },
1592         {
1593         .field_bit_size = 10,
1594         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1595         },
1596         {
1597         .field_bit_size = 1,
1598         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1599         },
1600         {
1601         .field_bit_size = 1,
1602         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1603         },
1604         {
1605         .field_bit_size = 1,
1606         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1607         .result_operand = {
1608                 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1609                 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
1610                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1611                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1612         },
1613         {
1614         .field_bit_size = 1,
1615         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1616         .result_operand = {
1617                 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1618                 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
1619                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1620                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1621         },
1622         {
1623         .field_bit_size = 4,
1624         .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
1625         .result_operand = {
1626                 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
1627                 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
1628                 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
1629                 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
1630                 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
1631                 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
1632                 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
1633                 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
1634                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1635         .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
1636                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1637         },
1638         {
1639         .field_bit_size = 12,
1640         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1641         .result_operand = {
1642                 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1643                 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1644                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1645                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1646         },
1647         {
1648         .field_bit_size = 1,
1649         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1650         .result_operand = {
1651                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1652                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1653                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1654                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1655                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1656                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1657                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1658                 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1659                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1660         },
1661         {
1662         .field_bit_size = 1,
1663         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1664         },
1665         {
1666         .field_bit_size = 2,
1667         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1668         },
1669         {
1670         .field_bit_size = 1,
1671         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1672         .result_operand = {
1673                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
1674                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
1675                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
1676                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
1677                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
1678                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
1679                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
1680                 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
1681                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1682         },
1683         {
1684         .field_bit_size = 1,
1685         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1686         },
1687         {
1688         .field_bit_size = 1,
1689         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1690         },
1691         {
1692         .field_bit_size = 64,
1693         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1694         },
1695         {
1696         .field_bit_size = 14,
1697         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1698         .result_operand = {
1699                 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1700                 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1701                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1702                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1703         },
1704         {
1705         .field_bit_size = 1,
1706         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1707         },
1708         {
1709         .field_bit_size = 1,
1710         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1711         },
1712         {
1713         .field_bit_size = 1,
1714         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1715         },
1716         {
1717         .field_bit_size = 1,
1718         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1719         .result_operand = {
1720                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1721                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1722                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1723                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1724                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1725                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1726                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1727                 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1728                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1729         },
1730         {
1731         .field_bit_size = 8,
1732         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1733         },
1734         {
1735         .field_bit_size = 1,
1736         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1737         },
1738         {
1739         .field_bit_size = 1,
1740         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1741         },
1742         {
1743         .field_bit_size = 11,
1744         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1745         },
1746         {
1747         .field_bit_size = 10,
1748         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1749         },
1750         {
1751         .field_bit_size = 16,
1752         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1753         },
1754         {
1755         .field_bit_size = 10,
1756         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1757         },
1758         {
1759         .field_bit_size = 16,
1760         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1761         },
1762         {
1763         .field_bit_size = 10,
1764         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1765         },
1766         {
1767         .field_bit_size = 1,
1768         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1769         },
1770         {
1771         .field_bit_size = 1,
1772         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1773         },
1774         {
1775         .field_bit_size = 1,
1776         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1777         },
1778         {
1779         .field_bit_size = 1,
1780         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1781         },
1782         {
1783         .field_bit_size = 4,
1784         .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
1785         .result_operand = {
1786                 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
1787                 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
1788                 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
1789                 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
1790                 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
1791                 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
1792                 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
1793                 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
1794                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1795         .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
1796                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1797         },
1798         {
1799         .field_bit_size = 12,
1800         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1801         .result_operand = {
1802                 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1803                 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1804                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1805                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1806         },
1807         {
1808         .field_bit_size = 1,
1809         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1810         .result_operand = {
1811                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1812                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1813                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1814                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1815                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1816                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1817                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1818                 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1819                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1820         },
1821         {
1822         .field_bit_size = 1,
1823         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1824         },
1825         {
1826         .field_bit_size = 2,
1827         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1828         },
1829         {
1830         .field_bit_size = 1,
1831         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1832         },
1833         {
1834         .field_bit_size = 1,
1835         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1836         },
1837         {
1838         .field_bit_size = 1,
1839         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1840         },
1841         {
1842         .field_bit_size = 64,
1843         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1844         },
1845         {
1846         .field_bit_size = 48,
1847         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1848         .result_operand = {
1849                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
1850                 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
1851                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1852                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1853         },
1854         {
1855         .field_bit_size = 32,
1856         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1857         .result_operand = {
1858                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
1859                 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
1860                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1861                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1862         },
1863         {
1864         .field_bit_size = 48,
1865         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1866         },
1867         {
1868         .field_bit_size = 48,
1869         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1870         .result_operand = {
1871                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
1872                 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
1873                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1874                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1875         },
1876         {
1877         .field_bit_size = 128,
1878         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1879         .result_operand = {
1880                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
1881                 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
1882                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1883                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1884         },
1885         {
1886         .field_bit_size = 16,
1887         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1888         },
1889         {
1890         .field_bit_size = 3,
1891         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1892         .result_operand = {
1893                 BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,
1894                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1895                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1896         },
1897         {
1898         .field_bit_size = 3,
1899         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1900         .result_operand = {
1901                 BNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,
1902                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1903                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1904         },
1905         {
1906         .field_bit_size = 3,
1907         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1908         .result_operand = {
1909                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
1910                 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,
1911                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1912                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1913         },
1914         {
1915         .field_bit_size = 1,
1916         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1917         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1918                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1919         },
1920         {
1921         .field_bit_size = 4,
1922         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1923         .result_operand = {
1924                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
1925                 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,
1926                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1927                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1928         },
1929         {
1930         .field_bit_size = 1,
1931         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1932         },
1933         {
1934         .field_bit_size = 1,
1935         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1936         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1937                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1938         },
1939         {
1940         .field_bit_size = 48,
1941         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1942         .result_operand = {
1943                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
1944                 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,
1945                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1946                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1947         },
1948         {
1949         .field_bit_size = 0,
1950         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
1951         .result_operand = {
1952                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
1953                 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
1954                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
1955                 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,
1956                 0x00, 0x00, 0x00, 0x00, 0x00,
1957                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1958         },
1959         {
1960         .field_bit_size = 0,
1961         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
1962         .result_operand = {
1963                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
1964                 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
1965                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
1966                 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,
1967                 0x00, 0x00, 0x00, 0x00, 0x00,
1968                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1969         },
1970         {
1971         .field_bit_size = 32,
1972         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1973         .result_operand = {
1974                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
1975                 BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,
1976                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1977                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1978         },
1979         {
1980         .field_bit_size = 0,
1981         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
1982         .result_operand = {
1983                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
1984                 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,
1985                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,
1986                 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,
1987                 0x00, 0x00, 0x00, 0x00, 0x00,
1988                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1989         },
1990         {
1991         .field_bit_size = 14,
1992         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1993         .result_operand = {
1994                 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1995                 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1996                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1997                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1998         },
1999         {
2000         .field_bit_size = 1,
2001         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2002         },
2003         {
2004         .field_bit_size = 1,
2005         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2006         },
2007         {
2008         .field_bit_size = 1,
2009         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2010         },
2011         {
2012         .field_bit_size = 1,
2013         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2014         .result_operand = {
2015                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2016                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2017                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2018                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2019                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2020                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2021                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2022                 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2023                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2024         },
2025         {
2026         .field_bit_size = 8,
2027         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2028         },
2029         {
2030         .field_bit_size = 1,
2031         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2032         },
2033         {
2034         .field_bit_size = 1,
2035         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2036         },
2037         {
2038         .field_bit_size = 11,
2039         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2040         .result_operand = {
2041                 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
2042                 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
2043                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2044                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2045         },
2046         {
2047         .field_bit_size = 10,
2048         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2049         },
2050         {
2051         .field_bit_size = 16,
2052         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2053         },
2054         {
2055         .field_bit_size = 10,
2056         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2057         },
2058         {
2059         .field_bit_size = 16,
2060         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2061         },
2062         {
2063         .field_bit_size = 10,
2064         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2065         },
2066         {
2067         .field_bit_size = 1,
2068         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2069         },
2070         {
2071         .field_bit_size = 1,
2072         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2073         },
2074         {
2075         .field_bit_size = 1,
2076         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2077         },
2078         {
2079         .field_bit_size = 1,
2080         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2081         },
2082         {
2083         .field_bit_size = 4,
2084         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2085         },
2086         {
2087         .field_bit_size = 12,
2088         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2089         .result_operand = {
2090                 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2091                 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2092                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2093                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2094         },
2095         {
2096         .field_bit_size = 1,
2097         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2098         },
2099         {
2100         .field_bit_size = 1,
2101         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2102         },
2103         {
2104         .field_bit_size = 2,
2105         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2106         },
2107         {
2108         .field_bit_size = 1,
2109         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2110         },
2111         {
2112         .field_bit_size = 1,
2113         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2114         },
2115         {
2116         .field_bit_size = 1,
2117         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2118         },
2119         {
2120         .field_bit_size = 64,
2121         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2122         },
2123         {
2124         .field_bit_size = 32,
2125         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2126         .result_operand = {
2127                 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
2128                 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,
2129                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2130                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2131         },
2132         {
2133         .field_bit_size = 32,
2134         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2135         .result_operand = {
2136                 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
2137                 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,
2138                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2139                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2140         },
2141         {
2142         .field_bit_size = 3,
2143         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2144         },
2145         {
2146         .field_bit_size = 3,
2147         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2148         },
2149         {
2150         .field_bit_size = 3,
2151         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2152         },
2153         {
2154         .field_bit_size = 1,
2155         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2156         .result_operand = {
2157                 BNXT_ULP_SYM_ECV_L2_EN_YES,
2158                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2159                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2160         },
2161         {
2162         .field_bit_size = 4,
2163         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2164         },
2165         {
2166         .field_bit_size = 1,
2167         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2168         },
2169         {
2170         .field_bit_size = 1,
2171         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2172         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2173                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2174         },
2175         {
2176         .field_bit_size = 16,
2177         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2178         },
2179         {
2180         .field_bit_size = 12,
2181         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2182         },
2183         {
2184         .field_bit_size = 1,
2185         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2186         },
2187         {
2188         .field_bit_size = 3,
2189         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2190         },
2191         {
2192         .field_bit_size = 80,
2193         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2194         },
2195         {
2196         .field_bit_size = 14,
2197         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2198         .result_operand = {
2199                 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2200                 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2201                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2202                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2203         },
2204         {
2205         .field_bit_size = 1,
2206         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2207         },
2208         {
2209         .field_bit_size = 1,
2210         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2211         },
2212         {
2213         .field_bit_size = 1,
2214         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2215         },
2216         {
2217         .field_bit_size = 1,
2218         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2219         .result_operand = {
2220                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2221                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2222                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2223                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2224                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2225                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2226                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2227                 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2228                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2229         },
2230         {
2231         .field_bit_size = 8,
2232         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2233         },
2234         {
2235         .field_bit_size = 1,
2236         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2237         },
2238         {
2239         .field_bit_size = 1,
2240         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2241         },
2242         {
2243         .field_bit_size = 11,
2244         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
2245         .result_operand = {
2246                 (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
2247                 BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
2248                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2249                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2250         },
2251         {
2252         .field_bit_size = 10,
2253         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2254         .result_operand = {
2255                 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
2256                 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
2257                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2258                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2259         },
2260         {
2261         .field_bit_size = 16,
2262 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2263         .result_operand = {
2264                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
2265                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
2266                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
2267                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
2268                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
2269                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
2270                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
2271                 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
2272                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2273         .result_operand_true = {
2274                 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
2275                 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
2276                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2277                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2278         },
2279         {
2280         .field_bit_size = 10,
2281         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2282         .result_operand = {
2283                 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
2284                 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
2285                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2286                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2287         },
2288         {
2289         .field_bit_size = 16,
2290 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2291         .result_operand = {
2292                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
2293                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
2294                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
2295                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
2296                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
2297                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
2298                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
2299                 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
2300                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2301         .result_operand_true = {
2302                 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
2303                 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
2304                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2305                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2306         },
2307         {
2308         .field_bit_size = 10,
2309         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2310         },
2311         {
2312         .field_bit_size = 1,
2313         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2314         },
2315         {
2316         .field_bit_size = 1,
2317         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2318         },
2319         {
2320         .field_bit_size = 1,
2321         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2322         .result_operand = {
2323                 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2324                 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
2325                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2326                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2327         },
2328         {
2329         .field_bit_size = 1,
2330         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2331         .result_operand = {
2332                 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2333                 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
2334                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2335                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2336         },
2337         {
2338         .field_bit_size = 4,
2339         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2340         .result_operand = {
2341                 BNXT_ULP_SYM_DECAP_FUNC_THRU_L2,
2342                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2343                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2344         },
2345         {
2346         .field_bit_size = 12,
2347         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2348         .result_operand = {
2349                 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2350                 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2351                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2352                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2353         },
2354         {
2355         .field_bit_size = 1,
2356         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2357         },
2358         {
2359         .field_bit_size = 1,
2360         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2361         },
2362         {
2363         .field_bit_size = 2,
2364         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2365         },
2366         {
2367         .field_bit_size = 1,
2368         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2369         },
2370         {
2371         .field_bit_size = 1,
2372         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2373         },
2374         {
2375         .field_bit_size = 1,
2376         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2377         },
2378         {
2379         .field_bit_size = 64,
2380         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2381         },
2382         {
2383         .field_bit_size = 3,
2384         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2385         },
2386         {
2387         .field_bit_size = 3,
2388         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2389         },
2390         {
2391         .field_bit_size = 3,
2392         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2393         },
2394         {
2395         .field_bit_size = 1,
2396         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2397         },
2398         {
2399         .field_bit_size = 4,
2400         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2401         .result_operand = {
2402                 BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,
2403                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2404                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2405         },
2406         {
2407         .field_bit_size = 1,
2408         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2409         },
2410         {
2411         .field_bit_size = 1,
2412         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2413         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2414                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2415         },
2416         {
2417         .field_bit_size = 16,
2418         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2419         .result_operand = {
2420                 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
2421                 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,
2422                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2423                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2424         },
2425         {
2426         .field_bit_size = 12,
2427         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2428         .result_operand = {
2429                 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
2430                 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,
2431                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2432                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2433         },
2434         {
2435         .field_bit_size = 1,
2436         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2437         },
2438         {
2439         .field_bit_size = 3,
2440         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2441         .result_operand = {
2442                 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
2443                 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,
2444                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2445                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2446         },
2447         {
2448         .field_bit_size = 80,
2449         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2450         },
2451         {
2452         .field_bit_size = 14,
2453         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2454         .result_operand = {
2455                 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2456                 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2457                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2458                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2459         },
2460         {
2461         .field_bit_size = 1,
2462         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2463         },
2464         {
2465         .field_bit_size = 1,
2466         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2467         },
2468         {
2469         .field_bit_size = 1,
2470         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2471         },
2472         {
2473         .field_bit_size = 1,
2474         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2475         .result_operand = {
2476                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2477                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2478                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2479                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2480                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2481                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2482                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2483                 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2484                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2485         },
2486         {
2487         .field_bit_size = 8,
2488         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2489         },
2490         {
2491         .field_bit_size = 1,
2492         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2493         },
2494         {
2495         .field_bit_size = 1,
2496         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2497         },
2498         {
2499         .field_bit_size = 11,
2500         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2501         .result_operand = {
2502                 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
2503                 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
2504                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2505                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2506         },
2507         {
2508         .field_bit_size = 10,
2509         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2510         },
2511         {
2512         .field_bit_size = 16,
2513         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2514         },
2515         {
2516         .field_bit_size = 10,
2517         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2518         },
2519         {
2520         .field_bit_size = 16,
2521         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2522         },
2523         {
2524         .field_bit_size = 10,
2525         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2526         },
2527         {
2528         .field_bit_size = 1,
2529         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2530         },
2531         {
2532         .field_bit_size = 1,
2533         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2534         },
2535         {
2536         .field_bit_size = 1,
2537         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2538         .result_operand = {
2539                 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2540                 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
2541                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2542                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2543         },
2544         {
2545         .field_bit_size = 1,
2546         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2547         .result_operand = {
2548                 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2549                 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
2550                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2551                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2552         },
2553         {
2554         .field_bit_size = 4,
2555         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2556         },
2557         {
2558         .field_bit_size = 12,
2559         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2560         .result_operand = {
2561                 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2562                 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2563                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2564                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2565         },
2566         {
2567         .field_bit_size = 1,
2568         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2569         },
2570         {
2571         .field_bit_size = 1,
2572         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2573         },
2574         {
2575         .field_bit_size = 2,
2576         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2577         },
2578         {
2579         .field_bit_size = 1,
2580         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2581         .result_operand = {
2582                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
2583                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
2584                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
2585                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
2586                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
2587                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
2588                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
2589                 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
2590                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2591         },
2592         {
2593         .field_bit_size = 1,
2594         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2595         },
2596         {
2597         .field_bit_size = 1,
2598         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2599         }
2600 };