1 /* SPDX-License-Identifier: BSD-3-Clause
2 * Copyright(c) 2014-2020 Broadcom
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"
11 uint16_t ulp_act_sig_tbl[BNXT_ULP_ACT_SIG_TBL_MAX_SZ] = {
12 [BNXT_ULP_ACT_HID_015a] = 1,
13 [BNXT_ULP_ACT_HID_00eb] = 2,
14 [BNXT_ULP_ACT_HID_0043] = 3,
15 [BNXT_ULP_ACT_HID_03d8] = 4,
16 [BNXT_ULP_ACT_HID_02c1] = 5,
17 [BNXT_ULP_ACT_HID_015e] = 6,
18 [BNXT_ULP_ACT_HID_00ef] = 7,
19 [BNXT_ULP_ACT_HID_0047] = 8,
20 [BNXT_ULP_ACT_HID_03dc] = 9,
21 [BNXT_ULP_ACT_HID_02c5] = 10,
22 [BNXT_ULP_ACT_HID_025b] = 11,
23 [BNXT_ULP_ACT_HID_01ec] = 12,
24 [BNXT_ULP_ACT_HID_0144] = 13,
25 [BNXT_ULP_ACT_HID_04d9] = 14,
26 [BNXT_ULP_ACT_HID_03c2] = 15,
27 [BNXT_ULP_ACT_HID_025f] = 16,
28 [BNXT_ULP_ACT_HID_01f0] = 17,
29 [BNXT_ULP_ACT_HID_0148] = 18,
30 [BNXT_ULP_ACT_HID_04dd] = 19,
31 [BNXT_ULP_ACT_HID_03c6] = 20,
32 [BNXT_ULP_ACT_HID_0000] = 21,
33 [BNXT_ULP_ACT_HID_0002] = 22,
34 [BNXT_ULP_ACT_HID_0800] = 23,
35 [BNXT_ULP_ACT_HID_0101] = 24,
36 [BNXT_ULP_ACT_HID_0020] = 25,
37 [BNXT_ULP_ACT_HID_0901] = 26,
38 [BNXT_ULP_ACT_HID_0121] = 27,
39 [BNXT_ULP_ACT_HID_0004] = 28,
40 [BNXT_ULP_ACT_HID_0804] = 29,
41 [BNXT_ULP_ACT_HID_0105] = 30,
42 [BNXT_ULP_ACT_HID_0024] = 31,
43 [BNXT_ULP_ACT_HID_0905] = 32,
44 [BNXT_ULP_ACT_HID_0125] = 33,
45 [BNXT_ULP_ACT_HID_0001] = 34,
46 [BNXT_ULP_ACT_HID_0005] = 35,
47 [BNXT_ULP_ACT_HID_0009] = 36,
48 [BNXT_ULP_ACT_HID_000d] = 37,
49 [BNXT_ULP_ACT_HID_0021] = 38,
50 [BNXT_ULP_ACT_HID_0029] = 39,
51 [BNXT_ULP_ACT_HID_0025] = 40,
52 [BNXT_ULP_ACT_HID_002d] = 41,
53 [BNXT_ULP_ACT_HID_0801] = 42,
54 [BNXT_ULP_ACT_HID_0809] = 43,
55 [BNXT_ULP_ACT_HID_0805] = 44,
56 [BNXT_ULP_ACT_HID_080d] = 45,
57 [BNXT_ULP_ACT_HID_0c15] = 46,
58 [BNXT_ULP_ACT_HID_0c19] = 47,
59 [BNXT_ULP_ACT_HID_02f6] = 48,
60 [BNXT_ULP_ACT_HID_04f8] = 49,
61 [BNXT_ULP_ACT_HID_01df] = 50,
62 [BNXT_ULP_ACT_HID_07e5] = 51,
63 [BNXT_ULP_ACT_HID_06ce] = 52,
64 [BNXT_ULP_ACT_HID_02fa] = 53,
65 [BNXT_ULP_ACT_HID_04fc] = 54,
66 [BNXT_ULP_ACT_HID_01e3] = 55,
67 [BNXT_ULP_ACT_HID_07e9] = 56,
68 [BNXT_ULP_ACT_HID_06d2] = 57,
69 [BNXT_ULP_ACT_HID_03f7] = 58,
70 [BNXT_ULP_ACT_HID_05f9] = 59,
71 [BNXT_ULP_ACT_HID_02e0] = 60,
72 [BNXT_ULP_ACT_HID_08e6] = 61,
73 [BNXT_ULP_ACT_HID_07cf] = 62,
74 [BNXT_ULP_ACT_HID_03fb] = 63,
75 [BNXT_ULP_ACT_HID_05fd] = 64,
76 [BNXT_ULP_ACT_HID_02e4] = 65,
77 [BNXT_ULP_ACT_HID_08ea] = 66,
78 [BNXT_ULP_ACT_HID_07d3] = 67,
79 [BNXT_ULP_ACT_HID_040d] = 68,
80 [BNXT_ULP_ACT_HID_040f] = 69,
81 [BNXT_ULP_ACT_HID_0413] = 70,
82 [BNXT_ULP_ACT_HID_0c0d] = 71,
83 [BNXT_ULP_ACT_HID_0567] = 72,
84 [BNXT_ULP_ACT_HID_0a49] = 73,
85 [BNXT_ULP_ACT_HID_050e] = 74,
86 [BNXT_ULP_ACT_HID_0d0e] = 75,
87 [BNXT_ULP_ACT_HID_0668] = 76,
88 [BNXT_ULP_ACT_HID_0b4a] = 77,
89 [BNXT_ULP_ACT_HID_0411] = 78,
90 [BNXT_ULP_ACT_HID_056b] = 79,
91 [BNXT_ULP_ACT_HID_0a4d] = 80,
92 [BNXT_ULP_ACT_HID_0c11] = 81,
93 [BNXT_ULP_ACT_HID_0512] = 82,
94 [BNXT_ULP_ACT_HID_0d12] = 83,
95 [BNXT_ULP_ACT_HID_066c] = 84,
96 [BNXT_ULP_ACT_HID_0b4e] = 85
99 struct bnxt_ulp_act_match_info ulp_act_match_list[] = {
101 .act_hid = BNXT_ULP_ACT_HID_015a,
103 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
104 BNXT_ULP_FLOW_DIR_BITMASK_ING },
108 .act_hid = BNXT_ULP_ACT_HID_00eb,
110 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
111 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
112 BNXT_ULP_FLOW_DIR_BITMASK_ING },
116 .act_hid = BNXT_ULP_ACT_HID_0043,
118 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
119 BNXT_ULP_FLOW_DIR_BITMASK_ING },
123 .act_hid = BNXT_ULP_ACT_HID_03d8,
125 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
126 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
127 BNXT_ULP_ACTION_BIT_SET_TP_DST |
128 BNXT_ULP_FLOW_DIR_BITMASK_ING },
132 .act_hid = BNXT_ULP_ACT_HID_02c1,
134 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
135 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
136 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
137 BNXT_ULP_ACTION_BIT_SET_TP_DST |
138 BNXT_ULP_FLOW_DIR_BITMASK_ING },
142 .act_hid = BNXT_ULP_ACT_HID_015e,
144 BNXT_ULP_ACTION_BIT_COUNT |
145 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
146 BNXT_ULP_FLOW_DIR_BITMASK_ING },
150 .act_hid = BNXT_ULP_ACT_HID_00ef,
152 BNXT_ULP_ACTION_BIT_COUNT |
153 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
154 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
155 BNXT_ULP_FLOW_DIR_BITMASK_ING },
159 .act_hid = BNXT_ULP_ACT_HID_0047,
161 BNXT_ULP_ACTION_BIT_COUNT |
162 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
163 BNXT_ULP_FLOW_DIR_BITMASK_ING },
167 .act_hid = BNXT_ULP_ACT_HID_03dc,
169 BNXT_ULP_ACTION_BIT_COUNT |
170 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
171 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
172 BNXT_ULP_ACTION_BIT_SET_TP_DST |
173 BNXT_ULP_FLOW_DIR_BITMASK_ING },
177 .act_hid = BNXT_ULP_ACT_HID_02c5,
179 BNXT_ULP_ACTION_BIT_COUNT |
180 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
181 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
182 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
183 BNXT_ULP_ACTION_BIT_SET_TP_DST |
184 BNXT_ULP_FLOW_DIR_BITMASK_ING },
188 .act_hid = BNXT_ULP_ACT_HID_025b,
190 BNXT_ULP_ACTION_BIT_DEC_TTL |
191 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
192 BNXT_ULP_FLOW_DIR_BITMASK_ING },
196 .act_hid = BNXT_ULP_ACT_HID_01ec,
198 BNXT_ULP_ACTION_BIT_DEC_TTL |
199 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
200 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
201 BNXT_ULP_FLOW_DIR_BITMASK_ING },
205 .act_hid = BNXT_ULP_ACT_HID_0144,
207 BNXT_ULP_ACTION_BIT_DEC_TTL |
208 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
209 BNXT_ULP_FLOW_DIR_BITMASK_ING },
213 .act_hid = BNXT_ULP_ACT_HID_04d9,
215 BNXT_ULP_ACTION_BIT_DEC_TTL |
216 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
217 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
218 BNXT_ULP_ACTION_BIT_SET_TP_DST |
219 BNXT_ULP_FLOW_DIR_BITMASK_ING },
223 .act_hid = BNXT_ULP_ACT_HID_03c2,
225 BNXT_ULP_ACTION_BIT_DEC_TTL |
226 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
227 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
228 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
229 BNXT_ULP_ACTION_BIT_SET_TP_DST |
230 BNXT_ULP_FLOW_DIR_BITMASK_ING },
234 .act_hid = BNXT_ULP_ACT_HID_025f,
236 BNXT_ULP_ACTION_BIT_DEC_TTL |
237 BNXT_ULP_ACTION_BIT_COUNT |
238 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
239 BNXT_ULP_FLOW_DIR_BITMASK_ING },
243 .act_hid = BNXT_ULP_ACT_HID_01f0,
245 BNXT_ULP_ACTION_BIT_DEC_TTL |
246 BNXT_ULP_ACTION_BIT_COUNT |
247 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
248 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
249 BNXT_ULP_FLOW_DIR_BITMASK_ING },
253 .act_hid = BNXT_ULP_ACT_HID_0148,
255 BNXT_ULP_ACTION_BIT_DEC_TTL |
256 BNXT_ULP_ACTION_BIT_COUNT |
257 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
258 BNXT_ULP_FLOW_DIR_BITMASK_ING },
262 .act_hid = BNXT_ULP_ACT_HID_04dd,
264 BNXT_ULP_ACTION_BIT_DEC_TTL |
265 BNXT_ULP_ACTION_BIT_COUNT |
266 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
267 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
268 BNXT_ULP_ACTION_BIT_SET_TP_DST |
269 BNXT_ULP_FLOW_DIR_BITMASK_ING },
273 .act_hid = BNXT_ULP_ACT_HID_03c6,
275 BNXT_ULP_ACTION_BIT_DEC_TTL |
276 BNXT_ULP_ACTION_BIT_COUNT |
277 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
278 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
279 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
280 BNXT_ULP_ACTION_BIT_SET_TP_DST |
281 BNXT_ULP_FLOW_DIR_BITMASK_ING },
285 .act_hid = BNXT_ULP_ACT_HID_0000,
287 BNXT_ULP_FLOW_DIR_BITMASK_ING },
291 .act_hid = BNXT_ULP_ACT_HID_0002,
293 BNXT_ULP_ACTION_BIT_DROP |
294 BNXT_ULP_FLOW_DIR_BITMASK_ING },
298 .act_hid = BNXT_ULP_ACT_HID_0800,
300 BNXT_ULP_ACTION_BIT_POP_VLAN |
301 BNXT_ULP_FLOW_DIR_BITMASK_ING },
305 .act_hid = BNXT_ULP_ACT_HID_0101,
307 BNXT_ULP_ACTION_BIT_DEC_TTL |
308 BNXT_ULP_FLOW_DIR_BITMASK_ING },
312 .act_hid = BNXT_ULP_ACT_HID_0020,
314 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
315 BNXT_ULP_FLOW_DIR_BITMASK_ING },
319 .act_hid = BNXT_ULP_ACT_HID_0901,
321 BNXT_ULP_ACTION_BIT_DEC_TTL |
322 BNXT_ULP_ACTION_BIT_POP_VLAN |
323 BNXT_ULP_FLOW_DIR_BITMASK_ING },
327 .act_hid = BNXT_ULP_ACT_HID_0121,
329 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
330 BNXT_ULP_ACTION_BIT_DEC_TTL |
331 BNXT_ULP_FLOW_DIR_BITMASK_ING },
335 .act_hid = BNXT_ULP_ACT_HID_0004,
337 BNXT_ULP_ACTION_BIT_COUNT |
338 BNXT_ULP_FLOW_DIR_BITMASK_ING },
342 .act_hid = BNXT_ULP_ACT_HID_0804,
344 BNXT_ULP_ACTION_BIT_COUNT |
345 BNXT_ULP_ACTION_BIT_POP_VLAN |
346 BNXT_ULP_FLOW_DIR_BITMASK_ING },
350 .act_hid = BNXT_ULP_ACT_HID_0105,
352 BNXT_ULP_ACTION_BIT_COUNT |
353 BNXT_ULP_ACTION_BIT_DEC_TTL |
354 BNXT_ULP_FLOW_DIR_BITMASK_ING },
358 .act_hid = BNXT_ULP_ACT_HID_0024,
360 BNXT_ULP_ACTION_BIT_COUNT |
361 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
362 BNXT_ULP_FLOW_DIR_BITMASK_ING },
366 .act_hid = BNXT_ULP_ACT_HID_0905,
368 BNXT_ULP_ACTION_BIT_COUNT |
369 BNXT_ULP_ACTION_BIT_DEC_TTL |
370 BNXT_ULP_ACTION_BIT_POP_VLAN |
371 BNXT_ULP_FLOW_DIR_BITMASK_ING },
375 .act_hid = BNXT_ULP_ACT_HID_0125,
377 BNXT_ULP_ACTION_BIT_COUNT |
378 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
379 BNXT_ULP_ACTION_BIT_DEC_TTL |
380 BNXT_ULP_FLOW_DIR_BITMASK_ING },
384 .act_hid = BNXT_ULP_ACT_HID_0001,
386 BNXT_ULP_ACTION_BIT_MARK |
387 BNXT_ULP_FLOW_DIR_BITMASK_ING },
391 .act_hid = BNXT_ULP_ACT_HID_0005,
393 BNXT_ULP_ACTION_BIT_MARK |
394 BNXT_ULP_ACTION_BIT_COUNT |
395 BNXT_ULP_FLOW_DIR_BITMASK_ING },
399 .act_hid = BNXT_ULP_ACT_HID_0009,
401 BNXT_ULP_ACTION_BIT_MARK |
402 BNXT_ULP_ACTION_BIT_RSS |
403 BNXT_ULP_FLOW_DIR_BITMASK_ING },
407 .act_hid = BNXT_ULP_ACT_HID_000d,
409 BNXT_ULP_ACTION_BIT_MARK |
410 BNXT_ULP_ACTION_BIT_RSS |
411 BNXT_ULP_ACTION_BIT_COUNT |
412 BNXT_ULP_FLOW_DIR_BITMASK_ING },
416 .act_hid = BNXT_ULP_ACT_HID_0021,
418 BNXT_ULP_ACTION_BIT_MARK |
419 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
420 BNXT_ULP_FLOW_DIR_BITMASK_ING },
424 .act_hid = BNXT_ULP_ACT_HID_0029,
426 BNXT_ULP_ACTION_BIT_MARK |
427 BNXT_ULP_ACTION_BIT_RSS |
428 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
429 BNXT_ULP_FLOW_DIR_BITMASK_ING },
433 .act_hid = BNXT_ULP_ACT_HID_0025,
435 BNXT_ULP_ACTION_BIT_MARK |
436 BNXT_ULP_ACTION_BIT_COUNT |
437 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
438 BNXT_ULP_FLOW_DIR_BITMASK_ING },
442 .act_hid = BNXT_ULP_ACT_HID_002d,
444 BNXT_ULP_ACTION_BIT_MARK |
445 BNXT_ULP_ACTION_BIT_RSS |
446 BNXT_ULP_ACTION_BIT_COUNT |
447 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
448 BNXT_ULP_FLOW_DIR_BITMASK_ING },
452 .act_hid = BNXT_ULP_ACT_HID_0801,
454 BNXT_ULP_ACTION_BIT_MARK |
455 BNXT_ULP_ACTION_BIT_POP_VLAN |
456 BNXT_ULP_FLOW_DIR_BITMASK_ING },
460 .act_hid = BNXT_ULP_ACT_HID_0809,
462 BNXT_ULP_ACTION_BIT_MARK |
463 BNXT_ULP_ACTION_BIT_RSS |
464 BNXT_ULP_ACTION_BIT_POP_VLAN |
465 BNXT_ULP_FLOW_DIR_BITMASK_ING },
469 .act_hid = BNXT_ULP_ACT_HID_0805,
471 BNXT_ULP_ACTION_BIT_MARK |
472 BNXT_ULP_ACTION_BIT_COUNT |
473 BNXT_ULP_ACTION_BIT_POP_VLAN |
474 BNXT_ULP_FLOW_DIR_BITMASK_ING },
478 .act_hid = BNXT_ULP_ACT_HID_080d,
480 BNXT_ULP_ACTION_BIT_MARK |
481 BNXT_ULP_ACTION_BIT_RSS |
482 BNXT_ULP_ACTION_BIT_COUNT |
483 BNXT_ULP_ACTION_BIT_POP_VLAN |
484 BNXT_ULP_FLOW_DIR_BITMASK_ING },
488 .act_hid = BNXT_ULP_ACT_HID_0c15,
490 BNXT_ULP_ACTION_BIT_VXLAN_ENCAP |
491 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
495 .act_hid = BNXT_ULP_ACT_HID_0c19,
497 BNXT_ULP_ACTION_BIT_VXLAN_ENCAP |
498 BNXT_ULP_ACTION_BIT_COUNT |
499 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
503 .act_hid = BNXT_ULP_ACT_HID_02f6,
505 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
506 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
510 .act_hid = BNXT_ULP_ACT_HID_04f8,
512 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
513 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
514 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
518 .act_hid = BNXT_ULP_ACT_HID_01df,
520 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
521 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
525 .act_hid = BNXT_ULP_ACT_HID_07e5,
527 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
528 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
529 BNXT_ULP_ACTION_BIT_SET_TP_DST |
530 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
534 .act_hid = BNXT_ULP_ACT_HID_06ce,
536 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
537 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
538 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
539 BNXT_ULP_ACTION_BIT_SET_TP_DST |
540 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
544 .act_hid = BNXT_ULP_ACT_HID_02fa,
546 BNXT_ULP_ACTION_BIT_COUNT |
547 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
548 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
552 .act_hid = BNXT_ULP_ACT_HID_04fc,
554 BNXT_ULP_ACTION_BIT_COUNT |
555 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
556 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
557 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
561 .act_hid = BNXT_ULP_ACT_HID_01e3,
563 BNXT_ULP_ACTION_BIT_COUNT |
564 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
565 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
569 .act_hid = BNXT_ULP_ACT_HID_07e9,
571 BNXT_ULP_ACTION_BIT_COUNT |
572 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
573 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
574 BNXT_ULP_ACTION_BIT_SET_TP_DST |
575 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
579 .act_hid = BNXT_ULP_ACT_HID_06d2,
581 BNXT_ULP_ACTION_BIT_COUNT |
582 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
583 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
584 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
585 BNXT_ULP_ACTION_BIT_SET_TP_DST |
586 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
590 .act_hid = BNXT_ULP_ACT_HID_03f7,
592 BNXT_ULP_ACTION_BIT_DEC_TTL |
593 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
594 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
598 .act_hid = BNXT_ULP_ACT_HID_05f9,
600 BNXT_ULP_ACTION_BIT_DEC_TTL |
601 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
602 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
603 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
607 .act_hid = BNXT_ULP_ACT_HID_02e0,
609 BNXT_ULP_ACTION_BIT_DEC_TTL |
610 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
611 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
615 .act_hid = BNXT_ULP_ACT_HID_08e6,
617 BNXT_ULP_ACTION_BIT_DEC_TTL |
618 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
619 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
620 BNXT_ULP_ACTION_BIT_SET_TP_DST |
621 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
625 .act_hid = BNXT_ULP_ACT_HID_07cf,
627 BNXT_ULP_ACTION_BIT_DEC_TTL |
628 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
629 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
630 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
631 BNXT_ULP_ACTION_BIT_SET_TP_DST |
632 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
636 .act_hid = BNXT_ULP_ACT_HID_03fb,
638 BNXT_ULP_ACTION_BIT_DEC_TTL |
639 BNXT_ULP_ACTION_BIT_COUNT |
640 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
641 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
645 .act_hid = BNXT_ULP_ACT_HID_05fd,
647 BNXT_ULP_ACTION_BIT_DEC_TTL |
648 BNXT_ULP_ACTION_BIT_COUNT |
649 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
650 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
651 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
655 .act_hid = BNXT_ULP_ACT_HID_02e4,
657 BNXT_ULP_ACTION_BIT_DEC_TTL |
658 BNXT_ULP_ACTION_BIT_COUNT |
659 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
660 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
664 .act_hid = BNXT_ULP_ACT_HID_08ea,
666 BNXT_ULP_ACTION_BIT_DEC_TTL |
667 BNXT_ULP_ACTION_BIT_COUNT |
668 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
669 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
670 BNXT_ULP_ACTION_BIT_SET_TP_DST |
671 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
675 .act_hid = BNXT_ULP_ACT_HID_07d3,
677 BNXT_ULP_ACTION_BIT_DEC_TTL |
678 BNXT_ULP_ACTION_BIT_COUNT |
679 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
680 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
681 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
682 BNXT_ULP_ACTION_BIT_SET_TP_DST |
683 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
687 .act_hid = BNXT_ULP_ACT_HID_040d,
689 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
693 .act_hid = BNXT_ULP_ACT_HID_040f,
695 BNXT_ULP_ACTION_BIT_DROP |
696 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
700 .act_hid = BNXT_ULP_ACT_HID_0413,
702 BNXT_ULP_ACTION_BIT_DROP |
703 BNXT_ULP_ACTION_BIT_COUNT |
704 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
708 .act_hid = BNXT_ULP_ACT_HID_0c0d,
710 BNXT_ULP_ACTION_BIT_POP_VLAN |
711 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
715 .act_hid = BNXT_ULP_ACT_HID_0567,
717 BNXT_ULP_ACTION_BIT_SET_VLAN_PCP |
718 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
719 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
720 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
724 .act_hid = BNXT_ULP_ACT_HID_0a49,
726 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
727 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
728 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
732 .act_hid = BNXT_ULP_ACT_HID_050e,
734 BNXT_ULP_ACTION_BIT_DEC_TTL |
735 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
739 .act_hid = BNXT_ULP_ACT_HID_0d0e,
741 BNXT_ULP_ACTION_BIT_DEC_TTL |
742 BNXT_ULP_ACTION_BIT_POP_VLAN |
743 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
747 .act_hid = BNXT_ULP_ACT_HID_0668,
749 BNXT_ULP_ACTION_BIT_DEC_TTL |
750 BNXT_ULP_ACTION_BIT_SET_VLAN_PCP |
751 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
752 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
753 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
757 .act_hid = BNXT_ULP_ACT_HID_0b4a,
759 BNXT_ULP_ACTION_BIT_DEC_TTL |
760 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
761 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
762 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
766 .act_hid = BNXT_ULP_ACT_HID_0411,
768 BNXT_ULP_ACTION_BIT_COUNT |
769 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
773 .act_hid = BNXT_ULP_ACT_HID_056b,
775 BNXT_ULP_ACTION_BIT_COUNT |
776 BNXT_ULP_ACTION_BIT_SET_VLAN_PCP |
777 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
778 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
779 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
783 .act_hid = BNXT_ULP_ACT_HID_0a4d,
785 BNXT_ULP_ACTION_BIT_COUNT |
786 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
787 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
788 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
792 .act_hid = BNXT_ULP_ACT_HID_0c11,
794 BNXT_ULP_ACTION_BIT_COUNT |
795 BNXT_ULP_ACTION_BIT_POP_VLAN |
796 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
800 .act_hid = BNXT_ULP_ACT_HID_0512,
802 BNXT_ULP_ACTION_BIT_COUNT |
803 BNXT_ULP_ACTION_BIT_DEC_TTL |
804 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
808 .act_hid = BNXT_ULP_ACT_HID_0d12,
810 BNXT_ULP_ACTION_BIT_COUNT |
811 BNXT_ULP_ACTION_BIT_DEC_TTL |
812 BNXT_ULP_ACTION_BIT_POP_VLAN |
813 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
817 .act_hid = BNXT_ULP_ACT_HID_066c,
819 BNXT_ULP_ACTION_BIT_COUNT |
820 BNXT_ULP_ACTION_BIT_DEC_TTL |
821 BNXT_ULP_ACTION_BIT_SET_VLAN_PCP |
822 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
823 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
824 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
828 .act_hid = BNXT_ULP_ACT_HID_0b4e,
830 BNXT_ULP_ACTION_BIT_COUNT |
831 BNXT_ULP_ACTION_BIT_DEC_TTL |
832 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
833 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
834 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
839 struct bnxt_ulp_mapper_tbl_list_info ulp_act_tmpl_list[] = {
840 [((1 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
841 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
842 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
845 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
847 [((2 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
848 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
849 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
852 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
854 [((3 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
855 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
856 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
859 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
861 [((4 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
862 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
863 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
866 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
868 [((5 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
869 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
870 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
873 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
875 [((6 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
876 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
877 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
880 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
884 struct bnxt_ulp_mapper_tbl_info ulp_act_tbl_list[] = {
886 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
887 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
889 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
890 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
891 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
892 .direction = TF_DIR_RX,
893 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
894 .result_start_idx = 0,
895 .result_bit_size = 64,
896 .result_num_fields = 1,
897 .encap_num_fields = 0,
898 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
899 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
900 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
903 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
904 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
906 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
907 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
908 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_SRC,
909 .direction = TF_DIR_RX,
910 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
911 .result_start_idx = 1,
912 .result_bit_size = 32,
913 .result_num_fields = 1,
914 .encap_num_fields = 0,
915 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
916 .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0,
917 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
920 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
921 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
923 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
924 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
925 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_DST,
926 .direction = TF_DIR_RX,
927 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
928 .result_start_idx = 2,
929 .result_bit_size = 32,
930 .result_num_fields = 1,
931 .encap_num_fields = 0,
932 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
933 .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0,
934 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
937 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
938 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
940 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
941 .direction = TF_DIR_RX,
942 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
943 .result_start_idx = 3,
944 .result_bit_size = 0,
945 .result_num_fields = 0,
946 .encap_num_fields = 12,
947 .index_opcode = BNXT_ULP_INDEX_OPCODE_GLOBAL,
948 .index_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR,
949 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
952 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
953 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
955 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
956 .direction = TF_DIR_RX,
957 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
958 .result_start_idx = 15,
959 .result_bit_size = 128,
960 .result_num_fields = 26,
961 .encap_num_fields = 0,
962 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
963 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
964 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
967 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
968 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
970 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
971 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
972 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
973 .direction = TF_DIR_RX,
974 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
975 .result_start_idx = 41,
976 .result_bit_size = 64,
977 .result_num_fields = 1,
978 .encap_num_fields = 0,
979 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
980 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
981 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
984 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
985 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
987 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
988 .direction = TF_DIR_RX,
989 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
990 .result_start_idx = 42,
991 .result_bit_size = 128,
992 .result_num_fields = 26,
993 .encap_num_fields = 0,
994 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
995 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
996 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
999 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1000 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1001 .resource_sub_type =
1002 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
1003 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
1004 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
1005 .direction = TF_DIR_RX,
1006 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1007 .result_start_idx = 68,
1008 .result_bit_size = 64,
1009 .result_num_fields = 1,
1010 .encap_num_fields = 0,
1011 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1012 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
1013 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1016 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1017 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1018 .resource_sub_type =
1019 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1020 .direction = TF_DIR_RX,
1021 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1022 .result_start_idx = 69,
1023 .result_bit_size = 128,
1024 .result_num_fields = 26,
1025 .encap_num_fields = 0,
1026 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1027 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
1028 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1031 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1032 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1033 .resource_sub_type =
1034 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
1035 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
1036 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
1037 .direction = TF_DIR_TX,
1038 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1039 .result_start_idx = 95,
1040 .result_bit_size = 64,
1041 .result_num_fields = 1,
1042 .encap_num_fields = 0,
1043 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1044 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
1045 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1048 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1049 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1050 .resource_sub_type =
1051 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1052 .cond_opcode = BNXT_ULP_COND_OPCODE_COMP_FIELD_IS_SET,
1053 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV4_FLAG,
1054 .direction = TF_DIR_TX,
1055 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1056 .result_start_idx = 96,
1057 .result_bit_size = 0,
1058 .result_num_fields = 0,
1059 .encap_num_fields = 3,
1060 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1061 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR,
1062 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1065 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1066 .resource_type = TF_TBL_TYPE_ACT_SP_SMAC_IPV4,
1067 .resource_sub_type =
1068 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1069 .cond_opcode = BNXT_ULP_COND_OPCODE_COMP_FIELD_IS_SET,
1070 .cond_operand = BNXT_ULP_CF_IDX_ACT_ENCAP_IPV6_FLAG,
1071 .direction = TF_DIR_TX,
1072 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1073 .result_start_idx = 99,
1074 .result_bit_size = 0,
1075 .result_num_fields = 0,
1076 .encap_num_fields = 3,
1077 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1078 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_SP_PTR,
1079 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1082 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1083 .resource_type = TF_TBL_TYPE_ACT_ENCAP_64B,
1084 .resource_sub_type =
1085 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1086 .direction = TF_DIR_TX,
1087 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1088 .result_start_idx = 102,
1089 .result_bit_size = 0,
1090 .result_num_fields = 0,
1091 .encap_num_fields = 12,
1092 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1093 .index_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0,
1094 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1097 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1098 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1099 .resource_sub_type =
1100 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1101 .direction = TF_DIR_TX,
1102 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1103 .result_start_idx = 114,
1104 .result_bit_size = 128,
1105 .result_num_fields = 26,
1106 .encap_num_fields = 0,
1107 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1108 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
1109 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1112 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1113 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1114 .resource_sub_type =
1115 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
1116 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
1117 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
1118 .direction = TF_DIR_TX,
1119 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1120 .result_start_idx = 140,
1121 .result_bit_size = 64,
1122 .result_num_fields = 1,
1123 .encap_num_fields = 0,
1124 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1125 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
1126 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1129 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1130 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1131 .resource_sub_type =
1132 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1133 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
1134 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_SRC,
1135 .direction = TF_DIR_TX,
1136 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1137 .result_start_idx = 141,
1138 .result_bit_size = 32,
1139 .result_num_fields = 1,
1140 .encap_num_fields = 0,
1141 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1142 .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0,
1143 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1146 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1147 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
1148 .resource_sub_type =
1149 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1150 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
1151 .cond_operand = BNXT_ULP_ACTION_BIT_SET_IPV4_DST,
1152 .direction = TF_DIR_TX,
1153 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1154 .result_start_idx = 142,
1155 .result_bit_size = 32,
1156 .result_num_fields = 1,
1157 .encap_num_fields = 0,
1158 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1159 .index_operand = BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0,
1160 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1163 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1164 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
1165 .resource_sub_type =
1166 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1167 .direction = TF_DIR_TX,
1168 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1169 .result_start_idx = 143,
1170 .result_bit_size = 0,
1171 .result_num_fields = 0,
1172 .encap_num_fields = 12,
1173 .index_opcode = BNXT_ULP_INDEX_OPCODE_GLOBAL,
1174 .index_operand = BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR,
1175 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1178 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1179 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1180 .resource_sub_type =
1181 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1182 .direction = TF_DIR_TX,
1183 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1184 .result_start_idx = 155,
1185 .result_bit_size = 128,
1186 .result_num_fields = 26,
1187 .encap_num_fields = 0,
1188 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1189 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
1190 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1193 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1194 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
1195 .resource_sub_type =
1196 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_INT_COUNT,
1197 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
1198 .cond_operand = BNXT_ULP_ACTION_BIT_COUNT,
1199 .direction = TF_DIR_TX,
1200 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1201 .result_start_idx = 181,
1202 .result_bit_size = 64,
1203 .result_num_fields = 1,
1204 .encap_num_fields = 0,
1205 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1206 .index_operand = BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0,
1207 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1210 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1211 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
1212 .resource_sub_type =
1213 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1214 .cond_opcode = BNXT_ULP_COND_OPCODE_ACTION_BIT_IS_SET,
1215 .cond_operand = BNXT_ULP_ACTION_BIT_PUSH_VLAN,
1216 .direction = TF_DIR_TX,
1217 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1218 .result_start_idx = 182,
1219 .result_bit_size = 0,
1220 .result_num_fields = 0,
1221 .encap_num_fields = 12,
1222 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1223 .index_operand = BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0,
1224 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1227 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
1228 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
1229 .resource_sub_type =
1230 BNXT_ULP_RESOURCE_SUB_TYPE_INDEX_TYPE_NORMAL,
1231 .direction = TF_DIR_TX,
1232 .srch_b4_alloc = BNXT_ULP_SEARCH_BEFORE_ALLOC_NO,
1233 .result_start_idx = 194,
1234 .result_bit_size = 128,
1235 .result_num_fields = 26,
1236 .encap_num_fields = 0,
1237 .index_opcode = BNXT_ULP_INDEX_OPCODE_ALLOCATE,
1238 .index_operand = BNXT_ULP_REGFILE_INDEX_MAIN_ACTION_PTR,
1239 .mark_db_opcode = BNXT_ULP_MARK_DB_OPCODE_NOP
1243 struct bnxt_ulp_mapper_result_field_info ulp_act_result_field_list[] = {
1245 .field_bit_size = 64,
1246 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1249 .field_bit_size = 32,
1250 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1252 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
1253 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,
1254 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1255 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1258 .field_bit_size = 32,
1259 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1261 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
1262 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,
1263 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1264 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1267 .field_bit_size = 3,
1268 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1271 .field_bit_size = 3,
1272 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1275 .field_bit_size = 3,
1276 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1279 .field_bit_size = 1,
1280 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1282 BNXT_ULP_SYM_ECV_L2_EN_YES,
1283 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1284 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1287 .field_bit_size = 4,
1288 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1291 .field_bit_size = 1,
1292 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1295 .field_bit_size = 1,
1296 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1297 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1298 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1301 .field_bit_size = 16,
1302 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1305 .field_bit_size = 12,
1306 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1309 .field_bit_size = 1,
1310 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1313 .field_bit_size = 3,
1314 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1317 .field_bit_size = 80,
1318 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1321 .field_bit_size = 14,
1322 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1324 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1325 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1326 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1327 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1330 .field_bit_size = 1,
1331 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1334 .field_bit_size = 1,
1335 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1338 .field_bit_size = 1,
1339 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1342 .field_bit_size = 1,
1343 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1345 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1346 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1347 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1348 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1349 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1350 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1351 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1352 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1353 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1356 .field_bit_size = 8,
1357 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1360 .field_bit_size = 1,
1361 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1364 .field_bit_size = 1,
1365 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1368 .field_bit_size = 11,
1369 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
1371 (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
1372 BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
1373 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1374 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1377 .field_bit_size = 10,
1378 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1380 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
1381 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
1382 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1383 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1386 .field_bit_size = 16,
1387 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1389 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
1390 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
1391 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
1392 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
1393 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
1394 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
1395 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
1396 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
1397 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1398 .result_operand_true = {
1399 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
1400 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
1401 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1402 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1405 .field_bit_size = 10,
1406 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1408 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
1409 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
1410 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1411 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1414 .field_bit_size = 16,
1415 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1417 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
1418 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
1419 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
1420 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
1421 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
1422 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
1423 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
1424 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
1425 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1426 .result_operand_true = {
1427 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
1428 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
1429 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1430 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1433 .field_bit_size = 10,
1434 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1437 .field_bit_size = 1,
1438 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1441 .field_bit_size = 1,
1442 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1445 .field_bit_size = 1,
1446 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1448 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1449 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
1450 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1451 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1454 .field_bit_size = 1,
1455 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1457 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1458 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
1459 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1460 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1463 .field_bit_size = 4,
1464 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1466 BNXT_ULP_SYM_DECAP_FUNC_THRU_L2,
1467 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1468 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1471 .field_bit_size = 12,
1472 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1474 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1475 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1476 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1477 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1480 .field_bit_size = 1,
1481 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1484 .field_bit_size = 1,
1485 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1488 .field_bit_size = 2,
1489 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1492 .field_bit_size = 1,
1493 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1496 .field_bit_size = 1,
1497 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1500 .field_bit_size = 1,
1501 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1504 .field_bit_size = 64,
1505 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1508 .field_bit_size = 14,
1509 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1511 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1512 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1513 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1514 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1517 .field_bit_size = 1,
1518 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1521 .field_bit_size = 1,
1522 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1525 .field_bit_size = 1,
1526 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1529 .field_bit_size = 1,
1530 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1532 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1533 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1534 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1535 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1536 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1537 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1538 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1539 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1540 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1543 .field_bit_size = 8,
1544 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1547 .field_bit_size = 1,
1548 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1551 .field_bit_size = 1,
1552 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1555 .field_bit_size = 11,
1556 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1558 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
1559 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
1560 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1561 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1564 .field_bit_size = 10,
1565 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1567 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
1568 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
1569 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1570 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1573 .field_bit_size = 16,
1574 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1576 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
1577 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
1578 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
1579 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
1580 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
1581 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
1582 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
1583 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
1584 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1585 .result_operand_true = {
1586 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
1587 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
1588 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1589 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1592 .field_bit_size = 10,
1593 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1595 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
1596 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
1597 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1598 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1601 .field_bit_size = 16,
1602 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
1604 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
1605 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
1606 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
1607 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
1608 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
1609 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
1610 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
1611 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
1612 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1613 .result_operand_true = {
1614 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
1615 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
1616 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1617 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1620 .field_bit_size = 10,
1621 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1624 .field_bit_size = 1,
1625 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1628 .field_bit_size = 1,
1629 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1632 .field_bit_size = 1,
1633 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1635 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
1636 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
1637 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1638 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1641 .field_bit_size = 1,
1642 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
1644 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
1645 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
1646 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1647 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1650 .field_bit_size = 4,
1651 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
1653 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 56) & 0xff,
1654 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 48) & 0xff,
1655 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 40) & 0xff,
1656 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 32) & 0xff,
1657 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 24) & 0xff,
1658 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 16) & 0xff,
1659 ((uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP >> 8) & 0xff,
1660 (uint64_t)BNXT_ULP_ACTION_BIT_VXLAN_DECAP & 0xff,
1661 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
1662 .result_operand_true = {0x0a, 0x00, 0x00, 0x00, 0x00, 0x00,
1663 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1666 .field_bit_size = 12,
1667 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1669 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1670 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1671 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1672 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1675 .field_bit_size = 1,
1676 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1678 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1679 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1680 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1681 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1682 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1683 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1684 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1685 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1686 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1689 .field_bit_size = 1,
1690 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1693 .field_bit_size = 2,
1694 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1697 .field_bit_size = 1,
1698 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1700 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
1701 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
1702 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
1703 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
1704 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
1705 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
1706 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
1707 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
1708 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1711 .field_bit_size = 1,
1712 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1715 .field_bit_size = 1,
1716 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1719 .field_bit_size = 64,
1720 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1723 .field_bit_size = 14,
1724 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
1726 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
1727 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
1728 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1729 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1732 .field_bit_size = 1,
1733 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1736 .field_bit_size = 1,
1737 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1740 .field_bit_size = 1,
1741 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1744 .field_bit_size = 1,
1745 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1747 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
1748 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
1749 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
1750 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
1751 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
1752 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
1753 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
1754 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
1755 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1758 .field_bit_size = 8,
1759 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1762 .field_bit_size = 1,
1763 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1766 .field_bit_size = 1,
1767 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1770 .field_bit_size = 11,
1771 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1774 .field_bit_size = 10,
1775 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1778 .field_bit_size = 16,
1779 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1782 .field_bit_size = 10,
1783 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1786 .field_bit_size = 16,
1787 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1790 .field_bit_size = 10,
1791 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1794 .field_bit_size = 1,
1795 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1798 .field_bit_size = 1,
1799 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1802 .field_bit_size = 1,
1803 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1806 .field_bit_size = 1,
1807 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1810 .field_bit_size = 4,
1811 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1813 BNXT_ULP_SYM_DECAP_FUNC_THRU_TUN,
1814 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1815 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1818 .field_bit_size = 12,
1819 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1821 (BNXT_ULP_ACT_PROP_IDX_VNIC >> 8) & 0xff,
1822 BNXT_ULP_ACT_PROP_IDX_VNIC & 0xff,
1823 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1824 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1827 .field_bit_size = 1,
1828 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
1830 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
1831 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
1832 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
1833 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
1834 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
1835 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
1836 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
1837 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
1838 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1841 .field_bit_size = 1,
1842 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1845 .field_bit_size = 2,
1846 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1849 .field_bit_size = 1,
1850 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1853 .field_bit_size = 1,
1854 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1857 .field_bit_size = 1,
1858 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1861 .field_bit_size = 64,
1862 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1865 .field_bit_size = 48,
1866 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1868 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
1869 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
1870 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1871 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1874 .field_bit_size = 32,
1875 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1877 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
1878 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
1879 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1880 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1883 .field_bit_size = 48,
1884 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1887 .field_bit_size = 48,
1888 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1890 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC >> 8) & 0xff,
1891 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_SMAC & 0xff,
1892 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1893 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1896 .field_bit_size = 128,
1897 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1899 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC >> 8) & 0xff,
1900 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SRC & 0xff,
1901 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1902 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1905 .field_bit_size = 16,
1906 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1909 .field_bit_size = 3,
1910 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1912 BNXT_ULP_SYM_ECV_TUN_TYPE_VXLAN,
1913 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1914 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1917 .field_bit_size = 3,
1918 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1920 BNXT_ULP_SYM_ECV_L4_TYPE_UDP_CSUM,
1921 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1922 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1925 .field_bit_size = 3,
1926 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1928 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE >> 8) & 0xff,
1929 BNXT_ULP_ACT_PROP_IDX_ENCAP_L3_TYPE & 0xff,
1930 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1931 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1934 .field_bit_size = 1,
1935 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1936 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1937 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1940 .field_bit_size = 4,
1941 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1943 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE >> 8) & 0xff,
1944 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_TYPE & 0xff,
1945 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1946 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1949 .field_bit_size = 1,
1950 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1953 .field_bit_size = 1,
1954 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
1955 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
1956 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1959 .field_bit_size = 48,
1960 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1962 (BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC >> 8) & 0xff,
1963 BNXT_ULP_ACT_PROP_IDX_ENCAP_L2_DMAC & 0xff,
1964 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1965 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1968 .field_bit_size = 0,
1969 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
1971 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG >> 8) & 0xff,
1972 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG & 0xff,
1973 (BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ >> 8) & 0xff,
1974 BNXT_ULP_ACT_PROP_IDX_ENCAP_VTAG_SZ & 0xff,
1975 0x00, 0x00, 0x00, 0x00, 0x00,
1976 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1979 .field_bit_size = 0,
1980 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
1982 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP >> 8) & 0xff,
1983 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP & 0xff,
1984 (BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ >> 8) & 0xff,
1985 BNXT_ULP_ACT_PROP_IDX_ENCAP_IP_SZ & 0xff,
1986 0x00, 0x00, 0x00, 0x00, 0x00,
1987 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1990 .field_bit_size = 32,
1991 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
1993 (BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP >> 8) & 0xff,
1994 BNXT_ULP_ACT_PROP_IDX_ENCAP_UDP & 0xff,
1995 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
1996 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
1999 .field_bit_size = 0,
2000 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
2002 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN >> 8) & 0xff,
2003 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN & 0xff,
2004 (BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ >> 8) & 0xff,
2005 BNXT_ULP_ACT_PROP_IDX_ENCAP_TUN_SZ & 0xff,
2006 0x00, 0x00, 0x00, 0x00, 0x00,
2007 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2010 .field_bit_size = 14,
2011 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2013 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2014 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2015 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2016 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2019 .field_bit_size = 1,
2020 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2023 .field_bit_size = 1,
2024 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2027 .field_bit_size = 1,
2028 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2031 .field_bit_size = 1,
2032 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2034 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2035 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2036 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2037 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2038 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2039 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2040 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2041 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2042 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2045 .field_bit_size = 8,
2046 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2049 .field_bit_size = 1,
2050 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2053 .field_bit_size = 1,
2054 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2057 .field_bit_size = 11,
2058 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2060 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
2061 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
2062 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2063 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2066 .field_bit_size = 10,
2067 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2070 .field_bit_size = 16,
2071 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2074 .field_bit_size = 10,
2075 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2078 .field_bit_size = 16,
2079 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2082 .field_bit_size = 10,
2083 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2086 .field_bit_size = 1,
2087 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2090 .field_bit_size = 1,
2091 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2094 .field_bit_size = 1,
2095 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2098 .field_bit_size = 1,
2099 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2102 .field_bit_size = 4,
2103 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2106 .field_bit_size = 12,
2107 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2109 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2110 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2111 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2112 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2115 .field_bit_size = 1,
2116 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2119 .field_bit_size = 1,
2120 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2123 .field_bit_size = 2,
2124 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2127 .field_bit_size = 1,
2128 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2131 .field_bit_size = 1,
2132 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2135 .field_bit_size = 1,
2136 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2139 .field_bit_size = 64,
2140 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2143 .field_bit_size = 32,
2144 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2146 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC >> 8) & 0xff,
2147 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_SRC & 0xff,
2148 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2149 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2152 .field_bit_size = 32,
2153 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2155 (BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST >> 8) & 0xff,
2156 BNXT_ULP_ACT_PROP_IDX_SET_IPV4_DST & 0xff,
2157 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2158 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2161 .field_bit_size = 3,
2162 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2165 .field_bit_size = 3,
2166 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2169 .field_bit_size = 3,
2170 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2173 .field_bit_size = 1,
2174 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2176 BNXT_ULP_SYM_ECV_L2_EN_YES,
2177 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2178 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2181 .field_bit_size = 4,
2182 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2185 .field_bit_size = 1,
2186 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2189 .field_bit_size = 1,
2190 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2191 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2192 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2195 .field_bit_size = 16,
2196 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2199 .field_bit_size = 12,
2200 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2203 .field_bit_size = 1,
2204 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2207 .field_bit_size = 3,
2208 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2211 .field_bit_size = 80,
2212 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2215 .field_bit_size = 14,
2216 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2218 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2219 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2220 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2221 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2224 .field_bit_size = 1,
2225 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2228 .field_bit_size = 1,
2229 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2232 .field_bit_size = 1,
2233 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2236 .field_bit_size = 1,
2237 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2239 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2240 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2241 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2242 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2243 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2244 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2245 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2246 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2247 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2250 .field_bit_size = 8,
2251 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2254 .field_bit_size = 1,
2255 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2258 .field_bit_size = 1,
2259 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2262 .field_bit_size = 11,
2263 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
2265 (BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR >> 8) & 0xff,
2266 BNXT_ULP_GLB_REGFILE_INDEX_ENCAP_MAC_PTR & 0xff,
2267 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2268 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2271 .field_bit_size = 10,
2272 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2274 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 >> 8) & 0xff,
2275 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_DST_PTR_0 & 0xff,
2276 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2277 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2280 .field_bit_size = 16,
2281 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2283 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 56) & 0xff,
2284 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 48) & 0xff,
2285 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 40) & 0xff,
2286 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 32) & 0xff,
2287 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 24) & 0xff,
2288 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 16) & 0xff,
2289 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST >> 8) & 0xff,
2290 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_DST & 0xff,
2291 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2292 .result_operand_true = {
2293 (BNXT_ULP_ACT_PROP_IDX_SET_TP_DST >> 8) & 0xff,
2294 BNXT_ULP_ACT_PROP_IDX_SET_TP_DST & 0xff,
2295 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2296 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2299 .field_bit_size = 10,
2300 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2302 (BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 >> 8) & 0xff,
2303 BNXT_ULP_REGFILE_INDEX_MODIFY_IPV4_SRC_PTR_0 & 0xff,
2304 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2305 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2308 .field_bit_size = 16,
2309 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
2311 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 56) & 0xff,
2312 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 48) & 0xff,
2313 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 40) & 0xff,
2314 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 32) & 0xff,
2315 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 24) & 0xff,
2316 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 16) & 0xff,
2317 ((uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC >> 8) & 0xff,
2318 (uint64_t)BNXT_ULP_ACTION_BIT_SET_TP_SRC & 0xff,
2319 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00},
2320 .result_operand_true = {
2321 (BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC >> 8) & 0xff,
2322 BNXT_ULP_ACT_PROP_IDX_SET_TP_SRC & 0xff,
2323 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2324 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2327 .field_bit_size = 10,
2328 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2331 .field_bit_size = 1,
2332 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2335 .field_bit_size = 1,
2336 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2339 .field_bit_size = 1,
2340 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2342 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2343 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
2344 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2345 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2348 .field_bit_size = 1,
2349 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2351 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2352 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
2353 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2354 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2357 .field_bit_size = 4,
2358 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2360 BNXT_ULP_SYM_DECAP_FUNC_THRU_L2,
2361 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2362 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2365 .field_bit_size = 12,
2366 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2368 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2369 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2370 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2371 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2374 .field_bit_size = 1,
2375 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2378 .field_bit_size = 1,
2379 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2382 .field_bit_size = 2,
2383 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2386 .field_bit_size = 1,
2387 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2390 .field_bit_size = 1,
2391 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2394 .field_bit_size = 1,
2395 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2398 .field_bit_size = 64,
2399 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2402 .field_bit_size = 3,
2403 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2406 .field_bit_size = 3,
2407 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2410 .field_bit_size = 3,
2411 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2414 .field_bit_size = 1,
2415 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2418 .field_bit_size = 4,
2419 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2421 BNXT_ULP_SYM_ECV_VTAG_TYPE_ADD_1_ENCAP_PRI,
2422 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2423 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2426 .field_bit_size = 1,
2427 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2430 .field_bit_size = 1,
2431 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
2432 .result_operand = {0x01, 0x00, 0x00, 0x00, 0x00, 0x00,
2433 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2436 .field_bit_size = 16,
2437 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2439 (BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN >> 8) & 0xff,
2440 BNXT_ULP_ACT_PROP_IDX_PUSH_VLAN & 0xff,
2441 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2442 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2445 .field_bit_size = 12,
2446 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2448 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID >> 8) & 0xff,
2449 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_VID & 0xff,
2450 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2451 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2454 .field_bit_size = 1,
2455 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2458 .field_bit_size = 3,
2459 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2461 (BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP >> 8) & 0xff,
2462 BNXT_ULP_ACT_PROP_IDX_SET_VLAN_PCP & 0xff,
2463 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2464 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2467 .field_bit_size = 80,
2468 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2471 .field_bit_size = 14,
2472 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2474 (BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 >> 8) & 0xff,
2475 BNXT_ULP_REGFILE_INDEX_FLOW_CNTR_PTR_0 & 0xff,
2476 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2477 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2480 .field_bit_size = 1,
2481 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2484 .field_bit_size = 1,
2485 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2488 .field_bit_size = 1,
2489 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2492 .field_bit_size = 1,
2493 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2495 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 56) & 0xff,
2496 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 48) & 0xff,
2497 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 40) & 0xff,
2498 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 32) & 0xff,
2499 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 24) & 0xff,
2500 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 16) & 0xff,
2501 ((uint64_t)BNXT_ULP_ACTION_BIT_COUNT >> 8) & 0xff,
2502 (uint64_t)BNXT_ULP_ACTION_BIT_COUNT & 0xff,
2503 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2506 .field_bit_size = 8,
2507 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2510 .field_bit_size = 1,
2511 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2514 .field_bit_size = 1,
2515 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2518 .field_bit_size = 11,
2519 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
2521 (BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 >> 8) & 0xff,
2522 BNXT_ULP_REGFILE_INDEX_ENCAP_PTR_0 & 0xff,
2523 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2524 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2527 .field_bit_size = 10,
2528 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2531 .field_bit_size = 16,
2532 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2535 .field_bit_size = 10,
2536 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2539 .field_bit_size = 16,
2540 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2543 .field_bit_size = 10,
2544 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2547 .field_bit_size = 1,
2548 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2551 .field_bit_size = 1,
2552 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2555 .field_bit_size = 1,
2556 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2558 (BNXT_ULP_CF_IDX_ACT_DEC_TTL >> 8) & 0xff,
2559 BNXT_ULP_CF_IDX_ACT_DEC_TTL & 0xff,
2560 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2561 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2564 .field_bit_size = 1,
2565 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
2567 (BNXT_ULP_CF_IDX_ACT_T_DEC_TTL >> 8) & 0xff,
2568 BNXT_ULP_CF_IDX_ACT_T_DEC_TTL & 0xff,
2569 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2570 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2573 .field_bit_size = 4,
2574 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2577 .field_bit_size = 12,
2578 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
2580 (BNXT_ULP_ACT_PROP_IDX_VPORT >> 8) & 0xff,
2581 BNXT_ULP_ACT_PROP_IDX_VPORT & 0xff,
2582 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
2583 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2586 .field_bit_size = 1,
2587 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2589 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 56) & 0xff,
2590 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 48) & 0xff,
2591 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 40) & 0xff,
2592 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 32) & 0xff,
2593 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 24) & 0xff,
2594 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 16) & 0xff,
2595 ((uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN >> 8) & 0xff,
2596 (uint64_t)BNXT_ULP_ACTION_BIT_POP_VLAN & 0xff,
2597 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2600 .field_bit_size = 1,
2601 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2604 .field_bit_size = 2,
2605 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2608 .field_bit_size = 1,
2609 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
2611 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 56) & 0xff,
2612 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 48) & 0xff,
2613 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 40) & 0xff,
2614 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 32) & 0xff,
2615 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 24) & 0xff,
2616 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 16) & 0xff,
2617 ((uint64_t)BNXT_ULP_ACTION_BIT_DROP >> 8) & 0xff,
2618 (uint64_t)BNXT_ULP_ACTION_BIT_DROP & 0xff,
2619 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
2622 .field_bit_size = 1,
2623 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2626 .field_bit_size = 1,
2627 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO