net/bnxt: fix NAT template
[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_SET_TO_CONSTANT,
1812         .result_operand = {
1813                 BNXT_ULP_SYM_DECAP_FUNC_THRU_TUN,
1814                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1815                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1816         },
1817         {
1818         .field_bit_size = 12,
1819         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1820         .result_operand = {
1821                 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1822                 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1823                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1824                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1825         },
1826         {
1827         .field_bit_size = 1,
1828         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1829         .result_operand = {
1830                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1831                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1832                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1833                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1834                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1835                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1836                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1837                 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1838                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1839         },
1840         {
1841         .field_bit_size = 1,
1842         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1843         },
1844         {
1845         .field_bit_size = 2,
1846         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1847         },
1848         {
1849         .field_bit_size = 1,
1850         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1851         },
1852         {
1853         .field_bit_size = 1,
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 = 64,
1862         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1863         },
1864         {
1865         .field_bit_size = 48,
1866         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1867         .result_operand = {
1868                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
1869                 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
1870                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1871                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1872         },
1873         {
1874         .field_bit_size = 32,
1875         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1876         .result_operand = {
1877                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
1878                 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
1879                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1880                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1881         },
1882         {
1883         .field_bit_size = 48,
1884         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1885         },
1886         {
1887         .field_bit_size = 48,
1888         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1889         .result_operand = {
1890                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
1891                 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
1892                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1893                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1894         },
1895         {
1896         .field_bit_size = 128,
1897         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1898         .result_operand = {
1899                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
1900                 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
1901                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1902                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1903         },
1904         {
1905         .field_bit_size = 16,
1906         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1907         },
1908         {
1909         .field_bit_size = 3,
1910         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1911         .result_operand = {
1912                 BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,
1913                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1914                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
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_L4_TYPE_UDP_CSUM,
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_ACT_PROP,
1927         .result_operand = {
1928                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
1929                 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,
1930                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1931                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1932         },
1933         {
1934         .field_bit_size = 1,
1935         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1936         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1937                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1938         },
1939         {
1940         .field_bit_size = 4,
1941         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1942         .result_operand = {
1943                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
1944                 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,
1945                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1946                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1947         },
1948         {
1949         .field_bit_size = 1,
1950         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1951         },
1952         {
1953         .field_bit_size = 1,
1954         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1955         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1956                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1957         },
1958         {
1959         .field_bit_size = 48,
1960         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1961         .result_operand = {
1962                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
1963                 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,
1964                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1965                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1966         },
1967         {
1968         .field_bit_size = 0,
1969         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
1970         .result_operand = {
1971                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
1972                 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
1973                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
1974                 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,
1975                 0x00, 0x00, 0x00, 0x00, 0x00,
1976                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1977         },
1978         {
1979         .field_bit_size = 0,
1980         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
1981         .result_operand = {
1982                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
1983                 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
1984                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
1985                 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,
1986                 0x00, 0x00, 0x00, 0x00, 0x00,
1987                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1988         },
1989         {
1990         .field_bit_size = 32,
1991         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1992         .result_operand = {
1993                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
1994                 BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,
1995                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1996                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1997         },
1998         {
1999         .field_bit_size = 0,
2000         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2001         .result_operand = {
2002                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
2003                 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,
2004                 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,
2005                 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,
2006                 0x00, 0x00, 0x00, 0x00, 0x00,
2007                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2008         },
2009         {
2010         .field_bit_size = 14,
2011         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2012         .result_operand = {
2013                 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2014                 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2015                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2016                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2017         },
2018         {
2019         .field_bit_size = 1,
2020         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2021         },
2022         {
2023         .field_bit_size = 1,
2024         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2025         },
2026         {
2027         .field_bit_size = 1,
2028         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2029         },
2030         {
2031         .field_bit_size = 1,
2032         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2033         .result_operand = {
2034                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2035                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2036                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2037                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2038                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2039                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2040                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2041                 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2042                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2043         },
2044         {
2045         .field_bit_size = 8,
2046         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2047         },
2048         {
2049         .field_bit_size = 1,
2050         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2051         },
2052         {
2053         .field_bit_size = 1,
2054         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2055         },
2056         {
2057         .field_bit_size = 11,
2058         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2059         .result_operand = {
2060                 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
2061                 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
2062                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2063                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2064         },
2065         {
2066         .field_bit_size = 10,
2067         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2068         },
2069         {
2070         .field_bit_size = 16,
2071         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
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 = 1,
2087         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2088         },
2089         {
2090         .field_bit_size = 1,
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 = 4,
2103         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2104         },
2105         {
2106         .field_bit_size = 12,
2107         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2108         .result_operand = {
2109                 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2110                 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2111                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2112                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2113         },
2114         {
2115         .field_bit_size = 1,
2116         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2117         },
2118         {
2119         .field_bit_size = 1,
2120         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2121         },
2122         {
2123         .field_bit_size = 2,
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 = 1,
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 = 64,
2140         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2141         },
2142         {
2143         .field_bit_size = 32,
2144         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2145         .result_operand = {
2146                 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
2147                 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,
2148                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2149                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2150         },
2151         {
2152         .field_bit_size = 32,
2153         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2154         .result_operand = {
2155                 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
2156                 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,
2157                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2158                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2159         },
2160         {
2161         .field_bit_size = 3,
2162         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2163         },
2164         {
2165         .field_bit_size = 3,
2166         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2167         },
2168         {
2169         .field_bit_size = 3,
2170         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2171         },
2172         {
2173         .field_bit_size = 1,
2174         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2175         .result_operand = {
2176                 BNXT_ULP_SYM_ECV_L2_EN_YES,
2177                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2178                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2179         },
2180         {
2181         .field_bit_size = 4,
2182         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2183         },
2184         {
2185         .field_bit_size = 1,
2186         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2187         },
2188         {
2189         .field_bit_size = 1,
2190         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2191         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2192                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2193         },
2194         {
2195         .field_bit_size = 16,
2196         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2197         },
2198         {
2199         .field_bit_size = 12,
2200         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2201         },
2202         {
2203         .field_bit_size = 1,
2204         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2205         },
2206         {
2207         .field_bit_size = 3,
2208         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2209         },
2210         {
2211         .field_bit_size = 80,
2212         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2213         },
2214         {
2215         .field_bit_size = 14,
2216         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2217         .result_operand = {
2218                 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2219                 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2220                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2221                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2222         },
2223         {
2224         .field_bit_size = 1,
2225         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2226         },
2227         {
2228         .field_bit_size = 1,
2229         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
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_ACT_BIT,
2238         .result_operand = {
2239                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2240                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2241                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2242                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2243                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2244                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2245                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2246                 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2247                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2248         },
2249         {
2250         .field_bit_size = 8,
2251         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2252         },
2253         {
2254         .field_bit_size = 1,
2255         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2256         },
2257         {
2258         .field_bit_size = 1,
2259         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2260         },
2261         {
2262         .field_bit_size = 11,
2263         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
2264         .result_operand = {
2265                 (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
2266                 BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
2267                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2268                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2269         },
2270         {
2271         .field_bit_size = 10,
2272         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2273         .result_operand = {
2274                 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
2275                 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
2276                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2277                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2278         },
2279         {
2280         .field_bit_size = 16,
2281 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2282         .result_operand = {
2283                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
2284                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
2285                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
2286                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
2287                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
2288                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
2289                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
2290                 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
2291                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2292         .result_operand_true = {
2293                 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
2294                 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
2295                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2296                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2297         },
2298         {
2299         .field_bit_size = 10,
2300         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2301         .result_operand = {
2302                 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
2303                 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
2304                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2305                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2306         },
2307         {
2308         .field_bit_size = 16,
2309 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2310         .result_operand = {
2311                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
2312                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
2313                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
2314                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
2315                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
2316                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
2317                 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
2318                 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
2319                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2320         .result_operand_true = {
2321                 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
2322                 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
2323                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2324                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2325         },
2326         {
2327         .field_bit_size = 10,
2328         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2329         },
2330         {
2331         .field_bit_size = 1,
2332         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2333         },
2334         {
2335         .field_bit_size = 1,
2336         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2337         },
2338         {
2339         .field_bit_size = 1,
2340         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2341         .result_operand = {
2342                 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2343                 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
2344                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2345                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2346         },
2347         {
2348         .field_bit_size = 1,
2349         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2350         .result_operand = {
2351                 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2352                 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
2353                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2354                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2355         },
2356         {
2357         .field_bit_size = 4,
2358         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2359         .result_operand = {
2360                 BNXT_ULP_SYM_DECAP_FUNC_THRU_L2,
2361                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2362                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2363         },
2364         {
2365         .field_bit_size = 12,
2366         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2367         .result_operand = {
2368                 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2369                 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2370                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2371                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2372         },
2373         {
2374         .field_bit_size = 1,
2375         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2376         },
2377         {
2378         .field_bit_size = 1,
2379         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2380         },
2381         {
2382         .field_bit_size = 2,
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 = 1,
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 = 64,
2399         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2400         },
2401         {
2402         .field_bit_size = 3,
2403         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2404         },
2405         {
2406         .field_bit_size = 3,
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 = 1,
2415         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2416         },
2417         {
2418         .field_bit_size = 4,
2419         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2420         .result_operand = {
2421                 BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,
2422                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2423                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2424         },
2425         {
2426         .field_bit_size = 1,
2427         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2428         },
2429         {
2430         .field_bit_size = 1,
2431         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2432         .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2433                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2434         },
2435         {
2436         .field_bit_size = 16,
2437         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2438         .result_operand = {
2439                 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
2440                 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,
2441                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2442                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2443         },
2444         {
2445         .field_bit_size = 12,
2446         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2447         .result_operand = {
2448                 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
2449                 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,
2450                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2451                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2452         },
2453         {
2454         .field_bit_size = 1,
2455         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2456         },
2457         {
2458         .field_bit_size = 3,
2459         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2460         .result_operand = {
2461                 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
2462                 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,
2463                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2464                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2465         },
2466         {
2467         .field_bit_size = 80,
2468         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2469         },
2470         {
2471         .field_bit_size = 14,
2472         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2473         .result_operand = {
2474                 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2475                 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2476                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2477                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2478         },
2479         {
2480         .field_bit_size = 1,
2481         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2482         },
2483         {
2484         .field_bit_size = 1,
2485         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
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_ACT_BIT,
2494         .result_operand = {
2495                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2496                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2497                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2498                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2499                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2500                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2501                 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2502                 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2503                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2504         },
2505         {
2506         .field_bit_size = 8,
2507         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2508         },
2509         {
2510         .field_bit_size = 1,
2511         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2512         },
2513         {
2514         .field_bit_size = 1,
2515         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2516         },
2517         {
2518         .field_bit_size = 11,
2519         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2520         .result_operand = {
2521                 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
2522                 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
2523                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2524                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2525         },
2526         {
2527         .field_bit_size = 10,
2528         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2529         },
2530         {
2531         .field_bit_size = 16,
2532         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
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 = 1,
2548         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2549         },
2550         {
2551         .field_bit_size = 1,
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_COMP_FIELD,
2557         .result_operand = {
2558                 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2559                 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
2560                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2561                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2562         },
2563         {
2564         .field_bit_size = 1,
2565         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2566         .result_operand = {
2567                 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2568                 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
2569                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2570                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2571         },
2572         {
2573         .field_bit_size = 4,
2574         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2575         },
2576         {
2577         .field_bit_size = 12,
2578         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2579         .result_operand = {
2580                 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2581                 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2582                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2583                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2584         },
2585         {
2586         .field_bit_size = 1,
2587         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2588         .result_operand = {
2589                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
2590                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
2591                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
2592                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
2593                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
2594                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
2595                 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
2596                 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
2597                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2598         },
2599         {
2600         .field_bit_size = 1,
2601         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2602         },
2603         {
2604         .field_bit_size = 2,
2605         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2606         },
2607         {
2608         .field_bit_size = 1,
2609         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2610         .result_operand = {
2611                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
2612                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
2613                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
2614                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
2615                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
2616                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
2617                 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
2618                 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
2619                 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2620         },
2621         {
2622         .field_bit_size = 1,
2623         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2624         },
2625         {
2626         .field_bit_size = 1,
2627         .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2628         }
2629 };