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