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_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
96 struct bnxt_ulp_act_match_info ulp_act_match_list[] = {
98 .act_hid = BNXT_ULP_ACT_HID_015a,
100 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
101 BNXT_ULP_FLOW_DIR_BITMASK_ING },
105 .act_hid = BNXT_ULP_ACT_HID_00eb,
107 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
108 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
109 BNXT_ULP_FLOW_DIR_BITMASK_ING },
113 .act_hid = BNXT_ULP_ACT_HID_0043,
115 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
116 BNXT_ULP_FLOW_DIR_BITMASK_ING },
120 .act_hid = BNXT_ULP_ACT_HID_03d8,
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 },
129 .act_hid = BNXT_ULP_ACT_HID_02c1,
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 },
139 .act_hid = BNXT_ULP_ACT_HID_015e,
141 BNXT_ULP_ACTION_BIT_COUNT |
142 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
143 BNXT_ULP_FLOW_DIR_BITMASK_ING },
147 .act_hid = BNXT_ULP_ACT_HID_00ef,
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 },
156 .act_hid = BNXT_ULP_ACT_HID_0047,
158 BNXT_ULP_ACTION_BIT_COUNT |
159 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
160 BNXT_ULP_FLOW_DIR_BITMASK_ING },
164 .act_hid = BNXT_ULP_ACT_HID_03dc,
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 },
174 .act_hid = BNXT_ULP_ACT_HID_02c5,
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 },
185 .act_hid = BNXT_ULP_ACT_HID_025b,
187 BNXT_ULP_ACTION_BIT_DEC_TTL |
188 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
189 BNXT_ULP_FLOW_DIR_BITMASK_ING },
193 .act_hid = BNXT_ULP_ACT_HID_01ec,
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 },
202 .act_hid = BNXT_ULP_ACT_HID_0144,
204 BNXT_ULP_ACTION_BIT_DEC_TTL |
205 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
206 BNXT_ULP_FLOW_DIR_BITMASK_ING },
210 .act_hid = BNXT_ULP_ACT_HID_04d9,
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 },
220 .act_hid = BNXT_ULP_ACT_HID_03c2,
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 },
231 .act_hid = BNXT_ULP_ACT_HID_025f,
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 },
240 .act_hid = BNXT_ULP_ACT_HID_01f0,
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 },
250 .act_hid = BNXT_ULP_ACT_HID_0148,
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 },
259 .act_hid = BNXT_ULP_ACT_HID_04dd,
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 },
270 .act_hid = BNXT_ULP_ACT_HID_03c6,
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 },
282 .act_hid = BNXT_ULP_ACT_HID_0000,
284 BNXT_ULP_FLOW_DIR_BITMASK_ING },
288 .act_hid = BNXT_ULP_ACT_HID_0002,
290 BNXT_ULP_ACTION_BIT_DROP |
291 BNXT_ULP_FLOW_DIR_BITMASK_ING },
295 .act_hid = BNXT_ULP_ACT_HID_0800,
297 BNXT_ULP_ACTION_BIT_POP_VLAN |
298 BNXT_ULP_FLOW_DIR_BITMASK_ING },
302 .act_hid = BNXT_ULP_ACT_HID_0101,
304 BNXT_ULP_ACTION_BIT_DEC_TTL |
305 BNXT_ULP_FLOW_DIR_BITMASK_ING },
309 .act_hid = BNXT_ULP_ACT_HID_0020,
311 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
312 BNXT_ULP_FLOW_DIR_BITMASK_ING },
316 .act_hid = BNXT_ULP_ACT_HID_0901,
318 BNXT_ULP_ACTION_BIT_DEC_TTL |
319 BNXT_ULP_ACTION_BIT_POP_VLAN |
320 BNXT_ULP_FLOW_DIR_BITMASK_ING },
324 .act_hid = BNXT_ULP_ACT_HID_0121,
326 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
327 BNXT_ULP_ACTION_BIT_DEC_TTL |
328 BNXT_ULP_FLOW_DIR_BITMASK_ING },
332 .act_hid = BNXT_ULP_ACT_HID_0004,
334 BNXT_ULP_ACTION_BIT_COUNT |
335 BNXT_ULP_FLOW_DIR_BITMASK_ING },
339 .act_hid = BNXT_ULP_ACT_HID_0006,
341 BNXT_ULP_ACTION_BIT_COUNT |
342 BNXT_ULP_ACTION_BIT_DROP |
343 BNXT_ULP_FLOW_DIR_BITMASK_ING },
347 .act_hid = BNXT_ULP_ACT_HID_0804,
349 BNXT_ULP_ACTION_BIT_COUNT |
350 BNXT_ULP_ACTION_BIT_POP_VLAN |
351 BNXT_ULP_FLOW_DIR_BITMASK_ING },
355 .act_hid = BNXT_ULP_ACT_HID_0105,
357 BNXT_ULP_ACTION_BIT_COUNT |
358 BNXT_ULP_ACTION_BIT_DEC_TTL |
359 BNXT_ULP_FLOW_DIR_BITMASK_ING },
363 .act_hid = BNXT_ULP_ACT_HID_0024,
365 BNXT_ULP_ACTION_BIT_COUNT |
366 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
367 BNXT_ULP_FLOW_DIR_BITMASK_ING },
371 .act_hid = BNXT_ULP_ACT_HID_0905,
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 },
380 .act_hid = BNXT_ULP_ACT_HID_0125,
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 },
389 .act_hid = BNXT_ULP_ACT_HID_0001,
391 BNXT_ULP_ACTION_BIT_MARK |
392 BNXT_ULP_FLOW_DIR_BITMASK_ING },
396 .act_hid = BNXT_ULP_ACT_HID_0005,
398 BNXT_ULP_ACTION_BIT_MARK |
399 BNXT_ULP_ACTION_BIT_COUNT |
400 BNXT_ULP_FLOW_DIR_BITMASK_ING },
404 .act_hid = BNXT_ULP_ACT_HID_0009,
406 BNXT_ULP_ACTION_BIT_MARK |
407 BNXT_ULP_ACTION_BIT_RSS |
408 BNXT_ULP_FLOW_DIR_BITMASK_ING },
412 .act_hid = BNXT_ULP_ACT_HID_000d,
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 },
421 .act_hid = BNXT_ULP_ACT_HID_0021,
423 BNXT_ULP_ACTION_BIT_MARK |
424 BNXT_ULP_ACTION_BIT_VXLAN_DECAP |
425 BNXT_ULP_FLOW_DIR_BITMASK_ING },
429 .act_hid = BNXT_ULP_ACT_HID_0029,
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 },
438 .act_hid = BNXT_ULP_ACT_HID_0025,
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 },
447 .act_hid = BNXT_ULP_ACT_HID_002d,
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 },
457 .act_hid = BNXT_ULP_ACT_HID_0801,
459 BNXT_ULP_ACTION_BIT_MARK |
460 BNXT_ULP_ACTION_BIT_POP_VLAN |
461 BNXT_ULP_FLOW_DIR_BITMASK_ING },
465 .act_hid = BNXT_ULP_ACT_HID_0809,
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 },
474 .act_hid = BNXT_ULP_ACT_HID_0805,
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 },
483 .act_hid = BNXT_ULP_ACT_HID_080d,
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 },
493 .act_hid = BNXT_ULP_ACT_HID_0c15,
495 BNXT_ULP_ACTION_BIT_VXLAN_ENCAP |
496 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
500 .act_hid = BNXT_ULP_ACT_HID_0c19,
502 BNXT_ULP_ACTION_BIT_VXLAN_ENCAP |
503 BNXT_ULP_ACTION_BIT_COUNT |
504 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
508 .act_hid = BNXT_ULP_ACT_HID_02f6,
510 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
511 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
515 .act_hid = BNXT_ULP_ACT_HID_04f8,
517 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
518 BNXT_ULP_ACTION_BIT_SET_TP_SRC |
519 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
523 .act_hid = BNXT_ULP_ACT_HID_01df,
525 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
526 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
530 .act_hid = BNXT_ULP_ACT_HID_07e5,
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 },
539 .act_hid = BNXT_ULP_ACT_HID_06ce,
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 },
549 .act_hid = BNXT_ULP_ACT_HID_02fa,
551 BNXT_ULP_ACTION_BIT_COUNT |
552 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
553 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
557 .act_hid = BNXT_ULP_ACT_HID_04fc,
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 },
566 .act_hid = BNXT_ULP_ACT_HID_01e3,
568 BNXT_ULP_ACTION_BIT_COUNT |
569 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
570 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
574 .act_hid = BNXT_ULP_ACT_HID_07e9,
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 },
584 .act_hid = BNXT_ULP_ACT_HID_06d2,
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 },
595 .act_hid = BNXT_ULP_ACT_HID_03f7,
597 BNXT_ULP_ACTION_BIT_DEC_TTL |
598 BNXT_ULP_ACTION_BIT_SET_IPV4_SRC |
599 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
603 .act_hid = BNXT_ULP_ACT_HID_05f9,
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 },
612 .act_hid = BNXT_ULP_ACT_HID_02e0,
614 BNXT_ULP_ACTION_BIT_DEC_TTL |
615 BNXT_ULP_ACTION_BIT_SET_IPV4_DST |
616 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
620 .act_hid = BNXT_ULP_ACT_HID_08e6,
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 },
630 .act_hid = BNXT_ULP_ACT_HID_07cf,
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 },
641 .act_hid = BNXT_ULP_ACT_HID_03fb,
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 },
650 .act_hid = BNXT_ULP_ACT_HID_05fd,
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 },
660 .act_hid = BNXT_ULP_ACT_HID_02e4,
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 },
669 .act_hid = BNXT_ULP_ACT_HID_08ea,
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 },
680 .act_hid = BNXT_ULP_ACT_HID_07d3,
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 },
692 .act_hid = BNXT_ULP_ACT_HID_040d,
694 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
698 .act_hid = BNXT_ULP_ACT_HID_040f,
700 BNXT_ULP_ACTION_BIT_DROP |
701 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
705 .act_hid = BNXT_ULP_ACT_HID_0413,
707 BNXT_ULP_ACTION_BIT_DROP |
708 BNXT_ULP_ACTION_BIT_COUNT |
709 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
713 .act_hid = BNXT_ULP_ACT_HID_0567,
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 },
722 .act_hid = BNXT_ULP_ACT_HID_0a49,
724 BNXT_ULP_ACTION_BIT_SET_VLAN_VID |
725 BNXT_ULP_ACTION_BIT_PUSH_VLAN |
726 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
730 .act_hid = BNXT_ULP_ACT_HID_050e,
732 BNXT_ULP_ACTION_BIT_DEC_TTL |
733 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
737 .act_hid = BNXT_ULP_ACT_HID_0668,
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 },
747 .act_hid = BNXT_ULP_ACT_HID_0b4a,
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 },
756 .act_hid = BNXT_ULP_ACT_HID_0411,
758 BNXT_ULP_ACTION_BIT_COUNT |
759 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
763 .act_hid = BNXT_ULP_ACT_HID_056b,
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 },
773 .act_hid = BNXT_ULP_ACT_HID_0a4d,
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 },
782 .act_hid = BNXT_ULP_ACT_HID_0512,
784 BNXT_ULP_ACTION_BIT_COUNT |
785 BNXT_ULP_ACTION_BIT_DEC_TTL |
786 BNXT_ULP_FLOW_DIR_BITMASK_EGR },
790 .act_hid = BNXT_ULP_ACT_HID_066c,
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 },
801 .act_hid = BNXT_ULP_ACT_HID_0b4e,
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 },
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,
818 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
820 [((2 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
821 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
822 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
825 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
827 [((3 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
828 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
829 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
832 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
834 [((4 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
835 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
836 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
839 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
841 [((5 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
842 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
843 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
846 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
848 [((6 << BNXT_ULP_LOG2_MAX_NUM_DEV) |
849 BNXT_ULP_DEVICE_ID_WH_PLUS)] = {
850 .device_name = BNXT_ULP_DEVICE_ID_WH_PLUS,
853 .flow_db_table_type = BNXT_ULP_FDB_TYPE_REGULAR
857 struct bnxt_ulp_mapper_tbl_info ulp_act_tbl_list[] = {
859 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
860 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
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
876 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
877 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
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
893 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
894 .resource_type = TF_TBL_TYPE_ACT_MODIFY_IPV4,
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
910 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
911 .resource_type = TF_TBL_TYPE_ACT_ENCAP_16B,
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
925 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
926 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
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
940 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
941 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
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
957 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
958 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
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
972 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
973 .resource_type = TF_TBL_TYPE_ACT_STATS_64,
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
989 .resource_func = BNXT_ULP_RESOURCE_FUNC_INDEX_TABLE,
990 .resource_type = TF_TBL_TYPE_FULL_ACT_RECORD,
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
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
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
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
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
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
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
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
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
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
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
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
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
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
1216 struct bnxt_ulp_mapper_result_field_info ulp_act_result_field_list[] = {
1218 .field_bit_size = 64,
1219 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1222 .field_bit_size = 32,
1223 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
1231 .field_bit_size = 32,
1232 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
1240 .field_bit_size = 3,
1241 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1244 .field_bit_size = 3,
1245 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1248 .field_bit_size = 3,
1249 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1252 .field_bit_size = 1,
1253 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
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}
1260 .field_bit_size = 4,
1261 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1264 .field_bit_size = 1,
1265 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
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}
1274 .field_bit_size = 16,
1275 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1278 .field_bit_size = 12,
1279 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1282 .field_bit_size = 1,
1283 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1286 .field_bit_size = 3,
1287 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1290 .field_bit_size = 80,
1291 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1294 .field_bit_size = 14,
1295 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
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}
1303 .field_bit_size = 1,
1304 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1307 .field_bit_size = 1,
1308 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1311 .field_bit_size = 1,
1312 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1315 .field_bit_size = 1,
1316 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
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}
1329 .field_bit_size = 8,
1330 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1333 .field_bit_size = 1,
1334 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1337 .field_bit_size = 1,
1338 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1341 .field_bit_size = 11,
1342 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
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}
1350 .field_bit_size = 10,
1351 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
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}
1359 .field_bit_size = 16,
1360 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
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}
1378 .field_bit_size = 10,
1379 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
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}
1387 .field_bit_size = 16,
1388 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
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}
1406 .field_bit_size = 10,
1407 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1410 .field_bit_size = 1,
1411 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1414 .field_bit_size = 1,
1415 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1418 .field_bit_size = 1,
1419 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
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}
1427 .field_bit_size = 1,
1428 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
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}
1436 .field_bit_size = 4,
1437 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
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}
1454 .field_bit_size = 12,
1455 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
1463 .field_bit_size = 1,
1464 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1467 .field_bit_size = 1,
1468 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1471 .field_bit_size = 2,
1472 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1475 .field_bit_size = 1,
1476 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1479 .field_bit_size = 1,
1480 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1483 .field_bit_size = 1,
1484 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1487 .field_bit_size = 64,
1488 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1491 .field_bit_size = 14,
1492 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
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}
1500 .field_bit_size = 1,
1501 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1504 .field_bit_size = 1,
1505 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1508 .field_bit_size = 1,
1509 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1512 .field_bit_size = 1,
1513 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
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}
1526 .field_bit_size = 8,
1527 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1530 .field_bit_size = 1,
1531 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1534 .field_bit_size = 1,
1535 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1538 .field_bit_size = 11,
1539 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
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}
1547 .field_bit_size = 10,
1548 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
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}
1556 .field_bit_size = 16,
1557 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
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}
1575 .field_bit_size = 10,
1576 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
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}
1584 .field_bit_size = 16,
1585 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
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}
1603 .field_bit_size = 10,
1604 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1607 .field_bit_size = 1,
1608 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1611 .field_bit_size = 1,
1612 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1615 .field_bit_size = 1,
1616 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
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}
1624 .field_bit_size = 1,
1625 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
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}
1633 .field_bit_size = 4,
1634 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
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}
1649 .field_bit_size = 12,
1650 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
1658 .field_bit_size = 1,
1659 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
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}
1672 .field_bit_size = 1,
1673 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1676 .field_bit_size = 2,
1677 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1680 .field_bit_size = 1,
1681 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
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}
1694 .field_bit_size = 1,
1695 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1698 .field_bit_size = 1,
1699 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1702 .field_bit_size = 64,
1703 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1706 .field_bit_size = 14,
1707 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
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}
1715 .field_bit_size = 1,
1716 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1719 .field_bit_size = 1,
1720 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1723 .field_bit_size = 1,
1724 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1727 .field_bit_size = 1,
1728 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
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}
1741 .field_bit_size = 8,
1742 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1745 .field_bit_size = 1,
1746 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1749 .field_bit_size = 1,
1750 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1753 .field_bit_size = 11,
1754 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1757 .field_bit_size = 10,
1758 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1761 .field_bit_size = 16,
1762 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1765 .field_bit_size = 10,
1766 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1769 .field_bit_size = 16,
1770 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1773 .field_bit_size = 10,
1774 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1777 .field_bit_size = 1,
1778 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1781 .field_bit_size = 1,
1782 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1785 .field_bit_size = 1,
1786 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1789 .field_bit_size = 1,
1790 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1793 .field_bit_size = 4,
1794 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_CONST_ELSE_CONST,
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}
1809 .field_bit_size = 12,
1810 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
1818 .field_bit_size = 1,
1819 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
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}
1832 .field_bit_size = 1,
1833 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1836 .field_bit_size = 2,
1837 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1840 .field_bit_size = 1,
1841 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1844 .field_bit_size = 1,
1845 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1848 .field_bit_size = 1,
1849 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1852 .field_bit_size = 64,
1853 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1856 .field_bit_size = 48,
1857 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
1865 .field_bit_size = 32,
1866 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
1874 .field_bit_size = 48,
1875 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1878 .field_bit_size = 48,
1879 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
1887 .field_bit_size = 128,
1888 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
1896 .field_bit_size = 16,
1897 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
1900 .field_bit_size = 3,
1901 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
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}
1908 .field_bit_size = 3,
1909 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
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}
1916 .field_bit_size = 3,
1917 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
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}
1931 .field_bit_size = 4,
1932 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
1940 .field_bit_size = 1,
1941 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
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}
1950 .field_bit_size = 48,
1951 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
1959 .field_bit_size = 0,
1960 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
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}
1970 .field_bit_size = 0,
1971 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
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}
1981 .field_bit_size = 32,
1982 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
1990 .field_bit_size = 0,
1991 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ENCAP_ACT_PROP_SZ,
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}
2001 .field_bit_size = 14,
2002 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
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}
2010 .field_bit_size = 1,
2011 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2014 .field_bit_size = 1,
2015 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2018 .field_bit_size = 1,
2019 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2022 .field_bit_size = 1,
2023 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
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}
2036 .field_bit_size = 8,
2037 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2040 .field_bit_size = 1,
2041 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2044 .field_bit_size = 1,
2045 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2048 .field_bit_size = 11,
2049 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
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}
2057 .field_bit_size = 10,
2058 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2061 .field_bit_size = 16,
2062 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2065 .field_bit_size = 10,
2066 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2069 .field_bit_size = 16,
2070 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2073 .field_bit_size = 10,
2074 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2077 .field_bit_size = 1,
2078 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2081 .field_bit_size = 1,
2082 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2085 .field_bit_size = 1,
2086 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2089 .field_bit_size = 1,
2090 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2093 .field_bit_size = 4,
2094 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2097 .field_bit_size = 12,
2098 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
2106 .field_bit_size = 1,
2107 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2110 .field_bit_size = 1,
2111 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2114 .field_bit_size = 2,
2115 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2118 .field_bit_size = 1,
2119 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2122 .field_bit_size = 1,
2123 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2126 .field_bit_size = 1,
2127 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2130 .field_bit_size = 64,
2131 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2134 .field_bit_size = 32,
2135 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
2143 .field_bit_size = 32,
2144 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
2152 .field_bit_size = 3,
2153 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2156 .field_bit_size = 3,
2157 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2160 .field_bit_size = 3,
2161 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2164 .field_bit_size = 1,
2165 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
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}
2172 .field_bit_size = 4,
2173 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2176 .field_bit_size = 1,
2177 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
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}
2186 .field_bit_size = 16,
2187 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2190 .field_bit_size = 12,
2191 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2194 .field_bit_size = 1,
2195 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2198 .field_bit_size = 3,
2199 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2202 .field_bit_size = 80,
2203 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2206 .field_bit_size = 14,
2207 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
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}
2215 .field_bit_size = 1,
2216 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2219 .field_bit_size = 1,
2220 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2223 .field_bit_size = 1,
2224 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2227 .field_bit_size = 1,
2228 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
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}
2241 .field_bit_size = 8,
2242 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2245 .field_bit_size = 1,
2246 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2249 .field_bit_size = 1,
2250 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2253 .field_bit_size = 11,
2254 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_GLB_REGFILE,
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}
2262 .field_bit_size = 10,
2263 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
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}
2271 .field_bit_size = 16,
2272 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
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}
2290 .field_bit_size = 10,
2291 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
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}
2299 .field_bit_size = 16,
2300 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_ACT_BIT_THEN_ACT_PROP_ELSE_CONST,
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}
2318 .field_bit_size = 10,
2319 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2322 .field_bit_size = 1,
2323 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2326 .field_bit_size = 1,
2327 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2330 .field_bit_size = 1,
2331 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
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}
2339 .field_bit_size = 1,
2340 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
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}
2348 .field_bit_size = 4,
2349 .result_opcode = BNXT_ULP_MAPPER_OPC_IF_HDR_BIT_THEN_CONST_ELSE_CONST,
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}
2366 .field_bit_size = 12,
2367 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
2375 .field_bit_size = 1,
2376 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2379 .field_bit_size = 1,
2380 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2383 .field_bit_size = 2,
2384 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2387 .field_bit_size = 1,
2388 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2391 .field_bit_size = 1,
2392 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2395 .field_bit_size = 1,
2396 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2399 .field_bit_size = 64,
2400 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2403 .field_bit_size = 3,
2404 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2407 .field_bit_size = 3,
2408 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2411 .field_bit_size = 3,
2412 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2415 .field_bit_size = 1,
2416 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2419 .field_bit_size = 4,
2420 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_CONSTANT,
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}
2427 .field_bit_size = 1,
2428 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
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}
2437 .field_bit_size = 16,
2438 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
2446 .field_bit_size = 12,
2447 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
2455 .field_bit_size = 1,
2456 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2459 .field_bit_size = 3,
2460 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
2468 .field_bit_size = 80,
2469 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2472 .field_bit_size = 14,
2473 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
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}
2481 .field_bit_size = 1,
2482 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2485 .field_bit_size = 1,
2486 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2489 .field_bit_size = 1,
2490 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2493 .field_bit_size = 1,
2494 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
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}
2507 .field_bit_size = 8,
2508 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2511 .field_bit_size = 1,
2512 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2515 .field_bit_size = 1,
2516 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2519 .field_bit_size = 11,
2520 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_REGFILE,
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}
2528 .field_bit_size = 10,
2529 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2532 .field_bit_size = 16,
2533 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2536 .field_bit_size = 10,
2537 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2540 .field_bit_size = 16,
2541 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2544 .field_bit_size = 10,
2545 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2548 .field_bit_size = 1,
2549 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2552 .field_bit_size = 1,
2553 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2556 .field_bit_size = 1,
2557 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
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}
2565 .field_bit_size = 1,
2566 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_COMP_FIELD,
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}
2574 .field_bit_size = 4,
2575 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2578 .field_bit_size = 12,
2579 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_PROP,
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}
2587 .field_bit_size = 1,
2588 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2591 .field_bit_size = 1,
2592 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2595 .field_bit_size = 2,
2596 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2599 .field_bit_size = 1,
2600 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ACT_BIT,
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}
2613 .field_bit_size = 1,
2614 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO
2617 .field_bit_size = 1,
2618 .result_opcode = BNXT_ULP_MAPPER_OPC_SET_TO_ZERO