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