blob: 3e53814acd6784fb61d37f8b0e85d25be9315384 [file] [log] [blame]
Carmelo Cascone04098db2018-01-30 18:10:32 -08001{
Carmelo Cascone757ae5a2018-02-14 20:31:52 -08002 "build_date": "02/15/18 04:16:22",
Carmelo Cascone8ac4fc82018-02-01 13:27:50 -08003 "compiler_version": "6.0.0-alpha.4",
Carmelo Cascone04098db2018-01-30 18:10:32 -08004 "program_name": "main",
5 "learn_quanta": [],
6 "dynamic_hash_calculations": [],
7 "parser": { "ingress": [], "egress": [] },
8 "phv_allocation": [
9 {
10 "ingress": [
11 {
12 "phv_number": 0,
13 "records": [
14 {
15 "position_offset": 12,
16 "field_name": "ethernet.dst_addr",
17 "field_msb": 47,
18 "field_lsb": 16,
19 "field_width": 6,
20 "phv_msb": 31,
21 "phv_lsb": 0,
22 "is_compiler_generated": false,
23 "is_pov": false
24 }
25 ],
26 "word_bit_width": 32
27 },
28 {
29 "phv_number": 1,
30 "records": [
31 {
32 "position_offset": 20,
33 "field_name": "ethernet.src_addr",
34 "field_msb": 47,
35 "field_lsb": 16,
36 "field_width": 6,
37 "phv_msb": 31,
38 "phv_lsb": 0,
39 "is_compiler_generated": false,
40 "is_pov": false
41 }
42 ],
43 "word_bit_width": 32
44 },
45 {
46 "phv_number": 2,
47 "records": [
48 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080049 "position_offset": 80,
Carmelo Cascone04098db2018-01-30 18:10:32 -080050 "field_name": "ipv4.src_addr",
51 "field_msb": 31,
52 "field_lsb": 0,
53 "field_width": 4,
54 "phv_msb": 31,
55 "phv_lsb": 0,
56 "is_compiler_generated": false,
57 "is_pov": false
58 }
59 ],
60 "word_bit_width": 32
61 },
62 {
63 "phv_number": 3,
64 "records": [
65 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080066 "position_offset": 68,
Carmelo Cascone04098db2018-01-30 18:10:32 -080067 "field_name": "ipv4.dst_addr",
68 "field_msb": 31,
69 "field_lsb": 0,
70 "field_width": 4,
71 "phv_msb": 31,
72 "phv_lsb": 0,
73 "is_compiler_generated": false,
74 "is_pov": false
75 }
76 ],
77 "word_bit_width": 32
78 },
79 {
80 "phv_number": 4,
81 "records": [
82 {
83 "position_offset": 33,
84 "field_name": "fabric_metadata.next_id",
85 "field_msb": 31,
86 "field_lsb": 0,
87 "field_width": 4,
88 "phv_msb": 31,
89 "phv_lsb": 0,
90 "is_compiler_generated": false,
91 "is_pov": false
92 }
93 ],
94 "word_bit_width": 32
95 },
96 {
97 "phv_number": 64,
98 "records": [
99 {
100 "position_offset": 45,
101 "field_name": "icmp.icmp_type",
102 "field_msb": 7,
103 "field_lsb": 0,
104 "field_width": 1,
105 "phv_msb": 7,
106 "phv_lsb": 0,
107 "is_compiler_generated": false,
108 "is_pov": false
109 }
110 ],
111 "word_bit_width": 8
112 },
113 {
114 "phv_number": 65,
115 "records": [
116 {
117 "position_offset": 44,
118 "field_name": "icmp.icmp_code",
119 "field_msb": 7,
120 "field_lsb": 0,
121 "field_width": 1,
122 "phv_msb": 7,
123 "phv_lsb": 0,
124 "is_compiler_generated": false,
125 "is_pov": false
126 }
127 ],
128 "word_bit_width": 8
129 },
130 {
131 "phv_number": 66,
132 "records": [
133 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800134 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800135 "field_name": "mpls.label",
136 "field_msb": 3,
137 "field_lsb": 0,
138 "field_width": 2,
139 "phv_msb": 7,
140 "phv_lsb": 4,
141 "is_compiler_generated": false,
142 "is_pov": false
143 },
144 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800145 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800146 "field_name": "mpls.tc",
147 "field_msb": 7,
148 "field_lsb": 0,
149 "field_width": 1,
150 "phv_msb": 3,
151 "phv_lsb": 1,
152 "is_compiler_generated": false,
153 "is_pov": false
154 },
155 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800156 "position_offset": 89,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800157 "field_name": "mpls.bos",
158 "field_msb": 7,
159 "field_lsb": 0,
160 "field_width": 1,
161 "phv_msb": 0,
162 "phv_lsb": 0,
163 "is_compiler_generated": false,
164 "is_pov": false
165 }
166 ],
167 "word_bit_width": 8
168 },
169 {
170 "phv_number": 67,
171 "records": [
172 {
173 "position_offset": 1,
174 "field_name": "$bridged_metadata_indicator",
175 "field_msb": 7,
176 "field_lsb": 0,
177 "field_width": 1,
178 "phv_msb": 7,
179 "phv_lsb": 0,
180 "is_compiler_generated": false,
181 "is_pov": false
182 }
183 ],
184 "word_bit_width": 8
185 },
186 {
187 "phv_number": 68,
188 "records": [
189 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800190 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800191 "field_name": "ipv4.ttl",
192 "field_msb": 7,
193 "field_lsb": 0,
194 "field_width": 1,
195 "phv_msb": 7,
196 "phv_lsb": 0,
197 "is_compiler_generated": false,
198 "is_pov": false
199 }
200 ],
201 "word_bit_width": 8
202 },
203 {
204 "phv_number": 69,
205 "records": [
206 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800207 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800208 "field_name": "mpls.ttl",
209 "field_msb": 7,
210 "field_lsb": 0,
211 "field_width": 1,
212 "phv_msb": 7,
213 "phv_lsb": 0,
214 "is_compiler_generated": false,
215 "is_pov": false
216 }
217 ],
218 "word_bit_width": 8
219 },
220 {
221 "phv_number": 70,
222 "records": [
223 {
224 "position_offset": 28,
225 "field_name": "fabric_metadata.ip_proto",
226 "field_msb": 7,
227 "field_lsb": 0,
228 "field_width": 1,
229 "phv_msb": 7,
230 "phv_lsb": 0,
231 "is_compiler_generated": false,
232 "is_pov": false
233 }
234 ],
235 "word_bit_width": 8
236 },
237 {
238 "phv_number": 71,
239 "records": [
240 {
241 "position_offset": 0,
242 "field_name": "$always_deparse",
243 "field_msb": 7,
244 "field_lsb": 0,
245 "field_width": 1,
246 "phv_msb": 0,
247 "phv_lsb": 0,
248 "is_compiler_generated": false,
249 "is_pov": false
250 },
251 {
252 "position_offset": 40,
253 "field_name": "hasExited_0",
254 "field_msb": 7,
255 "field_lsb": 0,
256 "field_width": 1,
257 "phv_msb": 4,
258 "phv_lsb": 4,
259 "is_compiler_generated": false,
260 "is_pov": false
261 },
262 {
263 "position_offset": 0,
264 "field_name": "POV",
265 "field_msb": 7,
266 "field_lsb": 0,
267 "field_width": 0,
268 "phv_msb": 1,
269 "phv_lsb": 1,
270 "is_compiler_generated": false,
271 "is_pov": true,
272 "pov_headers": [
273 {
274 "bit_index": 1,
275 "position_offset": 2,
276 "header_name": "arp",
277 "hidden": false
278 }
279 ]
280 },
281 {
282 "position_offset": 0,
283 "field_name": "POV",
284 "field_msb": 7,
285 "field_lsb": 0,
286 "field_width": 0,
287 "phv_msb": 2,
288 "phv_lsb": 2,
289 "is_compiler_generated": false,
290 "is_pov": true,
291 "pov_headers": [
292 {
293 "bit_index": 2,
294 "position_offset": 11,
295 "header_name": "ethernet",
296 "hidden": false
297 }
298 ]
299 },
300 {
301 "position_offset": 0,
302 "field_name": "POV",
303 "field_msb": 7,
304 "field_lsb": 0,
305 "field_width": 0,
306 "phv_msb": 3,
307 "phv_lsb": 3,
308 "is_compiler_generated": false,
309 "is_pov": true,
310 "pov_headers": [
311 {
312 "bit_index": 3,
313 "position_offset": 41,
314 "header_name": "icmp",
315 "hidden": false
316 }
317 ]
318 },
319 {
320 "position_offset": 0,
321 "field_name": "POV",
322 "field_msb": 7,
323 "field_lsb": 0,
324 "field_width": 0,
325 "phv_msb": 5,
326 "phv_lsb": 5,
327 "is_compiler_generated": false,
328 "is_pov": true,
329 "pov_headers": [
330 {
331 "bit_index": 5,
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800332 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800333 "header_name": "ipv4",
334 "hidden": false
335 }
336 ]
337 },
338 {
339 "position_offset": 0,
340 "field_name": "POV",
341 "field_msb": 7,
342 "field_lsb": 0,
343 "field_width": 0,
344 "phv_msb": 6,
345 "phv_lsb": 6,
346 "is_compiler_generated": false,
347 "is_pov": true,
348 "pov_headers": [
349 {
350 "bit_index": 6,
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800351 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800352 "header_name": "mpls",
353 "hidden": false
354 }
355 ]
356 },
357 {
358 "position_offset": 0,
359 "field_name": "POV",
360 "field_msb": 7,
361 "field_lsb": 0,
362 "field_width": 0,
363 "phv_msb": 7,
364 "phv_lsb": 7,
365 "is_compiler_generated": false,
366 "is_pov": true,
367 "pov_headers": [
368 {
369 "bit_index": 7,
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800370 "position_offset": 94,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800371 "header_name": "packet_out",
372 "hidden": false
373 }
374 ]
375 }
376 ],
377 "word_bit_width": 8
378 },
379 {
380 "phv_number": 72,
381 "records": [
382 {
383 "position_offset": 39,
384 "field_name": "fabric_metadata.pop_vlan_at_egress",
385 "field_msb": 7,
386 "field_lsb": 0,
387 "field_width": 1,
388 "phv_msb": 3,
389 "phv_lsb": 3,
390 "is_compiler_generated": false,
391 "is_pov": false
392 },
393 {
394 "position_offset": 0,
395 "field_name": "POV",
396 "field_msb": 7,
397 "field_lsb": 0,
398 "field_width": 0,
399 "phv_msb": 0,
400 "phv_lsb": 0,
401 "is_compiler_generated": false,
402 "is_pov": true,
403 "pov_headers": [
404 {
405 "bit_index": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800406 "position_offset": 97,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800407 "header_name": "tcp",
408 "hidden": false
409 }
410 ]
411 },
412 {
413 "position_offset": 0,
414 "field_name": "POV",
415 "field_msb": 7,
416 "field_lsb": 0,
417 "field_width": 0,
418 "phv_msb": 1,
419 "phv_lsb": 1,
420 "is_compiler_generated": false,
421 "is_pov": true,
422 "pov_headers": [
423 {
424 "bit_index": 1,
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800425 "position_offset": 124,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800426 "header_name": "udp",
427 "hidden": false
428 }
429 ]
430 },
431 {
432 "position_offset": 0,
433 "field_name": "POV",
434 "field_msb": 7,
435 "field_lsb": 0,
436 "field_width": 0,
437 "phv_msb": 2,
438 "phv_lsb": 2,
439 "is_compiler_generated": false,
440 "is_pov": true,
441 "pov_headers": [
442 {
443 "bit_index": 2,
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800444 "position_offset": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800445 "header_name": "vlan_tag",
446 "hidden": false
447 }
448 ]
449 }
450 ],
451 "word_bit_width": 8
452 },
453 {
454 "phv_number": 128,
455 "records": [
456 {
457 "position_offset": 62,
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800458 "field_name": "ig_intr_md_for_tm.mcast_grp_a",
459 "field_msb": 15,
460 "field_lsb": 0,
461 "field_width": 2,
462 "phv_msb": 15,
463 "phv_lsb": 0,
464 "is_compiler_generated": false,
465 "is_pov": false
466 }
467 ],
468 "word_bit_width": 16
469 },
470 {
471 "phv_number": 129,
472 "records": [
473 {
474 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800475 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
476 "field_msb": 15,
477 "field_lsb": 0,
478 "field_width": 2,
479 "phv_msb": 8,
480 "phv_lsb": 0,
481 "is_compiler_generated": false,
482 "is_pov": false
483 }
484 ],
485 "word_bit_width": 16
486 },
487 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800488 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800489 "records": [
490 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800491 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800492 "field_name": "packet_out.egress_port",
493 "field_msb": 15,
494 "field_lsb": 0,
495 "field_width": 2,
496 "phv_msb": 15,
497 "phv_lsb": 7,
498 "is_compiler_generated": false,
499 "is_pov": false
500 },
501 {
502 "position_offset": 26,
503 "field_name": "fabric_metadata.fwd_type",
504 "field_msb": 15,
505 "field_lsb": 0,
506 "field_width": 2,
507 "phv_msb": 5,
508 "phv_lsb": 3,
509 "is_compiler_generated": false,
510 "is_pov": false
511 },
512 {
513 "position_offset": 60,
514 "field_name": "ig_intr_md_for_tm.drop_ctl",
515 "field_msb": 15,
516 "field_lsb": 0,
517 "field_width": 2,
518 "phv_msb": 2,
519 "phv_lsb": 0,
520 "is_compiler_generated": false,
521 "is_pov": false
522 }
523 ],
524 "word_bit_width": 16
525 },
526 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800527 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800528 "records": [
529 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800530 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800531 "field_name": "vlan_tag.pri",
532 "field_msb": 15,
533 "field_lsb": 0,
534 "field_width": 2,
535 "phv_msb": 15,
536 "phv_lsb": 13,
537 "is_compiler_generated": false,
538 "is_pov": false
539 },
540 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800541 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800542 "field_name": "vlan_tag.cfi",
543 "field_msb": 15,
544 "field_lsb": 0,
545 "field_width": 2,
546 "phv_msb": 12,
547 "phv_lsb": 12,
548 "is_compiler_generated": false,
549 "is_pov": false
550 },
551 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800552 "position_offset": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800553 "field_name": "vlan_tag.vlan_id",
554 "field_msb": 15,
555 "field_lsb": 0,
556 "field_width": 2,
557 "phv_msb": 11,
558 "phv_lsb": 0,
559 "is_compiler_generated": false,
560 "is_pov": false
561 }
562 ],
563 "word_bit_width": 16
564 },
565 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800566 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800567 "records": [
568 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800569 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800570 "field_name": "mpls.label",
571 "field_msb": 19,
572 "field_lsb": 4,
573 "field_width": 2,
574 "phv_msb": 15,
575 "phv_lsb": 0,
576 "is_compiler_generated": false,
577 "is_pov": false
578 }
579 ],
580 "word_bit_width": 16
581 },
582 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800583 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800584 "records": [
585 {
586 "position_offset": 58,
587 "field_name": "ig_intr_md.ingress_port",
588 "field_msb": 15,
589 "field_lsb": 0,
590 "field_width": 2,
591 "phv_msb": 8,
592 "phv_lsb": 0,
593 "is_compiler_generated": false,
594 "is_pov": false
595 }
596 ],
597 "word_bit_width": 16
598 },
599 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800600 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800601 "records": [
602 {
603 "position_offset": 31,
604 "field_name": "fabric_metadata.l4_src_port",
605 "field_msb": 15,
606 "field_lsb": 0,
607 "field_width": 2,
608 "phv_msb": 15,
609 "phv_lsb": 0,
610 "is_compiler_generated": false,
611 "is_pov": false
612 }
613 ],
614 "word_bit_width": 16
615 },
616 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800617 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800618 "records": [
619 {
620 "position_offset": 18,
621 "field_name": "ethernet.ether_type",
622 "field_msb": 15,
623 "field_lsb": 0,
624 "field_width": 2,
625 "phv_msb": 15,
626 "phv_lsb": 0,
627 "is_compiler_generated": false,
628 "is_pov": false
629 }
630 ],
631 "word_bit_width": 16
632 },
633 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800634 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800635 "records": [
636 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800637 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800638 "field_name": "vlan_tag.ether_type",
639 "field_msb": 15,
640 "field_lsb": 0,
641 "field_width": 2,
642 "phv_msb": 15,
643 "phv_lsb": 0,
644 "is_compiler_generated": false,
645 "is_pov": false
646 }
647 ],
648 "word_bit_width": 16
649 },
650 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800651 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800652 "records": [
653 {
654 "position_offset": 12,
655 "field_name": "ethernet.dst_addr",
656 "field_msb": 15,
657 "field_lsb": 0,
658 "field_width": 6,
659 "phv_msb": 15,
660 "phv_lsb": 0,
661 "is_compiler_generated": false,
662 "is_pov": false
663 }
664 ],
665 "word_bit_width": 16
666 },
667 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800668 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800669 "records": [
670 {
671 "position_offset": 20,
672 "field_name": "ethernet.src_addr",
673 "field_msb": 15,
674 "field_lsb": 0,
675 "field_width": 6,
676 "phv_msb": 15,
677 "phv_lsb": 0,
678 "is_compiler_generated": false,
679 "is_pov": false
680 }
681 ],
682 "word_bit_width": 16
683 },
684 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800685 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800686 "records": [
687 {
688 "position_offset": 29,
689 "field_name": "fabric_metadata.l4_dst_port",
690 "field_msb": 15,
691 "field_lsb": 0,
692 "field_width": 2,
693 "phv_msb": 15,
694 "phv_lsb": 0,
695 "is_compiler_generated": false,
696 "is_pov": false
697 }
698 ],
699 "word_bit_width": 16
700 },
701 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800702 "phv_number": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800703 "records": [
704 {
705 "position_offset": 37,
706 "field_name": "fabric_metadata.original_ether_type",
707 "field_msb": 15,
708 "field_lsb": 0,
709 "field_width": 2,
710 "phv_msb": 15,
711 "phv_lsb": 0,
712 "is_compiler_generated": false,
713 "is_pov": false
714 }
715 ],
716 "word_bit_width": 16
717 },
718 {
719 "phv_number": 260,
720 "records": [
721 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800722 "position_offset": 114,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800723 "field_name": "tcp.seq_no",
724 "field_msb": 31,
725 "field_lsb": 0,
726 "field_width": 4,
727 "phv_msb": 31,
728 "phv_lsb": 0,
729 "is_compiler_generated": false,
730 "is_pov": false
731 },
732 {
733 "position_offset": 50,
734 "field_name": "icmp.timestamp",
735 "field_msb": 31,
736 "field_lsb": 0,
737 "field_width": 8,
738 "phv_msb": 31,
739 "phv_lsb": 0,
740 "is_compiler_generated": false,
741 "is_pov": false
742 }
743 ],
744 "word_bit_width": 32
745 },
746 {
747 "phv_number": 261,
748 "records": [
749 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800750 "position_offset": 98,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800751 "field_name": "tcp.ack_no",
752 "field_msb": 31,
753 "field_lsb": 0,
754 "field_width": 4,
755 "phv_msb": 31,
756 "phv_lsb": 0,
757 "is_compiler_generated": false,
758 "is_pov": false
759 },
760 {
761 "position_offset": 50,
762 "field_name": "icmp.timestamp",
763 "field_msb": 63,
764 "field_lsb": 32,
765 "field_width": 8,
766 "phv_msb": 31,
767 "phv_lsb": 0,
768 "is_compiler_generated": false,
769 "is_pov": false
770 }
771 ],
772 "word_bit_width": 32
773 },
774 {
775 "phv_number": 292,
776 "records": [
777 {
778 "position_offset": 3,
779 "field_name": "arp.hw_addr_len",
780 "field_msb": 7,
781 "field_lsb": 0,
782 "field_width": 1,
783 "phv_msb": 7,
784 "phv_lsb": 0,
785 "is_compiler_generated": false,
786 "is_pov": false
787 },
788 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800789 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800790 "field_name": "ipv4.version",
791 "field_msb": 7,
792 "field_lsb": 0,
793 "field_width": 1,
794 "phv_msb": 7,
795 "phv_lsb": 4,
796 "is_compiler_generated": false,
797 "is_pov": false
798 },
799 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800800 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800801 "field_name": "ipv4.ihl",
802 "field_msb": 7,
803 "field_lsb": 0,
804 "field_width": 1,
805 "phv_msb": 3,
806 "phv_lsb": 0,
807 "is_compiler_generated": false,
808 "is_pov": false
809 }
810 ],
811 "word_bit_width": 8
812 },
813 {
814 "phv_number": 293,
815 "records": [
816 {
817 "position_offset": 8,
818 "field_name": "arp.proto_addr_len",
819 "field_msb": 7,
820 "field_lsb": 0,
821 "field_width": 1,
822 "phv_msb": 7,
823 "phv_lsb": 0,
824 "is_compiler_generated": false,
825 "is_pov": false
826 },
827 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800828 "position_offset": 67,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800829 "field_name": "ipv4.diffserv",
830 "field_msb": 7,
831 "field_lsb": 0,
832 "field_width": 1,
833 "phv_msb": 7,
834 "phv_lsb": 0,
835 "is_compiler_generated": false,
836 "is_pov": false
837 }
838 ],
839 "word_bit_width": 8
840 },
841 {
842 "phv_number": 294,
843 "records": [
844 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800845 "position_offset": 79,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800846 "field_name": "ipv4.protocol",
847 "field_msb": 7,
848 "field_lsb": 0,
849 "field_width": 1,
850 "phv_msb": 7,
851 "phv_lsb": 0,
852 "is_compiler_generated": false,
853 "is_pov": false
854 }
855 ],
856 "word_bit_width": 8
857 },
858 {
859 "phv_number": 326,
860 "records": [
861 {
862 "position_offset": 4,
863 "field_name": "arp.hw_type",
864 "field_msb": 15,
865 "field_lsb": 0,
866 "field_width": 2,
867 "phv_msb": 15,
868 "phv_lsb": 0,
869 "is_compiler_generated": false,
870 "is_pov": false
871 },
872 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800873 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800874 "field_name": "tcp.data_offset",
875 "field_msb": 15,
876 "field_lsb": 0,
877 "field_width": 2,
878 "phv_msb": 15,
879 "phv_lsb": 12,
880 "is_compiler_generated": false,
881 "is_pov": false
882 },
883 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800884 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800885 "field_name": "tcp.res",
886 "field_msb": 15,
887 "field_lsb": 0,
888 "field_width": 2,
889 "phv_msb": 11,
890 "phv_lsb": 9,
891 "is_compiler_generated": false,
892 "is_pov": false
893 },
894 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800895 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800896 "field_name": "tcp.ecn",
897 "field_msb": 15,
898 "field_lsb": 0,
899 "field_width": 2,
900 "phv_msb": 8,
901 "phv_lsb": 6,
902 "is_compiler_generated": false,
903 "is_pov": false
904 },
905 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800906 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800907 "field_name": "tcp.ctrl",
908 "field_msb": 15,
909 "field_lsb": 0,
910 "field_width": 2,
911 "phv_msb": 5,
912 "phv_lsb": 0,
913 "is_compiler_generated": false,
914 "is_pov": false
915 },
916 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800917 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800918 "field_name": "udp.src_port",
919 "field_msb": 15,
920 "field_lsb": 0,
921 "field_width": 2,
922 "phv_msb": 15,
923 "phv_lsb": 0,
924 "is_compiler_generated": false,
925 "is_pov": false
926 },
927 {
928 "position_offset": 42,
929 "field_name": "icmp.checksum",
930 "field_msb": 15,
931 "field_lsb": 0,
932 "field_width": 2,
933 "phv_msb": 15,
934 "phv_lsb": 0,
935 "is_compiler_generated": false,
936 "is_pov": false
937 }
938 ],
939 "word_bit_width": 16
940 },
941 {
942 "phv_number": 327,
943 "records": [
944 {
945 "position_offset": 9,
946 "field_name": "arp.proto_type",
947 "field_msb": 15,
948 "field_lsb": 0,
949 "field_width": 2,
950 "phv_msb": 15,
951 "phv_lsb": 0,
952 "is_compiler_generated": false,
953 "is_pov": false
954 },
955 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800956 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800957 "field_name": "tcp.src_port",
958 "field_msb": 15,
959 "field_lsb": 0,
960 "field_width": 2,
961 "phv_msb": 15,
962 "phv_lsb": 0,
963 "is_compiler_generated": false,
964 "is_pov": false
965 },
966 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -0800967 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800968 "field_name": "udp.dst_port",
969 "field_msb": 15,
970 "field_lsb": 0,
971 "field_width": 2,
972 "phv_msb": 15,
973 "phv_lsb": 0,
974 "is_compiler_generated": false,
975 "is_pov": false
976 },
977 {
978 "position_offset": 46,
979 "field_name": "icmp.identifier",
980 "field_msb": 15,
981 "field_lsb": 0,
982 "field_width": 2,
983 "phv_msb": 15,
984 "phv_lsb": 0,
985 "is_compiler_generated": false,
986 "is_pov": false
987 }
988 ],
989 "word_bit_width": 16
990 },
991 {
992 "phv_number": 328,
993 "records": [
994 {
995 "position_offset": 6,
996 "field_name": "arp.opcode",
997 "field_msb": 15,
998 "field_lsb": 0,
999 "field_width": 2,
1000 "phv_msb": 15,
1001 "phv_lsb": 0,
1002 "is_compiler_generated": false,
1003 "is_pov": false
1004 },
1005 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08001006 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001007 "field_name": "ipv4.flags",
1008 "field_msb": 15,
1009 "field_lsb": 0,
1010 "field_width": 2,
1011 "phv_msb": 15,
1012 "phv_lsb": 13,
1013 "is_compiler_generated": false,
1014 "is_pov": false
1015 },
1016 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08001017 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001018 "field_name": "ipv4.frag_offset",
1019 "field_msb": 15,
1020 "field_lsb": 0,
1021 "field_width": 2,
1022 "phv_msb": 12,
1023 "phv_lsb": 0,
1024 "is_compiler_generated": false,
1025 "is_pov": false
1026 }
1027 ],
1028 "word_bit_width": 16
1029 },
1030 {
1031 "phv_number": 329,
1032 "records": [
1033 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08001034 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001035 "field_name": "ipv4.total_len",
1036 "field_msb": 15,
1037 "field_lsb": 0,
1038 "field_width": 2,
1039 "phv_msb": 15,
1040 "phv_lsb": 0,
1041 "is_compiler_generated": false,
1042 "is_pov": false
1043 }
1044 ],
1045 "word_bit_width": 16
1046 },
1047 {
1048 "phv_number": 330,
1049 "records": [
1050 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08001051 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001052 "field_name": "ipv4.identification",
1053 "field_msb": 15,
1054 "field_lsb": 0,
1055 "field_width": 2,
1056 "phv_msb": 15,
1057 "phv_lsb": 0,
1058 "is_compiler_generated": false,
1059 "is_pov": false
1060 }
1061 ],
1062 "word_bit_width": 16
1063 },
1064 {
1065 "phv_number": 331,
1066 "records": [
1067 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08001068 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001069 "field_name": "tcp.dst_port",
1070 "field_msb": 15,
1071 "field_lsb": 0,
1072 "field_width": 2,
1073 "phv_msb": 15,
1074 "phv_lsb": 0,
1075 "is_compiler_generated": false,
1076 "is_pov": false
1077 },
1078 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08001079 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001080 "field_name": "udp.len",
1081 "field_msb": 15,
1082 "field_lsb": 0,
1083 "field_width": 2,
1084 "phv_msb": 15,
1085 "phv_lsb": 0,
1086 "is_compiler_generated": false,
1087 "is_pov": false
1088 },
1089 {
1090 "position_offset": 48,
1091 "field_name": "icmp.sequence_number",
1092 "field_msb": 15,
1093 "field_lsb": 0,
1094 "field_width": 2,
1095 "phv_msb": 15,
1096 "phv_lsb": 0,
1097 "is_compiler_generated": false,
1098 "is_pov": false
1099 }
1100 ],
1101 "word_bit_width": 16
1102 },
1103 {
1104 "phv_number": 338,
1105 "records": [
1106 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08001107 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001108 "field_name": "tcp.window",
1109 "field_msb": 15,
1110 "field_lsb": 0,
1111 "field_width": 2,
1112 "phv_msb": 15,
1113 "phv_lsb": 0,
1114 "is_compiler_generated": false,
1115 "is_pov": false
1116 },
1117 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08001118 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001119 "field_name": "udp.checksum",
1120 "field_msb": 15,
1121 "field_lsb": 0,
1122 "field_width": 2,
1123 "phv_msb": 15,
1124 "phv_lsb": 0,
1125 "is_compiler_generated": false,
1126 "is_pov": false
1127 }
1128 ],
1129 "word_bit_width": 16
1130 },
1131 {
1132 "phv_number": 339,
1133 "records": [
1134 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08001135 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001136 "field_name": "tcp.checksum",
1137 "field_msb": 15,
1138 "field_lsb": 0,
1139 "field_width": 2,
1140 "phv_msb": 15,
1141 "phv_lsb": 0,
1142 "is_compiler_generated": false,
1143 "is_pov": false
1144 }
1145 ],
1146 "word_bit_width": 16
1147 },
1148 {
1149 "phv_number": 340,
1150 "records": [
1151 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08001152 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001153 "field_name": "tcp.urgent_ptr",
1154 "field_msb": 15,
1155 "field_lsb": 0,
1156 "field_width": 2,
1157 "phv_msb": 15,
1158 "phv_lsb": 0,
1159 "is_compiler_generated": false,
1160 "is_pov": false
1161 }
1162 ],
1163 "word_bit_width": 16
1164 }
1165 ],
1166 "egress": [
1167 {
1168 "phv_number": 80,
1169 "records": [
1170 {
1171 "position_offset": 0,
1172 "field_name": "POV",
1173 "field_msb": 7,
1174 "field_lsb": 0,
1175 "field_width": 0,
1176 "phv_msb": 0,
1177 "phv_lsb": 0,
1178 "is_compiler_generated": false,
1179 "is_pov": true,
1180 "pov_headers": [
1181 {
1182 "bit_index": 0,
1183 "position_offset": 0,
1184 "header_name": "arp",
1185 "hidden": false
1186 }
1187 ]
1188 },
1189 {
1190 "position_offset": 0,
1191 "field_name": "POV",
1192 "field_msb": 7,
1193 "field_lsb": 0,
1194 "field_width": 0,
1195 "phv_msb": 2,
1196 "phv_lsb": 2,
1197 "is_compiler_generated": false,
1198 "is_pov": true,
1199 "pov_headers": [
1200 {
1201 "bit_index": 2,
1202 "position_offset": 11,
1203 "header_name": "ethernet",
1204 "hidden": false
1205 }
1206 ]
1207 },
1208 {
1209 "position_offset": 0,
1210 "field_name": "POV",
1211 "field_msb": 7,
1212 "field_lsb": 0,
1213 "field_width": 0,
1214 "phv_msb": 3,
1215 "phv_lsb": 3,
1216 "is_compiler_generated": false,
1217 "is_pov": true,
1218 "pov_headers": [
1219 {
1220 "bit_index": 3,
1221 "position_offset": 26,
1222 "header_name": "icmp",
1223 "hidden": false
1224 }
1225 ]
1226 },
1227 {
1228 "position_offset": 0,
1229 "field_name": "POV",
1230 "field_msb": 7,
1231 "field_lsb": 0,
1232 "field_width": 0,
1233 "phv_msb": 5,
1234 "phv_lsb": 5,
1235 "is_compiler_generated": false,
1236 "is_pov": true,
1237 "pov_headers": [
1238 {
1239 "bit_index": 5,
1240 "position_offset": 45,
1241 "header_name": "ipv4",
1242 "hidden": false
1243 }
1244 ]
1245 },
1246 {
1247 "position_offset": 0,
1248 "field_name": "POV",
1249 "field_msb": 7,
1250 "field_lsb": 0,
1251 "field_width": 0,
1252 "phv_msb": 6,
1253 "phv_lsb": 6,
1254 "is_compiler_generated": false,
1255 "is_pov": true,
1256 "pov_headers": [
1257 {
1258 "bit_index": 6,
1259 "position_offset": 67,
1260 "header_name": "mpls",
1261 "hidden": false
1262 }
1263 ]
1264 },
1265 {
1266 "position_offset": 0,
1267 "field_name": "POV",
1268 "field_msb": 7,
1269 "field_lsb": 0,
1270 "field_width": 0,
1271 "phv_msb": 7,
1272 "phv_lsb": 7,
1273 "is_compiler_generated": false,
1274 "is_pov": true,
1275 "pov_headers": [
1276 {
1277 "bit_index": 7,
1278 "position_offset": 73,
1279 "header_name": "packet_in",
1280 "hidden": false
1281 }
1282 ]
1283 }
1284 ],
1285 "word_bit_width": 8
1286 },
1287 {
1288 "phv_number": 81,
1289 "records": [
1290 {
1291 "position_offset": 0,
1292 "field_name": "POV",
1293 "field_msb": 7,
1294 "field_lsb": 0,
1295 "field_width": 0,
1296 "phv_msb": 0,
1297 "phv_lsb": 0,
1298 "is_compiler_generated": false,
1299 "is_pov": true,
1300 "pov_headers": [
1301 {
1302 "bit_index": 0,
1303 "position_offset": 78,
1304 "header_name": "tcp",
1305 "hidden": false
1306 }
1307 ]
1308 },
1309 {
1310 "position_offset": 0,
1311 "field_name": "POV",
1312 "field_msb": 7,
1313 "field_lsb": 0,
1314 "field_width": 0,
1315 "phv_msb": 1,
1316 "phv_lsb": 1,
1317 "is_compiler_generated": false,
1318 "is_pov": true,
1319 "pov_headers": [
1320 {
1321 "bit_index": 1,
1322 "position_offset": 105,
1323 "header_name": "udp",
1324 "hidden": false
1325 }
1326 ]
1327 },
1328 {
1329 "position_offset": 0,
1330 "field_name": "POV",
1331 "field_msb": 7,
1332 "field_lsb": 0,
1333 "field_width": 0,
1334 "phv_msb": 2,
1335 "phv_lsb": 2,
1336 "is_compiler_generated": false,
1337 "is_pov": true,
1338 "pov_headers": [
1339 {
1340 "bit_index": 2,
1341 "position_offset": 114,
1342 "header_name": "vlan_tag",
1343 "hidden": false
1344 }
1345 ]
1346 }
1347 ],
1348 "word_bit_width": 8
1349 },
1350 {
1351 "phv_number": 144,
1352 "records": [
1353 {
1354 "position_offset": 9,
1355 "field_name": "eg_intr_md.egress_port",
1356 "field_msb": 15,
1357 "field_lsb": 0,
1358 "field_width": 2,
1359 "phv_msb": 8,
1360 "phv_lsb": 0,
1361 "is_compiler_generated": false,
1362 "is_pov": false
1363 }
1364 ],
1365 "word_bit_width": 16
1366 },
1367 {
1368 "phv_number": 145,
1369 "records": [
1370 {
1371 "position_offset": 76,
1372 "field_name": "packet_in.ingress_port",
1373 "field_msb": 15,
1374 "field_lsb": 0,
1375 "field_width": 2,
1376 "phv_msb": 15,
1377 "phv_lsb": 7,
1378 "is_compiler_generated": false,
1379 "is_pov": false
1380 },
1381 {
1382 "position_offset": 74,
1383 "field_name": "packet_in._pad",
1384 "field_msb": 15,
1385 "field_lsb": 0,
1386 "field_width": 2,
1387 "phv_msb": 6,
1388 "phv_lsb": 0,
1389 "is_compiler_generated": false,
1390 "is_pov": false
1391 }
1392 ],
1393 "word_bit_width": 16
1394 },
1395 {
1396 "phv_number": 146,
1397 "records": [
1398 {
1399 "position_offset": 43,
1400 "field_name": "ig_intr_md.ingress_port",
1401 "field_msb": 15,
1402 "field_lsb": 0,
1403 "field_width": 2,
1404 "phv_msb": 8,
1405 "phv_lsb": 0,
1406 "is_compiler_generated": false,
1407 "is_pov": false
1408 }
1409 ],
1410 "word_bit_width": 16
1411 },
1412 {
1413 "phv_number": 256,
1414 "records": [
1415 {
1416 "position_offset": 12,
1417 "field_name": "ethernet.dst_addr",
1418 "field_msb": 47,
1419 "field_lsb": 16,
1420 "field_width": 6,
1421 "phv_msb": 31,
1422 "phv_lsb": 0,
1423 "is_compiler_generated": false,
1424 "is_pov": false
1425 }
1426 ],
1427 "word_bit_width": 32
1428 },
1429 {
1430 "phv_number": 257,
1431 "records": [
1432 {
1433 "position_offset": 20,
1434 "field_name": "ethernet.src_addr",
1435 "field_msb": 47,
1436 "field_lsb": 16,
1437 "field_width": 6,
1438 "phv_msb": 31,
1439 "phv_lsb": 0,
1440 "is_compiler_generated": false,
1441 "is_pov": false
1442 }
1443 ],
1444 "word_bit_width": 32
1445 },
1446 {
1447 "phv_number": 258,
1448 "records": [
1449 {
1450 "position_offset": 59,
1451 "field_name": "ipv4.src_addr",
1452 "field_msb": 31,
1453 "field_lsb": 0,
1454 "field_width": 4,
1455 "phv_msb": 31,
1456 "phv_lsb": 0,
1457 "is_compiler_generated": false,
1458 "is_pov": false
1459 }
1460 ],
1461 "word_bit_width": 32
1462 },
1463 {
1464 "phv_number": 259,
1465 "records": [
1466 {
1467 "position_offset": 47,
1468 "field_name": "ipv4.dst_addr",
1469 "field_msb": 31,
1470 "field_lsb": 0,
1471 "field_width": 4,
1472 "phv_msb": 31,
1473 "phv_lsb": 0,
1474 "is_compiler_generated": false,
1475 "is_pov": false
1476 }
1477 ],
1478 "word_bit_width": 32
1479 },
1480 {
1481 "phv_number": 264,
1482 "records": [
1483 {
1484 "position_offset": 95,
1485 "field_name": "tcp.seq_no",
1486 "field_msb": 31,
1487 "field_lsb": 0,
1488 "field_width": 4,
1489 "phv_msb": 31,
1490 "phv_lsb": 0,
1491 "is_compiler_generated": false,
1492 "is_pov": false
1493 },
1494 {
1495 "position_offset": 35,
1496 "field_name": "icmp.timestamp",
1497 "field_msb": 31,
1498 "field_lsb": 0,
1499 "field_width": 8,
1500 "phv_msb": 31,
1501 "phv_lsb": 0,
1502 "is_compiler_generated": false,
1503 "is_pov": false
1504 }
1505 ],
1506 "word_bit_width": 32
1507 },
1508 {
1509 "phv_number": 265,
1510 "records": [
1511 {
1512 "position_offset": 79,
1513 "field_name": "tcp.ack_no",
1514 "field_msb": 31,
1515 "field_lsb": 0,
1516 "field_width": 4,
1517 "phv_msb": 31,
1518 "phv_lsb": 0,
1519 "is_compiler_generated": false,
1520 "is_pov": false
1521 },
1522 {
1523 "position_offset": 35,
1524 "field_name": "icmp.timestamp",
1525 "field_msb": 63,
1526 "field_lsb": 32,
1527 "field_width": 8,
1528 "phv_msb": 31,
1529 "phv_lsb": 0,
1530 "is_compiler_generated": false,
1531 "is_pov": false
1532 }
1533 ],
1534 "word_bit_width": 32
1535 },
1536 {
1537 "phv_number": 288,
1538 "records": [
1539 {
1540 "position_offset": 1,
1541 "field_name": "arp.hw_addr_len",
1542 "field_msb": 7,
1543 "field_lsb": 0,
1544 "field_width": 1,
1545 "phv_msb": 7,
1546 "phv_lsb": 0,
1547 "is_compiler_generated": false,
1548 "is_pov": false
1549 },
1550 {
1551 "position_offset": 66,
1552 "field_name": "ipv4.version",
1553 "field_msb": 7,
1554 "field_lsb": 0,
1555 "field_width": 1,
1556 "phv_msb": 7,
1557 "phv_lsb": 4,
1558 "is_compiler_generated": false,
1559 "is_pov": false
1560 },
1561 {
1562 "position_offset": 57,
1563 "field_name": "ipv4.ihl",
1564 "field_msb": 7,
1565 "field_lsb": 0,
1566 "field_width": 1,
1567 "phv_msb": 3,
1568 "phv_lsb": 0,
1569 "is_compiler_generated": false,
1570 "is_pov": false
1571 }
1572 ],
1573 "word_bit_width": 8
1574 },
1575 {
1576 "phv_number": 289,
1577 "records": [
1578 {
1579 "position_offset": 6,
1580 "field_name": "arp.proto_addr_len",
1581 "field_msb": 7,
1582 "field_lsb": 0,
1583 "field_width": 1,
1584 "phv_msb": 7,
1585 "phv_lsb": 0,
1586 "is_compiler_generated": false,
1587 "is_pov": false
1588 },
1589 {
1590 "position_offset": 30,
1591 "field_name": "icmp.icmp_type",
1592 "field_msb": 7,
1593 "field_lsb": 0,
1594 "field_width": 1,
1595 "phv_msb": 7,
1596 "phv_lsb": 0,
1597 "is_compiler_generated": false,
1598 "is_pov": false
1599 }
1600 ],
1601 "word_bit_width": 8
1602 },
1603 {
1604 "phv_number": 290,
1605 "records": [
1606 {
1607 "position_offset": 46,
1608 "field_name": "ipv4.diffserv",
1609 "field_msb": 7,
1610 "field_lsb": 0,
1611 "field_width": 1,
1612 "phv_msb": 7,
1613 "phv_lsb": 0,
1614 "is_compiler_generated": false,
1615 "is_pov": false
1616 }
1617 ],
1618 "word_bit_width": 8
1619 },
1620 {
1621 "phv_number": 291,
1622 "records": [
1623 {
1624 "position_offset": 29,
1625 "field_name": "icmp.icmp_code",
1626 "field_msb": 7,
1627 "field_lsb": 0,
1628 "field_width": 1,
1629 "phv_msb": 7,
1630 "phv_lsb": 0,
1631 "is_compiler_generated": false,
1632 "is_pov": false
1633 }
1634 ],
1635 "word_bit_width": 8
1636 },
1637 {
1638 "phv_number": 296,
1639 "records": [
1640 {
1641 "position_offset": 69,
1642 "field_name": "mpls.label",
1643 "field_msb": 3,
1644 "field_lsb": 0,
1645 "field_width": 2,
1646 "phv_msb": 7,
1647 "phv_lsb": 4,
1648 "is_compiler_generated": false,
1649 "is_pov": false
1650 },
1651 {
1652 "position_offset": 71,
1653 "field_name": "mpls.tc",
1654 "field_msb": 7,
1655 "field_lsb": 0,
1656 "field_width": 1,
1657 "phv_msb": 3,
1658 "phv_lsb": 1,
1659 "is_compiler_generated": false,
1660 "is_pov": false
1661 },
1662 {
1663 "position_offset": 68,
1664 "field_name": "mpls.bos",
1665 "field_msb": 7,
1666 "field_lsb": 0,
1667 "field_width": 1,
1668 "phv_msb": 0,
1669 "phv_lsb": 0,
1670 "is_compiler_generated": false,
1671 "is_pov": false
1672 }
1673 ],
1674 "word_bit_width": 8
1675 },
1676 {
1677 "phv_number": 297,
1678 "records": [
1679 {
1680 "position_offset": 65,
1681 "field_name": "ipv4.ttl",
1682 "field_msb": 7,
1683 "field_lsb": 0,
1684 "field_width": 1,
1685 "phv_msb": 7,
1686 "phv_lsb": 0,
1687 "is_compiler_generated": false,
1688 "is_pov": false
1689 }
1690 ],
1691 "word_bit_width": 8
1692 },
1693 {
1694 "phv_number": 298,
1695 "records": [
1696 {
1697 "position_offset": 58,
1698 "field_name": "ipv4.protocol",
1699 "field_msb": 7,
1700 "field_lsb": 0,
1701 "field_width": 1,
1702 "phv_msb": 7,
1703 "phv_lsb": 0,
1704 "is_compiler_generated": false,
1705 "is_pov": false
1706 }
1707 ],
1708 "word_bit_width": 8
1709 },
1710 {
1711 "phv_number": 299,
1712 "records": [
1713 {
1714 "position_offset": 72,
1715 "field_name": "mpls.ttl",
1716 "field_msb": 7,
1717 "field_lsb": 0,
1718 "field_width": 1,
1719 "phv_msb": 7,
1720 "phv_lsb": 0,
1721 "is_compiler_generated": false,
1722 "is_pov": false
1723 }
1724 ],
1725 "word_bit_width": 8
1726 },
1727 {
1728 "phv_number": 320,
1729 "records": [
1730 {
1731 "position_offset": 119,
1732 "field_name": "vlan_tag.pri",
1733 "field_msb": 15,
1734 "field_lsb": 0,
1735 "field_width": 2,
1736 "phv_msb": 15,
1737 "phv_lsb": 13,
1738 "is_compiler_generated": false,
1739 "is_pov": false
1740 },
1741 {
1742 "position_offset": 115,
1743 "field_name": "vlan_tag.cfi",
1744 "field_msb": 15,
1745 "field_lsb": 0,
1746 "field_width": 2,
1747 "phv_msb": 12,
1748 "phv_lsb": 12,
1749 "is_compiler_generated": false,
1750 "is_pov": false
1751 },
1752 {
1753 "position_offset": 121,
1754 "field_name": "vlan_tag.vlan_id",
1755 "field_msb": 15,
1756 "field_lsb": 0,
1757 "field_width": 2,
1758 "phv_msb": 11,
1759 "phv_lsb": 0,
1760 "is_compiler_generated": false,
1761 "is_pov": false
1762 }
1763 ],
1764 "word_bit_width": 16
1765 },
1766 {
1767 "phv_number": 321,
1768 "records": [
1769 {
1770 "position_offset": 2,
1771 "field_name": "arp.hw_type",
1772 "field_msb": 15,
1773 "field_lsb": 0,
1774 "field_width": 2,
1775 "phv_msb": 15,
1776 "phv_lsb": 0,
1777 "is_compiler_generated": false,
1778 "is_pov": false
1779 },
1780 {
1781 "position_offset": 99,
1782 "field_name": "tcp.src_port",
1783 "field_msb": 15,
1784 "field_lsb": 0,
1785 "field_width": 2,
1786 "phv_msb": 15,
1787 "phv_lsb": 0,
1788 "is_compiler_generated": false,
1789 "is_pov": false
1790 },
1791 {
1792 "position_offset": 112,
1793 "field_name": "udp.src_port",
1794 "field_msb": 15,
1795 "field_lsb": 0,
1796 "field_width": 2,
1797 "phv_msb": 15,
1798 "phv_lsb": 0,
1799 "is_compiler_generated": false,
1800 "is_pov": false
1801 },
1802 {
1803 "position_offset": 27,
1804 "field_name": "icmp.checksum",
1805 "field_msb": 15,
1806 "field_lsb": 0,
1807 "field_width": 2,
1808 "phv_msb": 15,
1809 "phv_lsb": 0,
1810 "is_compiler_generated": false,
1811 "is_pov": false
1812 }
1813 ],
1814 "word_bit_width": 16
1815 },
1816 {
1817 "phv_number": 322,
1818 "records": [
1819 {
1820 "position_offset": 7,
1821 "field_name": "arp.proto_type",
1822 "field_msb": 15,
1823 "field_lsb": 0,
1824 "field_width": 2,
1825 "phv_msb": 15,
1826 "phv_lsb": 0,
1827 "is_compiler_generated": false,
1828 "is_pov": false
1829 },
1830 {
1831 "position_offset": 69,
1832 "field_name": "mpls.label",
1833 "field_msb": 19,
1834 "field_lsb": 4,
1835 "field_width": 2,
1836 "phv_msb": 15,
1837 "phv_lsb": 0,
1838 "is_compiler_generated": false,
1839 "is_pov": false
1840 }
1841 ],
1842 "word_bit_width": 16
1843 },
1844 {
1845 "phv_number": 323,
1846 "records": [
1847 {
1848 "position_offset": 4,
1849 "field_name": "arp.opcode",
1850 "field_msb": 15,
1851 "field_lsb": 0,
1852 "field_width": 2,
1853 "phv_msb": 15,
1854 "phv_lsb": 0,
1855 "is_compiler_generated": false,
1856 "is_pov": false
1857 },
1858 {
1859 "position_offset": 87,
1860 "field_name": "tcp.data_offset",
1861 "field_msb": 15,
1862 "field_lsb": 0,
1863 "field_width": 2,
1864 "phv_msb": 15,
1865 "phv_lsb": 12,
1866 "is_compiler_generated": false,
1867 "is_pov": false
1868 },
1869 {
1870 "position_offset": 93,
1871 "field_name": "tcp.res",
1872 "field_msb": 15,
1873 "field_lsb": 0,
1874 "field_width": 2,
1875 "phv_msb": 11,
1876 "phv_lsb": 9,
1877 "is_compiler_generated": false,
1878 "is_pov": false
1879 },
1880 {
1881 "position_offset": 91,
1882 "field_name": "tcp.ecn",
1883 "field_msb": 15,
1884 "field_lsb": 0,
1885 "field_width": 2,
1886 "phv_msb": 8,
1887 "phv_lsb": 6,
1888 "is_compiler_generated": false,
1889 "is_pov": false
1890 },
1891 {
1892 "position_offset": 85,
1893 "field_name": "tcp.ctrl",
1894 "field_msb": 15,
1895 "field_lsb": 0,
1896 "field_width": 2,
1897 "phv_msb": 5,
1898 "phv_lsb": 0,
1899 "is_compiler_generated": false,
1900 "is_pov": false
1901 },
1902 {
1903 "position_offset": 108,
1904 "field_name": "udp.dst_port",
1905 "field_msb": 15,
1906 "field_lsb": 0,
1907 "field_width": 2,
1908 "phv_msb": 15,
1909 "phv_lsb": 0,
1910 "is_compiler_generated": false,
1911 "is_pov": false
1912 },
1913 {
1914 "position_offset": 31,
1915 "field_name": "icmp.identifier",
1916 "field_msb": 15,
1917 "field_lsb": 0,
1918 "field_width": 2,
1919 "phv_msb": 15,
1920 "phv_lsb": 0,
1921 "is_compiler_generated": false,
1922 "is_pov": false
1923 }
1924 ],
1925 "word_bit_width": 16
1926 },
1927 {
1928 "phv_number": 324,
1929 "records": [
1930 {
1931 "position_offset": 51,
1932 "field_name": "ipv4.flags",
1933 "field_msb": 15,
1934 "field_lsb": 0,
1935 "field_width": 2,
1936 "phv_msb": 15,
1937 "phv_lsb": 13,
1938 "is_compiler_generated": false,
1939 "is_pov": false
1940 },
1941 {
1942 "position_offset": 53,
1943 "field_name": "ipv4.frag_offset",
1944 "field_msb": 15,
1945 "field_lsb": 0,
1946 "field_width": 2,
1947 "phv_msb": 12,
1948 "phv_lsb": 0,
1949 "is_compiler_generated": false,
1950 "is_pov": false
1951 }
1952 ],
1953 "word_bit_width": 16
1954 },
1955 {
1956 "phv_number": 325,
1957 "records": [
1958 {
1959 "position_offset": 12,
1960 "field_name": "ethernet.dst_addr",
1961 "field_msb": 15,
1962 "field_lsb": 0,
1963 "field_width": 6,
1964 "phv_msb": 15,
1965 "phv_lsb": 0,
1966 "is_compiler_generated": false,
1967 "is_pov": false
1968 }
1969 ],
1970 "word_bit_width": 16
1971 },
1972 {
1973 "phv_number": 332,
1974 "records": [
1975 {
1976 "position_offset": 20,
1977 "field_name": "ethernet.src_addr",
1978 "field_msb": 15,
1979 "field_lsb": 0,
1980 "field_width": 6,
1981 "phv_msb": 15,
1982 "phv_lsb": 0,
1983 "is_compiler_generated": false,
1984 "is_pov": false
1985 }
1986 ],
1987 "word_bit_width": 16
1988 },
1989 {
1990 "phv_number": 333,
1991 "records": [
1992 {
1993 "position_offset": 18,
1994 "field_name": "ethernet.ether_type",
1995 "field_msb": 15,
1996 "field_lsb": 0,
1997 "field_width": 2,
1998 "phv_msb": 15,
1999 "phv_lsb": 0,
2000 "is_compiler_generated": false,
2001 "is_pov": false
2002 }
2003 ],
2004 "word_bit_width": 16
2005 },
2006 {
2007 "phv_number": 334,
2008 "records": [
2009 {
2010 "position_offset": 117,
2011 "field_name": "vlan_tag.ether_type",
2012 "field_msb": 15,
2013 "field_lsb": 0,
2014 "field_width": 2,
2015 "phv_msb": 15,
2016 "phv_lsb": 0,
2017 "is_compiler_generated": false,
2018 "is_pov": false
2019 }
2020 ],
2021 "word_bit_width": 16
2022 },
2023 {
2024 "phv_number": 335,
2025 "records": [
2026 {
2027 "position_offset": 63,
2028 "field_name": "ipv4.total_len",
2029 "field_msb": 15,
2030 "field_lsb": 0,
2031 "field_width": 2,
2032 "phv_msb": 15,
2033 "phv_lsb": 0,
2034 "is_compiler_generated": false,
2035 "is_pov": false
2036 }
2037 ],
2038 "word_bit_width": 16
2039 },
2040 {
2041 "phv_number": 336,
2042 "records": [
2043 {
2044 "position_offset": 55,
2045 "field_name": "ipv4.identification",
2046 "field_msb": 15,
2047 "field_lsb": 0,
2048 "field_width": 2,
2049 "phv_msb": 15,
2050 "phv_lsb": 0,
2051 "is_compiler_generated": false,
2052 "is_pov": false
2053 }
2054 ],
2055 "word_bit_width": 16
2056 },
2057 {
2058 "phv_number": 337,
2059 "records": [
2060 {
2061 "position_offset": 89,
2062 "field_name": "tcp.dst_port",
2063 "field_msb": 15,
2064 "field_lsb": 0,
2065 "field_width": 2,
2066 "phv_msb": 15,
2067 "phv_lsb": 0,
2068 "is_compiler_generated": false,
2069 "is_pov": false
2070 },
2071 {
2072 "position_offset": 110,
2073 "field_name": "udp.len",
2074 "field_msb": 15,
2075 "field_lsb": 0,
2076 "field_width": 2,
2077 "phv_msb": 15,
2078 "phv_lsb": 0,
2079 "is_compiler_generated": false,
2080 "is_pov": false
2081 },
2082 {
2083 "position_offset": 33,
2084 "field_name": "icmp.sequence_number",
2085 "field_msb": 15,
2086 "field_lsb": 0,
2087 "field_width": 2,
2088 "phv_msb": 15,
2089 "phv_lsb": 0,
2090 "is_compiler_generated": false,
2091 "is_pov": false
2092 }
2093 ],
2094 "word_bit_width": 16
2095 },
2096 {
2097 "phv_number": 344,
2098 "records": [
2099 {
2100 "position_offset": 103,
2101 "field_name": "tcp.window",
2102 "field_msb": 15,
2103 "field_lsb": 0,
2104 "field_width": 2,
2105 "phv_msb": 15,
2106 "phv_lsb": 0,
2107 "is_compiler_generated": false,
2108 "is_pov": false
2109 },
2110 {
2111 "position_offset": 106,
2112 "field_name": "udp.checksum",
2113 "field_msb": 15,
2114 "field_lsb": 0,
2115 "field_width": 2,
2116 "phv_msb": 15,
2117 "phv_lsb": 0,
2118 "is_compiler_generated": false,
2119 "is_pov": false
2120 }
2121 ],
2122 "word_bit_width": 16
2123 },
2124 {
2125 "phv_number": 345,
2126 "records": [
2127 {
2128 "position_offset": 83,
2129 "field_name": "tcp.checksum",
2130 "field_msb": 15,
2131 "field_lsb": 0,
2132 "field_width": 2,
2133 "phv_msb": 15,
2134 "phv_lsb": 0,
2135 "is_compiler_generated": false,
2136 "is_pov": false
2137 }
2138 ],
2139 "word_bit_width": 16
2140 },
2141 {
2142 "phv_number": 346,
2143 "records": [
2144 {
2145 "position_offset": 101,
2146 "field_name": "tcp.urgent_ptr",
2147 "field_msb": 15,
2148 "field_lsb": 0,
2149 "field_width": 2,
2150 "phv_msb": 15,
2151 "phv_lsb": 0,
2152 "is_compiler_generated": false,
2153 "is_pov": false
2154 }
2155 ],
2156 "word_bit_width": 16
2157 }
2158 ],
2159 "stage_number": 0
2160 },
2161 {
2162 "ingress": [
2163 {
2164 "phv_number": 0,
2165 "records": [
2166 {
2167 "position_offset": 12,
2168 "field_name": "ethernet.dst_addr",
2169 "field_msb": 47,
2170 "field_lsb": 16,
2171 "field_width": 6,
2172 "phv_msb": 31,
2173 "phv_lsb": 0,
2174 "is_compiler_generated": false,
2175 "is_pov": false
2176 }
2177 ],
2178 "word_bit_width": 32
2179 },
2180 {
2181 "phv_number": 1,
2182 "records": [
2183 {
2184 "position_offset": 20,
2185 "field_name": "ethernet.src_addr",
2186 "field_msb": 47,
2187 "field_lsb": 16,
2188 "field_width": 6,
2189 "phv_msb": 31,
2190 "phv_lsb": 0,
2191 "is_compiler_generated": false,
2192 "is_pov": false
2193 }
2194 ],
2195 "word_bit_width": 32
2196 },
2197 {
2198 "phv_number": 2,
2199 "records": [
2200 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002201 "position_offset": 80,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002202 "field_name": "ipv4.src_addr",
2203 "field_msb": 31,
2204 "field_lsb": 0,
2205 "field_width": 4,
2206 "phv_msb": 31,
2207 "phv_lsb": 0,
2208 "is_compiler_generated": false,
2209 "is_pov": false
2210 }
2211 ],
2212 "word_bit_width": 32
2213 },
2214 {
2215 "phv_number": 3,
2216 "records": [
2217 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002218 "position_offset": 68,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002219 "field_name": "ipv4.dst_addr",
2220 "field_msb": 31,
2221 "field_lsb": 0,
2222 "field_width": 4,
2223 "phv_msb": 31,
2224 "phv_lsb": 0,
2225 "is_compiler_generated": false,
2226 "is_pov": false
2227 }
2228 ],
2229 "word_bit_width": 32
2230 },
2231 {
2232 "phv_number": 4,
2233 "records": [
2234 {
2235 "position_offset": 33,
2236 "field_name": "fabric_metadata.next_id",
2237 "field_msb": 31,
2238 "field_lsb": 0,
2239 "field_width": 4,
2240 "phv_msb": 31,
2241 "phv_lsb": 0,
2242 "is_compiler_generated": false,
2243 "is_pov": false
2244 }
2245 ],
2246 "word_bit_width": 32
2247 },
2248 {
2249 "phv_number": 64,
2250 "records": [
2251 {
2252 "position_offset": 45,
2253 "field_name": "icmp.icmp_type",
2254 "field_msb": 7,
2255 "field_lsb": 0,
2256 "field_width": 1,
2257 "phv_msb": 7,
2258 "phv_lsb": 0,
2259 "is_compiler_generated": false,
2260 "is_pov": false
2261 }
2262 ],
2263 "word_bit_width": 8
2264 },
2265 {
2266 "phv_number": 65,
2267 "records": [
2268 {
2269 "position_offset": 44,
2270 "field_name": "icmp.icmp_code",
2271 "field_msb": 7,
2272 "field_lsb": 0,
2273 "field_width": 1,
2274 "phv_msb": 7,
2275 "phv_lsb": 0,
2276 "is_compiler_generated": false,
2277 "is_pov": false
2278 }
2279 ],
2280 "word_bit_width": 8
2281 },
2282 {
2283 "phv_number": 66,
2284 "records": [
2285 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002286 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002287 "field_name": "mpls.label",
2288 "field_msb": 3,
2289 "field_lsb": 0,
2290 "field_width": 2,
2291 "phv_msb": 7,
2292 "phv_lsb": 4,
2293 "is_compiler_generated": false,
2294 "is_pov": false
2295 },
2296 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002297 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002298 "field_name": "mpls.tc",
2299 "field_msb": 7,
2300 "field_lsb": 0,
2301 "field_width": 1,
2302 "phv_msb": 3,
2303 "phv_lsb": 1,
2304 "is_compiler_generated": false,
2305 "is_pov": false
2306 },
2307 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002308 "position_offset": 89,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002309 "field_name": "mpls.bos",
2310 "field_msb": 7,
2311 "field_lsb": 0,
2312 "field_width": 1,
2313 "phv_msb": 0,
2314 "phv_lsb": 0,
2315 "is_compiler_generated": false,
2316 "is_pov": false
2317 }
2318 ],
2319 "word_bit_width": 8
2320 },
2321 {
2322 "phv_number": 67,
2323 "records": [
2324 {
2325 "position_offset": 1,
2326 "field_name": "$bridged_metadata_indicator",
2327 "field_msb": 7,
2328 "field_lsb": 0,
2329 "field_width": 1,
2330 "phv_msb": 7,
2331 "phv_lsb": 0,
2332 "is_compiler_generated": false,
2333 "is_pov": false
2334 }
2335 ],
2336 "word_bit_width": 8
2337 },
2338 {
2339 "phv_number": 68,
2340 "records": [
2341 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002342 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002343 "field_name": "ipv4.ttl",
2344 "field_msb": 7,
2345 "field_lsb": 0,
2346 "field_width": 1,
2347 "phv_msb": 7,
2348 "phv_lsb": 0,
2349 "is_compiler_generated": false,
2350 "is_pov": false
2351 }
2352 ],
2353 "word_bit_width": 8
2354 },
2355 {
2356 "phv_number": 69,
2357 "records": [
2358 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002359 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002360 "field_name": "mpls.ttl",
2361 "field_msb": 7,
2362 "field_lsb": 0,
2363 "field_width": 1,
2364 "phv_msb": 7,
2365 "phv_lsb": 0,
2366 "is_compiler_generated": false,
2367 "is_pov": false
2368 }
2369 ],
2370 "word_bit_width": 8
2371 },
2372 {
2373 "phv_number": 70,
2374 "records": [
2375 {
2376 "position_offset": 28,
2377 "field_name": "fabric_metadata.ip_proto",
2378 "field_msb": 7,
2379 "field_lsb": 0,
2380 "field_width": 1,
2381 "phv_msb": 7,
2382 "phv_lsb": 0,
2383 "is_compiler_generated": false,
2384 "is_pov": false
2385 }
2386 ],
2387 "word_bit_width": 8
2388 },
2389 {
2390 "phv_number": 71,
2391 "records": [
2392 {
2393 "position_offset": 0,
2394 "field_name": "$always_deparse",
2395 "field_msb": 7,
2396 "field_lsb": 0,
2397 "field_width": 1,
2398 "phv_msb": 0,
2399 "phv_lsb": 0,
2400 "is_compiler_generated": false,
2401 "is_pov": false
2402 },
2403 {
2404 "position_offset": 40,
2405 "field_name": "hasExited_0",
2406 "field_msb": 7,
2407 "field_lsb": 0,
2408 "field_width": 1,
2409 "phv_msb": 4,
2410 "phv_lsb": 4,
2411 "is_compiler_generated": false,
2412 "is_pov": false
2413 },
2414 {
2415 "position_offset": 0,
2416 "field_name": "POV",
2417 "field_msb": 7,
2418 "field_lsb": 0,
2419 "field_width": 0,
2420 "phv_msb": 1,
2421 "phv_lsb": 1,
2422 "is_compiler_generated": false,
2423 "is_pov": true,
2424 "pov_headers": [
2425 {
2426 "bit_index": 1,
2427 "position_offset": 2,
2428 "header_name": "arp",
2429 "hidden": false
2430 }
2431 ]
2432 },
2433 {
2434 "position_offset": 0,
2435 "field_name": "POV",
2436 "field_msb": 7,
2437 "field_lsb": 0,
2438 "field_width": 0,
2439 "phv_msb": 2,
2440 "phv_lsb": 2,
2441 "is_compiler_generated": false,
2442 "is_pov": true,
2443 "pov_headers": [
2444 {
2445 "bit_index": 2,
2446 "position_offset": 11,
2447 "header_name": "ethernet",
2448 "hidden": false
2449 }
2450 ]
2451 },
2452 {
2453 "position_offset": 0,
2454 "field_name": "POV",
2455 "field_msb": 7,
2456 "field_lsb": 0,
2457 "field_width": 0,
2458 "phv_msb": 3,
2459 "phv_lsb": 3,
2460 "is_compiler_generated": false,
2461 "is_pov": true,
2462 "pov_headers": [
2463 {
2464 "bit_index": 3,
2465 "position_offset": 41,
2466 "header_name": "icmp",
2467 "hidden": false
2468 }
2469 ]
2470 },
2471 {
2472 "position_offset": 0,
2473 "field_name": "POV",
2474 "field_msb": 7,
2475 "field_lsb": 0,
2476 "field_width": 0,
2477 "phv_msb": 5,
2478 "phv_lsb": 5,
2479 "is_compiler_generated": false,
2480 "is_pov": true,
2481 "pov_headers": [
2482 {
2483 "bit_index": 5,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002484 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002485 "header_name": "ipv4",
2486 "hidden": false
2487 }
2488 ]
2489 },
2490 {
2491 "position_offset": 0,
2492 "field_name": "POV",
2493 "field_msb": 7,
2494 "field_lsb": 0,
2495 "field_width": 0,
2496 "phv_msb": 6,
2497 "phv_lsb": 6,
2498 "is_compiler_generated": false,
2499 "is_pov": true,
2500 "pov_headers": [
2501 {
2502 "bit_index": 6,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002503 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002504 "header_name": "mpls",
2505 "hidden": false
2506 }
2507 ]
2508 },
2509 {
2510 "position_offset": 0,
2511 "field_name": "POV",
2512 "field_msb": 7,
2513 "field_lsb": 0,
2514 "field_width": 0,
2515 "phv_msb": 7,
2516 "phv_lsb": 7,
2517 "is_compiler_generated": false,
2518 "is_pov": true,
2519 "pov_headers": [
2520 {
2521 "bit_index": 7,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002522 "position_offset": 94,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002523 "header_name": "packet_out",
2524 "hidden": false
2525 }
2526 ]
2527 }
2528 ],
2529 "word_bit_width": 8
2530 },
2531 {
2532 "phv_number": 72,
2533 "records": [
2534 {
2535 "position_offset": 39,
2536 "field_name": "fabric_metadata.pop_vlan_at_egress",
2537 "field_msb": 7,
2538 "field_lsb": 0,
2539 "field_width": 1,
2540 "phv_msb": 3,
2541 "phv_lsb": 3,
2542 "is_compiler_generated": false,
2543 "is_pov": false
2544 },
2545 {
2546 "position_offset": 0,
2547 "field_name": "POV",
2548 "field_msb": 7,
2549 "field_lsb": 0,
2550 "field_width": 0,
2551 "phv_msb": 0,
2552 "phv_lsb": 0,
2553 "is_compiler_generated": false,
2554 "is_pov": true,
2555 "pov_headers": [
2556 {
2557 "bit_index": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002558 "position_offset": 97,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002559 "header_name": "tcp",
2560 "hidden": false
2561 }
2562 ]
2563 },
2564 {
2565 "position_offset": 0,
2566 "field_name": "POV",
2567 "field_msb": 7,
2568 "field_lsb": 0,
2569 "field_width": 0,
2570 "phv_msb": 1,
2571 "phv_lsb": 1,
2572 "is_compiler_generated": false,
2573 "is_pov": true,
2574 "pov_headers": [
2575 {
2576 "bit_index": 1,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002577 "position_offset": 124,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002578 "header_name": "udp",
2579 "hidden": false
2580 }
2581 ]
2582 },
2583 {
2584 "position_offset": 0,
2585 "field_name": "POV",
2586 "field_msb": 7,
2587 "field_lsb": 0,
2588 "field_width": 0,
2589 "phv_msb": 2,
2590 "phv_lsb": 2,
2591 "is_compiler_generated": false,
2592 "is_pov": true,
2593 "pov_headers": [
2594 {
2595 "bit_index": 2,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002596 "position_offset": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002597 "header_name": "vlan_tag",
2598 "hidden": false
2599 }
2600 ]
2601 }
2602 ],
2603 "word_bit_width": 8
2604 },
2605 {
2606 "phv_number": 128,
2607 "records": [
2608 {
2609 "position_offset": 62,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002610 "field_name": "ig_intr_md_for_tm.mcast_grp_a",
2611 "field_msb": 15,
2612 "field_lsb": 0,
2613 "field_width": 2,
2614 "phv_msb": 15,
2615 "phv_lsb": 0,
2616 "is_compiler_generated": false,
2617 "is_pov": false
2618 }
2619 ],
2620 "word_bit_width": 16
2621 },
2622 {
2623 "phv_number": 129,
2624 "records": [
2625 {
2626 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002627 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
2628 "field_msb": 15,
2629 "field_lsb": 0,
2630 "field_width": 2,
2631 "phv_msb": 8,
2632 "phv_lsb": 0,
2633 "is_compiler_generated": false,
2634 "is_pov": false
2635 }
2636 ],
2637 "word_bit_width": 16
2638 },
2639 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002640 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002641 "records": [
2642 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002643 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002644 "field_name": "packet_out.egress_port",
2645 "field_msb": 15,
2646 "field_lsb": 0,
2647 "field_width": 2,
2648 "phv_msb": 15,
2649 "phv_lsb": 7,
2650 "is_compiler_generated": false,
2651 "is_pov": false
2652 },
2653 {
2654 "position_offset": 26,
2655 "field_name": "fabric_metadata.fwd_type",
2656 "field_msb": 15,
2657 "field_lsb": 0,
2658 "field_width": 2,
2659 "phv_msb": 5,
2660 "phv_lsb": 3,
2661 "is_compiler_generated": false,
2662 "is_pov": false
2663 },
2664 {
2665 "position_offset": 60,
2666 "field_name": "ig_intr_md_for_tm.drop_ctl",
2667 "field_msb": 15,
2668 "field_lsb": 0,
2669 "field_width": 2,
2670 "phv_msb": 2,
2671 "phv_lsb": 0,
2672 "is_compiler_generated": false,
2673 "is_pov": false
2674 }
2675 ],
2676 "word_bit_width": 16
2677 },
2678 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002679 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002680 "records": [
2681 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002682 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002683 "field_name": "vlan_tag.pri",
2684 "field_msb": 15,
2685 "field_lsb": 0,
2686 "field_width": 2,
2687 "phv_msb": 15,
2688 "phv_lsb": 13,
2689 "is_compiler_generated": false,
2690 "is_pov": false
2691 },
2692 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002693 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002694 "field_name": "vlan_tag.cfi",
2695 "field_msb": 15,
2696 "field_lsb": 0,
2697 "field_width": 2,
2698 "phv_msb": 12,
2699 "phv_lsb": 12,
2700 "is_compiler_generated": false,
2701 "is_pov": false
2702 },
2703 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002704 "position_offset": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002705 "field_name": "vlan_tag.vlan_id",
2706 "field_msb": 15,
2707 "field_lsb": 0,
2708 "field_width": 2,
2709 "phv_msb": 11,
2710 "phv_lsb": 0,
2711 "is_compiler_generated": false,
2712 "is_pov": false
2713 }
2714 ],
2715 "word_bit_width": 16
2716 },
2717 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002718 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002719 "records": [
2720 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002721 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002722 "field_name": "mpls.label",
2723 "field_msb": 19,
2724 "field_lsb": 4,
2725 "field_width": 2,
2726 "phv_msb": 15,
2727 "phv_lsb": 0,
2728 "is_compiler_generated": false,
2729 "is_pov": false
2730 }
2731 ],
2732 "word_bit_width": 16
2733 },
2734 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002735 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002736 "records": [
2737 {
2738 "position_offset": 58,
2739 "field_name": "ig_intr_md.ingress_port",
2740 "field_msb": 15,
2741 "field_lsb": 0,
2742 "field_width": 2,
2743 "phv_msb": 8,
2744 "phv_lsb": 0,
2745 "is_compiler_generated": false,
2746 "is_pov": false
2747 }
2748 ],
2749 "word_bit_width": 16
2750 },
2751 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002752 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002753 "records": [
2754 {
2755 "position_offset": 31,
2756 "field_name": "fabric_metadata.l4_src_port",
2757 "field_msb": 15,
2758 "field_lsb": 0,
2759 "field_width": 2,
2760 "phv_msb": 15,
2761 "phv_lsb": 0,
2762 "is_compiler_generated": false,
2763 "is_pov": false
2764 }
2765 ],
2766 "word_bit_width": 16
2767 },
2768 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002769 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002770 "records": [
2771 {
2772 "position_offset": 18,
2773 "field_name": "ethernet.ether_type",
2774 "field_msb": 15,
2775 "field_lsb": 0,
2776 "field_width": 2,
2777 "phv_msb": 15,
2778 "phv_lsb": 0,
2779 "is_compiler_generated": false,
2780 "is_pov": false
2781 }
2782 ],
2783 "word_bit_width": 16
2784 },
2785 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002786 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002787 "records": [
2788 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002789 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002790 "field_name": "vlan_tag.ether_type",
2791 "field_msb": 15,
2792 "field_lsb": 0,
2793 "field_width": 2,
2794 "phv_msb": 15,
2795 "phv_lsb": 0,
2796 "is_compiler_generated": false,
2797 "is_pov": false
2798 }
2799 ],
2800 "word_bit_width": 16
2801 },
2802 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002803 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002804 "records": [
2805 {
2806 "position_offset": 12,
2807 "field_name": "ethernet.dst_addr",
2808 "field_msb": 15,
2809 "field_lsb": 0,
2810 "field_width": 6,
2811 "phv_msb": 15,
2812 "phv_lsb": 0,
2813 "is_compiler_generated": false,
2814 "is_pov": false
2815 }
2816 ],
2817 "word_bit_width": 16
2818 },
2819 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002820 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002821 "records": [
2822 {
2823 "position_offset": 20,
2824 "field_name": "ethernet.src_addr",
2825 "field_msb": 15,
2826 "field_lsb": 0,
2827 "field_width": 6,
2828 "phv_msb": 15,
2829 "phv_lsb": 0,
2830 "is_compiler_generated": false,
2831 "is_pov": false
2832 }
2833 ],
2834 "word_bit_width": 16
2835 },
2836 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002837 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002838 "records": [
2839 {
2840 "position_offset": 29,
2841 "field_name": "fabric_metadata.l4_dst_port",
2842 "field_msb": 15,
2843 "field_lsb": 0,
2844 "field_width": 2,
2845 "phv_msb": 15,
2846 "phv_lsb": 0,
2847 "is_compiler_generated": false,
2848 "is_pov": false
2849 }
2850 ],
2851 "word_bit_width": 16
2852 },
2853 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002854 "phv_number": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002855 "records": [
2856 {
2857 "position_offset": 37,
2858 "field_name": "fabric_metadata.original_ether_type",
2859 "field_msb": 15,
2860 "field_lsb": 0,
2861 "field_width": 2,
2862 "phv_msb": 15,
2863 "phv_lsb": 0,
2864 "is_compiler_generated": false,
2865 "is_pov": false
2866 }
2867 ],
2868 "word_bit_width": 16
2869 },
2870 {
2871 "phv_number": 260,
2872 "records": [
2873 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002874 "position_offset": 114,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002875 "field_name": "tcp.seq_no",
2876 "field_msb": 31,
2877 "field_lsb": 0,
2878 "field_width": 4,
2879 "phv_msb": 31,
2880 "phv_lsb": 0,
2881 "is_compiler_generated": false,
2882 "is_pov": false
2883 },
2884 {
2885 "position_offset": 50,
2886 "field_name": "icmp.timestamp",
2887 "field_msb": 31,
2888 "field_lsb": 0,
2889 "field_width": 8,
2890 "phv_msb": 31,
2891 "phv_lsb": 0,
2892 "is_compiler_generated": false,
2893 "is_pov": false
2894 }
2895 ],
2896 "word_bit_width": 32
2897 },
2898 {
2899 "phv_number": 261,
2900 "records": [
2901 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002902 "position_offset": 98,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002903 "field_name": "tcp.ack_no",
2904 "field_msb": 31,
2905 "field_lsb": 0,
2906 "field_width": 4,
2907 "phv_msb": 31,
2908 "phv_lsb": 0,
2909 "is_compiler_generated": false,
2910 "is_pov": false
2911 },
2912 {
2913 "position_offset": 50,
2914 "field_name": "icmp.timestamp",
2915 "field_msb": 63,
2916 "field_lsb": 32,
2917 "field_width": 8,
2918 "phv_msb": 31,
2919 "phv_lsb": 0,
2920 "is_compiler_generated": false,
2921 "is_pov": false
2922 }
2923 ],
2924 "word_bit_width": 32
2925 },
2926 {
2927 "phv_number": 292,
2928 "records": [
2929 {
2930 "position_offset": 3,
2931 "field_name": "arp.hw_addr_len",
2932 "field_msb": 7,
2933 "field_lsb": 0,
2934 "field_width": 1,
2935 "phv_msb": 7,
2936 "phv_lsb": 0,
2937 "is_compiler_generated": false,
2938 "is_pov": false
2939 },
2940 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002941 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002942 "field_name": "ipv4.version",
2943 "field_msb": 7,
2944 "field_lsb": 0,
2945 "field_width": 1,
2946 "phv_msb": 7,
2947 "phv_lsb": 4,
2948 "is_compiler_generated": false,
2949 "is_pov": false
2950 },
2951 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002952 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002953 "field_name": "ipv4.ihl",
2954 "field_msb": 7,
2955 "field_lsb": 0,
2956 "field_width": 1,
2957 "phv_msb": 3,
2958 "phv_lsb": 0,
2959 "is_compiler_generated": false,
2960 "is_pov": false
2961 }
2962 ],
2963 "word_bit_width": 8
2964 },
2965 {
2966 "phv_number": 293,
2967 "records": [
2968 {
2969 "position_offset": 8,
2970 "field_name": "arp.proto_addr_len",
2971 "field_msb": 7,
2972 "field_lsb": 0,
2973 "field_width": 1,
2974 "phv_msb": 7,
2975 "phv_lsb": 0,
2976 "is_compiler_generated": false,
2977 "is_pov": false
2978 },
2979 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002980 "position_offset": 67,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002981 "field_name": "ipv4.diffserv",
2982 "field_msb": 7,
2983 "field_lsb": 0,
2984 "field_width": 1,
2985 "phv_msb": 7,
2986 "phv_lsb": 0,
2987 "is_compiler_generated": false,
2988 "is_pov": false
2989 }
2990 ],
2991 "word_bit_width": 8
2992 },
2993 {
2994 "phv_number": 294,
2995 "records": [
2996 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08002997 "position_offset": 79,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002998 "field_name": "ipv4.protocol",
2999 "field_msb": 7,
3000 "field_lsb": 0,
3001 "field_width": 1,
3002 "phv_msb": 7,
3003 "phv_lsb": 0,
3004 "is_compiler_generated": false,
3005 "is_pov": false
3006 }
3007 ],
3008 "word_bit_width": 8
3009 },
3010 {
3011 "phv_number": 326,
3012 "records": [
3013 {
3014 "position_offset": 4,
3015 "field_name": "arp.hw_type",
3016 "field_msb": 15,
3017 "field_lsb": 0,
3018 "field_width": 2,
3019 "phv_msb": 15,
3020 "phv_lsb": 0,
3021 "is_compiler_generated": false,
3022 "is_pov": false
3023 },
3024 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003025 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003026 "field_name": "tcp.data_offset",
3027 "field_msb": 15,
3028 "field_lsb": 0,
3029 "field_width": 2,
3030 "phv_msb": 15,
3031 "phv_lsb": 12,
3032 "is_compiler_generated": false,
3033 "is_pov": false
3034 },
3035 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003036 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003037 "field_name": "tcp.res",
3038 "field_msb": 15,
3039 "field_lsb": 0,
3040 "field_width": 2,
3041 "phv_msb": 11,
3042 "phv_lsb": 9,
3043 "is_compiler_generated": false,
3044 "is_pov": false
3045 },
3046 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003047 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003048 "field_name": "tcp.ecn",
3049 "field_msb": 15,
3050 "field_lsb": 0,
3051 "field_width": 2,
3052 "phv_msb": 8,
3053 "phv_lsb": 6,
3054 "is_compiler_generated": false,
3055 "is_pov": false
3056 },
3057 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003058 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003059 "field_name": "tcp.ctrl",
3060 "field_msb": 15,
3061 "field_lsb": 0,
3062 "field_width": 2,
3063 "phv_msb": 5,
3064 "phv_lsb": 0,
3065 "is_compiler_generated": false,
3066 "is_pov": false
3067 },
3068 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003069 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003070 "field_name": "udp.src_port",
3071 "field_msb": 15,
3072 "field_lsb": 0,
3073 "field_width": 2,
3074 "phv_msb": 15,
3075 "phv_lsb": 0,
3076 "is_compiler_generated": false,
3077 "is_pov": false
3078 },
3079 {
3080 "position_offset": 42,
3081 "field_name": "icmp.checksum",
3082 "field_msb": 15,
3083 "field_lsb": 0,
3084 "field_width": 2,
3085 "phv_msb": 15,
3086 "phv_lsb": 0,
3087 "is_compiler_generated": false,
3088 "is_pov": false
3089 }
3090 ],
3091 "word_bit_width": 16
3092 },
3093 {
3094 "phv_number": 327,
3095 "records": [
3096 {
3097 "position_offset": 9,
3098 "field_name": "arp.proto_type",
3099 "field_msb": 15,
3100 "field_lsb": 0,
3101 "field_width": 2,
3102 "phv_msb": 15,
3103 "phv_lsb": 0,
3104 "is_compiler_generated": false,
3105 "is_pov": false
3106 },
3107 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003108 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003109 "field_name": "tcp.src_port",
3110 "field_msb": 15,
3111 "field_lsb": 0,
3112 "field_width": 2,
3113 "phv_msb": 15,
3114 "phv_lsb": 0,
3115 "is_compiler_generated": false,
3116 "is_pov": false
3117 },
3118 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003119 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003120 "field_name": "udp.dst_port",
3121 "field_msb": 15,
3122 "field_lsb": 0,
3123 "field_width": 2,
3124 "phv_msb": 15,
3125 "phv_lsb": 0,
3126 "is_compiler_generated": false,
3127 "is_pov": false
3128 },
3129 {
3130 "position_offset": 46,
3131 "field_name": "icmp.identifier",
3132 "field_msb": 15,
3133 "field_lsb": 0,
3134 "field_width": 2,
3135 "phv_msb": 15,
3136 "phv_lsb": 0,
3137 "is_compiler_generated": false,
3138 "is_pov": false
3139 }
3140 ],
3141 "word_bit_width": 16
3142 },
3143 {
3144 "phv_number": 328,
3145 "records": [
3146 {
3147 "position_offset": 6,
3148 "field_name": "arp.opcode",
3149 "field_msb": 15,
3150 "field_lsb": 0,
3151 "field_width": 2,
3152 "phv_msb": 15,
3153 "phv_lsb": 0,
3154 "is_compiler_generated": false,
3155 "is_pov": false
3156 },
3157 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003158 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003159 "field_name": "ipv4.flags",
3160 "field_msb": 15,
3161 "field_lsb": 0,
3162 "field_width": 2,
3163 "phv_msb": 15,
3164 "phv_lsb": 13,
3165 "is_compiler_generated": false,
3166 "is_pov": false
3167 },
3168 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003169 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003170 "field_name": "ipv4.frag_offset",
3171 "field_msb": 15,
3172 "field_lsb": 0,
3173 "field_width": 2,
3174 "phv_msb": 12,
3175 "phv_lsb": 0,
3176 "is_compiler_generated": false,
3177 "is_pov": false
3178 }
3179 ],
3180 "word_bit_width": 16
3181 },
3182 {
3183 "phv_number": 329,
3184 "records": [
3185 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003186 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003187 "field_name": "ipv4.total_len",
3188 "field_msb": 15,
3189 "field_lsb": 0,
3190 "field_width": 2,
3191 "phv_msb": 15,
3192 "phv_lsb": 0,
3193 "is_compiler_generated": false,
3194 "is_pov": false
3195 }
3196 ],
3197 "word_bit_width": 16
3198 },
3199 {
3200 "phv_number": 330,
3201 "records": [
3202 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003203 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003204 "field_name": "ipv4.identification",
3205 "field_msb": 15,
3206 "field_lsb": 0,
3207 "field_width": 2,
3208 "phv_msb": 15,
3209 "phv_lsb": 0,
3210 "is_compiler_generated": false,
3211 "is_pov": false
3212 }
3213 ],
3214 "word_bit_width": 16
3215 },
3216 {
3217 "phv_number": 331,
3218 "records": [
3219 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003220 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003221 "field_name": "tcp.dst_port",
3222 "field_msb": 15,
3223 "field_lsb": 0,
3224 "field_width": 2,
3225 "phv_msb": 15,
3226 "phv_lsb": 0,
3227 "is_compiler_generated": false,
3228 "is_pov": false
3229 },
3230 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003231 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003232 "field_name": "udp.len",
3233 "field_msb": 15,
3234 "field_lsb": 0,
3235 "field_width": 2,
3236 "phv_msb": 15,
3237 "phv_lsb": 0,
3238 "is_compiler_generated": false,
3239 "is_pov": false
3240 },
3241 {
3242 "position_offset": 48,
3243 "field_name": "icmp.sequence_number",
3244 "field_msb": 15,
3245 "field_lsb": 0,
3246 "field_width": 2,
3247 "phv_msb": 15,
3248 "phv_lsb": 0,
3249 "is_compiler_generated": false,
3250 "is_pov": false
3251 }
3252 ],
3253 "word_bit_width": 16
3254 },
3255 {
3256 "phv_number": 338,
3257 "records": [
3258 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003259 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003260 "field_name": "tcp.window",
3261 "field_msb": 15,
3262 "field_lsb": 0,
3263 "field_width": 2,
3264 "phv_msb": 15,
3265 "phv_lsb": 0,
3266 "is_compiler_generated": false,
3267 "is_pov": false
3268 },
3269 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003270 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003271 "field_name": "udp.checksum",
3272 "field_msb": 15,
3273 "field_lsb": 0,
3274 "field_width": 2,
3275 "phv_msb": 15,
3276 "phv_lsb": 0,
3277 "is_compiler_generated": false,
3278 "is_pov": false
3279 }
3280 ],
3281 "word_bit_width": 16
3282 },
3283 {
3284 "phv_number": 339,
3285 "records": [
3286 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003287 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003288 "field_name": "tcp.checksum",
3289 "field_msb": 15,
3290 "field_lsb": 0,
3291 "field_width": 2,
3292 "phv_msb": 15,
3293 "phv_lsb": 0,
3294 "is_compiler_generated": false,
3295 "is_pov": false
3296 }
3297 ],
3298 "word_bit_width": 16
3299 },
3300 {
3301 "phv_number": 340,
3302 "records": [
3303 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08003304 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003305 "field_name": "tcp.urgent_ptr",
3306 "field_msb": 15,
3307 "field_lsb": 0,
3308 "field_width": 2,
3309 "phv_msb": 15,
3310 "phv_lsb": 0,
3311 "is_compiler_generated": false,
3312 "is_pov": false
3313 }
3314 ],
3315 "word_bit_width": 16
3316 }
3317 ],
3318 "egress": [
3319 {
3320 "phv_number": 80,
3321 "records": [
3322 {
3323 "position_offset": 0,
3324 "field_name": "POV",
3325 "field_msb": 7,
3326 "field_lsb": 0,
3327 "field_width": 0,
3328 "phv_msb": 0,
3329 "phv_lsb": 0,
3330 "is_compiler_generated": false,
3331 "is_pov": true,
3332 "pov_headers": [
3333 {
3334 "bit_index": 0,
3335 "position_offset": 0,
3336 "header_name": "arp",
3337 "hidden": false
3338 }
3339 ]
3340 },
3341 {
3342 "position_offset": 0,
3343 "field_name": "POV",
3344 "field_msb": 7,
3345 "field_lsb": 0,
3346 "field_width": 0,
3347 "phv_msb": 2,
3348 "phv_lsb": 2,
3349 "is_compiler_generated": false,
3350 "is_pov": true,
3351 "pov_headers": [
3352 {
3353 "bit_index": 2,
3354 "position_offset": 11,
3355 "header_name": "ethernet",
3356 "hidden": false
3357 }
3358 ]
3359 },
3360 {
3361 "position_offset": 0,
3362 "field_name": "POV",
3363 "field_msb": 7,
3364 "field_lsb": 0,
3365 "field_width": 0,
3366 "phv_msb": 3,
3367 "phv_lsb": 3,
3368 "is_compiler_generated": false,
3369 "is_pov": true,
3370 "pov_headers": [
3371 {
3372 "bit_index": 3,
3373 "position_offset": 26,
3374 "header_name": "icmp",
3375 "hidden": false
3376 }
3377 ]
3378 },
3379 {
3380 "position_offset": 0,
3381 "field_name": "POV",
3382 "field_msb": 7,
3383 "field_lsb": 0,
3384 "field_width": 0,
3385 "phv_msb": 5,
3386 "phv_lsb": 5,
3387 "is_compiler_generated": false,
3388 "is_pov": true,
3389 "pov_headers": [
3390 {
3391 "bit_index": 5,
3392 "position_offset": 45,
3393 "header_name": "ipv4",
3394 "hidden": false
3395 }
3396 ]
3397 },
3398 {
3399 "position_offset": 0,
3400 "field_name": "POV",
3401 "field_msb": 7,
3402 "field_lsb": 0,
3403 "field_width": 0,
3404 "phv_msb": 6,
3405 "phv_lsb": 6,
3406 "is_compiler_generated": false,
3407 "is_pov": true,
3408 "pov_headers": [
3409 {
3410 "bit_index": 6,
3411 "position_offset": 67,
3412 "header_name": "mpls",
3413 "hidden": false
3414 }
3415 ]
3416 },
3417 {
3418 "position_offset": 0,
3419 "field_name": "POV",
3420 "field_msb": 7,
3421 "field_lsb": 0,
3422 "field_width": 0,
3423 "phv_msb": 7,
3424 "phv_lsb": 7,
3425 "is_compiler_generated": false,
3426 "is_pov": true,
3427 "pov_headers": [
3428 {
3429 "bit_index": 7,
3430 "position_offset": 73,
3431 "header_name": "packet_in",
3432 "hidden": false
3433 }
3434 ]
3435 }
3436 ],
3437 "word_bit_width": 8
3438 },
3439 {
3440 "phv_number": 81,
3441 "records": [
3442 {
3443 "position_offset": 0,
3444 "field_name": "POV",
3445 "field_msb": 7,
3446 "field_lsb": 0,
3447 "field_width": 0,
3448 "phv_msb": 0,
3449 "phv_lsb": 0,
3450 "is_compiler_generated": false,
3451 "is_pov": true,
3452 "pov_headers": [
3453 {
3454 "bit_index": 0,
3455 "position_offset": 78,
3456 "header_name": "tcp",
3457 "hidden": false
3458 }
3459 ]
3460 },
3461 {
3462 "position_offset": 0,
3463 "field_name": "POV",
3464 "field_msb": 7,
3465 "field_lsb": 0,
3466 "field_width": 0,
3467 "phv_msb": 1,
3468 "phv_lsb": 1,
3469 "is_compiler_generated": false,
3470 "is_pov": true,
3471 "pov_headers": [
3472 {
3473 "bit_index": 1,
3474 "position_offset": 105,
3475 "header_name": "udp",
3476 "hidden": false
3477 }
3478 ]
3479 },
3480 {
3481 "position_offset": 0,
3482 "field_name": "POV",
3483 "field_msb": 7,
3484 "field_lsb": 0,
3485 "field_width": 0,
3486 "phv_msb": 2,
3487 "phv_lsb": 2,
3488 "is_compiler_generated": false,
3489 "is_pov": true,
3490 "pov_headers": [
3491 {
3492 "bit_index": 2,
3493 "position_offset": 114,
3494 "header_name": "vlan_tag",
3495 "hidden": false
3496 }
3497 ]
3498 }
3499 ],
3500 "word_bit_width": 8
3501 },
3502 {
3503 "phv_number": 144,
3504 "records": [
3505 {
3506 "position_offset": 9,
3507 "field_name": "eg_intr_md.egress_port",
3508 "field_msb": 15,
3509 "field_lsb": 0,
3510 "field_width": 2,
3511 "phv_msb": 8,
3512 "phv_lsb": 0,
3513 "is_compiler_generated": false,
3514 "is_pov": false
3515 }
3516 ],
3517 "word_bit_width": 16
3518 },
3519 {
3520 "phv_number": 145,
3521 "records": [
3522 {
3523 "position_offset": 76,
3524 "field_name": "packet_in.ingress_port",
3525 "field_msb": 15,
3526 "field_lsb": 0,
3527 "field_width": 2,
3528 "phv_msb": 15,
3529 "phv_lsb": 7,
3530 "is_compiler_generated": false,
3531 "is_pov": false
3532 },
3533 {
3534 "position_offset": 74,
3535 "field_name": "packet_in._pad",
3536 "field_msb": 15,
3537 "field_lsb": 0,
3538 "field_width": 2,
3539 "phv_msb": 6,
3540 "phv_lsb": 0,
3541 "is_compiler_generated": false,
3542 "is_pov": false
3543 }
3544 ],
3545 "word_bit_width": 16
3546 },
3547 {
3548 "phv_number": 146,
3549 "records": [
3550 {
3551 "position_offset": 43,
3552 "field_name": "ig_intr_md.ingress_port",
3553 "field_msb": 15,
3554 "field_lsb": 0,
3555 "field_width": 2,
3556 "phv_msb": 8,
3557 "phv_lsb": 0,
3558 "is_compiler_generated": false,
3559 "is_pov": false
3560 }
3561 ],
3562 "word_bit_width": 16
3563 },
3564 {
3565 "phv_number": 256,
3566 "records": [
3567 {
3568 "position_offset": 12,
3569 "field_name": "ethernet.dst_addr",
3570 "field_msb": 47,
3571 "field_lsb": 16,
3572 "field_width": 6,
3573 "phv_msb": 31,
3574 "phv_lsb": 0,
3575 "is_compiler_generated": false,
3576 "is_pov": false
3577 }
3578 ],
3579 "word_bit_width": 32
3580 },
3581 {
3582 "phv_number": 257,
3583 "records": [
3584 {
3585 "position_offset": 20,
3586 "field_name": "ethernet.src_addr",
3587 "field_msb": 47,
3588 "field_lsb": 16,
3589 "field_width": 6,
3590 "phv_msb": 31,
3591 "phv_lsb": 0,
3592 "is_compiler_generated": false,
3593 "is_pov": false
3594 }
3595 ],
3596 "word_bit_width": 32
3597 },
3598 {
3599 "phv_number": 258,
3600 "records": [
3601 {
3602 "position_offset": 59,
3603 "field_name": "ipv4.src_addr",
3604 "field_msb": 31,
3605 "field_lsb": 0,
3606 "field_width": 4,
3607 "phv_msb": 31,
3608 "phv_lsb": 0,
3609 "is_compiler_generated": false,
3610 "is_pov": false
3611 }
3612 ],
3613 "word_bit_width": 32
3614 },
3615 {
3616 "phv_number": 259,
3617 "records": [
3618 {
3619 "position_offset": 47,
3620 "field_name": "ipv4.dst_addr",
3621 "field_msb": 31,
3622 "field_lsb": 0,
3623 "field_width": 4,
3624 "phv_msb": 31,
3625 "phv_lsb": 0,
3626 "is_compiler_generated": false,
3627 "is_pov": false
3628 }
3629 ],
3630 "word_bit_width": 32
3631 },
3632 {
3633 "phv_number": 264,
3634 "records": [
3635 {
3636 "position_offset": 95,
3637 "field_name": "tcp.seq_no",
3638 "field_msb": 31,
3639 "field_lsb": 0,
3640 "field_width": 4,
3641 "phv_msb": 31,
3642 "phv_lsb": 0,
3643 "is_compiler_generated": false,
3644 "is_pov": false
3645 },
3646 {
3647 "position_offset": 35,
3648 "field_name": "icmp.timestamp",
3649 "field_msb": 31,
3650 "field_lsb": 0,
3651 "field_width": 8,
3652 "phv_msb": 31,
3653 "phv_lsb": 0,
3654 "is_compiler_generated": false,
3655 "is_pov": false
3656 }
3657 ],
3658 "word_bit_width": 32
3659 },
3660 {
3661 "phv_number": 265,
3662 "records": [
3663 {
3664 "position_offset": 79,
3665 "field_name": "tcp.ack_no",
3666 "field_msb": 31,
3667 "field_lsb": 0,
3668 "field_width": 4,
3669 "phv_msb": 31,
3670 "phv_lsb": 0,
3671 "is_compiler_generated": false,
3672 "is_pov": false
3673 },
3674 {
3675 "position_offset": 35,
3676 "field_name": "icmp.timestamp",
3677 "field_msb": 63,
3678 "field_lsb": 32,
3679 "field_width": 8,
3680 "phv_msb": 31,
3681 "phv_lsb": 0,
3682 "is_compiler_generated": false,
3683 "is_pov": false
3684 }
3685 ],
3686 "word_bit_width": 32
3687 },
3688 {
3689 "phv_number": 288,
3690 "records": [
3691 {
3692 "position_offset": 1,
3693 "field_name": "arp.hw_addr_len",
3694 "field_msb": 7,
3695 "field_lsb": 0,
3696 "field_width": 1,
3697 "phv_msb": 7,
3698 "phv_lsb": 0,
3699 "is_compiler_generated": false,
3700 "is_pov": false
3701 },
3702 {
3703 "position_offset": 66,
3704 "field_name": "ipv4.version",
3705 "field_msb": 7,
3706 "field_lsb": 0,
3707 "field_width": 1,
3708 "phv_msb": 7,
3709 "phv_lsb": 4,
3710 "is_compiler_generated": false,
3711 "is_pov": false
3712 },
3713 {
3714 "position_offset": 57,
3715 "field_name": "ipv4.ihl",
3716 "field_msb": 7,
3717 "field_lsb": 0,
3718 "field_width": 1,
3719 "phv_msb": 3,
3720 "phv_lsb": 0,
3721 "is_compiler_generated": false,
3722 "is_pov": false
3723 }
3724 ],
3725 "word_bit_width": 8
3726 },
3727 {
3728 "phv_number": 289,
3729 "records": [
3730 {
3731 "position_offset": 6,
3732 "field_name": "arp.proto_addr_len",
3733 "field_msb": 7,
3734 "field_lsb": 0,
3735 "field_width": 1,
3736 "phv_msb": 7,
3737 "phv_lsb": 0,
3738 "is_compiler_generated": false,
3739 "is_pov": false
3740 },
3741 {
3742 "position_offset": 30,
3743 "field_name": "icmp.icmp_type",
3744 "field_msb": 7,
3745 "field_lsb": 0,
3746 "field_width": 1,
3747 "phv_msb": 7,
3748 "phv_lsb": 0,
3749 "is_compiler_generated": false,
3750 "is_pov": false
3751 }
3752 ],
3753 "word_bit_width": 8
3754 },
3755 {
3756 "phv_number": 290,
3757 "records": [
3758 {
3759 "position_offset": 46,
3760 "field_name": "ipv4.diffserv",
3761 "field_msb": 7,
3762 "field_lsb": 0,
3763 "field_width": 1,
3764 "phv_msb": 7,
3765 "phv_lsb": 0,
3766 "is_compiler_generated": false,
3767 "is_pov": false
3768 }
3769 ],
3770 "word_bit_width": 8
3771 },
3772 {
3773 "phv_number": 291,
3774 "records": [
3775 {
3776 "position_offset": 29,
3777 "field_name": "icmp.icmp_code",
3778 "field_msb": 7,
3779 "field_lsb": 0,
3780 "field_width": 1,
3781 "phv_msb": 7,
3782 "phv_lsb": 0,
3783 "is_compiler_generated": false,
3784 "is_pov": false
3785 }
3786 ],
3787 "word_bit_width": 8
3788 },
3789 {
3790 "phv_number": 296,
3791 "records": [
3792 {
3793 "position_offset": 69,
3794 "field_name": "mpls.label",
3795 "field_msb": 3,
3796 "field_lsb": 0,
3797 "field_width": 2,
3798 "phv_msb": 7,
3799 "phv_lsb": 4,
3800 "is_compiler_generated": false,
3801 "is_pov": false
3802 },
3803 {
3804 "position_offset": 71,
3805 "field_name": "mpls.tc",
3806 "field_msb": 7,
3807 "field_lsb": 0,
3808 "field_width": 1,
3809 "phv_msb": 3,
3810 "phv_lsb": 1,
3811 "is_compiler_generated": false,
3812 "is_pov": false
3813 },
3814 {
3815 "position_offset": 68,
3816 "field_name": "mpls.bos",
3817 "field_msb": 7,
3818 "field_lsb": 0,
3819 "field_width": 1,
3820 "phv_msb": 0,
3821 "phv_lsb": 0,
3822 "is_compiler_generated": false,
3823 "is_pov": false
3824 }
3825 ],
3826 "word_bit_width": 8
3827 },
3828 {
3829 "phv_number": 297,
3830 "records": [
3831 {
3832 "position_offset": 65,
3833 "field_name": "ipv4.ttl",
3834 "field_msb": 7,
3835 "field_lsb": 0,
3836 "field_width": 1,
3837 "phv_msb": 7,
3838 "phv_lsb": 0,
3839 "is_compiler_generated": false,
3840 "is_pov": false
3841 }
3842 ],
3843 "word_bit_width": 8
3844 },
3845 {
3846 "phv_number": 298,
3847 "records": [
3848 {
3849 "position_offset": 58,
3850 "field_name": "ipv4.protocol",
3851 "field_msb": 7,
3852 "field_lsb": 0,
3853 "field_width": 1,
3854 "phv_msb": 7,
3855 "phv_lsb": 0,
3856 "is_compiler_generated": false,
3857 "is_pov": false
3858 }
3859 ],
3860 "word_bit_width": 8
3861 },
3862 {
3863 "phv_number": 299,
3864 "records": [
3865 {
3866 "position_offset": 72,
3867 "field_name": "mpls.ttl",
3868 "field_msb": 7,
3869 "field_lsb": 0,
3870 "field_width": 1,
3871 "phv_msb": 7,
3872 "phv_lsb": 0,
3873 "is_compiler_generated": false,
3874 "is_pov": false
3875 }
3876 ],
3877 "word_bit_width": 8
3878 },
3879 {
3880 "phv_number": 320,
3881 "records": [
3882 {
3883 "position_offset": 119,
3884 "field_name": "vlan_tag.pri",
3885 "field_msb": 15,
3886 "field_lsb": 0,
3887 "field_width": 2,
3888 "phv_msb": 15,
3889 "phv_lsb": 13,
3890 "is_compiler_generated": false,
3891 "is_pov": false
3892 },
3893 {
3894 "position_offset": 115,
3895 "field_name": "vlan_tag.cfi",
3896 "field_msb": 15,
3897 "field_lsb": 0,
3898 "field_width": 2,
3899 "phv_msb": 12,
3900 "phv_lsb": 12,
3901 "is_compiler_generated": false,
3902 "is_pov": false
3903 },
3904 {
3905 "position_offset": 121,
3906 "field_name": "vlan_tag.vlan_id",
3907 "field_msb": 15,
3908 "field_lsb": 0,
3909 "field_width": 2,
3910 "phv_msb": 11,
3911 "phv_lsb": 0,
3912 "is_compiler_generated": false,
3913 "is_pov": false
3914 }
3915 ],
3916 "word_bit_width": 16
3917 },
3918 {
3919 "phv_number": 321,
3920 "records": [
3921 {
3922 "position_offset": 2,
3923 "field_name": "arp.hw_type",
3924 "field_msb": 15,
3925 "field_lsb": 0,
3926 "field_width": 2,
3927 "phv_msb": 15,
3928 "phv_lsb": 0,
3929 "is_compiler_generated": false,
3930 "is_pov": false
3931 },
3932 {
3933 "position_offset": 99,
3934 "field_name": "tcp.src_port",
3935 "field_msb": 15,
3936 "field_lsb": 0,
3937 "field_width": 2,
3938 "phv_msb": 15,
3939 "phv_lsb": 0,
3940 "is_compiler_generated": false,
3941 "is_pov": false
3942 },
3943 {
3944 "position_offset": 112,
3945 "field_name": "udp.src_port",
3946 "field_msb": 15,
3947 "field_lsb": 0,
3948 "field_width": 2,
3949 "phv_msb": 15,
3950 "phv_lsb": 0,
3951 "is_compiler_generated": false,
3952 "is_pov": false
3953 },
3954 {
3955 "position_offset": 27,
3956 "field_name": "icmp.checksum",
3957 "field_msb": 15,
3958 "field_lsb": 0,
3959 "field_width": 2,
3960 "phv_msb": 15,
3961 "phv_lsb": 0,
3962 "is_compiler_generated": false,
3963 "is_pov": false
3964 }
3965 ],
3966 "word_bit_width": 16
3967 },
3968 {
3969 "phv_number": 322,
3970 "records": [
3971 {
3972 "position_offset": 7,
3973 "field_name": "arp.proto_type",
3974 "field_msb": 15,
3975 "field_lsb": 0,
3976 "field_width": 2,
3977 "phv_msb": 15,
3978 "phv_lsb": 0,
3979 "is_compiler_generated": false,
3980 "is_pov": false
3981 },
3982 {
3983 "position_offset": 69,
3984 "field_name": "mpls.label",
3985 "field_msb": 19,
3986 "field_lsb": 4,
3987 "field_width": 2,
3988 "phv_msb": 15,
3989 "phv_lsb": 0,
3990 "is_compiler_generated": false,
3991 "is_pov": false
3992 }
3993 ],
3994 "word_bit_width": 16
3995 },
3996 {
3997 "phv_number": 323,
3998 "records": [
3999 {
4000 "position_offset": 4,
4001 "field_name": "arp.opcode",
4002 "field_msb": 15,
4003 "field_lsb": 0,
4004 "field_width": 2,
4005 "phv_msb": 15,
4006 "phv_lsb": 0,
4007 "is_compiler_generated": false,
4008 "is_pov": false
4009 },
4010 {
4011 "position_offset": 87,
4012 "field_name": "tcp.data_offset",
4013 "field_msb": 15,
4014 "field_lsb": 0,
4015 "field_width": 2,
4016 "phv_msb": 15,
4017 "phv_lsb": 12,
4018 "is_compiler_generated": false,
4019 "is_pov": false
4020 },
4021 {
4022 "position_offset": 93,
4023 "field_name": "tcp.res",
4024 "field_msb": 15,
4025 "field_lsb": 0,
4026 "field_width": 2,
4027 "phv_msb": 11,
4028 "phv_lsb": 9,
4029 "is_compiler_generated": false,
4030 "is_pov": false
4031 },
4032 {
4033 "position_offset": 91,
4034 "field_name": "tcp.ecn",
4035 "field_msb": 15,
4036 "field_lsb": 0,
4037 "field_width": 2,
4038 "phv_msb": 8,
4039 "phv_lsb": 6,
4040 "is_compiler_generated": false,
4041 "is_pov": false
4042 },
4043 {
4044 "position_offset": 85,
4045 "field_name": "tcp.ctrl",
4046 "field_msb": 15,
4047 "field_lsb": 0,
4048 "field_width": 2,
4049 "phv_msb": 5,
4050 "phv_lsb": 0,
4051 "is_compiler_generated": false,
4052 "is_pov": false
4053 },
4054 {
4055 "position_offset": 108,
4056 "field_name": "udp.dst_port",
4057 "field_msb": 15,
4058 "field_lsb": 0,
4059 "field_width": 2,
4060 "phv_msb": 15,
4061 "phv_lsb": 0,
4062 "is_compiler_generated": false,
4063 "is_pov": false
4064 },
4065 {
4066 "position_offset": 31,
4067 "field_name": "icmp.identifier",
4068 "field_msb": 15,
4069 "field_lsb": 0,
4070 "field_width": 2,
4071 "phv_msb": 15,
4072 "phv_lsb": 0,
4073 "is_compiler_generated": false,
4074 "is_pov": false
4075 }
4076 ],
4077 "word_bit_width": 16
4078 },
4079 {
4080 "phv_number": 324,
4081 "records": [
4082 {
4083 "position_offset": 51,
4084 "field_name": "ipv4.flags",
4085 "field_msb": 15,
4086 "field_lsb": 0,
4087 "field_width": 2,
4088 "phv_msb": 15,
4089 "phv_lsb": 13,
4090 "is_compiler_generated": false,
4091 "is_pov": false
4092 },
4093 {
4094 "position_offset": 53,
4095 "field_name": "ipv4.frag_offset",
4096 "field_msb": 15,
4097 "field_lsb": 0,
4098 "field_width": 2,
4099 "phv_msb": 12,
4100 "phv_lsb": 0,
4101 "is_compiler_generated": false,
4102 "is_pov": false
4103 }
4104 ],
4105 "word_bit_width": 16
4106 },
4107 {
4108 "phv_number": 325,
4109 "records": [
4110 {
4111 "position_offset": 12,
4112 "field_name": "ethernet.dst_addr",
4113 "field_msb": 15,
4114 "field_lsb": 0,
4115 "field_width": 6,
4116 "phv_msb": 15,
4117 "phv_lsb": 0,
4118 "is_compiler_generated": false,
4119 "is_pov": false
4120 }
4121 ],
4122 "word_bit_width": 16
4123 },
4124 {
4125 "phv_number": 332,
4126 "records": [
4127 {
4128 "position_offset": 20,
4129 "field_name": "ethernet.src_addr",
4130 "field_msb": 15,
4131 "field_lsb": 0,
4132 "field_width": 6,
4133 "phv_msb": 15,
4134 "phv_lsb": 0,
4135 "is_compiler_generated": false,
4136 "is_pov": false
4137 }
4138 ],
4139 "word_bit_width": 16
4140 },
4141 {
4142 "phv_number": 333,
4143 "records": [
4144 {
4145 "position_offset": 18,
4146 "field_name": "ethernet.ether_type",
4147 "field_msb": 15,
4148 "field_lsb": 0,
4149 "field_width": 2,
4150 "phv_msb": 15,
4151 "phv_lsb": 0,
4152 "is_compiler_generated": false,
4153 "is_pov": false
4154 }
4155 ],
4156 "word_bit_width": 16
4157 },
4158 {
4159 "phv_number": 334,
4160 "records": [
4161 {
4162 "position_offset": 117,
4163 "field_name": "vlan_tag.ether_type",
4164 "field_msb": 15,
4165 "field_lsb": 0,
4166 "field_width": 2,
4167 "phv_msb": 15,
4168 "phv_lsb": 0,
4169 "is_compiler_generated": false,
4170 "is_pov": false
4171 }
4172 ],
4173 "word_bit_width": 16
4174 },
4175 {
4176 "phv_number": 335,
4177 "records": [
4178 {
4179 "position_offset": 63,
4180 "field_name": "ipv4.total_len",
4181 "field_msb": 15,
4182 "field_lsb": 0,
4183 "field_width": 2,
4184 "phv_msb": 15,
4185 "phv_lsb": 0,
4186 "is_compiler_generated": false,
4187 "is_pov": false
4188 }
4189 ],
4190 "word_bit_width": 16
4191 },
4192 {
4193 "phv_number": 336,
4194 "records": [
4195 {
4196 "position_offset": 55,
4197 "field_name": "ipv4.identification",
4198 "field_msb": 15,
4199 "field_lsb": 0,
4200 "field_width": 2,
4201 "phv_msb": 15,
4202 "phv_lsb": 0,
4203 "is_compiler_generated": false,
4204 "is_pov": false
4205 }
4206 ],
4207 "word_bit_width": 16
4208 },
4209 {
4210 "phv_number": 337,
4211 "records": [
4212 {
4213 "position_offset": 89,
4214 "field_name": "tcp.dst_port",
4215 "field_msb": 15,
4216 "field_lsb": 0,
4217 "field_width": 2,
4218 "phv_msb": 15,
4219 "phv_lsb": 0,
4220 "is_compiler_generated": false,
4221 "is_pov": false
4222 },
4223 {
4224 "position_offset": 110,
4225 "field_name": "udp.len",
4226 "field_msb": 15,
4227 "field_lsb": 0,
4228 "field_width": 2,
4229 "phv_msb": 15,
4230 "phv_lsb": 0,
4231 "is_compiler_generated": false,
4232 "is_pov": false
4233 },
4234 {
4235 "position_offset": 33,
4236 "field_name": "icmp.sequence_number",
4237 "field_msb": 15,
4238 "field_lsb": 0,
4239 "field_width": 2,
4240 "phv_msb": 15,
4241 "phv_lsb": 0,
4242 "is_compiler_generated": false,
4243 "is_pov": false
4244 }
4245 ],
4246 "word_bit_width": 16
4247 },
4248 {
4249 "phv_number": 344,
4250 "records": [
4251 {
4252 "position_offset": 103,
4253 "field_name": "tcp.window",
4254 "field_msb": 15,
4255 "field_lsb": 0,
4256 "field_width": 2,
4257 "phv_msb": 15,
4258 "phv_lsb": 0,
4259 "is_compiler_generated": false,
4260 "is_pov": false
4261 },
4262 {
4263 "position_offset": 106,
4264 "field_name": "udp.checksum",
4265 "field_msb": 15,
4266 "field_lsb": 0,
4267 "field_width": 2,
4268 "phv_msb": 15,
4269 "phv_lsb": 0,
4270 "is_compiler_generated": false,
4271 "is_pov": false
4272 }
4273 ],
4274 "word_bit_width": 16
4275 },
4276 {
4277 "phv_number": 345,
4278 "records": [
4279 {
4280 "position_offset": 83,
4281 "field_name": "tcp.checksum",
4282 "field_msb": 15,
4283 "field_lsb": 0,
4284 "field_width": 2,
4285 "phv_msb": 15,
4286 "phv_lsb": 0,
4287 "is_compiler_generated": false,
4288 "is_pov": false
4289 }
4290 ],
4291 "word_bit_width": 16
4292 },
4293 {
4294 "phv_number": 346,
4295 "records": [
4296 {
4297 "position_offset": 101,
4298 "field_name": "tcp.urgent_ptr",
4299 "field_msb": 15,
4300 "field_lsb": 0,
4301 "field_width": 2,
4302 "phv_msb": 15,
4303 "phv_lsb": 0,
4304 "is_compiler_generated": false,
4305 "is_pov": false
4306 }
4307 ],
4308 "word_bit_width": 16
4309 }
4310 ],
4311 "stage_number": 1
4312 },
4313 {
4314 "ingress": [
4315 {
4316 "phv_number": 0,
4317 "records": [
4318 {
4319 "position_offset": 12,
4320 "field_name": "ethernet.dst_addr",
4321 "field_msb": 47,
4322 "field_lsb": 16,
4323 "field_width": 6,
4324 "phv_msb": 31,
4325 "phv_lsb": 0,
4326 "is_compiler_generated": false,
4327 "is_pov": false
4328 }
4329 ],
4330 "word_bit_width": 32
4331 },
4332 {
4333 "phv_number": 1,
4334 "records": [
4335 {
4336 "position_offset": 20,
4337 "field_name": "ethernet.src_addr",
4338 "field_msb": 47,
4339 "field_lsb": 16,
4340 "field_width": 6,
4341 "phv_msb": 31,
4342 "phv_lsb": 0,
4343 "is_compiler_generated": false,
4344 "is_pov": false
4345 }
4346 ],
4347 "word_bit_width": 32
4348 },
4349 {
4350 "phv_number": 2,
4351 "records": [
4352 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004353 "position_offset": 80,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004354 "field_name": "ipv4.src_addr",
4355 "field_msb": 31,
4356 "field_lsb": 0,
4357 "field_width": 4,
4358 "phv_msb": 31,
4359 "phv_lsb": 0,
4360 "is_compiler_generated": false,
4361 "is_pov": false
4362 }
4363 ],
4364 "word_bit_width": 32
4365 },
4366 {
4367 "phv_number": 3,
4368 "records": [
4369 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004370 "position_offset": 68,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004371 "field_name": "ipv4.dst_addr",
4372 "field_msb": 31,
4373 "field_lsb": 0,
4374 "field_width": 4,
4375 "phv_msb": 31,
4376 "phv_lsb": 0,
4377 "is_compiler_generated": false,
4378 "is_pov": false
4379 }
4380 ],
4381 "word_bit_width": 32
4382 },
4383 {
4384 "phv_number": 4,
4385 "records": [
4386 {
4387 "position_offset": 33,
4388 "field_name": "fabric_metadata.next_id",
4389 "field_msb": 31,
4390 "field_lsb": 0,
4391 "field_width": 4,
4392 "phv_msb": 31,
4393 "phv_lsb": 0,
4394 "is_compiler_generated": false,
4395 "is_pov": false
4396 }
4397 ],
4398 "word_bit_width": 32
4399 },
4400 {
4401 "phv_number": 64,
4402 "records": [
4403 {
4404 "position_offset": 45,
4405 "field_name": "icmp.icmp_type",
4406 "field_msb": 7,
4407 "field_lsb": 0,
4408 "field_width": 1,
4409 "phv_msb": 7,
4410 "phv_lsb": 0,
4411 "is_compiler_generated": false,
4412 "is_pov": false
4413 }
4414 ],
4415 "word_bit_width": 8
4416 },
4417 {
4418 "phv_number": 65,
4419 "records": [
4420 {
4421 "position_offset": 44,
4422 "field_name": "icmp.icmp_code",
4423 "field_msb": 7,
4424 "field_lsb": 0,
4425 "field_width": 1,
4426 "phv_msb": 7,
4427 "phv_lsb": 0,
4428 "is_compiler_generated": false,
4429 "is_pov": false
4430 }
4431 ],
4432 "word_bit_width": 8
4433 },
4434 {
4435 "phv_number": 66,
4436 "records": [
4437 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004438 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004439 "field_name": "mpls.label",
4440 "field_msb": 3,
4441 "field_lsb": 0,
4442 "field_width": 2,
4443 "phv_msb": 7,
4444 "phv_lsb": 4,
4445 "is_compiler_generated": false,
4446 "is_pov": false
4447 },
4448 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004449 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004450 "field_name": "mpls.tc",
4451 "field_msb": 7,
4452 "field_lsb": 0,
4453 "field_width": 1,
4454 "phv_msb": 3,
4455 "phv_lsb": 1,
4456 "is_compiler_generated": false,
4457 "is_pov": false
4458 },
4459 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004460 "position_offset": 89,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004461 "field_name": "mpls.bos",
4462 "field_msb": 7,
4463 "field_lsb": 0,
4464 "field_width": 1,
4465 "phv_msb": 0,
4466 "phv_lsb": 0,
4467 "is_compiler_generated": false,
4468 "is_pov": false
4469 }
4470 ],
4471 "word_bit_width": 8
4472 },
4473 {
4474 "phv_number": 67,
4475 "records": [
4476 {
4477 "position_offset": 1,
4478 "field_name": "$bridged_metadata_indicator",
4479 "field_msb": 7,
4480 "field_lsb": 0,
4481 "field_width": 1,
4482 "phv_msb": 7,
4483 "phv_lsb": 0,
4484 "is_compiler_generated": false,
4485 "is_pov": false
4486 }
4487 ],
4488 "word_bit_width": 8
4489 },
4490 {
4491 "phv_number": 68,
4492 "records": [
4493 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004494 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004495 "field_name": "ipv4.ttl",
4496 "field_msb": 7,
4497 "field_lsb": 0,
4498 "field_width": 1,
4499 "phv_msb": 7,
4500 "phv_lsb": 0,
4501 "is_compiler_generated": false,
4502 "is_pov": false
4503 }
4504 ],
4505 "word_bit_width": 8
4506 },
4507 {
4508 "phv_number": 69,
4509 "records": [
4510 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004511 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004512 "field_name": "mpls.ttl",
4513 "field_msb": 7,
4514 "field_lsb": 0,
4515 "field_width": 1,
4516 "phv_msb": 7,
4517 "phv_lsb": 0,
4518 "is_compiler_generated": false,
4519 "is_pov": false
4520 }
4521 ],
4522 "word_bit_width": 8
4523 },
4524 {
4525 "phv_number": 70,
4526 "records": [
4527 {
4528 "position_offset": 28,
4529 "field_name": "fabric_metadata.ip_proto",
4530 "field_msb": 7,
4531 "field_lsb": 0,
4532 "field_width": 1,
4533 "phv_msb": 7,
4534 "phv_lsb": 0,
4535 "is_compiler_generated": false,
4536 "is_pov": false
4537 }
4538 ],
4539 "word_bit_width": 8
4540 },
4541 {
4542 "phv_number": 71,
4543 "records": [
4544 {
4545 "position_offset": 0,
4546 "field_name": "$always_deparse",
4547 "field_msb": 7,
4548 "field_lsb": 0,
4549 "field_width": 1,
4550 "phv_msb": 0,
4551 "phv_lsb": 0,
4552 "is_compiler_generated": false,
4553 "is_pov": false
4554 },
4555 {
4556 "position_offset": 40,
4557 "field_name": "hasExited_0",
4558 "field_msb": 7,
4559 "field_lsb": 0,
4560 "field_width": 1,
4561 "phv_msb": 4,
4562 "phv_lsb": 4,
4563 "is_compiler_generated": false,
4564 "is_pov": false
4565 },
4566 {
4567 "position_offset": 0,
4568 "field_name": "POV",
4569 "field_msb": 7,
4570 "field_lsb": 0,
4571 "field_width": 0,
4572 "phv_msb": 1,
4573 "phv_lsb": 1,
4574 "is_compiler_generated": false,
4575 "is_pov": true,
4576 "pov_headers": [
4577 {
4578 "bit_index": 1,
4579 "position_offset": 2,
4580 "header_name": "arp",
4581 "hidden": false
4582 }
4583 ]
4584 },
4585 {
4586 "position_offset": 0,
4587 "field_name": "POV",
4588 "field_msb": 7,
4589 "field_lsb": 0,
4590 "field_width": 0,
4591 "phv_msb": 2,
4592 "phv_lsb": 2,
4593 "is_compiler_generated": false,
4594 "is_pov": true,
4595 "pov_headers": [
4596 {
4597 "bit_index": 2,
4598 "position_offset": 11,
4599 "header_name": "ethernet",
4600 "hidden": false
4601 }
4602 ]
4603 },
4604 {
4605 "position_offset": 0,
4606 "field_name": "POV",
4607 "field_msb": 7,
4608 "field_lsb": 0,
4609 "field_width": 0,
4610 "phv_msb": 3,
4611 "phv_lsb": 3,
4612 "is_compiler_generated": false,
4613 "is_pov": true,
4614 "pov_headers": [
4615 {
4616 "bit_index": 3,
4617 "position_offset": 41,
4618 "header_name": "icmp",
4619 "hidden": false
4620 }
4621 ]
4622 },
4623 {
4624 "position_offset": 0,
4625 "field_name": "POV",
4626 "field_msb": 7,
4627 "field_lsb": 0,
4628 "field_width": 0,
4629 "phv_msb": 5,
4630 "phv_lsb": 5,
4631 "is_compiler_generated": false,
4632 "is_pov": true,
4633 "pov_headers": [
4634 {
4635 "bit_index": 5,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004636 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004637 "header_name": "ipv4",
4638 "hidden": false
4639 }
4640 ]
4641 },
4642 {
4643 "position_offset": 0,
4644 "field_name": "POV",
4645 "field_msb": 7,
4646 "field_lsb": 0,
4647 "field_width": 0,
4648 "phv_msb": 6,
4649 "phv_lsb": 6,
4650 "is_compiler_generated": false,
4651 "is_pov": true,
4652 "pov_headers": [
4653 {
4654 "bit_index": 6,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004655 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004656 "header_name": "mpls",
4657 "hidden": false
4658 }
4659 ]
4660 },
4661 {
4662 "position_offset": 0,
4663 "field_name": "POV",
4664 "field_msb": 7,
4665 "field_lsb": 0,
4666 "field_width": 0,
4667 "phv_msb": 7,
4668 "phv_lsb": 7,
4669 "is_compiler_generated": false,
4670 "is_pov": true,
4671 "pov_headers": [
4672 {
4673 "bit_index": 7,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004674 "position_offset": 94,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004675 "header_name": "packet_out",
4676 "hidden": false
4677 }
4678 ]
4679 }
4680 ],
4681 "word_bit_width": 8
4682 },
4683 {
4684 "phv_number": 72,
4685 "records": [
4686 {
4687 "position_offset": 39,
4688 "field_name": "fabric_metadata.pop_vlan_at_egress",
4689 "field_msb": 7,
4690 "field_lsb": 0,
4691 "field_width": 1,
4692 "phv_msb": 3,
4693 "phv_lsb": 3,
4694 "is_compiler_generated": false,
4695 "is_pov": false
4696 },
4697 {
4698 "position_offset": 0,
4699 "field_name": "POV",
4700 "field_msb": 7,
4701 "field_lsb": 0,
4702 "field_width": 0,
4703 "phv_msb": 0,
4704 "phv_lsb": 0,
4705 "is_compiler_generated": false,
4706 "is_pov": true,
4707 "pov_headers": [
4708 {
4709 "bit_index": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004710 "position_offset": 97,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004711 "header_name": "tcp",
4712 "hidden": false
4713 }
4714 ]
4715 },
4716 {
4717 "position_offset": 0,
4718 "field_name": "POV",
4719 "field_msb": 7,
4720 "field_lsb": 0,
4721 "field_width": 0,
4722 "phv_msb": 1,
4723 "phv_lsb": 1,
4724 "is_compiler_generated": false,
4725 "is_pov": true,
4726 "pov_headers": [
4727 {
4728 "bit_index": 1,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004729 "position_offset": 124,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004730 "header_name": "udp",
4731 "hidden": false
4732 }
4733 ]
4734 },
4735 {
4736 "position_offset": 0,
4737 "field_name": "POV",
4738 "field_msb": 7,
4739 "field_lsb": 0,
4740 "field_width": 0,
4741 "phv_msb": 2,
4742 "phv_lsb": 2,
4743 "is_compiler_generated": false,
4744 "is_pov": true,
4745 "pov_headers": [
4746 {
4747 "bit_index": 2,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004748 "position_offset": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004749 "header_name": "vlan_tag",
4750 "hidden": false
4751 }
4752 ]
4753 }
4754 ],
4755 "word_bit_width": 8
4756 },
4757 {
4758 "phv_number": 128,
4759 "records": [
4760 {
4761 "position_offset": 62,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004762 "field_name": "ig_intr_md_for_tm.mcast_grp_a",
4763 "field_msb": 15,
4764 "field_lsb": 0,
4765 "field_width": 2,
4766 "phv_msb": 15,
4767 "phv_lsb": 0,
4768 "is_compiler_generated": false,
4769 "is_pov": false
4770 }
4771 ],
4772 "word_bit_width": 16
4773 },
4774 {
4775 "phv_number": 129,
4776 "records": [
4777 {
4778 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004779 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
4780 "field_msb": 15,
4781 "field_lsb": 0,
4782 "field_width": 2,
4783 "phv_msb": 8,
4784 "phv_lsb": 0,
4785 "is_compiler_generated": false,
4786 "is_pov": false
4787 }
4788 ],
4789 "word_bit_width": 16
4790 },
4791 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004792 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004793 "records": [
4794 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004795 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004796 "field_name": "packet_out.egress_port",
4797 "field_msb": 15,
4798 "field_lsb": 0,
4799 "field_width": 2,
4800 "phv_msb": 15,
4801 "phv_lsb": 7,
4802 "is_compiler_generated": false,
4803 "is_pov": false
4804 },
4805 {
4806 "position_offset": 26,
4807 "field_name": "fabric_metadata.fwd_type",
4808 "field_msb": 15,
4809 "field_lsb": 0,
4810 "field_width": 2,
4811 "phv_msb": 5,
4812 "phv_lsb": 3,
4813 "is_compiler_generated": false,
4814 "is_pov": false
4815 },
4816 {
4817 "position_offset": 60,
4818 "field_name": "ig_intr_md_for_tm.drop_ctl",
4819 "field_msb": 15,
4820 "field_lsb": 0,
4821 "field_width": 2,
4822 "phv_msb": 2,
4823 "phv_lsb": 0,
4824 "is_compiler_generated": false,
4825 "is_pov": false
4826 }
4827 ],
4828 "word_bit_width": 16
4829 },
4830 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004831 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004832 "records": [
4833 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004834 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004835 "field_name": "vlan_tag.pri",
4836 "field_msb": 15,
4837 "field_lsb": 0,
4838 "field_width": 2,
4839 "phv_msb": 15,
4840 "phv_lsb": 13,
4841 "is_compiler_generated": false,
4842 "is_pov": false
4843 },
4844 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004845 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004846 "field_name": "vlan_tag.cfi",
4847 "field_msb": 15,
4848 "field_lsb": 0,
4849 "field_width": 2,
4850 "phv_msb": 12,
4851 "phv_lsb": 12,
4852 "is_compiler_generated": false,
4853 "is_pov": false
4854 },
4855 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004856 "position_offset": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004857 "field_name": "vlan_tag.vlan_id",
4858 "field_msb": 15,
4859 "field_lsb": 0,
4860 "field_width": 2,
4861 "phv_msb": 11,
4862 "phv_lsb": 0,
4863 "is_compiler_generated": false,
4864 "is_pov": false
4865 }
4866 ],
4867 "word_bit_width": 16
4868 },
4869 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004870 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004871 "records": [
4872 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004873 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004874 "field_name": "mpls.label",
4875 "field_msb": 19,
4876 "field_lsb": 4,
4877 "field_width": 2,
4878 "phv_msb": 15,
4879 "phv_lsb": 0,
4880 "is_compiler_generated": false,
4881 "is_pov": false
4882 }
4883 ],
4884 "word_bit_width": 16
4885 },
4886 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004887 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004888 "records": [
4889 {
4890 "position_offset": 58,
4891 "field_name": "ig_intr_md.ingress_port",
4892 "field_msb": 15,
4893 "field_lsb": 0,
4894 "field_width": 2,
4895 "phv_msb": 8,
4896 "phv_lsb": 0,
4897 "is_compiler_generated": false,
4898 "is_pov": false
4899 }
4900 ],
4901 "word_bit_width": 16
4902 },
4903 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004904 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004905 "records": [
4906 {
4907 "position_offset": 31,
4908 "field_name": "fabric_metadata.l4_src_port",
4909 "field_msb": 15,
4910 "field_lsb": 0,
4911 "field_width": 2,
4912 "phv_msb": 15,
4913 "phv_lsb": 0,
4914 "is_compiler_generated": false,
4915 "is_pov": false
4916 }
4917 ],
4918 "word_bit_width": 16
4919 },
4920 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004921 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004922 "records": [
4923 {
4924 "position_offset": 18,
4925 "field_name": "ethernet.ether_type",
4926 "field_msb": 15,
4927 "field_lsb": 0,
4928 "field_width": 2,
4929 "phv_msb": 15,
4930 "phv_lsb": 0,
4931 "is_compiler_generated": false,
4932 "is_pov": false
4933 }
4934 ],
4935 "word_bit_width": 16
4936 },
4937 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004938 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004939 "records": [
4940 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004941 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004942 "field_name": "vlan_tag.ether_type",
4943 "field_msb": 15,
4944 "field_lsb": 0,
4945 "field_width": 2,
4946 "phv_msb": 15,
4947 "phv_lsb": 0,
4948 "is_compiler_generated": false,
4949 "is_pov": false
4950 }
4951 ],
4952 "word_bit_width": 16
4953 },
4954 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004955 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004956 "records": [
4957 {
4958 "position_offset": 12,
4959 "field_name": "ethernet.dst_addr",
4960 "field_msb": 15,
4961 "field_lsb": 0,
4962 "field_width": 6,
4963 "phv_msb": 15,
4964 "phv_lsb": 0,
4965 "is_compiler_generated": false,
4966 "is_pov": false
4967 }
4968 ],
4969 "word_bit_width": 16
4970 },
4971 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004972 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004973 "records": [
4974 {
4975 "position_offset": 20,
4976 "field_name": "ethernet.src_addr",
4977 "field_msb": 15,
4978 "field_lsb": 0,
4979 "field_width": 6,
4980 "phv_msb": 15,
4981 "phv_lsb": 0,
4982 "is_compiler_generated": false,
4983 "is_pov": false
4984 }
4985 ],
4986 "word_bit_width": 16
4987 },
4988 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08004989 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004990 "records": [
4991 {
4992 "position_offset": 29,
4993 "field_name": "fabric_metadata.l4_dst_port",
4994 "field_msb": 15,
4995 "field_lsb": 0,
4996 "field_width": 2,
4997 "phv_msb": 15,
4998 "phv_lsb": 0,
4999 "is_compiler_generated": false,
5000 "is_pov": false
5001 }
5002 ],
5003 "word_bit_width": 16
5004 },
5005 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005006 "phv_number": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005007 "records": [
5008 {
5009 "position_offset": 37,
5010 "field_name": "fabric_metadata.original_ether_type",
5011 "field_msb": 15,
5012 "field_lsb": 0,
5013 "field_width": 2,
5014 "phv_msb": 15,
5015 "phv_lsb": 0,
5016 "is_compiler_generated": false,
5017 "is_pov": false
5018 }
5019 ],
5020 "word_bit_width": 16
5021 },
5022 {
5023 "phv_number": 260,
5024 "records": [
5025 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005026 "position_offset": 114,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005027 "field_name": "tcp.seq_no",
5028 "field_msb": 31,
5029 "field_lsb": 0,
5030 "field_width": 4,
5031 "phv_msb": 31,
5032 "phv_lsb": 0,
5033 "is_compiler_generated": false,
5034 "is_pov": false
5035 },
5036 {
5037 "position_offset": 50,
5038 "field_name": "icmp.timestamp",
5039 "field_msb": 31,
5040 "field_lsb": 0,
5041 "field_width": 8,
5042 "phv_msb": 31,
5043 "phv_lsb": 0,
5044 "is_compiler_generated": false,
5045 "is_pov": false
5046 }
5047 ],
5048 "word_bit_width": 32
5049 },
5050 {
5051 "phv_number": 261,
5052 "records": [
5053 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005054 "position_offset": 98,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005055 "field_name": "tcp.ack_no",
5056 "field_msb": 31,
5057 "field_lsb": 0,
5058 "field_width": 4,
5059 "phv_msb": 31,
5060 "phv_lsb": 0,
5061 "is_compiler_generated": false,
5062 "is_pov": false
5063 },
5064 {
5065 "position_offset": 50,
5066 "field_name": "icmp.timestamp",
5067 "field_msb": 63,
5068 "field_lsb": 32,
5069 "field_width": 8,
5070 "phv_msb": 31,
5071 "phv_lsb": 0,
5072 "is_compiler_generated": false,
5073 "is_pov": false
5074 }
5075 ],
5076 "word_bit_width": 32
5077 },
5078 {
5079 "phv_number": 292,
5080 "records": [
5081 {
5082 "position_offset": 3,
5083 "field_name": "arp.hw_addr_len",
5084 "field_msb": 7,
5085 "field_lsb": 0,
5086 "field_width": 1,
5087 "phv_msb": 7,
5088 "phv_lsb": 0,
5089 "is_compiler_generated": false,
5090 "is_pov": false
5091 },
5092 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005093 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005094 "field_name": "ipv4.version",
5095 "field_msb": 7,
5096 "field_lsb": 0,
5097 "field_width": 1,
5098 "phv_msb": 7,
5099 "phv_lsb": 4,
5100 "is_compiler_generated": false,
5101 "is_pov": false
5102 },
5103 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005104 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005105 "field_name": "ipv4.ihl",
5106 "field_msb": 7,
5107 "field_lsb": 0,
5108 "field_width": 1,
5109 "phv_msb": 3,
5110 "phv_lsb": 0,
5111 "is_compiler_generated": false,
5112 "is_pov": false
5113 }
5114 ],
5115 "word_bit_width": 8
5116 },
5117 {
5118 "phv_number": 293,
5119 "records": [
5120 {
5121 "position_offset": 8,
5122 "field_name": "arp.proto_addr_len",
5123 "field_msb": 7,
5124 "field_lsb": 0,
5125 "field_width": 1,
5126 "phv_msb": 7,
5127 "phv_lsb": 0,
5128 "is_compiler_generated": false,
5129 "is_pov": false
5130 },
5131 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005132 "position_offset": 67,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005133 "field_name": "ipv4.diffserv",
5134 "field_msb": 7,
5135 "field_lsb": 0,
5136 "field_width": 1,
5137 "phv_msb": 7,
5138 "phv_lsb": 0,
5139 "is_compiler_generated": false,
5140 "is_pov": false
5141 }
5142 ],
5143 "word_bit_width": 8
5144 },
5145 {
5146 "phv_number": 294,
5147 "records": [
5148 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005149 "position_offset": 79,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005150 "field_name": "ipv4.protocol",
5151 "field_msb": 7,
5152 "field_lsb": 0,
5153 "field_width": 1,
5154 "phv_msb": 7,
5155 "phv_lsb": 0,
5156 "is_compiler_generated": false,
5157 "is_pov": false
5158 }
5159 ],
5160 "word_bit_width": 8
5161 },
5162 {
5163 "phv_number": 326,
5164 "records": [
5165 {
5166 "position_offset": 4,
5167 "field_name": "arp.hw_type",
5168 "field_msb": 15,
5169 "field_lsb": 0,
5170 "field_width": 2,
5171 "phv_msb": 15,
5172 "phv_lsb": 0,
5173 "is_compiler_generated": false,
5174 "is_pov": false
5175 },
5176 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005177 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005178 "field_name": "tcp.data_offset",
5179 "field_msb": 15,
5180 "field_lsb": 0,
5181 "field_width": 2,
5182 "phv_msb": 15,
5183 "phv_lsb": 12,
5184 "is_compiler_generated": false,
5185 "is_pov": false
5186 },
5187 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005188 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005189 "field_name": "tcp.res",
5190 "field_msb": 15,
5191 "field_lsb": 0,
5192 "field_width": 2,
5193 "phv_msb": 11,
5194 "phv_lsb": 9,
5195 "is_compiler_generated": false,
5196 "is_pov": false
5197 },
5198 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005199 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005200 "field_name": "tcp.ecn",
5201 "field_msb": 15,
5202 "field_lsb": 0,
5203 "field_width": 2,
5204 "phv_msb": 8,
5205 "phv_lsb": 6,
5206 "is_compiler_generated": false,
5207 "is_pov": false
5208 },
5209 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005210 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005211 "field_name": "tcp.ctrl",
5212 "field_msb": 15,
5213 "field_lsb": 0,
5214 "field_width": 2,
5215 "phv_msb": 5,
5216 "phv_lsb": 0,
5217 "is_compiler_generated": false,
5218 "is_pov": false
5219 },
5220 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005221 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005222 "field_name": "udp.src_port",
5223 "field_msb": 15,
5224 "field_lsb": 0,
5225 "field_width": 2,
5226 "phv_msb": 15,
5227 "phv_lsb": 0,
5228 "is_compiler_generated": false,
5229 "is_pov": false
5230 },
5231 {
5232 "position_offset": 42,
5233 "field_name": "icmp.checksum",
5234 "field_msb": 15,
5235 "field_lsb": 0,
5236 "field_width": 2,
5237 "phv_msb": 15,
5238 "phv_lsb": 0,
5239 "is_compiler_generated": false,
5240 "is_pov": false
5241 }
5242 ],
5243 "word_bit_width": 16
5244 },
5245 {
5246 "phv_number": 327,
5247 "records": [
5248 {
5249 "position_offset": 9,
5250 "field_name": "arp.proto_type",
5251 "field_msb": 15,
5252 "field_lsb": 0,
5253 "field_width": 2,
5254 "phv_msb": 15,
5255 "phv_lsb": 0,
5256 "is_compiler_generated": false,
5257 "is_pov": false
5258 },
5259 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005260 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005261 "field_name": "tcp.src_port",
5262 "field_msb": 15,
5263 "field_lsb": 0,
5264 "field_width": 2,
5265 "phv_msb": 15,
5266 "phv_lsb": 0,
5267 "is_compiler_generated": false,
5268 "is_pov": false
5269 },
5270 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005271 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005272 "field_name": "udp.dst_port",
5273 "field_msb": 15,
5274 "field_lsb": 0,
5275 "field_width": 2,
5276 "phv_msb": 15,
5277 "phv_lsb": 0,
5278 "is_compiler_generated": false,
5279 "is_pov": false
5280 },
5281 {
5282 "position_offset": 46,
5283 "field_name": "icmp.identifier",
5284 "field_msb": 15,
5285 "field_lsb": 0,
5286 "field_width": 2,
5287 "phv_msb": 15,
5288 "phv_lsb": 0,
5289 "is_compiler_generated": false,
5290 "is_pov": false
5291 }
5292 ],
5293 "word_bit_width": 16
5294 },
5295 {
5296 "phv_number": 328,
5297 "records": [
5298 {
5299 "position_offset": 6,
5300 "field_name": "arp.opcode",
5301 "field_msb": 15,
5302 "field_lsb": 0,
5303 "field_width": 2,
5304 "phv_msb": 15,
5305 "phv_lsb": 0,
5306 "is_compiler_generated": false,
5307 "is_pov": false
5308 },
5309 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005310 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005311 "field_name": "ipv4.flags",
5312 "field_msb": 15,
5313 "field_lsb": 0,
5314 "field_width": 2,
5315 "phv_msb": 15,
5316 "phv_lsb": 13,
5317 "is_compiler_generated": false,
5318 "is_pov": false
5319 },
5320 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005321 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005322 "field_name": "ipv4.frag_offset",
5323 "field_msb": 15,
5324 "field_lsb": 0,
5325 "field_width": 2,
5326 "phv_msb": 12,
5327 "phv_lsb": 0,
5328 "is_compiler_generated": false,
5329 "is_pov": false
5330 }
5331 ],
5332 "word_bit_width": 16
5333 },
5334 {
5335 "phv_number": 329,
5336 "records": [
5337 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005338 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005339 "field_name": "ipv4.total_len",
5340 "field_msb": 15,
5341 "field_lsb": 0,
5342 "field_width": 2,
5343 "phv_msb": 15,
5344 "phv_lsb": 0,
5345 "is_compiler_generated": false,
5346 "is_pov": false
5347 }
5348 ],
5349 "word_bit_width": 16
5350 },
5351 {
5352 "phv_number": 330,
5353 "records": [
5354 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005355 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005356 "field_name": "ipv4.identification",
5357 "field_msb": 15,
5358 "field_lsb": 0,
5359 "field_width": 2,
5360 "phv_msb": 15,
5361 "phv_lsb": 0,
5362 "is_compiler_generated": false,
5363 "is_pov": false
5364 }
5365 ],
5366 "word_bit_width": 16
5367 },
5368 {
5369 "phv_number": 331,
5370 "records": [
5371 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005372 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005373 "field_name": "tcp.dst_port",
5374 "field_msb": 15,
5375 "field_lsb": 0,
5376 "field_width": 2,
5377 "phv_msb": 15,
5378 "phv_lsb": 0,
5379 "is_compiler_generated": false,
5380 "is_pov": false
5381 },
5382 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005383 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005384 "field_name": "udp.len",
5385 "field_msb": 15,
5386 "field_lsb": 0,
5387 "field_width": 2,
5388 "phv_msb": 15,
5389 "phv_lsb": 0,
5390 "is_compiler_generated": false,
5391 "is_pov": false
5392 },
5393 {
5394 "position_offset": 48,
5395 "field_name": "icmp.sequence_number",
5396 "field_msb": 15,
5397 "field_lsb": 0,
5398 "field_width": 2,
5399 "phv_msb": 15,
5400 "phv_lsb": 0,
5401 "is_compiler_generated": false,
5402 "is_pov": false
5403 }
5404 ],
5405 "word_bit_width": 16
5406 },
5407 {
5408 "phv_number": 338,
5409 "records": [
5410 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005411 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005412 "field_name": "tcp.window",
5413 "field_msb": 15,
5414 "field_lsb": 0,
5415 "field_width": 2,
5416 "phv_msb": 15,
5417 "phv_lsb": 0,
5418 "is_compiler_generated": false,
5419 "is_pov": false
5420 },
5421 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005422 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005423 "field_name": "udp.checksum",
5424 "field_msb": 15,
5425 "field_lsb": 0,
5426 "field_width": 2,
5427 "phv_msb": 15,
5428 "phv_lsb": 0,
5429 "is_compiler_generated": false,
5430 "is_pov": false
5431 }
5432 ],
5433 "word_bit_width": 16
5434 },
5435 {
5436 "phv_number": 339,
5437 "records": [
5438 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005439 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005440 "field_name": "tcp.checksum",
5441 "field_msb": 15,
5442 "field_lsb": 0,
5443 "field_width": 2,
5444 "phv_msb": 15,
5445 "phv_lsb": 0,
5446 "is_compiler_generated": false,
5447 "is_pov": false
5448 }
5449 ],
5450 "word_bit_width": 16
5451 },
5452 {
5453 "phv_number": 340,
5454 "records": [
5455 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08005456 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005457 "field_name": "tcp.urgent_ptr",
5458 "field_msb": 15,
5459 "field_lsb": 0,
5460 "field_width": 2,
5461 "phv_msb": 15,
5462 "phv_lsb": 0,
5463 "is_compiler_generated": false,
5464 "is_pov": false
5465 }
5466 ],
5467 "word_bit_width": 16
5468 }
5469 ],
5470 "egress": [
5471 {
5472 "phv_number": 80,
5473 "records": [
5474 {
5475 "position_offset": 0,
5476 "field_name": "POV",
5477 "field_msb": 7,
5478 "field_lsb": 0,
5479 "field_width": 0,
5480 "phv_msb": 0,
5481 "phv_lsb": 0,
5482 "is_compiler_generated": false,
5483 "is_pov": true,
5484 "pov_headers": [
5485 {
5486 "bit_index": 0,
5487 "position_offset": 0,
5488 "header_name": "arp",
5489 "hidden": false
5490 }
5491 ]
5492 },
5493 {
5494 "position_offset": 0,
5495 "field_name": "POV",
5496 "field_msb": 7,
5497 "field_lsb": 0,
5498 "field_width": 0,
5499 "phv_msb": 2,
5500 "phv_lsb": 2,
5501 "is_compiler_generated": false,
5502 "is_pov": true,
5503 "pov_headers": [
5504 {
5505 "bit_index": 2,
5506 "position_offset": 11,
5507 "header_name": "ethernet",
5508 "hidden": false
5509 }
5510 ]
5511 },
5512 {
5513 "position_offset": 0,
5514 "field_name": "POV",
5515 "field_msb": 7,
5516 "field_lsb": 0,
5517 "field_width": 0,
5518 "phv_msb": 3,
5519 "phv_lsb": 3,
5520 "is_compiler_generated": false,
5521 "is_pov": true,
5522 "pov_headers": [
5523 {
5524 "bit_index": 3,
5525 "position_offset": 26,
5526 "header_name": "icmp",
5527 "hidden": false
5528 }
5529 ]
5530 },
5531 {
5532 "position_offset": 0,
5533 "field_name": "POV",
5534 "field_msb": 7,
5535 "field_lsb": 0,
5536 "field_width": 0,
5537 "phv_msb": 5,
5538 "phv_lsb": 5,
5539 "is_compiler_generated": false,
5540 "is_pov": true,
5541 "pov_headers": [
5542 {
5543 "bit_index": 5,
5544 "position_offset": 45,
5545 "header_name": "ipv4",
5546 "hidden": false
5547 }
5548 ]
5549 },
5550 {
5551 "position_offset": 0,
5552 "field_name": "POV",
5553 "field_msb": 7,
5554 "field_lsb": 0,
5555 "field_width": 0,
5556 "phv_msb": 6,
5557 "phv_lsb": 6,
5558 "is_compiler_generated": false,
5559 "is_pov": true,
5560 "pov_headers": [
5561 {
5562 "bit_index": 6,
5563 "position_offset": 67,
5564 "header_name": "mpls",
5565 "hidden": false
5566 }
5567 ]
5568 },
5569 {
5570 "position_offset": 0,
5571 "field_name": "POV",
5572 "field_msb": 7,
5573 "field_lsb": 0,
5574 "field_width": 0,
5575 "phv_msb": 7,
5576 "phv_lsb": 7,
5577 "is_compiler_generated": false,
5578 "is_pov": true,
5579 "pov_headers": [
5580 {
5581 "bit_index": 7,
5582 "position_offset": 73,
5583 "header_name": "packet_in",
5584 "hidden": false
5585 }
5586 ]
5587 }
5588 ],
5589 "word_bit_width": 8
5590 },
5591 {
5592 "phv_number": 81,
5593 "records": [
5594 {
5595 "position_offset": 0,
5596 "field_name": "POV",
5597 "field_msb": 7,
5598 "field_lsb": 0,
5599 "field_width": 0,
5600 "phv_msb": 0,
5601 "phv_lsb": 0,
5602 "is_compiler_generated": false,
5603 "is_pov": true,
5604 "pov_headers": [
5605 {
5606 "bit_index": 0,
5607 "position_offset": 78,
5608 "header_name": "tcp",
5609 "hidden": false
5610 }
5611 ]
5612 },
5613 {
5614 "position_offset": 0,
5615 "field_name": "POV",
5616 "field_msb": 7,
5617 "field_lsb": 0,
5618 "field_width": 0,
5619 "phv_msb": 1,
5620 "phv_lsb": 1,
5621 "is_compiler_generated": false,
5622 "is_pov": true,
5623 "pov_headers": [
5624 {
5625 "bit_index": 1,
5626 "position_offset": 105,
5627 "header_name": "udp",
5628 "hidden": false
5629 }
5630 ]
5631 },
5632 {
5633 "position_offset": 0,
5634 "field_name": "POV",
5635 "field_msb": 7,
5636 "field_lsb": 0,
5637 "field_width": 0,
5638 "phv_msb": 2,
5639 "phv_lsb": 2,
5640 "is_compiler_generated": false,
5641 "is_pov": true,
5642 "pov_headers": [
5643 {
5644 "bit_index": 2,
5645 "position_offset": 114,
5646 "header_name": "vlan_tag",
5647 "hidden": false
5648 }
5649 ]
5650 }
5651 ],
5652 "word_bit_width": 8
5653 },
5654 {
5655 "phv_number": 144,
5656 "records": [
5657 {
5658 "position_offset": 9,
5659 "field_name": "eg_intr_md.egress_port",
5660 "field_msb": 15,
5661 "field_lsb": 0,
5662 "field_width": 2,
5663 "phv_msb": 8,
5664 "phv_lsb": 0,
5665 "is_compiler_generated": false,
5666 "is_pov": false
5667 }
5668 ],
5669 "word_bit_width": 16
5670 },
5671 {
5672 "phv_number": 145,
5673 "records": [
5674 {
5675 "position_offset": 76,
5676 "field_name": "packet_in.ingress_port",
5677 "field_msb": 15,
5678 "field_lsb": 0,
5679 "field_width": 2,
5680 "phv_msb": 15,
5681 "phv_lsb": 7,
5682 "is_compiler_generated": false,
5683 "is_pov": false
5684 },
5685 {
5686 "position_offset": 74,
5687 "field_name": "packet_in._pad",
5688 "field_msb": 15,
5689 "field_lsb": 0,
5690 "field_width": 2,
5691 "phv_msb": 6,
5692 "phv_lsb": 0,
5693 "is_compiler_generated": false,
5694 "is_pov": false
5695 }
5696 ],
5697 "word_bit_width": 16
5698 },
5699 {
5700 "phv_number": 146,
5701 "records": [
5702 {
5703 "position_offset": 43,
5704 "field_name": "ig_intr_md.ingress_port",
5705 "field_msb": 15,
5706 "field_lsb": 0,
5707 "field_width": 2,
5708 "phv_msb": 8,
5709 "phv_lsb": 0,
5710 "is_compiler_generated": false,
5711 "is_pov": false
5712 }
5713 ],
5714 "word_bit_width": 16
5715 },
5716 {
5717 "phv_number": 256,
5718 "records": [
5719 {
5720 "position_offset": 12,
5721 "field_name": "ethernet.dst_addr",
5722 "field_msb": 47,
5723 "field_lsb": 16,
5724 "field_width": 6,
5725 "phv_msb": 31,
5726 "phv_lsb": 0,
5727 "is_compiler_generated": false,
5728 "is_pov": false
5729 }
5730 ],
5731 "word_bit_width": 32
5732 },
5733 {
5734 "phv_number": 257,
5735 "records": [
5736 {
5737 "position_offset": 20,
5738 "field_name": "ethernet.src_addr",
5739 "field_msb": 47,
5740 "field_lsb": 16,
5741 "field_width": 6,
5742 "phv_msb": 31,
5743 "phv_lsb": 0,
5744 "is_compiler_generated": false,
5745 "is_pov": false
5746 }
5747 ],
5748 "word_bit_width": 32
5749 },
5750 {
5751 "phv_number": 258,
5752 "records": [
5753 {
5754 "position_offset": 59,
5755 "field_name": "ipv4.src_addr",
5756 "field_msb": 31,
5757 "field_lsb": 0,
5758 "field_width": 4,
5759 "phv_msb": 31,
5760 "phv_lsb": 0,
5761 "is_compiler_generated": false,
5762 "is_pov": false
5763 }
5764 ],
5765 "word_bit_width": 32
5766 },
5767 {
5768 "phv_number": 259,
5769 "records": [
5770 {
5771 "position_offset": 47,
5772 "field_name": "ipv4.dst_addr",
5773 "field_msb": 31,
5774 "field_lsb": 0,
5775 "field_width": 4,
5776 "phv_msb": 31,
5777 "phv_lsb": 0,
5778 "is_compiler_generated": false,
5779 "is_pov": false
5780 }
5781 ],
5782 "word_bit_width": 32
5783 },
5784 {
5785 "phv_number": 264,
5786 "records": [
5787 {
5788 "position_offset": 95,
5789 "field_name": "tcp.seq_no",
5790 "field_msb": 31,
5791 "field_lsb": 0,
5792 "field_width": 4,
5793 "phv_msb": 31,
5794 "phv_lsb": 0,
5795 "is_compiler_generated": false,
5796 "is_pov": false
5797 },
5798 {
5799 "position_offset": 35,
5800 "field_name": "icmp.timestamp",
5801 "field_msb": 31,
5802 "field_lsb": 0,
5803 "field_width": 8,
5804 "phv_msb": 31,
5805 "phv_lsb": 0,
5806 "is_compiler_generated": false,
5807 "is_pov": false
5808 }
5809 ],
5810 "word_bit_width": 32
5811 },
5812 {
5813 "phv_number": 265,
5814 "records": [
5815 {
5816 "position_offset": 79,
5817 "field_name": "tcp.ack_no",
5818 "field_msb": 31,
5819 "field_lsb": 0,
5820 "field_width": 4,
5821 "phv_msb": 31,
5822 "phv_lsb": 0,
5823 "is_compiler_generated": false,
5824 "is_pov": false
5825 },
5826 {
5827 "position_offset": 35,
5828 "field_name": "icmp.timestamp",
5829 "field_msb": 63,
5830 "field_lsb": 32,
5831 "field_width": 8,
5832 "phv_msb": 31,
5833 "phv_lsb": 0,
5834 "is_compiler_generated": false,
5835 "is_pov": false
5836 }
5837 ],
5838 "word_bit_width": 32
5839 },
5840 {
5841 "phv_number": 288,
5842 "records": [
5843 {
5844 "position_offset": 1,
5845 "field_name": "arp.hw_addr_len",
5846 "field_msb": 7,
5847 "field_lsb": 0,
5848 "field_width": 1,
5849 "phv_msb": 7,
5850 "phv_lsb": 0,
5851 "is_compiler_generated": false,
5852 "is_pov": false
5853 },
5854 {
5855 "position_offset": 66,
5856 "field_name": "ipv4.version",
5857 "field_msb": 7,
5858 "field_lsb": 0,
5859 "field_width": 1,
5860 "phv_msb": 7,
5861 "phv_lsb": 4,
5862 "is_compiler_generated": false,
5863 "is_pov": false
5864 },
5865 {
5866 "position_offset": 57,
5867 "field_name": "ipv4.ihl",
5868 "field_msb": 7,
5869 "field_lsb": 0,
5870 "field_width": 1,
5871 "phv_msb": 3,
5872 "phv_lsb": 0,
5873 "is_compiler_generated": false,
5874 "is_pov": false
5875 }
5876 ],
5877 "word_bit_width": 8
5878 },
5879 {
5880 "phv_number": 289,
5881 "records": [
5882 {
5883 "position_offset": 6,
5884 "field_name": "arp.proto_addr_len",
5885 "field_msb": 7,
5886 "field_lsb": 0,
5887 "field_width": 1,
5888 "phv_msb": 7,
5889 "phv_lsb": 0,
5890 "is_compiler_generated": false,
5891 "is_pov": false
5892 },
5893 {
5894 "position_offset": 30,
5895 "field_name": "icmp.icmp_type",
5896 "field_msb": 7,
5897 "field_lsb": 0,
5898 "field_width": 1,
5899 "phv_msb": 7,
5900 "phv_lsb": 0,
5901 "is_compiler_generated": false,
5902 "is_pov": false
5903 }
5904 ],
5905 "word_bit_width": 8
5906 },
5907 {
5908 "phv_number": 290,
5909 "records": [
5910 {
5911 "position_offset": 46,
5912 "field_name": "ipv4.diffserv",
5913 "field_msb": 7,
5914 "field_lsb": 0,
5915 "field_width": 1,
5916 "phv_msb": 7,
5917 "phv_lsb": 0,
5918 "is_compiler_generated": false,
5919 "is_pov": false
5920 }
5921 ],
5922 "word_bit_width": 8
5923 },
5924 {
5925 "phv_number": 291,
5926 "records": [
5927 {
5928 "position_offset": 29,
5929 "field_name": "icmp.icmp_code",
5930 "field_msb": 7,
5931 "field_lsb": 0,
5932 "field_width": 1,
5933 "phv_msb": 7,
5934 "phv_lsb": 0,
5935 "is_compiler_generated": false,
5936 "is_pov": false
5937 }
5938 ],
5939 "word_bit_width": 8
5940 },
5941 {
5942 "phv_number": 296,
5943 "records": [
5944 {
5945 "position_offset": 69,
5946 "field_name": "mpls.label",
5947 "field_msb": 3,
5948 "field_lsb": 0,
5949 "field_width": 2,
5950 "phv_msb": 7,
5951 "phv_lsb": 4,
5952 "is_compiler_generated": false,
5953 "is_pov": false
5954 },
5955 {
5956 "position_offset": 71,
5957 "field_name": "mpls.tc",
5958 "field_msb": 7,
5959 "field_lsb": 0,
5960 "field_width": 1,
5961 "phv_msb": 3,
5962 "phv_lsb": 1,
5963 "is_compiler_generated": false,
5964 "is_pov": false
5965 },
5966 {
5967 "position_offset": 68,
5968 "field_name": "mpls.bos",
5969 "field_msb": 7,
5970 "field_lsb": 0,
5971 "field_width": 1,
5972 "phv_msb": 0,
5973 "phv_lsb": 0,
5974 "is_compiler_generated": false,
5975 "is_pov": false
5976 }
5977 ],
5978 "word_bit_width": 8
5979 },
5980 {
5981 "phv_number": 297,
5982 "records": [
5983 {
5984 "position_offset": 65,
5985 "field_name": "ipv4.ttl",
5986 "field_msb": 7,
5987 "field_lsb": 0,
5988 "field_width": 1,
5989 "phv_msb": 7,
5990 "phv_lsb": 0,
5991 "is_compiler_generated": false,
5992 "is_pov": false
5993 }
5994 ],
5995 "word_bit_width": 8
5996 },
5997 {
5998 "phv_number": 298,
5999 "records": [
6000 {
6001 "position_offset": 58,
6002 "field_name": "ipv4.protocol",
6003 "field_msb": 7,
6004 "field_lsb": 0,
6005 "field_width": 1,
6006 "phv_msb": 7,
6007 "phv_lsb": 0,
6008 "is_compiler_generated": false,
6009 "is_pov": false
6010 }
6011 ],
6012 "word_bit_width": 8
6013 },
6014 {
6015 "phv_number": 299,
6016 "records": [
6017 {
6018 "position_offset": 72,
6019 "field_name": "mpls.ttl",
6020 "field_msb": 7,
6021 "field_lsb": 0,
6022 "field_width": 1,
6023 "phv_msb": 7,
6024 "phv_lsb": 0,
6025 "is_compiler_generated": false,
6026 "is_pov": false
6027 }
6028 ],
6029 "word_bit_width": 8
6030 },
6031 {
6032 "phv_number": 320,
6033 "records": [
6034 {
6035 "position_offset": 119,
6036 "field_name": "vlan_tag.pri",
6037 "field_msb": 15,
6038 "field_lsb": 0,
6039 "field_width": 2,
6040 "phv_msb": 15,
6041 "phv_lsb": 13,
6042 "is_compiler_generated": false,
6043 "is_pov": false
6044 },
6045 {
6046 "position_offset": 115,
6047 "field_name": "vlan_tag.cfi",
6048 "field_msb": 15,
6049 "field_lsb": 0,
6050 "field_width": 2,
6051 "phv_msb": 12,
6052 "phv_lsb": 12,
6053 "is_compiler_generated": false,
6054 "is_pov": false
6055 },
6056 {
6057 "position_offset": 121,
6058 "field_name": "vlan_tag.vlan_id",
6059 "field_msb": 15,
6060 "field_lsb": 0,
6061 "field_width": 2,
6062 "phv_msb": 11,
6063 "phv_lsb": 0,
6064 "is_compiler_generated": false,
6065 "is_pov": false
6066 }
6067 ],
6068 "word_bit_width": 16
6069 },
6070 {
6071 "phv_number": 321,
6072 "records": [
6073 {
6074 "position_offset": 2,
6075 "field_name": "arp.hw_type",
6076 "field_msb": 15,
6077 "field_lsb": 0,
6078 "field_width": 2,
6079 "phv_msb": 15,
6080 "phv_lsb": 0,
6081 "is_compiler_generated": false,
6082 "is_pov": false
6083 },
6084 {
6085 "position_offset": 99,
6086 "field_name": "tcp.src_port",
6087 "field_msb": 15,
6088 "field_lsb": 0,
6089 "field_width": 2,
6090 "phv_msb": 15,
6091 "phv_lsb": 0,
6092 "is_compiler_generated": false,
6093 "is_pov": false
6094 },
6095 {
6096 "position_offset": 112,
6097 "field_name": "udp.src_port",
6098 "field_msb": 15,
6099 "field_lsb": 0,
6100 "field_width": 2,
6101 "phv_msb": 15,
6102 "phv_lsb": 0,
6103 "is_compiler_generated": false,
6104 "is_pov": false
6105 },
6106 {
6107 "position_offset": 27,
6108 "field_name": "icmp.checksum",
6109 "field_msb": 15,
6110 "field_lsb": 0,
6111 "field_width": 2,
6112 "phv_msb": 15,
6113 "phv_lsb": 0,
6114 "is_compiler_generated": false,
6115 "is_pov": false
6116 }
6117 ],
6118 "word_bit_width": 16
6119 },
6120 {
6121 "phv_number": 322,
6122 "records": [
6123 {
6124 "position_offset": 7,
6125 "field_name": "arp.proto_type",
6126 "field_msb": 15,
6127 "field_lsb": 0,
6128 "field_width": 2,
6129 "phv_msb": 15,
6130 "phv_lsb": 0,
6131 "is_compiler_generated": false,
6132 "is_pov": false
6133 },
6134 {
6135 "position_offset": 69,
6136 "field_name": "mpls.label",
6137 "field_msb": 19,
6138 "field_lsb": 4,
6139 "field_width": 2,
6140 "phv_msb": 15,
6141 "phv_lsb": 0,
6142 "is_compiler_generated": false,
6143 "is_pov": false
6144 }
6145 ],
6146 "word_bit_width": 16
6147 },
6148 {
6149 "phv_number": 323,
6150 "records": [
6151 {
6152 "position_offset": 4,
6153 "field_name": "arp.opcode",
6154 "field_msb": 15,
6155 "field_lsb": 0,
6156 "field_width": 2,
6157 "phv_msb": 15,
6158 "phv_lsb": 0,
6159 "is_compiler_generated": false,
6160 "is_pov": false
6161 },
6162 {
6163 "position_offset": 87,
6164 "field_name": "tcp.data_offset",
6165 "field_msb": 15,
6166 "field_lsb": 0,
6167 "field_width": 2,
6168 "phv_msb": 15,
6169 "phv_lsb": 12,
6170 "is_compiler_generated": false,
6171 "is_pov": false
6172 },
6173 {
6174 "position_offset": 93,
6175 "field_name": "tcp.res",
6176 "field_msb": 15,
6177 "field_lsb": 0,
6178 "field_width": 2,
6179 "phv_msb": 11,
6180 "phv_lsb": 9,
6181 "is_compiler_generated": false,
6182 "is_pov": false
6183 },
6184 {
6185 "position_offset": 91,
6186 "field_name": "tcp.ecn",
6187 "field_msb": 15,
6188 "field_lsb": 0,
6189 "field_width": 2,
6190 "phv_msb": 8,
6191 "phv_lsb": 6,
6192 "is_compiler_generated": false,
6193 "is_pov": false
6194 },
6195 {
6196 "position_offset": 85,
6197 "field_name": "tcp.ctrl",
6198 "field_msb": 15,
6199 "field_lsb": 0,
6200 "field_width": 2,
6201 "phv_msb": 5,
6202 "phv_lsb": 0,
6203 "is_compiler_generated": false,
6204 "is_pov": false
6205 },
6206 {
6207 "position_offset": 108,
6208 "field_name": "udp.dst_port",
6209 "field_msb": 15,
6210 "field_lsb": 0,
6211 "field_width": 2,
6212 "phv_msb": 15,
6213 "phv_lsb": 0,
6214 "is_compiler_generated": false,
6215 "is_pov": false
6216 },
6217 {
6218 "position_offset": 31,
6219 "field_name": "icmp.identifier",
6220 "field_msb": 15,
6221 "field_lsb": 0,
6222 "field_width": 2,
6223 "phv_msb": 15,
6224 "phv_lsb": 0,
6225 "is_compiler_generated": false,
6226 "is_pov": false
6227 }
6228 ],
6229 "word_bit_width": 16
6230 },
6231 {
6232 "phv_number": 324,
6233 "records": [
6234 {
6235 "position_offset": 51,
6236 "field_name": "ipv4.flags",
6237 "field_msb": 15,
6238 "field_lsb": 0,
6239 "field_width": 2,
6240 "phv_msb": 15,
6241 "phv_lsb": 13,
6242 "is_compiler_generated": false,
6243 "is_pov": false
6244 },
6245 {
6246 "position_offset": 53,
6247 "field_name": "ipv4.frag_offset",
6248 "field_msb": 15,
6249 "field_lsb": 0,
6250 "field_width": 2,
6251 "phv_msb": 12,
6252 "phv_lsb": 0,
6253 "is_compiler_generated": false,
6254 "is_pov": false
6255 }
6256 ],
6257 "word_bit_width": 16
6258 },
6259 {
6260 "phv_number": 325,
6261 "records": [
6262 {
6263 "position_offset": 12,
6264 "field_name": "ethernet.dst_addr",
6265 "field_msb": 15,
6266 "field_lsb": 0,
6267 "field_width": 6,
6268 "phv_msb": 15,
6269 "phv_lsb": 0,
6270 "is_compiler_generated": false,
6271 "is_pov": false
6272 }
6273 ],
6274 "word_bit_width": 16
6275 },
6276 {
6277 "phv_number": 332,
6278 "records": [
6279 {
6280 "position_offset": 20,
6281 "field_name": "ethernet.src_addr",
6282 "field_msb": 15,
6283 "field_lsb": 0,
6284 "field_width": 6,
6285 "phv_msb": 15,
6286 "phv_lsb": 0,
6287 "is_compiler_generated": false,
6288 "is_pov": false
6289 }
6290 ],
6291 "word_bit_width": 16
6292 },
6293 {
6294 "phv_number": 333,
6295 "records": [
6296 {
6297 "position_offset": 18,
6298 "field_name": "ethernet.ether_type",
6299 "field_msb": 15,
6300 "field_lsb": 0,
6301 "field_width": 2,
6302 "phv_msb": 15,
6303 "phv_lsb": 0,
6304 "is_compiler_generated": false,
6305 "is_pov": false
6306 }
6307 ],
6308 "word_bit_width": 16
6309 },
6310 {
6311 "phv_number": 334,
6312 "records": [
6313 {
6314 "position_offset": 117,
6315 "field_name": "vlan_tag.ether_type",
6316 "field_msb": 15,
6317 "field_lsb": 0,
6318 "field_width": 2,
6319 "phv_msb": 15,
6320 "phv_lsb": 0,
6321 "is_compiler_generated": false,
6322 "is_pov": false
6323 }
6324 ],
6325 "word_bit_width": 16
6326 },
6327 {
6328 "phv_number": 335,
6329 "records": [
6330 {
6331 "position_offset": 63,
6332 "field_name": "ipv4.total_len",
6333 "field_msb": 15,
6334 "field_lsb": 0,
6335 "field_width": 2,
6336 "phv_msb": 15,
6337 "phv_lsb": 0,
6338 "is_compiler_generated": false,
6339 "is_pov": false
6340 }
6341 ],
6342 "word_bit_width": 16
6343 },
6344 {
6345 "phv_number": 336,
6346 "records": [
6347 {
6348 "position_offset": 55,
6349 "field_name": "ipv4.identification",
6350 "field_msb": 15,
6351 "field_lsb": 0,
6352 "field_width": 2,
6353 "phv_msb": 15,
6354 "phv_lsb": 0,
6355 "is_compiler_generated": false,
6356 "is_pov": false
6357 }
6358 ],
6359 "word_bit_width": 16
6360 },
6361 {
6362 "phv_number": 337,
6363 "records": [
6364 {
6365 "position_offset": 89,
6366 "field_name": "tcp.dst_port",
6367 "field_msb": 15,
6368 "field_lsb": 0,
6369 "field_width": 2,
6370 "phv_msb": 15,
6371 "phv_lsb": 0,
6372 "is_compiler_generated": false,
6373 "is_pov": false
6374 },
6375 {
6376 "position_offset": 110,
6377 "field_name": "udp.len",
6378 "field_msb": 15,
6379 "field_lsb": 0,
6380 "field_width": 2,
6381 "phv_msb": 15,
6382 "phv_lsb": 0,
6383 "is_compiler_generated": false,
6384 "is_pov": false
6385 },
6386 {
6387 "position_offset": 33,
6388 "field_name": "icmp.sequence_number",
6389 "field_msb": 15,
6390 "field_lsb": 0,
6391 "field_width": 2,
6392 "phv_msb": 15,
6393 "phv_lsb": 0,
6394 "is_compiler_generated": false,
6395 "is_pov": false
6396 }
6397 ],
6398 "word_bit_width": 16
6399 },
6400 {
6401 "phv_number": 344,
6402 "records": [
6403 {
6404 "position_offset": 103,
6405 "field_name": "tcp.window",
6406 "field_msb": 15,
6407 "field_lsb": 0,
6408 "field_width": 2,
6409 "phv_msb": 15,
6410 "phv_lsb": 0,
6411 "is_compiler_generated": false,
6412 "is_pov": false
6413 },
6414 {
6415 "position_offset": 106,
6416 "field_name": "udp.checksum",
6417 "field_msb": 15,
6418 "field_lsb": 0,
6419 "field_width": 2,
6420 "phv_msb": 15,
6421 "phv_lsb": 0,
6422 "is_compiler_generated": false,
6423 "is_pov": false
6424 }
6425 ],
6426 "word_bit_width": 16
6427 },
6428 {
6429 "phv_number": 345,
6430 "records": [
6431 {
6432 "position_offset": 83,
6433 "field_name": "tcp.checksum",
6434 "field_msb": 15,
6435 "field_lsb": 0,
6436 "field_width": 2,
6437 "phv_msb": 15,
6438 "phv_lsb": 0,
6439 "is_compiler_generated": false,
6440 "is_pov": false
6441 }
6442 ],
6443 "word_bit_width": 16
6444 },
6445 {
6446 "phv_number": 346,
6447 "records": [
6448 {
6449 "position_offset": 101,
6450 "field_name": "tcp.urgent_ptr",
6451 "field_msb": 15,
6452 "field_lsb": 0,
6453 "field_width": 2,
6454 "phv_msb": 15,
6455 "phv_lsb": 0,
6456 "is_compiler_generated": false,
6457 "is_pov": false
6458 }
6459 ],
6460 "word_bit_width": 16
6461 }
6462 ],
6463 "stage_number": 2
6464 },
6465 {
6466 "ingress": [
6467 {
6468 "phv_number": 0,
6469 "records": [
6470 {
6471 "position_offset": 12,
6472 "field_name": "ethernet.dst_addr",
6473 "field_msb": 47,
6474 "field_lsb": 16,
6475 "field_width": 6,
6476 "phv_msb": 31,
6477 "phv_lsb": 0,
6478 "is_compiler_generated": false,
6479 "is_pov": false
6480 }
6481 ],
6482 "word_bit_width": 32
6483 },
6484 {
6485 "phv_number": 1,
6486 "records": [
6487 {
6488 "position_offset": 20,
6489 "field_name": "ethernet.src_addr",
6490 "field_msb": 47,
6491 "field_lsb": 16,
6492 "field_width": 6,
6493 "phv_msb": 31,
6494 "phv_lsb": 0,
6495 "is_compiler_generated": false,
6496 "is_pov": false
6497 }
6498 ],
6499 "word_bit_width": 32
6500 },
6501 {
6502 "phv_number": 2,
6503 "records": [
6504 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006505 "position_offset": 80,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006506 "field_name": "ipv4.src_addr",
6507 "field_msb": 31,
6508 "field_lsb": 0,
6509 "field_width": 4,
6510 "phv_msb": 31,
6511 "phv_lsb": 0,
6512 "is_compiler_generated": false,
6513 "is_pov": false
6514 }
6515 ],
6516 "word_bit_width": 32
6517 },
6518 {
6519 "phv_number": 3,
6520 "records": [
6521 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006522 "position_offset": 68,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006523 "field_name": "ipv4.dst_addr",
6524 "field_msb": 31,
6525 "field_lsb": 0,
6526 "field_width": 4,
6527 "phv_msb": 31,
6528 "phv_lsb": 0,
6529 "is_compiler_generated": false,
6530 "is_pov": false
6531 }
6532 ],
6533 "word_bit_width": 32
6534 },
6535 {
6536 "phv_number": 4,
6537 "records": [
6538 {
6539 "position_offset": 33,
6540 "field_name": "fabric_metadata.next_id",
6541 "field_msb": 31,
6542 "field_lsb": 0,
6543 "field_width": 4,
6544 "phv_msb": 31,
6545 "phv_lsb": 0,
6546 "is_compiler_generated": false,
6547 "is_pov": false
6548 }
6549 ],
6550 "word_bit_width": 32
6551 },
6552 {
6553 "phv_number": 64,
6554 "records": [
6555 {
6556 "position_offset": 45,
6557 "field_name": "icmp.icmp_type",
6558 "field_msb": 7,
6559 "field_lsb": 0,
6560 "field_width": 1,
6561 "phv_msb": 7,
6562 "phv_lsb": 0,
6563 "is_compiler_generated": false,
6564 "is_pov": false
6565 }
6566 ],
6567 "word_bit_width": 8
6568 },
6569 {
6570 "phv_number": 65,
6571 "records": [
6572 {
6573 "position_offset": 44,
6574 "field_name": "icmp.icmp_code",
6575 "field_msb": 7,
6576 "field_lsb": 0,
6577 "field_width": 1,
6578 "phv_msb": 7,
6579 "phv_lsb": 0,
6580 "is_compiler_generated": false,
6581 "is_pov": false
6582 }
6583 ],
6584 "word_bit_width": 8
6585 },
6586 {
6587 "phv_number": 66,
6588 "records": [
6589 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006590 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006591 "field_name": "mpls.label",
6592 "field_msb": 3,
6593 "field_lsb": 0,
6594 "field_width": 2,
6595 "phv_msb": 7,
6596 "phv_lsb": 4,
6597 "is_compiler_generated": false,
6598 "is_pov": false
6599 },
6600 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006601 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006602 "field_name": "mpls.tc",
6603 "field_msb": 7,
6604 "field_lsb": 0,
6605 "field_width": 1,
6606 "phv_msb": 3,
6607 "phv_lsb": 1,
6608 "is_compiler_generated": false,
6609 "is_pov": false
6610 },
6611 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006612 "position_offset": 89,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006613 "field_name": "mpls.bos",
6614 "field_msb": 7,
6615 "field_lsb": 0,
6616 "field_width": 1,
6617 "phv_msb": 0,
6618 "phv_lsb": 0,
6619 "is_compiler_generated": false,
6620 "is_pov": false
6621 }
6622 ],
6623 "word_bit_width": 8
6624 },
6625 {
6626 "phv_number": 67,
6627 "records": [
6628 {
6629 "position_offset": 1,
6630 "field_name": "$bridged_metadata_indicator",
6631 "field_msb": 7,
6632 "field_lsb": 0,
6633 "field_width": 1,
6634 "phv_msb": 7,
6635 "phv_lsb": 0,
6636 "is_compiler_generated": false,
6637 "is_pov": false
6638 }
6639 ],
6640 "word_bit_width": 8
6641 },
6642 {
6643 "phv_number": 68,
6644 "records": [
6645 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006646 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006647 "field_name": "ipv4.ttl",
6648 "field_msb": 7,
6649 "field_lsb": 0,
6650 "field_width": 1,
6651 "phv_msb": 7,
6652 "phv_lsb": 0,
6653 "is_compiler_generated": false,
6654 "is_pov": false
6655 }
6656 ],
6657 "word_bit_width": 8
6658 },
6659 {
6660 "phv_number": 69,
6661 "records": [
6662 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006663 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006664 "field_name": "mpls.ttl",
6665 "field_msb": 7,
6666 "field_lsb": 0,
6667 "field_width": 1,
6668 "phv_msb": 7,
6669 "phv_lsb": 0,
6670 "is_compiler_generated": false,
6671 "is_pov": false
6672 }
6673 ],
6674 "word_bit_width": 8
6675 },
6676 {
6677 "phv_number": 70,
6678 "records": [
6679 {
6680 "position_offset": 28,
6681 "field_name": "fabric_metadata.ip_proto",
6682 "field_msb": 7,
6683 "field_lsb": 0,
6684 "field_width": 1,
6685 "phv_msb": 7,
6686 "phv_lsb": 0,
6687 "is_compiler_generated": false,
6688 "is_pov": false
6689 }
6690 ],
6691 "word_bit_width": 8
6692 },
6693 {
6694 "phv_number": 71,
6695 "records": [
6696 {
6697 "position_offset": 0,
6698 "field_name": "$always_deparse",
6699 "field_msb": 7,
6700 "field_lsb": 0,
6701 "field_width": 1,
6702 "phv_msb": 0,
6703 "phv_lsb": 0,
6704 "is_compiler_generated": false,
6705 "is_pov": false
6706 },
6707 {
6708 "position_offset": 40,
6709 "field_name": "hasExited_0",
6710 "field_msb": 7,
6711 "field_lsb": 0,
6712 "field_width": 1,
6713 "phv_msb": 4,
6714 "phv_lsb": 4,
6715 "is_compiler_generated": false,
6716 "is_pov": false
6717 },
6718 {
6719 "position_offset": 0,
6720 "field_name": "POV",
6721 "field_msb": 7,
6722 "field_lsb": 0,
6723 "field_width": 0,
6724 "phv_msb": 1,
6725 "phv_lsb": 1,
6726 "is_compiler_generated": false,
6727 "is_pov": true,
6728 "pov_headers": [
6729 {
6730 "bit_index": 1,
6731 "position_offset": 2,
6732 "header_name": "arp",
6733 "hidden": false
6734 }
6735 ]
6736 },
6737 {
6738 "position_offset": 0,
6739 "field_name": "POV",
6740 "field_msb": 7,
6741 "field_lsb": 0,
6742 "field_width": 0,
6743 "phv_msb": 2,
6744 "phv_lsb": 2,
6745 "is_compiler_generated": false,
6746 "is_pov": true,
6747 "pov_headers": [
6748 {
6749 "bit_index": 2,
6750 "position_offset": 11,
6751 "header_name": "ethernet",
6752 "hidden": false
6753 }
6754 ]
6755 },
6756 {
6757 "position_offset": 0,
6758 "field_name": "POV",
6759 "field_msb": 7,
6760 "field_lsb": 0,
6761 "field_width": 0,
6762 "phv_msb": 3,
6763 "phv_lsb": 3,
6764 "is_compiler_generated": false,
6765 "is_pov": true,
6766 "pov_headers": [
6767 {
6768 "bit_index": 3,
6769 "position_offset": 41,
6770 "header_name": "icmp",
6771 "hidden": false
6772 }
6773 ]
6774 },
6775 {
6776 "position_offset": 0,
6777 "field_name": "POV",
6778 "field_msb": 7,
6779 "field_lsb": 0,
6780 "field_width": 0,
6781 "phv_msb": 5,
6782 "phv_lsb": 5,
6783 "is_compiler_generated": false,
6784 "is_pov": true,
6785 "pov_headers": [
6786 {
6787 "bit_index": 5,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006788 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006789 "header_name": "ipv4",
6790 "hidden": false
6791 }
6792 ]
6793 },
6794 {
6795 "position_offset": 0,
6796 "field_name": "POV",
6797 "field_msb": 7,
6798 "field_lsb": 0,
6799 "field_width": 0,
6800 "phv_msb": 6,
6801 "phv_lsb": 6,
6802 "is_compiler_generated": false,
6803 "is_pov": true,
6804 "pov_headers": [
6805 {
6806 "bit_index": 6,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006807 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006808 "header_name": "mpls",
6809 "hidden": false
6810 }
6811 ]
6812 },
6813 {
6814 "position_offset": 0,
6815 "field_name": "POV",
6816 "field_msb": 7,
6817 "field_lsb": 0,
6818 "field_width": 0,
6819 "phv_msb": 7,
6820 "phv_lsb": 7,
6821 "is_compiler_generated": false,
6822 "is_pov": true,
6823 "pov_headers": [
6824 {
6825 "bit_index": 7,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006826 "position_offset": 94,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006827 "header_name": "packet_out",
6828 "hidden": false
6829 }
6830 ]
6831 }
6832 ],
6833 "word_bit_width": 8
6834 },
6835 {
6836 "phv_number": 72,
6837 "records": [
6838 {
6839 "position_offset": 39,
6840 "field_name": "fabric_metadata.pop_vlan_at_egress",
6841 "field_msb": 7,
6842 "field_lsb": 0,
6843 "field_width": 1,
6844 "phv_msb": 3,
6845 "phv_lsb": 3,
6846 "is_compiler_generated": false,
6847 "is_pov": false
6848 },
6849 {
6850 "position_offset": 0,
6851 "field_name": "POV",
6852 "field_msb": 7,
6853 "field_lsb": 0,
6854 "field_width": 0,
6855 "phv_msb": 0,
6856 "phv_lsb": 0,
6857 "is_compiler_generated": false,
6858 "is_pov": true,
6859 "pov_headers": [
6860 {
6861 "bit_index": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006862 "position_offset": 97,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006863 "header_name": "tcp",
6864 "hidden": false
6865 }
6866 ]
6867 },
6868 {
6869 "position_offset": 0,
6870 "field_name": "POV",
6871 "field_msb": 7,
6872 "field_lsb": 0,
6873 "field_width": 0,
6874 "phv_msb": 1,
6875 "phv_lsb": 1,
6876 "is_compiler_generated": false,
6877 "is_pov": true,
6878 "pov_headers": [
6879 {
6880 "bit_index": 1,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006881 "position_offset": 124,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006882 "header_name": "udp",
6883 "hidden": false
6884 }
6885 ]
6886 },
6887 {
6888 "position_offset": 0,
6889 "field_name": "POV",
6890 "field_msb": 7,
6891 "field_lsb": 0,
6892 "field_width": 0,
6893 "phv_msb": 2,
6894 "phv_lsb": 2,
6895 "is_compiler_generated": false,
6896 "is_pov": true,
6897 "pov_headers": [
6898 {
6899 "bit_index": 2,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006900 "position_offset": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006901 "header_name": "vlan_tag",
6902 "hidden": false
6903 }
6904 ]
6905 }
6906 ],
6907 "word_bit_width": 8
6908 },
6909 {
6910 "phv_number": 128,
6911 "records": [
6912 {
6913 "position_offset": 62,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006914 "field_name": "ig_intr_md_for_tm.mcast_grp_a",
6915 "field_msb": 15,
6916 "field_lsb": 0,
6917 "field_width": 2,
6918 "phv_msb": 15,
6919 "phv_lsb": 0,
6920 "is_compiler_generated": false,
6921 "is_pov": false
6922 }
6923 ],
6924 "word_bit_width": 16
6925 },
6926 {
6927 "phv_number": 129,
6928 "records": [
6929 {
6930 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006931 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
6932 "field_msb": 15,
6933 "field_lsb": 0,
6934 "field_width": 2,
6935 "phv_msb": 8,
6936 "phv_lsb": 0,
6937 "is_compiler_generated": false,
6938 "is_pov": false
6939 }
6940 ],
6941 "word_bit_width": 16
6942 },
6943 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006944 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006945 "records": [
6946 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006947 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006948 "field_name": "packet_out.egress_port",
6949 "field_msb": 15,
6950 "field_lsb": 0,
6951 "field_width": 2,
6952 "phv_msb": 15,
6953 "phv_lsb": 7,
6954 "is_compiler_generated": false,
6955 "is_pov": false
6956 },
6957 {
6958 "position_offset": 26,
6959 "field_name": "fabric_metadata.fwd_type",
6960 "field_msb": 15,
6961 "field_lsb": 0,
6962 "field_width": 2,
6963 "phv_msb": 5,
6964 "phv_lsb": 3,
6965 "is_compiler_generated": false,
6966 "is_pov": false
6967 },
6968 {
6969 "position_offset": 60,
6970 "field_name": "ig_intr_md_for_tm.drop_ctl",
6971 "field_msb": 15,
6972 "field_lsb": 0,
6973 "field_width": 2,
6974 "phv_msb": 2,
6975 "phv_lsb": 0,
6976 "is_compiler_generated": false,
6977 "is_pov": false
6978 }
6979 ],
6980 "word_bit_width": 16
6981 },
6982 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006983 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006984 "records": [
6985 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006986 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006987 "field_name": "vlan_tag.pri",
6988 "field_msb": 15,
6989 "field_lsb": 0,
6990 "field_width": 2,
6991 "phv_msb": 15,
6992 "phv_lsb": 13,
6993 "is_compiler_generated": false,
6994 "is_pov": false
6995 },
6996 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08006997 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006998 "field_name": "vlan_tag.cfi",
6999 "field_msb": 15,
7000 "field_lsb": 0,
7001 "field_width": 2,
7002 "phv_msb": 12,
7003 "phv_lsb": 12,
7004 "is_compiler_generated": false,
7005 "is_pov": false
7006 },
7007 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007008 "position_offset": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007009 "field_name": "vlan_tag.vlan_id",
7010 "field_msb": 15,
7011 "field_lsb": 0,
7012 "field_width": 2,
7013 "phv_msb": 11,
7014 "phv_lsb": 0,
7015 "is_compiler_generated": false,
7016 "is_pov": false
7017 }
7018 ],
7019 "word_bit_width": 16
7020 },
7021 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007022 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007023 "records": [
7024 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007025 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007026 "field_name": "mpls.label",
7027 "field_msb": 19,
7028 "field_lsb": 4,
7029 "field_width": 2,
7030 "phv_msb": 15,
7031 "phv_lsb": 0,
7032 "is_compiler_generated": false,
7033 "is_pov": false
7034 }
7035 ],
7036 "word_bit_width": 16
7037 },
7038 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007039 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007040 "records": [
7041 {
7042 "position_offset": 58,
7043 "field_name": "ig_intr_md.ingress_port",
7044 "field_msb": 15,
7045 "field_lsb": 0,
7046 "field_width": 2,
7047 "phv_msb": 8,
7048 "phv_lsb": 0,
7049 "is_compiler_generated": false,
7050 "is_pov": false
7051 }
7052 ],
7053 "word_bit_width": 16
7054 },
7055 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007056 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007057 "records": [
7058 {
7059 "position_offset": 31,
7060 "field_name": "fabric_metadata.l4_src_port",
7061 "field_msb": 15,
7062 "field_lsb": 0,
7063 "field_width": 2,
7064 "phv_msb": 15,
7065 "phv_lsb": 0,
7066 "is_compiler_generated": false,
7067 "is_pov": false
7068 }
7069 ],
7070 "word_bit_width": 16
7071 },
7072 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007073 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007074 "records": [
7075 {
7076 "position_offset": 18,
7077 "field_name": "ethernet.ether_type",
7078 "field_msb": 15,
7079 "field_lsb": 0,
7080 "field_width": 2,
7081 "phv_msb": 15,
7082 "phv_lsb": 0,
7083 "is_compiler_generated": false,
7084 "is_pov": false
7085 }
7086 ],
7087 "word_bit_width": 16
7088 },
7089 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007090 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007091 "records": [
7092 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007093 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007094 "field_name": "vlan_tag.ether_type",
7095 "field_msb": 15,
7096 "field_lsb": 0,
7097 "field_width": 2,
7098 "phv_msb": 15,
7099 "phv_lsb": 0,
7100 "is_compiler_generated": false,
7101 "is_pov": false
7102 }
7103 ],
7104 "word_bit_width": 16
7105 },
7106 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007107 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007108 "records": [
7109 {
7110 "position_offset": 12,
7111 "field_name": "ethernet.dst_addr",
7112 "field_msb": 15,
7113 "field_lsb": 0,
7114 "field_width": 6,
7115 "phv_msb": 15,
7116 "phv_lsb": 0,
7117 "is_compiler_generated": false,
7118 "is_pov": false
7119 }
7120 ],
7121 "word_bit_width": 16
7122 },
7123 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007124 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007125 "records": [
7126 {
7127 "position_offset": 20,
7128 "field_name": "ethernet.src_addr",
7129 "field_msb": 15,
7130 "field_lsb": 0,
7131 "field_width": 6,
7132 "phv_msb": 15,
7133 "phv_lsb": 0,
7134 "is_compiler_generated": false,
7135 "is_pov": false
7136 }
7137 ],
7138 "word_bit_width": 16
7139 },
7140 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007141 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007142 "records": [
7143 {
7144 "position_offset": 29,
7145 "field_name": "fabric_metadata.l4_dst_port",
7146 "field_msb": 15,
7147 "field_lsb": 0,
7148 "field_width": 2,
7149 "phv_msb": 15,
7150 "phv_lsb": 0,
7151 "is_compiler_generated": false,
7152 "is_pov": false
7153 }
7154 ],
7155 "word_bit_width": 16
7156 },
7157 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007158 "phv_number": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007159 "records": [
7160 {
7161 "position_offset": 37,
7162 "field_name": "fabric_metadata.original_ether_type",
7163 "field_msb": 15,
7164 "field_lsb": 0,
7165 "field_width": 2,
7166 "phv_msb": 15,
7167 "phv_lsb": 0,
7168 "is_compiler_generated": false,
7169 "is_pov": false
7170 }
7171 ],
7172 "word_bit_width": 16
7173 },
7174 {
7175 "phv_number": 260,
7176 "records": [
7177 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007178 "position_offset": 114,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007179 "field_name": "tcp.seq_no",
7180 "field_msb": 31,
7181 "field_lsb": 0,
7182 "field_width": 4,
7183 "phv_msb": 31,
7184 "phv_lsb": 0,
7185 "is_compiler_generated": false,
7186 "is_pov": false
7187 },
7188 {
7189 "position_offset": 50,
7190 "field_name": "icmp.timestamp",
7191 "field_msb": 31,
7192 "field_lsb": 0,
7193 "field_width": 8,
7194 "phv_msb": 31,
7195 "phv_lsb": 0,
7196 "is_compiler_generated": false,
7197 "is_pov": false
7198 }
7199 ],
7200 "word_bit_width": 32
7201 },
7202 {
7203 "phv_number": 261,
7204 "records": [
7205 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007206 "position_offset": 98,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007207 "field_name": "tcp.ack_no",
7208 "field_msb": 31,
7209 "field_lsb": 0,
7210 "field_width": 4,
7211 "phv_msb": 31,
7212 "phv_lsb": 0,
7213 "is_compiler_generated": false,
7214 "is_pov": false
7215 },
7216 {
7217 "position_offset": 50,
7218 "field_name": "icmp.timestamp",
7219 "field_msb": 63,
7220 "field_lsb": 32,
7221 "field_width": 8,
7222 "phv_msb": 31,
7223 "phv_lsb": 0,
7224 "is_compiler_generated": false,
7225 "is_pov": false
7226 }
7227 ],
7228 "word_bit_width": 32
7229 },
7230 {
7231 "phv_number": 292,
7232 "records": [
7233 {
7234 "position_offset": 3,
7235 "field_name": "arp.hw_addr_len",
7236 "field_msb": 7,
7237 "field_lsb": 0,
7238 "field_width": 1,
7239 "phv_msb": 7,
7240 "phv_lsb": 0,
7241 "is_compiler_generated": false,
7242 "is_pov": false
7243 },
7244 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007245 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007246 "field_name": "ipv4.version",
7247 "field_msb": 7,
7248 "field_lsb": 0,
7249 "field_width": 1,
7250 "phv_msb": 7,
7251 "phv_lsb": 4,
7252 "is_compiler_generated": false,
7253 "is_pov": false
7254 },
7255 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007256 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007257 "field_name": "ipv4.ihl",
7258 "field_msb": 7,
7259 "field_lsb": 0,
7260 "field_width": 1,
7261 "phv_msb": 3,
7262 "phv_lsb": 0,
7263 "is_compiler_generated": false,
7264 "is_pov": false
7265 }
7266 ],
7267 "word_bit_width": 8
7268 },
7269 {
7270 "phv_number": 293,
7271 "records": [
7272 {
7273 "position_offset": 8,
7274 "field_name": "arp.proto_addr_len",
7275 "field_msb": 7,
7276 "field_lsb": 0,
7277 "field_width": 1,
7278 "phv_msb": 7,
7279 "phv_lsb": 0,
7280 "is_compiler_generated": false,
7281 "is_pov": false
7282 },
7283 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007284 "position_offset": 67,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007285 "field_name": "ipv4.diffserv",
7286 "field_msb": 7,
7287 "field_lsb": 0,
7288 "field_width": 1,
7289 "phv_msb": 7,
7290 "phv_lsb": 0,
7291 "is_compiler_generated": false,
7292 "is_pov": false
7293 }
7294 ],
7295 "word_bit_width": 8
7296 },
7297 {
7298 "phv_number": 294,
7299 "records": [
7300 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007301 "position_offset": 79,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007302 "field_name": "ipv4.protocol",
7303 "field_msb": 7,
7304 "field_lsb": 0,
7305 "field_width": 1,
7306 "phv_msb": 7,
7307 "phv_lsb": 0,
7308 "is_compiler_generated": false,
7309 "is_pov": false
7310 }
7311 ],
7312 "word_bit_width": 8
7313 },
7314 {
7315 "phv_number": 326,
7316 "records": [
7317 {
7318 "position_offset": 4,
7319 "field_name": "arp.hw_type",
7320 "field_msb": 15,
7321 "field_lsb": 0,
7322 "field_width": 2,
7323 "phv_msb": 15,
7324 "phv_lsb": 0,
7325 "is_compiler_generated": false,
7326 "is_pov": false
7327 },
7328 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007329 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007330 "field_name": "tcp.data_offset",
7331 "field_msb": 15,
7332 "field_lsb": 0,
7333 "field_width": 2,
7334 "phv_msb": 15,
7335 "phv_lsb": 12,
7336 "is_compiler_generated": false,
7337 "is_pov": false
7338 },
7339 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007340 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007341 "field_name": "tcp.res",
7342 "field_msb": 15,
7343 "field_lsb": 0,
7344 "field_width": 2,
7345 "phv_msb": 11,
7346 "phv_lsb": 9,
7347 "is_compiler_generated": false,
7348 "is_pov": false
7349 },
7350 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007351 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007352 "field_name": "tcp.ecn",
7353 "field_msb": 15,
7354 "field_lsb": 0,
7355 "field_width": 2,
7356 "phv_msb": 8,
7357 "phv_lsb": 6,
7358 "is_compiler_generated": false,
7359 "is_pov": false
7360 },
7361 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007362 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007363 "field_name": "tcp.ctrl",
7364 "field_msb": 15,
7365 "field_lsb": 0,
7366 "field_width": 2,
7367 "phv_msb": 5,
7368 "phv_lsb": 0,
7369 "is_compiler_generated": false,
7370 "is_pov": false
7371 },
7372 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007373 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007374 "field_name": "udp.src_port",
7375 "field_msb": 15,
7376 "field_lsb": 0,
7377 "field_width": 2,
7378 "phv_msb": 15,
7379 "phv_lsb": 0,
7380 "is_compiler_generated": false,
7381 "is_pov": false
7382 },
7383 {
7384 "position_offset": 42,
7385 "field_name": "icmp.checksum",
7386 "field_msb": 15,
7387 "field_lsb": 0,
7388 "field_width": 2,
7389 "phv_msb": 15,
7390 "phv_lsb": 0,
7391 "is_compiler_generated": false,
7392 "is_pov": false
7393 }
7394 ],
7395 "word_bit_width": 16
7396 },
7397 {
7398 "phv_number": 327,
7399 "records": [
7400 {
7401 "position_offset": 9,
7402 "field_name": "arp.proto_type",
7403 "field_msb": 15,
7404 "field_lsb": 0,
7405 "field_width": 2,
7406 "phv_msb": 15,
7407 "phv_lsb": 0,
7408 "is_compiler_generated": false,
7409 "is_pov": false
7410 },
7411 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007412 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007413 "field_name": "tcp.src_port",
7414 "field_msb": 15,
7415 "field_lsb": 0,
7416 "field_width": 2,
7417 "phv_msb": 15,
7418 "phv_lsb": 0,
7419 "is_compiler_generated": false,
7420 "is_pov": false
7421 },
7422 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007423 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007424 "field_name": "udp.dst_port",
7425 "field_msb": 15,
7426 "field_lsb": 0,
7427 "field_width": 2,
7428 "phv_msb": 15,
7429 "phv_lsb": 0,
7430 "is_compiler_generated": false,
7431 "is_pov": false
7432 },
7433 {
7434 "position_offset": 46,
7435 "field_name": "icmp.identifier",
7436 "field_msb": 15,
7437 "field_lsb": 0,
7438 "field_width": 2,
7439 "phv_msb": 15,
7440 "phv_lsb": 0,
7441 "is_compiler_generated": false,
7442 "is_pov": false
7443 }
7444 ],
7445 "word_bit_width": 16
7446 },
7447 {
7448 "phv_number": 328,
7449 "records": [
7450 {
7451 "position_offset": 6,
7452 "field_name": "arp.opcode",
7453 "field_msb": 15,
7454 "field_lsb": 0,
7455 "field_width": 2,
7456 "phv_msb": 15,
7457 "phv_lsb": 0,
7458 "is_compiler_generated": false,
7459 "is_pov": false
7460 },
7461 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007462 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007463 "field_name": "ipv4.flags",
7464 "field_msb": 15,
7465 "field_lsb": 0,
7466 "field_width": 2,
7467 "phv_msb": 15,
7468 "phv_lsb": 13,
7469 "is_compiler_generated": false,
7470 "is_pov": false
7471 },
7472 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007473 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007474 "field_name": "ipv4.frag_offset",
7475 "field_msb": 15,
7476 "field_lsb": 0,
7477 "field_width": 2,
7478 "phv_msb": 12,
7479 "phv_lsb": 0,
7480 "is_compiler_generated": false,
7481 "is_pov": false
7482 }
7483 ],
7484 "word_bit_width": 16
7485 },
7486 {
7487 "phv_number": 329,
7488 "records": [
7489 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007490 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007491 "field_name": "ipv4.total_len",
7492 "field_msb": 15,
7493 "field_lsb": 0,
7494 "field_width": 2,
7495 "phv_msb": 15,
7496 "phv_lsb": 0,
7497 "is_compiler_generated": false,
7498 "is_pov": false
7499 }
7500 ],
7501 "word_bit_width": 16
7502 },
7503 {
7504 "phv_number": 330,
7505 "records": [
7506 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007507 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007508 "field_name": "ipv4.identification",
7509 "field_msb": 15,
7510 "field_lsb": 0,
7511 "field_width": 2,
7512 "phv_msb": 15,
7513 "phv_lsb": 0,
7514 "is_compiler_generated": false,
7515 "is_pov": false
7516 }
7517 ],
7518 "word_bit_width": 16
7519 },
7520 {
7521 "phv_number": 331,
7522 "records": [
7523 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007524 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007525 "field_name": "tcp.dst_port",
7526 "field_msb": 15,
7527 "field_lsb": 0,
7528 "field_width": 2,
7529 "phv_msb": 15,
7530 "phv_lsb": 0,
7531 "is_compiler_generated": false,
7532 "is_pov": false
7533 },
7534 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007535 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007536 "field_name": "udp.len",
7537 "field_msb": 15,
7538 "field_lsb": 0,
7539 "field_width": 2,
7540 "phv_msb": 15,
7541 "phv_lsb": 0,
7542 "is_compiler_generated": false,
7543 "is_pov": false
7544 },
7545 {
7546 "position_offset": 48,
7547 "field_name": "icmp.sequence_number",
7548 "field_msb": 15,
7549 "field_lsb": 0,
7550 "field_width": 2,
7551 "phv_msb": 15,
7552 "phv_lsb": 0,
7553 "is_compiler_generated": false,
7554 "is_pov": false
7555 }
7556 ],
7557 "word_bit_width": 16
7558 },
7559 {
7560 "phv_number": 338,
7561 "records": [
7562 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007563 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007564 "field_name": "tcp.window",
7565 "field_msb": 15,
7566 "field_lsb": 0,
7567 "field_width": 2,
7568 "phv_msb": 15,
7569 "phv_lsb": 0,
7570 "is_compiler_generated": false,
7571 "is_pov": false
7572 },
7573 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007574 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007575 "field_name": "udp.checksum",
7576 "field_msb": 15,
7577 "field_lsb": 0,
7578 "field_width": 2,
7579 "phv_msb": 15,
7580 "phv_lsb": 0,
7581 "is_compiler_generated": false,
7582 "is_pov": false
7583 }
7584 ],
7585 "word_bit_width": 16
7586 },
7587 {
7588 "phv_number": 339,
7589 "records": [
7590 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007591 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007592 "field_name": "tcp.checksum",
7593 "field_msb": 15,
7594 "field_lsb": 0,
7595 "field_width": 2,
7596 "phv_msb": 15,
7597 "phv_lsb": 0,
7598 "is_compiler_generated": false,
7599 "is_pov": false
7600 }
7601 ],
7602 "word_bit_width": 16
7603 },
7604 {
7605 "phv_number": 340,
7606 "records": [
7607 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08007608 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007609 "field_name": "tcp.urgent_ptr",
7610 "field_msb": 15,
7611 "field_lsb": 0,
7612 "field_width": 2,
7613 "phv_msb": 15,
7614 "phv_lsb": 0,
7615 "is_compiler_generated": false,
7616 "is_pov": false
7617 }
7618 ],
7619 "word_bit_width": 16
7620 }
7621 ],
7622 "egress": [
7623 {
7624 "phv_number": 80,
7625 "records": [
7626 {
7627 "position_offset": 0,
7628 "field_name": "POV",
7629 "field_msb": 7,
7630 "field_lsb": 0,
7631 "field_width": 0,
7632 "phv_msb": 0,
7633 "phv_lsb": 0,
7634 "is_compiler_generated": false,
7635 "is_pov": true,
7636 "pov_headers": [
7637 {
7638 "bit_index": 0,
7639 "position_offset": 0,
7640 "header_name": "arp",
7641 "hidden": false
7642 }
7643 ]
7644 },
7645 {
7646 "position_offset": 0,
7647 "field_name": "POV",
7648 "field_msb": 7,
7649 "field_lsb": 0,
7650 "field_width": 0,
7651 "phv_msb": 2,
7652 "phv_lsb": 2,
7653 "is_compiler_generated": false,
7654 "is_pov": true,
7655 "pov_headers": [
7656 {
7657 "bit_index": 2,
7658 "position_offset": 11,
7659 "header_name": "ethernet",
7660 "hidden": false
7661 }
7662 ]
7663 },
7664 {
7665 "position_offset": 0,
7666 "field_name": "POV",
7667 "field_msb": 7,
7668 "field_lsb": 0,
7669 "field_width": 0,
7670 "phv_msb": 3,
7671 "phv_lsb": 3,
7672 "is_compiler_generated": false,
7673 "is_pov": true,
7674 "pov_headers": [
7675 {
7676 "bit_index": 3,
7677 "position_offset": 26,
7678 "header_name": "icmp",
7679 "hidden": false
7680 }
7681 ]
7682 },
7683 {
7684 "position_offset": 0,
7685 "field_name": "POV",
7686 "field_msb": 7,
7687 "field_lsb": 0,
7688 "field_width": 0,
7689 "phv_msb": 5,
7690 "phv_lsb": 5,
7691 "is_compiler_generated": false,
7692 "is_pov": true,
7693 "pov_headers": [
7694 {
7695 "bit_index": 5,
7696 "position_offset": 45,
7697 "header_name": "ipv4",
7698 "hidden": false
7699 }
7700 ]
7701 },
7702 {
7703 "position_offset": 0,
7704 "field_name": "POV",
7705 "field_msb": 7,
7706 "field_lsb": 0,
7707 "field_width": 0,
7708 "phv_msb": 6,
7709 "phv_lsb": 6,
7710 "is_compiler_generated": false,
7711 "is_pov": true,
7712 "pov_headers": [
7713 {
7714 "bit_index": 6,
7715 "position_offset": 67,
7716 "header_name": "mpls",
7717 "hidden": false
7718 }
7719 ]
7720 },
7721 {
7722 "position_offset": 0,
7723 "field_name": "POV",
7724 "field_msb": 7,
7725 "field_lsb": 0,
7726 "field_width": 0,
7727 "phv_msb": 7,
7728 "phv_lsb": 7,
7729 "is_compiler_generated": false,
7730 "is_pov": true,
7731 "pov_headers": [
7732 {
7733 "bit_index": 7,
7734 "position_offset": 73,
7735 "header_name": "packet_in",
7736 "hidden": false
7737 }
7738 ]
7739 }
7740 ],
7741 "word_bit_width": 8
7742 },
7743 {
7744 "phv_number": 81,
7745 "records": [
7746 {
7747 "position_offset": 0,
7748 "field_name": "POV",
7749 "field_msb": 7,
7750 "field_lsb": 0,
7751 "field_width": 0,
7752 "phv_msb": 0,
7753 "phv_lsb": 0,
7754 "is_compiler_generated": false,
7755 "is_pov": true,
7756 "pov_headers": [
7757 {
7758 "bit_index": 0,
7759 "position_offset": 78,
7760 "header_name": "tcp",
7761 "hidden": false
7762 }
7763 ]
7764 },
7765 {
7766 "position_offset": 0,
7767 "field_name": "POV",
7768 "field_msb": 7,
7769 "field_lsb": 0,
7770 "field_width": 0,
7771 "phv_msb": 1,
7772 "phv_lsb": 1,
7773 "is_compiler_generated": false,
7774 "is_pov": true,
7775 "pov_headers": [
7776 {
7777 "bit_index": 1,
7778 "position_offset": 105,
7779 "header_name": "udp",
7780 "hidden": false
7781 }
7782 ]
7783 },
7784 {
7785 "position_offset": 0,
7786 "field_name": "POV",
7787 "field_msb": 7,
7788 "field_lsb": 0,
7789 "field_width": 0,
7790 "phv_msb": 2,
7791 "phv_lsb": 2,
7792 "is_compiler_generated": false,
7793 "is_pov": true,
7794 "pov_headers": [
7795 {
7796 "bit_index": 2,
7797 "position_offset": 114,
7798 "header_name": "vlan_tag",
7799 "hidden": false
7800 }
7801 ]
7802 }
7803 ],
7804 "word_bit_width": 8
7805 },
7806 {
7807 "phv_number": 144,
7808 "records": [
7809 {
7810 "position_offset": 9,
7811 "field_name": "eg_intr_md.egress_port",
7812 "field_msb": 15,
7813 "field_lsb": 0,
7814 "field_width": 2,
7815 "phv_msb": 8,
7816 "phv_lsb": 0,
7817 "is_compiler_generated": false,
7818 "is_pov": false
7819 }
7820 ],
7821 "word_bit_width": 16
7822 },
7823 {
7824 "phv_number": 145,
7825 "records": [
7826 {
7827 "position_offset": 76,
7828 "field_name": "packet_in.ingress_port",
7829 "field_msb": 15,
7830 "field_lsb": 0,
7831 "field_width": 2,
7832 "phv_msb": 15,
7833 "phv_lsb": 7,
7834 "is_compiler_generated": false,
7835 "is_pov": false
7836 },
7837 {
7838 "position_offset": 74,
7839 "field_name": "packet_in._pad",
7840 "field_msb": 15,
7841 "field_lsb": 0,
7842 "field_width": 2,
7843 "phv_msb": 6,
7844 "phv_lsb": 0,
7845 "is_compiler_generated": false,
7846 "is_pov": false
7847 }
7848 ],
7849 "word_bit_width": 16
7850 },
7851 {
7852 "phv_number": 146,
7853 "records": [
7854 {
7855 "position_offset": 43,
7856 "field_name": "ig_intr_md.ingress_port",
7857 "field_msb": 15,
7858 "field_lsb": 0,
7859 "field_width": 2,
7860 "phv_msb": 8,
7861 "phv_lsb": 0,
7862 "is_compiler_generated": false,
7863 "is_pov": false
7864 }
7865 ],
7866 "word_bit_width": 16
7867 },
7868 {
7869 "phv_number": 256,
7870 "records": [
7871 {
7872 "position_offset": 12,
7873 "field_name": "ethernet.dst_addr",
7874 "field_msb": 47,
7875 "field_lsb": 16,
7876 "field_width": 6,
7877 "phv_msb": 31,
7878 "phv_lsb": 0,
7879 "is_compiler_generated": false,
7880 "is_pov": false
7881 }
7882 ],
7883 "word_bit_width": 32
7884 },
7885 {
7886 "phv_number": 257,
7887 "records": [
7888 {
7889 "position_offset": 20,
7890 "field_name": "ethernet.src_addr",
7891 "field_msb": 47,
7892 "field_lsb": 16,
7893 "field_width": 6,
7894 "phv_msb": 31,
7895 "phv_lsb": 0,
7896 "is_compiler_generated": false,
7897 "is_pov": false
7898 }
7899 ],
7900 "word_bit_width": 32
7901 },
7902 {
7903 "phv_number": 258,
7904 "records": [
7905 {
7906 "position_offset": 59,
7907 "field_name": "ipv4.src_addr",
7908 "field_msb": 31,
7909 "field_lsb": 0,
7910 "field_width": 4,
7911 "phv_msb": 31,
7912 "phv_lsb": 0,
7913 "is_compiler_generated": false,
7914 "is_pov": false
7915 }
7916 ],
7917 "word_bit_width": 32
7918 },
7919 {
7920 "phv_number": 259,
7921 "records": [
7922 {
7923 "position_offset": 47,
7924 "field_name": "ipv4.dst_addr",
7925 "field_msb": 31,
7926 "field_lsb": 0,
7927 "field_width": 4,
7928 "phv_msb": 31,
7929 "phv_lsb": 0,
7930 "is_compiler_generated": false,
7931 "is_pov": false
7932 }
7933 ],
7934 "word_bit_width": 32
7935 },
7936 {
7937 "phv_number": 264,
7938 "records": [
7939 {
7940 "position_offset": 95,
7941 "field_name": "tcp.seq_no",
7942 "field_msb": 31,
7943 "field_lsb": 0,
7944 "field_width": 4,
7945 "phv_msb": 31,
7946 "phv_lsb": 0,
7947 "is_compiler_generated": false,
7948 "is_pov": false
7949 },
7950 {
7951 "position_offset": 35,
7952 "field_name": "icmp.timestamp",
7953 "field_msb": 31,
7954 "field_lsb": 0,
7955 "field_width": 8,
7956 "phv_msb": 31,
7957 "phv_lsb": 0,
7958 "is_compiler_generated": false,
7959 "is_pov": false
7960 }
7961 ],
7962 "word_bit_width": 32
7963 },
7964 {
7965 "phv_number": 265,
7966 "records": [
7967 {
7968 "position_offset": 79,
7969 "field_name": "tcp.ack_no",
7970 "field_msb": 31,
7971 "field_lsb": 0,
7972 "field_width": 4,
7973 "phv_msb": 31,
7974 "phv_lsb": 0,
7975 "is_compiler_generated": false,
7976 "is_pov": false
7977 },
7978 {
7979 "position_offset": 35,
7980 "field_name": "icmp.timestamp",
7981 "field_msb": 63,
7982 "field_lsb": 32,
7983 "field_width": 8,
7984 "phv_msb": 31,
7985 "phv_lsb": 0,
7986 "is_compiler_generated": false,
7987 "is_pov": false
7988 }
7989 ],
7990 "word_bit_width": 32
7991 },
7992 {
7993 "phv_number": 288,
7994 "records": [
7995 {
7996 "position_offset": 1,
7997 "field_name": "arp.hw_addr_len",
7998 "field_msb": 7,
7999 "field_lsb": 0,
8000 "field_width": 1,
8001 "phv_msb": 7,
8002 "phv_lsb": 0,
8003 "is_compiler_generated": false,
8004 "is_pov": false
8005 },
8006 {
8007 "position_offset": 66,
8008 "field_name": "ipv4.version",
8009 "field_msb": 7,
8010 "field_lsb": 0,
8011 "field_width": 1,
8012 "phv_msb": 7,
8013 "phv_lsb": 4,
8014 "is_compiler_generated": false,
8015 "is_pov": false
8016 },
8017 {
8018 "position_offset": 57,
8019 "field_name": "ipv4.ihl",
8020 "field_msb": 7,
8021 "field_lsb": 0,
8022 "field_width": 1,
8023 "phv_msb": 3,
8024 "phv_lsb": 0,
8025 "is_compiler_generated": false,
8026 "is_pov": false
8027 }
8028 ],
8029 "word_bit_width": 8
8030 },
8031 {
8032 "phv_number": 289,
8033 "records": [
8034 {
8035 "position_offset": 6,
8036 "field_name": "arp.proto_addr_len",
8037 "field_msb": 7,
8038 "field_lsb": 0,
8039 "field_width": 1,
8040 "phv_msb": 7,
8041 "phv_lsb": 0,
8042 "is_compiler_generated": false,
8043 "is_pov": false
8044 },
8045 {
8046 "position_offset": 30,
8047 "field_name": "icmp.icmp_type",
8048 "field_msb": 7,
8049 "field_lsb": 0,
8050 "field_width": 1,
8051 "phv_msb": 7,
8052 "phv_lsb": 0,
8053 "is_compiler_generated": false,
8054 "is_pov": false
8055 }
8056 ],
8057 "word_bit_width": 8
8058 },
8059 {
8060 "phv_number": 290,
8061 "records": [
8062 {
8063 "position_offset": 46,
8064 "field_name": "ipv4.diffserv",
8065 "field_msb": 7,
8066 "field_lsb": 0,
8067 "field_width": 1,
8068 "phv_msb": 7,
8069 "phv_lsb": 0,
8070 "is_compiler_generated": false,
8071 "is_pov": false
8072 }
8073 ],
8074 "word_bit_width": 8
8075 },
8076 {
8077 "phv_number": 291,
8078 "records": [
8079 {
8080 "position_offset": 29,
8081 "field_name": "icmp.icmp_code",
8082 "field_msb": 7,
8083 "field_lsb": 0,
8084 "field_width": 1,
8085 "phv_msb": 7,
8086 "phv_lsb": 0,
8087 "is_compiler_generated": false,
8088 "is_pov": false
8089 }
8090 ],
8091 "word_bit_width": 8
8092 },
8093 {
8094 "phv_number": 296,
8095 "records": [
8096 {
8097 "position_offset": 69,
8098 "field_name": "mpls.label",
8099 "field_msb": 3,
8100 "field_lsb": 0,
8101 "field_width": 2,
8102 "phv_msb": 7,
8103 "phv_lsb": 4,
8104 "is_compiler_generated": false,
8105 "is_pov": false
8106 },
8107 {
8108 "position_offset": 71,
8109 "field_name": "mpls.tc",
8110 "field_msb": 7,
8111 "field_lsb": 0,
8112 "field_width": 1,
8113 "phv_msb": 3,
8114 "phv_lsb": 1,
8115 "is_compiler_generated": false,
8116 "is_pov": false
8117 },
8118 {
8119 "position_offset": 68,
8120 "field_name": "mpls.bos",
8121 "field_msb": 7,
8122 "field_lsb": 0,
8123 "field_width": 1,
8124 "phv_msb": 0,
8125 "phv_lsb": 0,
8126 "is_compiler_generated": false,
8127 "is_pov": false
8128 }
8129 ],
8130 "word_bit_width": 8
8131 },
8132 {
8133 "phv_number": 297,
8134 "records": [
8135 {
8136 "position_offset": 65,
8137 "field_name": "ipv4.ttl",
8138 "field_msb": 7,
8139 "field_lsb": 0,
8140 "field_width": 1,
8141 "phv_msb": 7,
8142 "phv_lsb": 0,
8143 "is_compiler_generated": false,
8144 "is_pov": false
8145 }
8146 ],
8147 "word_bit_width": 8
8148 },
8149 {
8150 "phv_number": 298,
8151 "records": [
8152 {
8153 "position_offset": 58,
8154 "field_name": "ipv4.protocol",
8155 "field_msb": 7,
8156 "field_lsb": 0,
8157 "field_width": 1,
8158 "phv_msb": 7,
8159 "phv_lsb": 0,
8160 "is_compiler_generated": false,
8161 "is_pov": false
8162 }
8163 ],
8164 "word_bit_width": 8
8165 },
8166 {
8167 "phv_number": 299,
8168 "records": [
8169 {
8170 "position_offset": 72,
8171 "field_name": "mpls.ttl",
8172 "field_msb": 7,
8173 "field_lsb": 0,
8174 "field_width": 1,
8175 "phv_msb": 7,
8176 "phv_lsb": 0,
8177 "is_compiler_generated": false,
8178 "is_pov": false
8179 }
8180 ],
8181 "word_bit_width": 8
8182 },
8183 {
8184 "phv_number": 320,
8185 "records": [
8186 {
8187 "position_offset": 119,
8188 "field_name": "vlan_tag.pri",
8189 "field_msb": 15,
8190 "field_lsb": 0,
8191 "field_width": 2,
8192 "phv_msb": 15,
8193 "phv_lsb": 13,
8194 "is_compiler_generated": false,
8195 "is_pov": false
8196 },
8197 {
8198 "position_offset": 115,
8199 "field_name": "vlan_tag.cfi",
8200 "field_msb": 15,
8201 "field_lsb": 0,
8202 "field_width": 2,
8203 "phv_msb": 12,
8204 "phv_lsb": 12,
8205 "is_compiler_generated": false,
8206 "is_pov": false
8207 },
8208 {
8209 "position_offset": 121,
8210 "field_name": "vlan_tag.vlan_id",
8211 "field_msb": 15,
8212 "field_lsb": 0,
8213 "field_width": 2,
8214 "phv_msb": 11,
8215 "phv_lsb": 0,
8216 "is_compiler_generated": false,
8217 "is_pov": false
8218 }
8219 ],
8220 "word_bit_width": 16
8221 },
8222 {
8223 "phv_number": 321,
8224 "records": [
8225 {
8226 "position_offset": 2,
8227 "field_name": "arp.hw_type",
8228 "field_msb": 15,
8229 "field_lsb": 0,
8230 "field_width": 2,
8231 "phv_msb": 15,
8232 "phv_lsb": 0,
8233 "is_compiler_generated": false,
8234 "is_pov": false
8235 },
8236 {
8237 "position_offset": 99,
8238 "field_name": "tcp.src_port",
8239 "field_msb": 15,
8240 "field_lsb": 0,
8241 "field_width": 2,
8242 "phv_msb": 15,
8243 "phv_lsb": 0,
8244 "is_compiler_generated": false,
8245 "is_pov": false
8246 },
8247 {
8248 "position_offset": 112,
8249 "field_name": "udp.src_port",
8250 "field_msb": 15,
8251 "field_lsb": 0,
8252 "field_width": 2,
8253 "phv_msb": 15,
8254 "phv_lsb": 0,
8255 "is_compiler_generated": false,
8256 "is_pov": false
8257 },
8258 {
8259 "position_offset": 27,
8260 "field_name": "icmp.checksum",
8261 "field_msb": 15,
8262 "field_lsb": 0,
8263 "field_width": 2,
8264 "phv_msb": 15,
8265 "phv_lsb": 0,
8266 "is_compiler_generated": false,
8267 "is_pov": false
8268 }
8269 ],
8270 "word_bit_width": 16
8271 },
8272 {
8273 "phv_number": 322,
8274 "records": [
8275 {
8276 "position_offset": 7,
8277 "field_name": "arp.proto_type",
8278 "field_msb": 15,
8279 "field_lsb": 0,
8280 "field_width": 2,
8281 "phv_msb": 15,
8282 "phv_lsb": 0,
8283 "is_compiler_generated": false,
8284 "is_pov": false
8285 },
8286 {
8287 "position_offset": 69,
8288 "field_name": "mpls.label",
8289 "field_msb": 19,
8290 "field_lsb": 4,
8291 "field_width": 2,
8292 "phv_msb": 15,
8293 "phv_lsb": 0,
8294 "is_compiler_generated": false,
8295 "is_pov": false
8296 }
8297 ],
8298 "word_bit_width": 16
8299 },
8300 {
8301 "phv_number": 323,
8302 "records": [
8303 {
8304 "position_offset": 4,
8305 "field_name": "arp.opcode",
8306 "field_msb": 15,
8307 "field_lsb": 0,
8308 "field_width": 2,
8309 "phv_msb": 15,
8310 "phv_lsb": 0,
8311 "is_compiler_generated": false,
8312 "is_pov": false
8313 },
8314 {
8315 "position_offset": 87,
8316 "field_name": "tcp.data_offset",
8317 "field_msb": 15,
8318 "field_lsb": 0,
8319 "field_width": 2,
8320 "phv_msb": 15,
8321 "phv_lsb": 12,
8322 "is_compiler_generated": false,
8323 "is_pov": false
8324 },
8325 {
8326 "position_offset": 93,
8327 "field_name": "tcp.res",
8328 "field_msb": 15,
8329 "field_lsb": 0,
8330 "field_width": 2,
8331 "phv_msb": 11,
8332 "phv_lsb": 9,
8333 "is_compiler_generated": false,
8334 "is_pov": false
8335 },
8336 {
8337 "position_offset": 91,
8338 "field_name": "tcp.ecn",
8339 "field_msb": 15,
8340 "field_lsb": 0,
8341 "field_width": 2,
8342 "phv_msb": 8,
8343 "phv_lsb": 6,
8344 "is_compiler_generated": false,
8345 "is_pov": false
8346 },
8347 {
8348 "position_offset": 85,
8349 "field_name": "tcp.ctrl",
8350 "field_msb": 15,
8351 "field_lsb": 0,
8352 "field_width": 2,
8353 "phv_msb": 5,
8354 "phv_lsb": 0,
8355 "is_compiler_generated": false,
8356 "is_pov": false
8357 },
8358 {
8359 "position_offset": 108,
8360 "field_name": "udp.dst_port",
8361 "field_msb": 15,
8362 "field_lsb": 0,
8363 "field_width": 2,
8364 "phv_msb": 15,
8365 "phv_lsb": 0,
8366 "is_compiler_generated": false,
8367 "is_pov": false
8368 },
8369 {
8370 "position_offset": 31,
8371 "field_name": "icmp.identifier",
8372 "field_msb": 15,
8373 "field_lsb": 0,
8374 "field_width": 2,
8375 "phv_msb": 15,
8376 "phv_lsb": 0,
8377 "is_compiler_generated": false,
8378 "is_pov": false
8379 }
8380 ],
8381 "word_bit_width": 16
8382 },
8383 {
8384 "phv_number": 324,
8385 "records": [
8386 {
8387 "position_offset": 51,
8388 "field_name": "ipv4.flags",
8389 "field_msb": 15,
8390 "field_lsb": 0,
8391 "field_width": 2,
8392 "phv_msb": 15,
8393 "phv_lsb": 13,
8394 "is_compiler_generated": false,
8395 "is_pov": false
8396 },
8397 {
8398 "position_offset": 53,
8399 "field_name": "ipv4.frag_offset",
8400 "field_msb": 15,
8401 "field_lsb": 0,
8402 "field_width": 2,
8403 "phv_msb": 12,
8404 "phv_lsb": 0,
8405 "is_compiler_generated": false,
8406 "is_pov": false
8407 }
8408 ],
8409 "word_bit_width": 16
8410 },
8411 {
8412 "phv_number": 325,
8413 "records": [
8414 {
8415 "position_offset": 12,
8416 "field_name": "ethernet.dst_addr",
8417 "field_msb": 15,
8418 "field_lsb": 0,
8419 "field_width": 6,
8420 "phv_msb": 15,
8421 "phv_lsb": 0,
8422 "is_compiler_generated": false,
8423 "is_pov": false
8424 }
8425 ],
8426 "word_bit_width": 16
8427 },
8428 {
8429 "phv_number": 332,
8430 "records": [
8431 {
8432 "position_offset": 20,
8433 "field_name": "ethernet.src_addr",
8434 "field_msb": 15,
8435 "field_lsb": 0,
8436 "field_width": 6,
8437 "phv_msb": 15,
8438 "phv_lsb": 0,
8439 "is_compiler_generated": false,
8440 "is_pov": false
8441 }
8442 ],
8443 "word_bit_width": 16
8444 },
8445 {
8446 "phv_number": 333,
8447 "records": [
8448 {
8449 "position_offset": 18,
8450 "field_name": "ethernet.ether_type",
8451 "field_msb": 15,
8452 "field_lsb": 0,
8453 "field_width": 2,
8454 "phv_msb": 15,
8455 "phv_lsb": 0,
8456 "is_compiler_generated": false,
8457 "is_pov": false
8458 }
8459 ],
8460 "word_bit_width": 16
8461 },
8462 {
8463 "phv_number": 334,
8464 "records": [
8465 {
8466 "position_offset": 117,
8467 "field_name": "vlan_tag.ether_type",
8468 "field_msb": 15,
8469 "field_lsb": 0,
8470 "field_width": 2,
8471 "phv_msb": 15,
8472 "phv_lsb": 0,
8473 "is_compiler_generated": false,
8474 "is_pov": false
8475 }
8476 ],
8477 "word_bit_width": 16
8478 },
8479 {
8480 "phv_number": 335,
8481 "records": [
8482 {
8483 "position_offset": 63,
8484 "field_name": "ipv4.total_len",
8485 "field_msb": 15,
8486 "field_lsb": 0,
8487 "field_width": 2,
8488 "phv_msb": 15,
8489 "phv_lsb": 0,
8490 "is_compiler_generated": false,
8491 "is_pov": false
8492 }
8493 ],
8494 "word_bit_width": 16
8495 },
8496 {
8497 "phv_number": 336,
8498 "records": [
8499 {
8500 "position_offset": 55,
8501 "field_name": "ipv4.identification",
8502 "field_msb": 15,
8503 "field_lsb": 0,
8504 "field_width": 2,
8505 "phv_msb": 15,
8506 "phv_lsb": 0,
8507 "is_compiler_generated": false,
8508 "is_pov": false
8509 }
8510 ],
8511 "word_bit_width": 16
8512 },
8513 {
8514 "phv_number": 337,
8515 "records": [
8516 {
8517 "position_offset": 89,
8518 "field_name": "tcp.dst_port",
8519 "field_msb": 15,
8520 "field_lsb": 0,
8521 "field_width": 2,
8522 "phv_msb": 15,
8523 "phv_lsb": 0,
8524 "is_compiler_generated": false,
8525 "is_pov": false
8526 },
8527 {
8528 "position_offset": 110,
8529 "field_name": "udp.len",
8530 "field_msb": 15,
8531 "field_lsb": 0,
8532 "field_width": 2,
8533 "phv_msb": 15,
8534 "phv_lsb": 0,
8535 "is_compiler_generated": false,
8536 "is_pov": false
8537 },
8538 {
8539 "position_offset": 33,
8540 "field_name": "icmp.sequence_number",
8541 "field_msb": 15,
8542 "field_lsb": 0,
8543 "field_width": 2,
8544 "phv_msb": 15,
8545 "phv_lsb": 0,
8546 "is_compiler_generated": false,
8547 "is_pov": false
8548 }
8549 ],
8550 "word_bit_width": 16
8551 },
8552 {
8553 "phv_number": 344,
8554 "records": [
8555 {
8556 "position_offset": 103,
8557 "field_name": "tcp.window",
8558 "field_msb": 15,
8559 "field_lsb": 0,
8560 "field_width": 2,
8561 "phv_msb": 15,
8562 "phv_lsb": 0,
8563 "is_compiler_generated": false,
8564 "is_pov": false
8565 },
8566 {
8567 "position_offset": 106,
8568 "field_name": "udp.checksum",
8569 "field_msb": 15,
8570 "field_lsb": 0,
8571 "field_width": 2,
8572 "phv_msb": 15,
8573 "phv_lsb": 0,
8574 "is_compiler_generated": false,
8575 "is_pov": false
8576 }
8577 ],
8578 "word_bit_width": 16
8579 },
8580 {
8581 "phv_number": 345,
8582 "records": [
8583 {
8584 "position_offset": 83,
8585 "field_name": "tcp.checksum",
8586 "field_msb": 15,
8587 "field_lsb": 0,
8588 "field_width": 2,
8589 "phv_msb": 15,
8590 "phv_lsb": 0,
8591 "is_compiler_generated": false,
8592 "is_pov": false
8593 }
8594 ],
8595 "word_bit_width": 16
8596 },
8597 {
8598 "phv_number": 346,
8599 "records": [
8600 {
8601 "position_offset": 101,
8602 "field_name": "tcp.urgent_ptr",
8603 "field_msb": 15,
8604 "field_lsb": 0,
8605 "field_width": 2,
8606 "phv_msb": 15,
8607 "phv_lsb": 0,
8608 "is_compiler_generated": false,
8609 "is_pov": false
8610 }
8611 ],
8612 "word_bit_width": 16
8613 }
8614 ],
8615 "stage_number": 3
8616 },
8617 {
8618 "ingress": [
8619 {
8620 "phv_number": 0,
8621 "records": [
8622 {
8623 "position_offset": 12,
8624 "field_name": "ethernet.dst_addr",
8625 "field_msb": 47,
8626 "field_lsb": 16,
8627 "field_width": 6,
8628 "phv_msb": 31,
8629 "phv_lsb": 0,
8630 "is_compiler_generated": false,
8631 "is_pov": false
8632 }
8633 ],
8634 "word_bit_width": 32
8635 },
8636 {
8637 "phv_number": 1,
8638 "records": [
8639 {
8640 "position_offset": 20,
8641 "field_name": "ethernet.src_addr",
8642 "field_msb": 47,
8643 "field_lsb": 16,
8644 "field_width": 6,
8645 "phv_msb": 31,
8646 "phv_lsb": 0,
8647 "is_compiler_generated": false,
8648 "is_pov": false
8649 }
8650 ],
8651 "word_bit_width": 32
8652 },
8653 {
8654 "phv_number": 2,
8655 "records": [
8656 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08008657 "position_offset": 80,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008658 "field_name": "ipv4.src_addr",
8659 "field_msb": 31,
8660 "field_lsb": 0,
8661 "field_width": 4,
8662 "phv_msb": 31,
8663 "phv_lsb": 0,
8664 "is_compiler_generated": false,
8665 "is_pov": false
8666 }
8667 ],
8668 "word_bit_width": 32
8669 },
8670 {
8671 "phv_number": 3,
8672 "records": [
8673 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08008674 "position_offset": 68,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008675 "field_name": "ipv4.dst_addr",
8676 "field_msb": 31,
8677 "field_lsb": 0,
8678 "field_width": 4,
8679 "phv_msb": 31,
8680 "phv_lsb": 0,
8681 "is_compiler_generated": false,
8682 "is_pov": false
8683 }
8684 ],
8685 "word_bit_width": 32
8686 },
8687 {
8688 "phv_number": 4,
8689 "records": [
8690 {
8691 "position_offset": 33,
8692 "field_name": "fabric_metadata.next_id",
8693 "field_msb": 31,
8694 "field_lsb": 0,
8695 "field_width": 4,
8696 "phv_msb": 31,
8697 "phv_lsb": 0,
8698 "is_compiler_generated": false,
8699 "is_pov": false
8700 }
8701 ],
8702 "word_bit_width": 32
8703 },
8704 {
8705 "phv_number": 64,
8706 "records": [
8707 {
8708 "position_offset": 45,
8709 "field_name": "icmp.icmp_type",
8710 "field_msb": 7,
8711 "field_lsb": 0,
8712 "field_width": 1,
8713 "phv_msb": 7,
8714 "phv_lsb": 0,
8715 "is_compiler_generated": false,
8716 "is_pov": false
8717 }
8718 ],
8719 "word_bit_width": 8
8720 },
8721 {
8722 "phv_number": 65,
8723 "records": [
8724 {
8725 "position_offset": 44,
8726 "field_name": "icmp.icmp_code",
8727 "field_msb": 7,
8728 "field_lsb": 0,
8729 "field_width": 1,
8730 "phv_msb": 7,
8731 "phv_lsb": 0,
8732 "is_compiler_generated": false,
8733 "is_pov": false
8734 }
8735 ],
8736 "word_bit_width": 8
8737 },
8738 {
8739 "phv_number": 66,
8740 "records": [
8741 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08008742 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008743 "field_name": "mpls.label",
8744 "field_msb": 3,
8745 "field_lsb": 0,
8746 "field_width": 2,
8747 "phv_msb": 7,
8748 "phv_lsb": 4,
8749 "is_compiler_generated": false,
8750 "is_pov": false
8751 },
8752 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08008753 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008754 "field_name": "mpls.tc",
8755 "field_msb": 7,
8756 "field_lsb": 0,
8757 "field_width": 1,
8758 "phv_msb": 3,
8759 "phv_lsb": 1,
8760 "is_compiler_generated": false,
8761 "is_pov": false
8762 },
8763 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08008764 "position_offset": 89,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008765 "field_name": "mpls.bos",
8766 "field_msb": 7,
8767 "field_lsb": 0,
8768 "field_width": 1,
8769 "phv_msb": 0,
8770 "phv_lsb": 0,
8771 "is_compiler_generated": false,
8772 "is_pov": false
8773 }
8774 ],
8775 "word_bit_width": 8
8776 },
8777 {
8778 "phv_number": 67,
8779 "records": [
8780 {
8781 "position_offset": 1,
8782 "field_name": "$bridged_metadata_indicator",
8783 "field_msb": 7,
8784 "field_lsb": 0,
8785 "field_width": 1,
8786 "phv_msb": 7,
8787 "phv_lsb": 0,
8788 "is_compiler_generated": false,
8789 "is_pov": false
8790 }
8791 ],
8792 "word_bit_width": 8
8793 },
8794 {
8795 "phv_number": 68,
8796 "records": [
8797 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08008798 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008799 "field_name": "ipv4.ttl",
8800 "field_msb": 7,
8801 "field_lsb": 0,
8802 "field_width": 1,
8803 "phv_msb": 7,
8804 "phv_lsb": 0,
8805 "is_compiler_generated": false,
8806 "is_pov": false
8807 }
8808 ],
8809 "word_bit_width": 8
8810 },
8811 {
8812 "phv_number": 69,
8813 "records": [
8814 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08008815 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008816 "field_name": "mpls.ttl",
8817 "field_msb": 7,
8818 "field_lsb": 0,
8819 "field_width": 1,
8820 "phv_msb": 7,
8821 "phv_lsb": 0,
8822 "is_compiler_generated": false,
8823 "is_pov": false
8824 }
8825 ],
8826 "word_bit_width": 8
8827 },
8828 {
8829 "phv_number": 70,
8830 "records": [
8831 {
8832 "position_offset": 28,
8833 "field_name": "fabric_metadata.ip_proto",
8834 "field_msb": 7,
8835 "field_lsb": 0,
8836 "field_width": 1,
8837 "phv_msb": 7,
8838 "phv_lsb": 0,
8839 "is_compiler_generated": false,
8840 "is_pov": false
8841 }
8842 ],
8843 "word_bit_width": 8
8844 },
8845 {
8846 "phv_number": 71,
8847 "records": [
8848 {
8849 "position_offset": 0,
8850 "field_name": "$always_deparse",
8851 "field_msb": 7,
8852 "field_lsb": 0,
8853 "field_width": 1,
8854 "phv_msb": 0,
8855 "phv_lsb": 0,
8856 "is_compiler_generated": false,
8857 "is_pov": false
8858 },
8859 {
8860 "position_offset": 40,
8861 "field_name": "hasExited_0",
8862 "field_msb": 7,
8863 "field_lsb": 0,
8864 "field_width": 1,
8865 "phv_msb": 4,
8866 "phv_lsb": 4,
8867 "is_compiler_generated": false,
8868 "is_pov": false
8869 },
8870 {
8871 "position_offset": 0,
8872 "field_name": "POV",
8873 "field_msb": 7,
8874 "field_lsb": 0,
8875 "field_width": 0,
8876 "phv_msb": 1,
8877 "phv_lsb": 1,
8878 "is_compiler_generated": false,
8879 "is_pov": true,
8880 "pov_headers": [
8881 {
8882 "bit_index": 1,
8883 "position_offset": 2,
8884 "header_name": "arp",
8885 "hidden": false
8886 }
8887 ]
8888 },
8889 {
8890 "position_offset": 0,
8891 "field_name": "POV",
8892 "field_msb": 7,
8893 "field_lsb": 0,
8894 "field_width": 0,
8895 "phv_msb": 2,
8896 "phv_lsb": 2,
8897 "is_compiler_generated": false,
8898 "is_pov": true,
8899 "pov_headers": [
8900 {
8901 "bit_index": 2,
8902 "position_offset": 11,
8903 "header_name": "ethernet",
8904 "hidden": false
8905 }
8906 ]
8907 },
8908 {
8909 "position_offset": 0,
8910 "field_name": "POV",
8911 "field_msb": 7,
8912 "field_lsb": 0,
8913 "field_width": 0,
8914 "phv_msb": 3,
8915 "phv_lsb": 3,
8916 "is_compiler_generated": false,
8917 "is_pov": true,
8918 "pov_headers": [
8919 {
8920 "bit_index": 3,
8921 "position_offset": 41,
8922 "header_name": "icmp",
8923 "hidden": false
8924 }
8925 ]
8926 },
8927 {
8928 "position_offset": 0,
8929 "field_name": "POV",
8930 "field_msb": 7,
8931 "field_lsb": 0,
8932 "field_width": 0,
8933 "phv_msb": 5,
8934 "phv_lsb": 5,
8935 "is_compiler_generated": false,
8936 "is_pov": true,
8937 "pov_headers": [
8938 {
8939 "bit_index": 5,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08008940 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008941 "header_name": "ipv4",
8942 "hidden": false
8943 }
8944 ]
8945 },
8946 {
8947 "position_offset": 0,
8948 "field_name": "POV",
8949 "field_msb": 7,
8950 "field_lsb": 0,
8951 "field_width": 0,
8952 "phv_msb": 6,
8953 "phv_lsb": 6,
8954 "is_compiler_generated": false,
8955 "is_pov": true,
8956 "pov_headers": [
8957 {
8958 "bit_index": 6,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08008959 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008960 "header_name": "mpls",
8961 "hidden": false
8962 }
8963 ]
8964 },
8965 {
8966 "position_offset": 0,
8967 "field_name": "POV",
8968 "field_msb": 7,
8969 "field_lsb": 0,
8970 "field_width": 0,
8971 "phv_msb": 7,
8972 "phv_lsb": 7,
8973 "is_compiler_generated": false,
8974 "is_pov": true,
8975 "pov_headers": [
8976 {
8977 "bit_index": 7,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08008978 "position_offset": 94,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008979 "header_name": "packet_out",
8980 "hidden": false
8981 }
8982 ]
8983 }
8984 ],
8985 "word_bit_width": 8
8986 },
8987 {
8988 "phv_number": 72,
8989 "records": [
8990 {
8991 "position_offset": 39,
8992 "field_name": "fabric_metadata.pop_vlan_at_egress",
8993 "field_msb": 7,
8994 "field_lsb": 0,
8995 "field_width": 1,
8996 "phv_msb": 3,
8997 "phv_lsb": 3,
8998 "is_compiler_generated": false,
8999 "is_pov": false
9000 },
9001 {
9002 "position_offset": 0,
9003 "field_name": "POV",
9004 "field_msb": 7,
9005 "field_lsb": 0,
9006 "field_width": 0,
9007 "phv_msb": 0,
9008 "phv_lsb": 0,
9009 "is_compiler_generated": false,
9010 "is_pov": true,
9011 "pov_headers": [
9012 {
9013 "bit_index": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009014 "position_offset": 97,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009015 "header_name": "tcp",
9016 "hidden": false
9017 }
9018 ]
9019 },
9020 {
9021 "position_offset": 0,
9022 "field_name": "POV",
9023 "field_msb": 7,
9024 "field_lsb": 0,
9025 "field_width": 0,
9026 "phv_msb": 1,
9027 "phv_lsb": 1,
9028 "is_compiler_generated": false,
9029 "is_pov": true,
9030 "pov_headers": [
9031 {
9032 "bit_index": 1,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009033 "position_offset": 124,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009034 "header_name": "udp",
9035 "hidden": false
9036 }
9037 ]
9038 },
9039 {
9040 "position_offset": 0,
9041 "field_name": "POV",
9042 "field_msb": 7,
9043 "field_lsb": 0,
9044 "field_width": 0,
9045 "phv_msb": 2,
9046 "phv_lsb": 2,
9047 "is_compiler_generated": false,
9048 "is_pov": true,
9049 "pov_headers": [
9050 {
9051 "bit_index": 2,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009052 "position_offset": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009053 "header_name": "vlan_tag",
9054 "hidden": false
9055 }
9056 ]
9057 }
9058 ],
9059 "word_bit_width": 8
9060 },
9061 {
9062 "phv_number": 128,
9063 "records": [
9064 {
9065 "position_offset": 62,
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009066 "field_name": "ig_intr_md_for_tm.mcast_grp_a",
9067 "field_msb": 15,
9068 "field_lsb": 0,
9069 "field_width": 2,
9070 "phv_msb": 15,
9071 "phv_lsb": 0,
9072 "is_compiler_generated": false,
9073 "is_pov": false
9074 }
9075 ],
9076 "word_bit_width": 16
9077 },
9078 {
9079 "phv_number": 129,
9080 "records": [
9081 {
9082 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009083 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
9084 "field_msb": 15,
9085 "field_lsb": 0,
9086 "field_width": 2,
9087 "phv_msb": 8,
9088 "phv_lsb": 0,
9089 "is_compiler_generated": false,
9090 "is_pov": false
9091 }
9092 ],
9093 "word_bit_width": 16
9094 },
9095 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009096 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009097 "records": [
9098 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009099 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009100 "field_name": "packet_out.egress_port",
9101 "field_msb": 15,
9102 "field_lsb": 0,
9103 "field_width": 2,
9104 "phv_msb": 15,
9105 "phv_lsb": 7,
9106 "is_compiler_generated": false,
9107 "is_pov": false
9108 },
9109 {
9110 "position_offset": 26,
9111 "field_name": "fabric_metadata.fwd_type",
9112 "field_msb": 15,
9113 "field_lsb": 0,
9114 "field_width": 2,
9115 "phv_msb": 5,
9116 "phv_lsb": 3,
9117 "is_compiler_generated": false,
9118 "is_pov": false
9119 },
9120 {
9121 "position_offset": 60,
9122 "field_name": "ig_intr_md_for_tm.drop_ctl",
9123 "field_msb": 15,
9124 "field_lsb": 0,
9125 "field_width": 2,
9126 "phv_msb": 2,
9127 "phv_lsb": 0,
9128 "is_compiler_generated": false,
9129 "is_pov": false
9130 }
9131 ],
9132 "word_bit_width": 16
9133 },
9134 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009135 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009136 "records": [
9137 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009138 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009139 "field_name": "vlan_tag.pri",
9140 "field_msb": 15,
9141 "field_lsb": 0,
9142 "field_width": 2,
9143 "phv_msb": 15,
9144 "phv_lsb": 13,
9145 "is_compiler_generated": false,
9146 "is_pov": false
9147 },
9148 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009149 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009150 "field_name": "vlan_tag.cfi",
9151 "field_msb": 15,
9152 "field_lsb": 0,
9153 "field_width": 2,
9154 "phv_msb": 12,
9155 "phv_lsb": 12,
9156 "is_compiler_generated": false,
9157 "is_pov": false
9158 },
9159 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009160 "position_offset": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009161 "field_name": "vlan_tag.vlan_id",
9162 "field_msb": 15,
9163 "field_lsb": 0,
9164 "field_width": 2,
9165 "phv_msb": 11,
9166 "phv_lsb": 0,
9167 "is_compiler_generated": false,
9168 "is_pov": false
9169 }
9170 ],
9171 "word_bit_width": 16
9172 },
9173 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009174 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009175 "records": [
9176 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009177 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009178 "field_name": "mpls.label",
9179 "field_msb": 19,
9180 "field_lsb": 4,
9181 "field_width": 2,
9182 "phv_msb": 15,
9183 "phv_lsb": 0,
9184 "is_compiler_generated": false,
9185 "is_pov": false
9186 }
9187 ],
9188 "word_bit_width": 16
9189 },
9190 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009191 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009192 "records": [
9193 {
9194 "position_offset": 58,
9195 "field_name": "ig_intr_md.ingress_port",
9196 "field_msb": 15,
9197 "field_lsb": 0,
9198 "field_width": 2,
9199 "phv_msb": 8,
9200 "phv_lsb": 0,
9201 "is_compiler_generated": false,
9202 "is_pov": false
9203 }
9204 ],
9205 "word_bit_width": 16
9206 },
9207 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009208 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009209 "records": [
9210 {
9211 "position_offset": 31,
9212 "field_name": "fabric_metadata.l4_src_port",
9213 "field_msb": 15,
9214 "field_lsb": 0,
9215 "field_width": 2,
9216 "phv_msb": 15,
9217 "phv_lsb": 0,
9218 "is_compiler_generated": false,
9219 "is_pov": false
9220 }
9221 ],
9222 "word_bit_width": 16
9223 },
9224 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009225 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009226 "records": [
9227 {
9228 "position_offset": 18,
9229 "field_name": "ethernet.ether_type",
9230 "field_msb": 15,
9231 "field_lsb": 0,
9232 "field_width": 2,
9233 "phv_msb": 15,
9234 "phv_lsb": 0,
9235 "is_compiler_generated": false,
9236 "is_pov": false
9237 }
9238 ],
9239 "word_bit_width": 16
9240 },
9241 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009242 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009243 "records": [
9244 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009245 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009246 "field_name": "vlan_tag.ether_type",
9247 "field_msb": 15,
9248 "field_lsb": 0,
9249 "field_width": 2,
9250 "phv_msb": 15,
9251 "phv_lsb": 0,
9252 "is_compiler_generated": false,
9253 "is_pov": false
9254 }
9255 ],
9256 "word_bit_width": 16
9257 },
9258 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009259 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009260 "records": [
9261 {
9262 "position_offset": 12,
9263 "field_name": "ethernet.dst_addr",
9264 "field_msb": 15,
9265 "field_lsb": 0,
9266 "field_width": 6,
9267 "phv_msb": 15,
9268 "phv_lsb": 0,
9269 "is_compiler_generated": false,
9270 "is_pov": false
9271 }
9272 ],
9273 "word_bit_width": 16
9274 },
9275 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009276 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009277 "records": [
9278 {
9279 "position_offset": 20,
9280 "field_name": "ethernet.src_addr",
9281 "field_msb": 15,
9282 "field_lsb": 0,
9283 "field_width": 6,
9284 "phv_msb": 15,
9285 "phv_lsb": 0,
9286 "is_compiler_generated": false,
9287 "is_pov": false
9288 }
9289 ],
9290 "word_bit_width": 16
9291 },
9292 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009293 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009294 "records": [
9295 {
9296 "position_offset": 29,
9297 "field_name": "fabric_metadata.l4_dst_port",
9298 "field_msb": 15,
9299 "field_lsb": 0,
9300 "field_width": 2,
9301 "phv_msb": 15,
9302 "phv_lsb": 0,
9303 "is_compiler_generated": false,
9304 "is_pov": false
9305 }
9306 ],
9307 "word_bit_width": 16
9308 },
9309 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009310 "phv_number": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009311 "records": [
9312 {
9313 "position_offset": 37,
9314 "field_name": "fabric_metadata.original_ether_type",
9315 "field_msb": 15,
9316 "field_lsb": 0,
9317 "field_width": 2,
9318 "phv_msb": 15,
9319 "phv_lsb": 0,
9320 "is_compiler_generated": false,
9321 "is_pov": false
9322 }
9323 ],
9324 "word_bit_width": 16
9325 },
9326 {
9327 "phv_number": 260,
9328 "records": [
9329 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009330 "position_offset": 114,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009331 "field_name": "tcp.seq_no",
9332 "field_msb": 31,
9333 "field_lsb": 0,
9334 "field_width": 4,
9335 "phv_msb": 31,
9336 "phv_lsb": 0,
9337 "is_compiler_generated": false,
9338 "is_pov": false
9339 },
9340 {
9341 "position_offset": 50,
9342 "field_name": "icmp.timestamp",
9343 "field_msb": 31,
9344 "field_lsb": 0,
9345 "field_width": 8,
9346 "phv_msb": 31,
9347 "phv_lsb": 0,
9348 "is_compiler_generated": false,
9349 "is_pov": false
9350 }
9351 ],
9352 "word_bit_width": 32
9353 },
9354 {
9355 "phv_number": 261,
9356 "records": [
9357 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009358 "position_offset": 98,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009359 "field_name": "tcp.ack_no",
9360 "field_msb": 31,
9361 "field_lsb": 0,
9362 "field_width": 4,
9363 "phv_msb": 31,
9364 "phv_lsb": 0,
9365 "is_compiler_generated": false,
9366 "is_pov": false
9367 },
9368 {
9369 "position_offset": 50,
9370 "field_name": "icmp.timestamp",
9371 "field_msb": 63,
9372 "field_lsb": 32,
9373 "field_width": 8,
9374 "phv_msb": 31,
9375 "phv_lsb": 0,
9376 "is_compiler_generated": false,
9377 "is_pov": false
9378 }
9379 ],
9380 "word_bit_width": 32
9381 },
9382 {
9383 "phv_number": 292,
9384 "records": [
9385 {
9386 "position_offset": 3,
9387 "field_name": "arp.hw_addr_len",
9388 "field_msb": 7,
9389 "field_lsb": 0,
9390 "field_width": 1,
9391 "phv_msb": 7,
9392 "phv_lsb": 0,
9393 "is_compiler_generated": false,
9394 "is_pov": false
9395 },
9396 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009397 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009398 "field_name": "ipv4.version",
9399 "field_msb": 7,
9400 "field_lsb": 0,
9401 "field_width": 1,
9402 "phv_msb": 7,
9403 "phv_lsb": 4,
9404 "is_compiler_generated": false,
9405 "is_pov": false
9406 },
9407 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009408 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009409 "field_name": "ipv4.ihl",
9410 "field_msb": 7,
9411 "field_lsb": 0,
9412 "field_width": 1,
9413 "phv_msb": 3,
9414 "phv_lsb": 0,
9415 "is_compiler_generated": false,
9416 "is_pov": false
9417 }
9418 ],
9419 "word_bit_width": 8
9420 },
9421 {
9422 "phv_number": 293,
9423 "records": [
9424 {
9425 "position_offset": 8,
9426 "field_name": "arp.proto_addr_len",
9427 "field_msb": 7,
9428 "field_lsb": 0,
9429 "field_width": 1,
9430 "phv_msb": 7,
9431 "phv_lsb": 0,
9432 "is_compiler_generated": false,
9433 "is_pov": false
9434 },
9435 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009436 "position_offset": 67,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009437 "field_name": "ipv4.diffserv",
9438 "field_msb": 7,
9439 "field_lsb": 0,
9440 "field_width": 1,
9441 "phv_msb": 7,
9442 "phv_lsb": 0,
9443 "is_compiler_generated": false,
9444 "is_pov": false
9445 }
9446 ],
9447 "word_bit_width": 8
9448 },
9449 {
9450 "phv_number": 294,
9451 "records": [
9452 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009453 "position_offset": 79,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009454 "field_name": "ipv4.protocol",
9455 "field_msb": 7,
9456 "field_lsb": 0,
9457 "field_width": 1,
9458 "phv_msb": 7,
9459 "phv_lsb": 0,
9460 "is_compiler_generated": false,
9461 "is_pov": false
9462 }
9463 ],
9464 "word_bit_width": 8
9465 },
9466 {
9467 "phv_number": 326,
9468 "records": [
9469 {
9470 "position_offset": 4,
9471 "field_name": "arp.hw_type",
9472 "field_msb": 15,
9473 "field_lsb": 0,
9474 "field_width": 2,
9475 "phv_msb": 15,
9476 "phv_lsb": 0,
9477 "is_compiler_generated": false,
9478 "is_pov": false
9479 },
9480 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009481 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009482 "field_name": "tcp.data_offset",
9483 "field_msb": 15,
9484 "field_lsb": 0,
9485 "field_width": 2,
9486 "phv_msb": 15,
9487 "phv_lsb": 12,
9488 "is_compiler_generated": false,
9489 "is_pov": false
9490 },
9491 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009492 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009493 "field_name": "tcp.res",
9494 "field_msb": 15,
9495 "field_lsb": 0,
9496 "field_width": 2,
9497 "phv_msb": 11,
9498 "phv_lsb": 9,
9499 "is_compiler_generated": false,
9500 "is_pov": false
9501 },
9502 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009503 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009504 "field_name": "tcp.ecn",
9505 "field_msb": 15,
9506 "field_lsb": 0,
9507 "field_width": 2,
9508 "phv_msb": 8,
9509 "phv_lsb": 6,
9510 "is_compiler_generated": false,
9511 "is_pov": false
9512 },
9513 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009514 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009515 "field_name": "tcp.ctrl",
9516 "field_msb": 15,
9517 "field_lsb": 0,
9518 "field_width": 2,
9519 "phv_msb": 5,
9520 "phv_lsb": 0,
9521 "is_compiler_generated": false,
9522 "is_pov": false
9523 },
9524 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009525 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009526 "field_name": "udp.src_port",
9527 "field_msb": 15,
9528 "field_lsb": 0,
9529 "field_width": 2,
9530 "phv_msb": 15,
9531 "phv_lsb": 0,
9532 "is_compiler_generated": false,
9533 "is_pov": false
9534 },
9535 {
9536 "position_offset": 42,
9537 "field_name": "icmp.checksum",
9538 "field_msb": 15,
9539 "field_lsb": 0,
9540 "field_width": 2,
9541 "phv_msb": 15,
9542 "phv_lsb": 0,
9543 "is_compiler_generated": false,
9544 "is_pov": false
9545 }
9546 ],
9547 "word_bit_width": 16
9548 },
9549 {
9550 "phv_number": 327,
9551 "records": [
9552 {
9553 "position_offset": 9,
9554 "field_name": "arp.proto_type",
9555 "field_msb": 15,
9556 "field_lsb": 0,
9557 "field_width": 2,
9558 "phv_msb": 15,
9559 "phv_lsb": 0,
9560 "is_compiler_generated": false,
9561 "is_pov": false
9562 },
9563 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009564 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009565 "field_name": "tcp.src_port",
9566 "field_msb": 15,
9567 "field_lsb": 0,
9568 "field_width": 2,
9569 "phv_msb": 15,
9570 "phv_lsb": 0,
9571 "is_compiler_generated": false,
9572 "is_pov": false
9573 },
9574 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009575 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009576 "field_name": "udp.dst_port",
9577 "field_msb": 15,
9578 "field_lsb": 0,
9579 "field_width": 2,
9580 "phv_msb": 15,
9581 "phv_lsb": 0,
9582 "is_compiler_generated": false,
9583 "is_pov": false
9584 },
9585 {
9586 "position_offset": 46,
9587 "field_name": "icmp.identifier",
9588 "field_msb": 15,
9589 "field_lsb": 0,
9590 "field_width": 2,
9591 "phv_msb": 15,
9592 "phv_lsb": 0,
9593 "is_compiler_generated": false,
9594 "is_pov": false
9595 }
9596 ],
9597 "word_bit_width": 16
9598 },
9599 {
9600 "phv_number": 328,
9601 "records": [
9602 {
9603 "position_offset": 6,
9604 "field_name": "arp.opcode",
9605 "field_msb": 15,
9606 "field_lsb": 0,
9607 "field_width": 2,
9608 "phv_msb": 15,
9609 "phv_lsb": 0,
9610 "is_compiler_generated": false,
9611 "is_pov": false
9612 },
9613 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009614 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009615 "field_name": "ipv4.flags",
9616 "field_msb": 15,
9617 "field_lsb": 0,
9618 "field_width": 2,
9619 "phv_msb": 15,
9620 "phv_lsb": 13,
9621 "is_compiler_generated": false,
9622 "is_pov": false
9623 },
9624 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009625 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009626 "field_name": "ipv4.frag_offset",
9627 "field_msb": 15,
9628 "field_lsb": 0,
9629 "field_width": 2,
9630 "phv_msb": 12,
9631 "phv_lsb": 0,
9632 "is_compiler_generated": false,
9633 "is_pov": false
9634 }
9635 ],
9636 "word_bit_width": 16
9637 },
9638 {
9639 "phv_number": 329,
9640 "records": [
9641 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009642 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009643 "field_name": "ipv4.total_len",
9644 "field_msb": 15,
9645 "field_lsb": 0,
9646 "field_width": 2,
9647 "phv_msb": 15,
9648 "phv_lsb": 0,
9649 "is_compiler_generated": false,
9650 "is_pov": false
9651 }
9652 ],
9653 "word_bit_width": 16
9654 },
9655 {
9656 "phv_number": 330,
9657 "records": [
9658 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009659 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009660 "field_name": "ipv4.identification",
9661 "field_msb": 15,
9662 "field_lsb": 0,
9663 "field_width": 2,
9664 "phv_msb": 15,
9665 "phv_lsb": 0,
9666 "is_compiler_generated": false,
9667 "is_pov": false
9668 }
9669 ],
9670 "word_bit_width": 16
9671 },
9672 {
9673 "phv_number": 331,
9674 "records": [
9675 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009676 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009677 "field_name": "tcp.dst_port",
9678 "field_msb": 15,
9679 "field_lsb": 0,
9680 "field_width": 2,
9681 "phv_msb": 15,
9682 "phv_lsb": 0,
9683 "is_compiler_generated": false,
9684 "is_pov": false
9685 },
9686 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009687 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009688 "field_name": "udp.len",
9689 "field_msb": 15,
9690 "field_lsb": 0,
9691 "field_width": 2,
9692 "phv_msb": 15,
9693 "phv_lsb": 0,
9694 "is_compiler_generated": false,
9695 "is_pov": false
9696 },
9697 {
9698 "position_offset": 48,
9699 "field_name": "icmp.sequence_number",
9700 "field_msb": 15,
9701 "field_lsb": 0,
9702 "field_width": 2,
9703 "phv_msb": 15,
9704 "phv_lsb": 0,
9705 "is_compiler_generated": false,
9706 "is_pov": false
9707 }
9708 ],
9709 "word_bit_width": 16
9710 },
9711 {
9712 "phv_number": 338,
9713 "records": [
9714 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009715 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009716 "field_name": "tcp.window",
9717 "field_msb": 15,
9718 "field_lsb": 0,
9719 "field_width": 2,
9720 "phv_msb": 15,
9721 "phv_lsb": 0,
9722 "is_compiler_generated": false,
9723 "is_pov": false
9724 },
9725 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009726 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009727 "field_name": "udp.checksum",
9728 "field_msb": 15,
9729 "field_lsb": 0,
9730 "field_width": 2,
9731 "phv_msb": 15,
9732 "phv_lsb": 0,
9733 "is_compiler_generated": false,
9734 "is_pov": false
9735 }
9736 ],
9737 "word_bit_width": 16
9738 },
9739 {
9740 "phv_number": 339,
9741 "records": [
9742 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009743 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009744 "field_name": "tcp.checksum",
9745 "field_msb": 15,
9746 "field_lsb": 0,
9747 "field_width": 2,
9748 "phv_msb": 15,
9749 "phv_lsb": 0,
9750 "is_compiler_generated": false,
9751 "is_pov": false
9752 }
9753 ],
9754 "word_bit_width": 16
9755 },
9756 {
9757 "phv_number": 340,
9758 "records": [
9759 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -08009760 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009761 "field_name": "tcp.urgent_ptr",
9762 "field_msb": 15,
9763 "field_lsb": 0,
9764 "field_width": 2,
9765 "phv_msb": 15,
9766 "phv_lsb": 0,
9767 "is_compiler_generated": false,
9768 "is_pov": false
9769 }
9770 ],
9771 "word_bit_width": 16
9772 }
9773 ],
9774 "egress": [
9775 {
9776 "phv_number": 80,
9777 "records": [
9778 {
9779 "position_offset": 0,
9780 "field_name": "POV",
9781 "field_msb": 7,
9782 "field_lsb": 0,
9783 "field_width": 0,
9784 "phv_msb": 0,
9785 "phv_lsb": 0,
9786 "is_compiler_generated": false,
9787 "is_pov": true,
9788 "pov_headers": [
9789 {
9790 "bit_index": 0,
9791 "position_offset": 0,
9792 "header_name": "arp",
9793 "hidden": false
9794 }
9795 ]
9796 },
9797 {
9798 "position_offset": 0,
9799 "field_name": "POV",
9800 "field_msb": 7,
9801 "field_lsb": 0,
9802 "field_width": 0,
9803 "phv_msb": 2,
9804 "phv_lsb": 2,
9805 "is_compiler_generated": false,
9806 "is_pov": true,
9807 "pov_headers": [
9808 {
9809 "bit_index": 2,
9810 "position_offset": 11,
9811 "header_name": "ethernet",
9812 "hidden": false
9813 }
9814 ]
9815 },
9816 {
9817 "position_offset": 0,
9818 "field_name": "POV",
9819 "field_msb": 7,
9820 "field_lsb": 0,
9821 "field_width": 0,
9822 "phv_msb": 3,
9823 "phv_lsb": 3,
9824 "is_compiler_generated": false,
9825 "is_pov": true,
9826 "pov_headers": [
9827 {
9828 "bit_index": 3,
9829 "position_offset": 26,
9830 "header_name": "icmp",
9831 "hidden": false
9832 }
9833 ]
9834 },
9835 {
9836 "position_offset": 0,
9837 "field_name": "POV",
9838 "field_msb": 7,
9839 "field_lsb": 0,
9840 "field_width": 0,
9841 "phv_msb": 5,
9842 "phv_lsb": 5,
9843 "is_compiler_generated": false,
9844 "is_pov": true,
9845 "pov_headers": [
9846 {
9847 "bit_index": 5,
9848 "position_offset": 45,
9849 "header_name": "ipv4",
9850 "hidden": false
9851 }
9852 ]
9853 },
9854 {
9855 "position_offset": 0,
9856 "field_name": "POV",
9857 "field_msb": 7,
9858 "field_lsb": 0,
9859 "field_width": 0,
9860 "phv_msb": 6,
9861 "phv_lsb": 6,
9862 "is_compiler_generated": false,
9863 "is_pov": true,
9864 "pov_headers": [
9865 {
9866 "bit_index": 6,
9867 "position_offset": 67,
9868 "header_name": "mpls",
9869 "hidden": false
9870 }
9871 ]
9872 },
9873 {
9874 "position_offset": 0,
9875 "field_name": "POV",
9876 "field_msb": 7,
9877 "field_lsb": 0,
9878 "field_width": 0,
9879 "phv_msb": 7,
9880 "phv_lsb": 7,
9881 "is_compiler_generated": false,
9882 "is_pov": true,
9883 "pov_headers": [
9884 {
9885 "bit_index": 7,
9886 "position_offset": 73,
9887 "header_name": "packet_in",
9888 "hidden": false
9889 }
9890 ]
9891 }
9892 ],
9893 "word_bit_width": 8
9894 },
9895 {
9896 "phv_number": 81,
9897 "records": [
9898 {
9899 "position_offset": 0,
9900 "field_name": "POV",
9901 "field_msb": 7,
9902 "field_lsb": 0,
9903 "field_width": 0,
9904 "phv_msb": 0,
9905 "phv_lsb": 0,
9906 "is_compiler_generated": false,
9907 "is_pov": true,
9908 "pov_headers": [
9909 {
9910 "bit_index": 0,
9911 "position_offset": 78,
9912 "header_name": "tcp",
9913 "hidden": false
9914 }
9915 ]
9916 },
9917 {
9918 "position_offset": 0,
9919 "field_name": "POV",
9920 "field_msb": 7,
9921 "field_lsb": 0,
9922 "field_width": 0,
9923 "phv_msb": 1,
9924 "phv_lsb": 1,
9925 "is_compiler_generated": false,
9926 "is_pov": true,
9927 "pov_headers": [
9928 {
9929 "bit_index": 1,
9930 "position_offset": 105,
9931 "header_name": "udp",
9932 "hidden": false
9933 }
9934 ]
9935 },
9936 {
9937 "position_offset": 0,
9938 "field_name": "POV",
9939 "field_msb": 7,
9940 "field_lsb": 0,
9941 "field_width": 0,
9942 "phv_msb": 2,
9943 "phv_lsb": 2,
9944 "is_compiler_generated": false,
9945 "is_pov": true,
9946 "pov_headers": [
9947 {
9948 "bit_index": 2,
9949 "position_offset": 114,
9950 "header_name": "vlan_tag",
9951 "hidden": false
9952 }
9953 ]
9954 }
9955 ],
9956 "word_bit_width": 8
9957 },
9958 {
9959 "phv_number": 144,
9960 "records": [
9961 {
9962 "position_offset": 9,
9963 "field_name": "eg_intr_md.egress_port",
9964 "field_msb": 15,
9965 "field_lsb": 0,
9966 "field_width": 2,
9967 "phv_msb": 8,
9968 "phv_lsb": 0,
9969 "is_compiler_generated": false,
9970 "is_pov": false
9971 }
9972 ],
9973 "word_bit_width": 16
9974 },
9975 {
9976 "phv_number": 145,
9977 "records": [
9978 {
9979 "position_offset": 76,
9980 "field_name": "packet_in.ingress_port",
9981 "field_msb": 15,
9982 "field_lsb": 0,
9983 "field_width": 2,
9984 "phv_msb": 15,
9985 "phv_lsb": 7,
9986 "is_compiler_generated": false,
9987 "is_pov": false
9988 },
9989 {
9990 "position_offset": 74,
9991 "field_name": "packet_in._pad",
9992 "field_msb": 15,
9993 "field_lsb": 0,
9994 "field_width": 2,
9995 "phv_msb": 6,
9996 "phv_lsb": 0,
9997 "is_compiler_generated": false,
9998 "is_pov": false
9999 }
10000 ],
10001 "word_bit_width": 16
10002 },
10003 {
10004 "phv_number": 146,
10005 "records": [
10006 {
10007 "position_offset": 43,
10008 "field_name": "ig_intr_md.ingress_port",
10009 "field_msb": 15,
10010 "field_lsb": 0,
10011 "field_width": 2,
10012 "phv_msb": 8,
10013 "phv_lsb": 0,
10014 "is_compiler_generated": false,
10015 "is_pov": false
10016 }
10017 ],
10018 "word_bit_width": 16
10019 },
10020 {
10021 "phv_number": 256,
10022 "records": [
10023 {
10024 "position_offset": 12,
10025 "field_name": "ethernet.dst_addr",
10026 "field_msb": 47,
10027 "field_lsb": 16,
10028 "field_width": 6,
10029 "phv_msb": 31,
10030 "phv_lsb": 0,
10031 "is_compiler_generated": false,
10032 "is_pov": false
10033 }
10034 ],
10035 "word_bit_width": 32
10036 },
10037 {
10038 "phv_number": 257,
10039 "records": [
10040 {
10041 "position_offset": 20,
10042 "field_name": "ethernet.src_addr",
10043 "field_msb": 47,
10044 "field_lsb": 16,
10045 "field_width": 6,
10046 "phv_msb": 31,
10047 "phv_lsb": 0,
10048 "is_compiler_generated": false,
10049 "is_pov": false
10050 }
10051 ],
10052 "word_bit_width": 32
10053 },
10054 {
10055 "phv_number": 258,
10056 "records": [
10057 {
10058 "position_offset": 59,
10059 "field_name": "ipv4.src_addr",
10060 "field_msb": 31,
10061 "field_lsb": 0,
10062 "field_width": 4,
10063 "phv_msb": 31,
10064 "phv_lsb": 0,
10065 "is_compiler_generated": false,
10066 "is_pov": false
10067 }
10068 ],
10069 "word_bit_width": 32
10070 },
10071 {
10072 "phv_number": 259,
10073 "records": [
10074 {
10075 "position_offset": 47,
10076 "field_name": "ipv4.dst_addr",
10077 "field_msb": 31,
10078 "field_lsb": 0,
10079 "field_width": 4,
10080 "phv_msb": 31,
10081 "phv_lsb": 0,
10082 "is_compiler_generated": false,
10083 "is_pov": false
10084 }
10085 ],
10086 "word_bit_width": 32
10087 },
10088 {
10089 "phv_number": 264,
10090 "records": [
10091 {
10092 "position_offset": 95,
10093 "field_name": "tcp.seq_no",
10094 "field_msb": 31,
10095 "field_lsb": 0,
10096 "field_width": 4,
10097 "phv_msb": 31,
10098 "phv_lsb": 0,
10099 "is_compiler_generated": false,
10100 "is_pov": false
10101 },
10102 {
10103 "position_offset": 35,
10104 "field_name": "icmp.timestamp",
10105 "field_msb": 31,
10106 "field_lsb": 0,
10107 "field_width": 8,
10108 "phv_msb": 31,
10109 "phv_lsb": 0,
10110 "is_compiler_generated": false,
10111 "is_pov": false
10112 }
10113 ],
10114 "word_bit_width": 32
10115 },
10116 {
10117 "phv_number": 265,
10118 "records": [
10119 {
10120 "position_offset": 79,
10121 "field_name": "tcp.ack_no",
10122 "field_msb": 31,
10123 "field_lsb": 0,
10124 "field_width": 4,
10125 "phv_msb": 31,
10126 "phv_lsb": 0,
10127 "is_compiler_generated": false,
10128 "is_pov": false
10129 },
10130 {
10131 "position_offset": 35,
10132 "field_name": "icmp.timestamp",
10133 "field_msb": 63,
10134 "field_lsb": 32,
10135 "field_width": 8,
10136 "phv_msb": 31,
10137 "phv_lsb": 0,
10138 "is_compiler_generated": false,
10139 "is_pov": false
10140 }
10141 ],
10142 "word_bit_width": 32
10143 },
10144 {
10145 "phv_number": 288,
10146 "records": [
10147 {
10148 "position_offset": 1,
10149 "field_name": "arp.hw_addr_len",
10150 "field_msb": 7,
10151 "field_lsb": 0,
10152 "field_width": 1,
10153 "phv_msb": 7,
10154 "phv_lsb": 0,
10155 "is_compiler_generated": false,
10156 "is_pov": false
10157 },
10158 {
10159 "position_offset": 66,
10160 "field_name": "ipv4.version",
10161 "field_msb": 7,
10162 "field_lsb": 0,
10163 "field_width": 1,
10164 "phv_msb": 7,
10165 "phv_lsb": 4,
10166 "is_compiler_generated": false,
10167 "is_pov": false
10168 },
10169 {
10170 "position_offset": 57,
10171 "field_name": "ipv4.ihl",
10172 "field_msb": 7,
10173 "field_lsb": 0,
10174 "field_width": 1,
10175 "phv_msb": 3,
10176 "phv_lsb": 0,
10177 "is_compiler_generated": false,
10178 "is_pov": false
10179 }
10180 ],
10181 "word_bit_width": 8
10182 },
10183 {
10184 "phv_number": 289,
10185 "records": [
10186 {
10187 "position_offset": 6,
10188 "field_name": "arp.proto_addr_len",
10189 "field_msb": 7,
10190 "field_lsb": 0,
10191 "field_width": 1,
10192 "phv_msb": 7,
10193 "phv_lsb": 0,
10194 "is_compiler_generated": false,
10195 "is_pov": false
10196 },
10197 {
10198 "position_offset": 30,
10199 "field_name": "icmp.icmp_type",
10200 "field_msb": 7,
10201 "field_lsb": 0,
10202 "field_width": 1,
10203 "phv_msb": 7,
10204 "phv_lsb": 0,
10205 "is_compiler_generated": false,
10206 "is_pov": false
10207 }
10208 ],
10209 "word_bit_width": 8
10210 },
10211 {
10212 "phv_number": 290,
10213 "records": [
10214 {
10215 "position_offset": 46,
10216 "field_name": "ipv4.diffserv",
10217 "field_msb": 7,
10218 "field_lsb": 0,
10219 "field_width": 1,
10220 "phv_msb": 7,
10221 "phv_lsb": 0,
10222 "is_compiler_generated": false,
10223 "is_pov": false
10224 }
10225 ],
10226 "word_bit_width": 8
10227 },
10228 {
10229 "phv_number": 291,
10230 "records": [
10231 {
10232 "position_offset": 29,
10233 "field_name": "icmp.icmp_code",
10234 "field_msb": 7,
10235 "field_lsb": 0,
10236 "field_width": 1,
10237 "phv_msb": 7,
10238 "phv_lsb": 0,
10239 "is_compiler_generated": false,
10240 "is_pov": false
10241 }
10242 ],
10243 "word_bit_width": 8
10244 },
10245 {
10246 "phv_number": 296,
10247 "records": [
10248 {
10249 "position_offset": 69,
10250 "field_name": "mpls.label",
10251 "field_msb": 3,
10252 "field_lsb": 0,
10253 "field_width": 2,
10254 "phv_msb": 7,
10255 "phv_lsb": 4,
10256 "is_compiler_generated": false,
10257 "is_pov": false
10258 },
10259 {
10260 "position_offset": 71,
10261 "field_name": "mpls.tc",
10262 "field_msb": 7,
10263 "field_lsb": 0,
10264 "field_width": 1,
10265 "phv_msb": 3,
10266 "phv_lsb": 1,
10267 "is_compiler_generated": false,
10268 "is_pov": false
10269 },
10270 {
10271 "position_offset": 68,
10272 "field_name": "mpls.bos",
10273 "field_msb": 7,
10274 "field_lsb": 0,
10275 "field_width": 1,
10276 "phv_msb": 0,
10277 "phv_lsb": 0,
10278 "is_compiler_generated": false,
10279 "is_pov": false
10280 }
10281 ],
10282 "word_bit_width": 8
10283 },
10284 {
10285 "phv_number": 297,
10286 "records": [
10287 {
10288 "position_offset": 65,
10289 "field_name": "ipv4.ttl",
10290 "field_msb": 7,
10291 "field_lsb": 0,
10292 "field_width": 1,
10293 "phv_msb": 7,
10294 "phv_lsb": 0,
10295 "is_compiler_generated": false,
10296 "is_pov": false
10297 }
10298 ],
10299 "word_bit_width": 8
10300 },
10301 {
10302 "phv_number": 298,
10303 "records": [
10304 {
10305 "position_offset": 58,
10306 "field_name": "ipv4.protocol",
10307 "field_msb": 7,
10308 "field_lsb": 0,
10309 "field_width": 1,
10310 "phv_msb": 7,
10311 "phv_lsb": 0,
10312 "is_compiler_generated": false,
10313 "is_pov": false
10314 }
10315 ],
10316 "word_bit_width": 8
10317 },
10318 {
10319 "phv_number": 299,
10320 "records": [
10321 {
10322 "position_offset": 72,
10323 "field_name": "mpls.ttl",
10324 "field_msb": 7,
10325 "field_lsb": 0,
10326 "field_width": 1,
10327 "phv_msb": 7,
10328 "phv_lsb": 0,
10329 "is_compiler_generated": false,
10330 "is_pov": false
10331 }
10332 ],
10333 "word_bit_width": 8
10334 },
10335 {
10336 "phv_number": 320,
10337 "records": [
10338 {
10339 "position_offset": 119,
10340 "field_name": "vlan_tag.pri",
10341 "field_msb": 15,
10342 "field_lsb": 0,
10343 "field_width": 2,
10344 "phv_msb": 15,
10345 "phv_lsb": 13,
10346 "is_compiler_generated": false,
10347 "is_pov": false
10348 },
10349 {
10350 "position_offset": 115,
10351 "field_name": "vlan_tag.cfi",
10352 "field_msb": 15,
10353 "field_lsb": 0,
10354 "field_width": 2,
10355 "phv_msb": 12,
10356 "phv_lsb": 12,
10357 "is_compiler_generated": false,
10358 "is_pov": false
10359 },
10360 {
10361 "position_offset": 121,
10362 "field_name": "vlan_tag.vlan_id",
10363 "field_msb": 15,
10364 "field_lsb": 0,
10365 "field_width": 2,
10366 "phv_msb": 11,
10367 "phv_lsb": 0,
10368 "is_compiler_generated": false,
10369 "is_pov": false
10370 }
10371 ],
10372 "word_bit_width": 16
10373 },
10374 {
10375 "phv_number": 321,
10376 "records": [
10377 {
10378 "position_offset": 2,
10379 "field_name": "arp.hw_type",
10380 "field_msb": 15,
10381 "field_lsb": 0,
10382 "field_width": 2,
10383 "phv_msb": 15,
10384 "phv_lsb": 0,
10385 "is_compiler_generated": false,
10386 "is_pov": false
10387 },
10388 {
10389 "position_offset": 99,
10390 "field_name": "tcp.src_port",
10391 "field_msb": 15,
10392 "field_lsb": 0,
10393 "field_width": 2,
10394 "phv_msb": 15,
10395 "phv_lsb": 0,
10396 "is_compiler_generated": false,
10397 "is_pov": false
10398 },
10399 {
10400 "position_offset": 112,
10401 "field_name": "udp.src_port",
10402 "field_msb": 15,
10403 "field_lsb": 0,
10404 "field_width": 2,
10405 "phv_msb": 15,
10406 "phv_lsb": 0,
10407 "is_compiler_generated": false,
10408 "is_pov": false
10409 },
10410 {
10411 "position_offset": 27,
10412 "field_name": "icmp.checksum",
10413 "field_msb": 15,
10414 "field_lsb": 0,
10415 "field_width": 2,
10416 "phv_msb": 15,
10417 "phv_lsb": 0,
10418 "is_compiler_generated": false,
10419 "is_pov": false
10420 }
10421 ],
10422 "word_bit_width": 16
10423 },
10424 {
10425 "phv_number": 322,
10426 "records": [
10427 {
10428 "position_offset": 7,
10429 "field_name": "arp.proto_type",
10430 "field_msb": 15,
10431 "field_lsb": 0,
10432 "field_width": 2,
10433 "phv_msb": 15,
10434 "phv_lsb": 0,
10435 "is_compiler_generated": false,
10436 "is_pov": false
10437 },
10438 {
10439 "position_offset": 69,
10440 "field_name": "mpls.label",
10441 "field_msb": 19,
10442 "field_lsb": 4,
10443 "field_width": 2,
10444 "phv_msb": 15,
10445 "phv_lsb": 0,
10446 "is_compiler_generated": false,
10447 "is_pov": false
10448 }
10449 ],
10450 "word_bit_width": 16
10451 },
10452 {
10453 "phv_number": 323,
10454 "records": [
10455 {
10456 "position_offset": 4,
10457 "field_name": "arp.opcode",
10458 "field_msb": 15,
10459 "field_lsb": 0,
10460 "field_width": 2,
10461 "phv_msb": 15,
10462 "phv_lsb": 0,
10463 "is_compiler_generated": false,
10464 "is_pov": false
10465 },
10466 {
10467 "position_offset": 87,
10468 "field_name": "tcp.data_offset",
10469 "field_msb": 15,
10470 "field_lsb": 0,
10471 "field_width": 2,
10472 "phv_msb": 15,
10473 "phv_lsb": 12,
10474 "is_compiler_generated": false,
10475 "is_pov": false
10476 },
10477 {
10478 "position_offset": 93,
10479 "field_name": "tcp.res",
10480 "field_msb": 15,
10481 "field_lsb": 0,
10482 "field_width": 2,
10483 "phv_msb": 11,
10484 "phv_lsb": 9,
10485 "is_compiler_generated": false,
10486 "is_pov": false
10487 },
10488 {
10489 "position_offset": 91,
10490 "field_name": "tcp.ecn",
10491 "field_msb": 15,
10492 "field_lsb": 0,
10493 "field_width": 2,
10494 "phv_msb": 8,
10495 "phv_lsb": 6,
10496 "is_compiler_generated": false,
10497 "is_pov": false
10498 },
10499 {
10500 "position_offset": 85,
10501 "field_name": "tcp.ctrl",
10502 "field_msb": 15,
10503 "field_lsb": 0,
10504 "field_width": 2,
10505 "phv_msb": 5,
10506 "phv_lsb": 0,
10507 "is_compiler_generated": false,
10508 "is_pov": false
10509 },
10510 {
10511 "position_offset": 108,
10512 "field_name": "udp.dst_port",
10513 "field_msb": 15,
10514 "field_lsb": 0,
10515 "field_width": 2,
10516 "phv_msb": 15,
10517 "phv_lsb": 0,
10518 "is_compiler_generated": false,
10519 "is_pov": false
10520 },
10521 {
10522 "position_offset": 31,
10523 "field_name": "icmp.identifier",
10524 "field_msb": 15,
10525 "field_lsb": 0,
10526 "field_width": 2,
10527 "phv_msb": 15,
10528 "phv_lsb": 0,
10529 "is_compiler_generated": false,
10530 "is_pov": false
10531 }
10532 ],
10533 "word_bit_width": 16
10534 },
10535 {
10536 "phv_number": 324,
10537 "records": [
10538 {
10539 "position_offset": 51,
10540 "field_name": "ipv4.flags",
10541 "field_msb": 15,
10542 "field_lsb": 0,
10543 "field_width": 2,
10544 "phv_msb": 15,
10545 "phv_lsb": 13,
10546 "is_compiler_generated": false,
10547 "is_pov": false
10548 },
10549 {
10550 "position_offset": 53,
10551 "field_name": "ipv4.frag_offset",
10552 "field_msb": 15,
10553 "field_lsb": 0,
10554 "field_width": 2,
10555 "phv_msb": 12,
10556 "phv_lsb": 0,
10557 "is_compiler_generated": false,
10558 "is_pov": false
10559 }
10560 ],
10561 "word_bit_width": 16
10562 },
10563 {
10564 "phv_number": 325,
10565 "records": [
10566 {
10567 "position_offset": 12,
10568 "field_name": "ethernet.dst_addr",
10569 "field_msb": 15,
10570 "field_lsb": 0,
10571 "field_width": 6,
10572 "phv_msb": 15,
10573 "phv_lsb": 0,
10574 "is_compiler_generated": false,
10575 "is_pov": false
10576 }
10577 ],
10578 "word_bit_width": 16
10579 },
10580 {
10581 "phv_number": 332,
10582 "records": [
10583 {
10584 "position_offset": 20,
10585 "field_name": "ethernet.src_addr",
10586 "field_msb": 15,
10587 "field_lsb": 0,
10588 "field_width": 6,
10589 "phv_msb": 15,
10590 "phv_lsb": 0,
10591 "is_compiler_generated": false,
10592 "is_pov": false
10593 }
10594 ],
10595 "word_bit_width": 16
10596 },
10597 {
10598 "phv_number": 333,
10599 "records": [
10600 {
10601 "position_offset": 18,
10602 "field_name": "ethernet.ether_type",
10603 "field_msb": 15,
10604 "field_lsb": 0,
10605 "field_width": 2,
10606 "phv_msb": 15,
10607 "phv_lsb": 0,
10608 "is_compiler_generated": false,
10609 "is_pov": false
10610 }
10611 ],
10612 "word_bit_width": 16
10613 },
10614 {
10615 "phv_number": 334,
10616 "records": [
10617 {
10618 "position_offset": 117,
10619 "field_name": "vlan_tag.ether_type",
10620 "field_msb": 15,
10621 "field_lsb": 0,
10622 "field_width": 2,
10623 "phv_msb": 15,
10624 "phv_lsb": 0,
10625 "is_compiler_generated": false,
10626 "is_pov": false
10627 }
10628 ],
10629 "word_bit_width": 16
10630 },
10631 {
10632 "phv_number": 335,
10633 "records": [
10634 {
10635 "position_offset": 63,
10636 "field_name": "ipv4.total_len",
10637 "field_msb": 15,
10638 "field_lsb": 0,
10639 "field_width": 2,
10640 "phv_msb": 15,
10641 "phv_lsb": 0,
10642 "is_compiler_generated": false,
10643 "is_pov": false
10644 }
10645 ],
10646 "word_bit_width": 16
10647 },
10648 {
10649 "phv_number": 336,
10650 "records": [
10651 {
10652 "position_offset": 55,
10653 "field_name": "ipv4.identification",
10654 "field_msb": 15,
10655 "field_lsb": 0,
10656 "field_width": 2,
10657 "phv_msb": 15,
10658 "phv_lsb": 0,
10659 "is_compiler_generated": false,
10660 "is_pov": false
10661 }
10662 ],
10663 "word_bit_width": 16
10664 },
10665 {
10666 "phv_number": 337,
10667 "records": [
10668 {
10669 "position_offset": 89,
10670 "field_name": "tcp.dst_port",
10671 "field_msb": 15,
10672 "field_lsb": 0,
10673 "field_width": 2,
10674 "phv_msb": 15,
10675 "phv_lsb": 0,
10676 "is_compiler_generated": false,
10677 "is_pov": false
10678 },
10679 {
10680 "position_offset": 110,
10681 "field_name": "udp.len",
10682 "field_msb": 15,
10683 "field_lsb": 0,
10684 "field_width": 2,
10685 "phv_msb": 15,
10686 "phv_lsb": 0,
10687 "is_compiler_generated": false,
10688 "is_pov": false
10689 },
10690 {
10691 "position_offset": 33,
10692 "field_name": "icmp.sequence_number",
10693 "field_msb": 15,
10694 "field_lsb": 0,
10695 "field_width": 2,
10696 "phv_msb": 15,
10697 "phv_lsb": 0,
10698 "is_compiler_generated": false,
10699 "is_pov": false
10700 }
10701 ],
10702 "word_bit_width": 16
10703 },
10704 {
10705 "phv_number": 344,
10706 "records": [
10707 {
10708 "position_offset": 103,
10709 "field_name": "tcp.window",
10710 "field_msb": 15,
10711 "field_lsb": 0,
10712 "field_width": 2,
10713 "phv_msb": 15,
10714 "phv_lsb": 0,
10715 "is_compiler_generated": false,
10716 "is_pov": false
10717 },
10718 {
10719 "position_offset": 106,
10720 "field_name": "udp.checksum",
10721 "field_msb": 15,
10722 "field_lsb": 0,
10723 "field_width": 2,
10724 "phv_msb": 15,
10725 "phv_lsb": 0,
10726 "is_compiler_generated": false,
10727 "is_pov": false
10728 }
10729 ],
10730 "word_bit_width": 16
10731 },
10732 {
10733 "phv_number": 345,
10734 "records": [
10735 {
10736 "position_offset": 83,
10737 "field_name": "tcp.checksum",
10738 "field_msb": 15,
10739 "field_lsb": 0,
10740 "field_width": 2,
10741 "phv_msb": 15,
10742 "phv_lsb": 0,
10743 "is_compiler_generated": false,
10744 "is_pov": false
10745 }
10746 ],
10747 "word_bit_width": 16
10748 },
10749 {
10750 "phv_number": 346,
10751 "records": [
10752 {
10753 "position_offset": 101,
10754 "field_name": "tcp.urgent_ptr",
10755 "field_msb": 15,
10756 "field_lsb": 0,
10757 "field_width": 2,
10758 "phv_msb": 15,
10759 "phv_lsb": 0,
10760 "is_compiler_generated": false,
10761 "is_pov": false
10762 }
10763 ],
10764 "word_bit_width": 16
10765 }
10766 ],
10767 "stage_number": 4
10768 },
10769 {
10770 "ingress": [
10771 {
10772 "phv_number": 0,
10773 "records": [
10774 {
10775 "position_offset": 12,
10776 "field_name": "ethernet.dst_addr",
10777 "field_msb": 47,
10778 "field_lsb": 16,
10779 "field_width": 6,
10780 "phv_msb": 31,
10781 "phv_lsb": 0,
10782 "is_compiler_generated": false,
10783 "is_pov": false
10784 }
10785 ],
10786 "word_bit_width": 32
10787 },
10788 {
10789 "phv_number": 1,
10790 "records": [
10791 {
10792 "position_offset": 20,
10793 "field_name": "ethernet.src_addr",
10794 "field_msb": 47,
10795 "field_lsb": 16,
10796 "field_width": 6,
10797 "phv_msb": 31,
10798 "phv_lsb": 0,
10799 "is_compiler_generated": false,
10800 "is_pov": false
10801 }
10802 ],
10803 "word_bit_width": 32
10804 },
10805 {
10806 "phv_number": 2,
10807 "records": [
10808 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080010809 "position_offset": 80,
Carmelo Cascone04098db2018-01-30 18:10:32 -080010810 "field_name": "ipv4.src_addr",
10811 "field_msb": 31,
10812 "field_lsb": 0,
10813 "field_width": 4,
10814 "phv_msb": 31,
10815 "phv_lsb": 0,
10816 "is_compiler_generated": false,
10817 "is_pov": false
10818 }
10819 ],
10820 "word_bit_width": 32
10821 },
10822 {
10823 "phv_number": 3,
10824 "records": [
10825 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080010826 "position_offset": 68,
Carmelo Cascone04098db2018-01-30 18:10:32 -080010827 "field_name": "ipv4.dst_addr",
10828 "field_msb": 31,
10829 "field_lsb": 0,
10830 "field_width": 4,
10831 "phv_msb": 31,
10832 "phv_lsb": 0,
10833 "is_compiler_generated": false,
10834 "is_pov": false
10835 }
10836 ],
10837 "word_bit_width": 32
10838 },
10839 {
10840 "phv_number": 4,
10841 "records": [
10842 {
10843 "position_offset": 33,
10844 "field_name": "fabric_metadata.next_id",
10845 "field_msb": 31,
10846 "field_lsb": 0,
10847 "field_width": 4,
10848 "phv_msb": 31,
10849 "phv_lsb": 0,
10850 "is_compiler_generated": false,
10851 "is_pov": false
10852 }
10853 ],
10854 "word_bit_width": 32
10855 },
10856 {
10857 "phv_number": 64,
10858 "records": [
10859 {
10860 "position_offset": 45,
10861 "field_name": "icmp.icmp_type",
10862 "field_msb": 7,
10863 "field_lsb": 0,
10864 "field_width": 1,
10865 "phv_msb": 7,
10866 "phv_lsb": 0,
10867 "is_compiler_generated": false,
10868 "is_pov": false
10869 }
10870 ],
10871 "word_bit_width": 8
10872 },
10873 {
10874 "phv_number": 65,
10875 "records": [
10876 {
10877 "position_offset": 44,
10878 "field_name": "icmp.icmp_code",
10879 "field_msb": 7,
10880 "field_lsb": 0,
10881 "field_width": 1,
10882 "phv_msb": 7,
10883 "phv_lsb": 0,
10884 "is_compiler_generated": false,
10885 "is_pov": false
10886 }
10887 ],
10888 "word_bit_width": 8
10889 },
10890 {
10891 "phv_number": 66,
10892 "records": [
10893 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080010894 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080010895 "field_name": "mpls.label",
10896 "field_msb": 3,
10897 "field_lsb": 0,
10898 "field_width": 2,
10899 "phv_msb": 7,
10900 "phv_lsb": 4,
10901 "is_compiler_generated": false,
10902 "is_pov": false
10903 },
10904 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080010905 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -080010906 "field_name": "mpls.tc",
10907 "field_msb": 7,
10908 "field_lsb": 0,
10909 "field_width": 1,
10910 "phv_msb": 3,
10911 "phv_lsb": 1,
10912 "is_compiler_generated": false,
10913 "is_pov": false
10914 },
10915 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080010916 "position_offset": 89,
Carmelo Cascone04098db2018-01-30 18:10:32 -080010917 "field_name": "mpls.bos",
10918 "field_msb": 7,
10919 "field_lsb": 0,
10920 "field_width": 1,
10921 "phv_msb": 0,
10922 "phv_lsb": 0,
10923 "is_compiler_generated": false,
10924 "is_pov": false
10925 }
10926 ],
10927 "word_bit_width": 8
10928 },
10929 {
10930 "phv_number": 67,
10931 "records": [
10932 {
10933 "position_offset": 1,
10934 "field_name": "$bridged_metadata_indicator",
10935 "field_msb": 7,
10936 "field_lsb": 0,
10937 "field_width": 1,
10938 "phv_msb": 7,
10939 "phv_lsb": 0,
10940 "is_compiler_generated": false,
10941 "is_pov": false
10942 }
10943 ],
10944 "word_bit_width": 8
10945 },
10946 {
10947 "phv_number": 68,
10948 "records": [
10949 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080010950 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -080010951 "field_name": "ipv4.ttl",
10952 "field_msb": 7,
10953 "field_lsb": 0,
10954 "field_width": 1,
10955 "phv_msb": 7,
10956 "phv_lsb": 0,
10957 "is_compiler_generated": false,
10958 "is_pov": false
10959 }
10960 ],
10961 "word_bit_width": 8
10962 },
10963 {
10964 "phv_number": 69,
10965 "records": [
10966 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080010967 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -080010968 "field_name": "mpls.ttl",
10969 "field_msb": 7,
10970 "field_lsb": 0,
10971 "field_width": 1,
10972 "phv_msb": 7,
10973 "phv_lsb": 0,
10974 "is_compiler_generated": false,
10975 "is_pov": false
10976 }
10977 ],
10978 "word_bit_width": 8
10979 },
10980 {
10981 "phv_number": 70,
10982 "records": [
10983 {
10984 "position_offset": 28,
10985 "field_name": "fabric_metadata.ip_proto",
10986 "field_msb": 7,
10987 "field_lsb": 0,
10988 "field_width": 1,
10989 "phv_msb": 7,
10990 "phv_lsb": 0,
10991 "is_compiler_generated": false,
10992 "is_pov": false
10993 }
10994 ],
10995 "word_bit_width": 8
10996 },
10997 {
10998 "phv_number": 71,
10999 "records": [
11000 {
11001 "position_offset": 0,
11002 "field_name": "$always_deparse",
11003 "field_msb": 7,
11004 "field_lsb": 0,
11005 "field_width": 1,
11006 "phv_msb": 0,
11007 "phv_lsb": 0,
11008 "is_compiler_generated": false,
11009 "is_pov": false
11010 },
11011 {
11012 "position_offset": 40,
11013 "field_name": "hasExited_0",
11014 "field_msb": 7,
11015 "field_lsb": 0,
11016 "field_width": 1,
11017 "phv_msb": 4,
11018 "phv_lsb": 4,
11019 "is_compiler_generated": false,
11020 "is_pov": false
11021 },
11022 {
11023 "position_offset": 0,
11024 "field_name": "POV",
11025 "field_msb": 7,
11026 "field_lsb": 0,
11027 "field_width": 0,
11028 "phv_msb": 1,
11029 "phv_lsb": 1,
11030 "is_compiler_generated": false,
11031 "is_pov": true,
11032 "pov_headers": [
11033 {
11034 "bit_index": 1,
11035 "position_offset": 2,
11036 "header_name": "arp",
11037 "hidden": false
11038 }
11039 ]
11040 },
11041 {
11042 "position_offset": 0,
11043 "field_name": "POV",
11044 "field_msb": 7,
11045 "field_lsb": 0,
11046 "field_width": 0,
11047 "phv_msb": 2,
11048 "phv_lsb": 2,
11049 "is_compiler_generated": false,
11050 "is_pov": true,
11051 "pov_headers": [
11052 {
11053 "bit_index": 2,
11054 "position_offset": 11,
11055 "header_name": "ethernet",
11056 "hidden": false
11057 }
11058 ]
11059 },
11060 {
11061 "position_offset": 0,
11062 "field_name": "POV",
11063 "field_msb": 7,
11064 "field_lsb": 0,
11065 "field_width": 0,
11066 "phv_msb": 3,
11067 "phv_lsb": 3,
11068 "is_compiler_generated": false,
11069 "is_pov": true,
11070 "pov_headers": [
11071 {
11072 "bit_index": 3,
11073 "position_offset": 41,
11074 "header_name": "icmp",
11075 "hidden": false
11076 }
11077 ]
11078 },
11079 {
11080 "position_offset": 0,
11081 "field_name": "POV",
11082 "field_msb": 7,
11083 "field_lsb": 0,
11084 "field_width": 0,
11085 "phv_msb": 5,
11086 "phv_lsb": 5,
11087 "is_compiler_generated": false,
11088 "is_pov": true,
11089 "pov_headers": [
11090 {
11091 "bit_index": 5,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011092 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011093 "header_name": "ipv4",
11094 "hidden": false
11095 }
11096 ]
11097 },
11098 {
11099 "position_offset": 0,
11100 "field_name": "POV",
11101 "field_msb": 7,
11102 "field_lsb": 0,
11103 "field_width": 0,
11104 "phv_msb": 6,
11105 "phv_lsb": 6,
11106 "is_compiler_generated": false,
11107 "is_pov": true,
11108 "pov_headers": [
11109 {
11110 "bit_index": 6,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011111 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011112 "header_name": "mpls",
11113 "hidden": false
11114 }
11115 ]
11116 },
11117 {
11118 "position_offset": 0,
11119 "field_name": "POV",
11120 "field_msb": 7,
11121 "field_lsb": 0,
11122 "field_width": 0,
11123 "phv_msb": 7,
11124 "phv_lsb": 7,
11125 "is_compiler_generated": false,
11126 "is_pov": true,
11127 "pov_headers": [
11128 {
11129 "bit_index": 7,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011130 "position_offset": 94,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011131 "header_name": "packet_out",
11132 "hidden": false
11133 }
11134 ]
11135 }
11136 ],
11137 "word_bit_width": 8
11138 },
11139 {
11140 "phv_number": 72,
11141 "records": [
11142 {
11143 "position_offset": 39,
11144 "field_name": "fabric_metadata.pop_vlan_at_egress",
11145 "field_msb": 7,
11146 "field_lsb": 0,
11147 "field_width": 1,
11148 "phv_msb": 3,
11149 "phv_lsb": 3,
11150 "is_compiler_generated": false,
11151 "is_pov": false
11152 },
11153 {
11154 "position_offset": 0,
11155 "field_name": "POV",
11156 "field_msb": 7,
11157 "field_lsb": 0,
11158 "field_width": 0,
11159 "phv_msb": 0,
11160 "phv_lsb": 0,
11161 "is_compiler_generated": false,
11162 "is_pov": true,
11163 "pov_headers": [
11164 {
11165 "bit_index": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011166 "position_offset": 97,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011167 "header_name": "tcp",
11168 "hidden": false
11169 }
11170 ]
11171 },
11172 {
11173 "position_offset": 0,
11174 "field_name": "POV",
11175 "field_msb": 7,
11176 "field_lsb": 0,
11177 "field_width": 0,
11178 "phv_msb": 1,
11179 "phv_lsb": 1,
11180 "is_compiler_generated": false,
11181 "is_pov": true,
11182 "pov_headers": [
11183 {
11184 "bit_index": 1,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011185 "position_offset": 124,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011186 "header_name": "udp",
11187 "hidden": false
11188 }
11189 ]
11190 },
11191 {
11192 "position_offset": 0,
11193 "field_name": "POV",
11194 "field_msb": 7,
11195 "field_lsb": 0,
11196 "field_width": 0,
11197 "phv_msb": 2,
11198 "phv_lsb": 2,
11199 "is_compiler_generated": false,
11200 "is_pov": true,
11201 "pov_headers": [
11202 {
11203 "bit_index": 2,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011204 "position_offset": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011205 "header_name": "vlan_tag",
11206 "hidden": false
11207 }
11208 ]
11209 }
11210 ],
11211 "word_bit_width": 8
11212 },
11213 {
11214 "phv_number": 128,
11215 "records": [
11216 {
11217 "position_offset": 62,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011218 "field_name": "ig_intr_md_for_tm.mcast_grp_a",
11219 "field_msb": 15,
11220 "field_lsb": 0,
11221 "field_width": 2,
11222 "phv_msb": 15,
11223 "phv_lsb": 0,
11224 "is_compiler_generated": false,
11225 "is_pov": false
11226 }
11227 ],
11228 "word_bit_width": 16
11229 },
11230 {
11231 "phv_number": 129,
11232 "records": [
11233 {
11234 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011235 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
11236 "field_msb": 15,
11237 "field_lsb": 0,
11238 "field_width": 2,
11239 "phv_msb": 8,
11240 "phv_lsb": 0,
11241 "is_compiler_generated": false,
11242 "is_pov": false
11243 }
11244 ],
11245 "word_bit_width": 16
11246 },
11247 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011248 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011249 "records": [
11250 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011251 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011252 "field_name": "packet_out.egress_port",
11253 "field_msb": 15,
11254 "field_lsb": 0,
11255 "field_width": 2,
11256 "phv_msb": 15,
11257 "phv_lsb": 7,
11258 "is_compiler_generated": false,
11259 "is_pov": false
11260 },
11261 {
11262 "position_offset": 26,
11263 "field_name": "fabric_metadata.fwd_type",
11264 "field_msb": 15,
11265 "field_lsb": 0,
11266 "field_width": 2,
11267 "phv_msb": 5,
11268 "phv_lsb": 3,
11269 "is_compiler_generated": false,
11270 "is_pov": false
11271 },
11272 {
11273 "position_offset": 60,
11274 "field_name": "ig_intr_md_for_tm.drop_ctl",
11275 "field_msb": 15,
11276 "field_lsb": 0,
11277 "field_width": 2,
11278 "phv_msb": 2,
11279 "phv_lsb": 0,
11280 "is_compiler_generated": false,
11281 "is_pov": false
11282 }
11283 ],
11284 "word_bit_width": 16
11285 },
11286 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011287 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011288 "records": [
11289 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011290 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011291 "field_name": "vlan_tag.pri",
11292 "field_msb": 15,
11293 "field_lsb": 0,
11294 "field_width": 2,
11295 "phv_msb": 15,
11296 "phv_lsb": 13,
11297 "is_compiler_generated": false,
11298 "is_pov": false
11299 },
11300 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011301 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011302 "field_name": "vlan_tag.cfi",
11303 "field_msb": 15,
11304 "field_lsb": 0,
11305 "field_width": 2,
11306 "phv_msb": 12,
11307 "phv_lsb": 12,
11308 "is_compiler_generated": false,
11309 "is_pov": false
11310 },
11311 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011312 "position_offset": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011313 "field_name": "vlan_tag.vlan_id",
11314 "field_msb": 15,
11315 "field_lsb": 0,
11316 "field_width": 2,
11317 "phv_msb": 11,
11318 "phv_lsb": 0,
11319 "is_compiler_generated": false,
11320 "is_pov": false
11321 }
11322 ],
11323 "word_bit_width": 16
11324 },
11325 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011326 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011327 "records": [
11328 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011329 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011330 "field_name": "mpls.label",
11331 "field_msb": 19,
11332 "field_lsb": 4,
11333 "field_width": 2,
11334 "phv_msb": 15,
11335 "phv_lsb": 0,
11336 "is_compiler_generated": false,
11337 "is_pov": false
11338 }
11339 ],
11340 "word_bit_width": 16
11341 },
11342 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011343 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011344 "records": [
11345 {
11346 "position_offset": 58,
11347 "field_name": "ig_intr_md.ingress_port",
11348 "field_msb": 15,
11349 "field_lsb": 0,
11350 "field_width": 2,
11351 "phv_msb": 8,
11352 "phv_lsb": 0,
11353 "is_compiler_generated": false,
11354 "is_pov": false
11355 }
11356 ],
11357 "word_bit_width": 16
11358 },
11359 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011360 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011361 "records": [
11362 {
11363 "position_offset": 31,
11364 "field_name": "fabric_metadata.l4_src_port",
11365 "field_msb": 15,
11366 "field_lsb": 0,
11367 "field_width": 2,
11368 "phv_msb": 15,
11369 "phv_lsb": 0,
11370 "is_compiler_generated": false,
11371 "is_pov": false
11372 }
11373 ],
11374 "word_bit_width": 16
11375 },
11376 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011377 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011378 "records": [
11379 {
11380 "position_offset": 18,
11381 "field_name": "ethernet.ether_type",
11382 "field_msb": 15,
11383 "field_lsb": 0,
11384 "field_width": 2,
11385 "phv_msb": 15,
11386 "phv_lsb": 0,
11387 "is_compiler_generated": false,
11388 "is_pov": false
11389 }
11390 ],
11391 "word_bit_width": 16
11392 },
11393 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011394 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011395 "records": [
11396 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011397 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011398 "field_name": "vlan_tag.ether_type",
11399 "field_msb": 15,
11400 "field_lsb": 0,
11401 "field_width": 2,
11402 "phv_msb": 15,
11403 "phv_lsb": 0,
11404 "is_compiler_generated": false,
11405 "is_pov": false
11406 }
11407 ],
11408 "word_bit_width": 16
11409 },
11410 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011411 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011412 "records": [
11413 {
11414 "position_offset": 12,
11415 "field_name": "ethernet.dst_addr",
11416 "field_msb": 15,
11417 "field_lsb": 0,
11418 "field_width": 6,
11419 "phv_msb": 15,
11420 "phv_lsb": 0,
11421 "is_compiler_generated": false,
11422 "is_pov": false
11423 }
11424 ],
11425 "word_bit_width": 16
11426 },
11427 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011428 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011429 "records": [
11430 {
11431 "position_offset": 20,
11432 "field_name": "ethernet.src_addr",
11433 "field_msb": 15,
11434 "field_lsb": 0,
11435 "field_width": 6,
11436 "phv_msb": 15,
11437 "phv_lsb": 0,
11438 "is_compiler_generated": false,
11439 "is_pov": false
11440 }
11441 ],
11442 "word_bit_width": 16
11443 },
11444 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011445 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011446 "records": [
11447 {
11448 "position_offset": 29,
11449 "field_name": "fabric_metadata.l4_dst_port",
11450 "field_msb": 15,
11451 "field_lsb": 0,
11452 "field_width": 2,
11453 "phv_msb": 15,
11454 "phv_lsb": 0,
11455 "is_compiler_generated": false,
11456 "is_pov": false
11457 }
11458 ],
11459 "word_bit_width": 16
11460 },
11461 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011462 "phv_number": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011463 "records": [
11464 {
11465 "position_offset": 37,
11466 "field_name": "fabric_metadata.original_ether_type",
11467 "field_msb": 15,
11468 "field_lsb": 0,
11469 "field_width": 2,
11470 "phv_msb": 15,
11471 "phv_lsb": 0,
11472 "is_compiler_generated": false,
11473 "is_pov": false
11474 }
11475 ],
11476 "word_bit_width": 16
11477 },
11478 {
11479 "phv_number": 260,
11480 "records": [
11481 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011482 "position_offset": 114,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011483 "field_name": "tcp.seq_no",
11484 "field_msb": 31,
11485 "field_lsb": 0,
11486 "field_width": 4,
11487 "phv_msb": 31,
11488 "phv_lsb": 0,
11489 "is_compiler_generated": false,
11490 "is_pov": false
11491 },
11492 {
11493 "position_offset": 50,
11494 "field_name": "icmp.timestamp",
11495 "field_msb": 31,
11496 "field_lsb": 0,
11497 "field_width": 8,
11498 "phv_msb": 31,
11499 "phv_lsb": 0,
11500 "is_compiler_generated": false,
11501 "is_pov": false
11502 }
11503 ],
11504 "word_bit_width": 32
11505 },
11506 {
11507 "phv_number": 261,
11508 "records": [
11509 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011510 "position_offset": 98,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011511 "field_name": "tcp.ack_no",
11512 "field_msb": 31,
11513 "field_lsb": 0,
11514 "field_width": 4,
11515 "phv_msb": 31,
11516 "phv_lsb": 0,
11517 "is_compiler_generated": false,
11518 "is_pov": false
11519 },
11520 {
11521 "position_offset": 50,
11522 "field_name": "icmp.timestamp",
11523 "field_msb": 63,
11524 "field_lsb": 32,
11525 "field_width": 8,
11526 "phv_msb": 31,
11527 "phv_lsb": 0,
11528 "is_compiler_generated": false,
11529 "is_pov": false
11530 }
11531 ],
11532 "word_bit_width": 32
11533 },
11534 {
11535 "phv_number": 292,
11536 "records": [
11537 {
11538 "position_offset": 3,
11539 "field_name": "arp.hw_addr_len",
11540 "field_msb": 7,
11541 "field_lsb": 0,
11542 "field_width": 1,
11543 "phv_msb": 7,
11544 "phv_lsb": 0,
11545 "is_compiler_generated": false,
11546 "is_pov": false
11547 },
11548 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011549 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011550 "field_name": "ipv4.version",
11551 "field_msb": 7,
11552 "field_lsb": 0,
11553 "field_width": 1,
11554 "phv_msb": 7,
11555 "phv_lsb": 4,
11556 "is_compiler_generated": false,
11557 "is_pov": false
11558 },
11559 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011560 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011561 "field_name": "ipv4.ihl",
11562 "field_msb": 7,
11563 "field_lsb": 0,
11564 "field_width": 1,
11565 "phv_msb": 3,
11566 "phv_lsb": 0,
11567 "is_compiler_generated": false,
11568 "is_pov": false
11569 }
11570 ],
11571 "word_bit_width": 8
11572 },
11573 {
11574 "phv_number": 293,
11575 "records": [
11576 {
11577 "position_offset": 8,
11578 "field_name": "arp.proto_addr_len",
11579 "field_msb": 7,
11580 "field_lsb": 0,
11581 "field_width": 1,
11582 "phv_msb": 7,
11583 "phv_lsb": 0,
11584 "is_compiler_generated": false,
11585 "is_pov": false
11586 },
11587 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011588 "position_offset": 67,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011589 "field_name": "ipv4.diffserv",
11590 "field_msb": 7,
11591 "field_lsb": 0,
11592 "field_width": 1,
11593 "phv_msb": 7,
11594 "phv_lsb": 0,
11595 "is_compiler_generated": false,
11596 "is_pov": false
11597 }
11598 ],
11599 "word_bit_width": 8
11600 },
11601 {
11602 "phv_number": 294,
11603 "records": [
11604 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011605 "position_offset": 79,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011606 "field_name": "ipv4.protocol",
11607 "field_msb": 7,
11608 "field_lsb": 0,
11609 "field_width": 1,
11610 "phv_msb": 7,
11611 "phv_lsb": 0,
11612 "is_compiler_generated": false,
11613 "is_pov": false
11614 }
11615 ],
11616 "word_bit_width": 8
11617 },
11618 {
11619 "phv_number": 326,
11620 "records": [
11621 {
11622 "position_offset": 4,
11623 "field_name": "arp.hw_type",
11624 "field_msb": 15,
11625 "field_lsb": 0,
11626 "field_width": 2,
11627 "phv_msb": 15,
11628 "phv_lsb": 0,
11629 "is_compiler_generated": false,
11630 "is_pov": false
11631 },
11632 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011633 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011634 "field_name": "tcp.data_offset",
11635 "field_msb": 15,
11636 "field_lsb": 0,
11637 "field_width": 2,
11638 "phv_msb": 15,
11639 "phv_lsb": 12,
11640 "is_compiler_generated": false,
11641 "is_pov": false
11642 },
11643 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011644 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011645 "field_name": "tcp.res",
11646 "field_msb": 15,
11647 "field_lsb": 0,
11648 "field_width": 2,
11649 "phv_msb": 11,
11650 "phv_lsb": 9,
11651 "is_compiler_generated": false,
11652 "is_pov": false
11653 },
11654 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011655 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011656 "field_name": "tcp.ecn",
11657 "field_msb": 15,
11658 "field_lsb": 0,
11659 "field_width": 2,
11660 "phv_msb": 8,
11661 "phv_lsb": 6,
11662 "is_compiler_generated": false,
11663 "is_pov": false
11664 },
11665 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011666 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011667 "field_name": "tcp.ctrl",
11668 "field_msb": 15,
11669 "field_lsb": 0,
11670 "field_width": 2,
11671 "phv_msb": 5,
11672 "phv_lsb": 0,
11673 "is_compiler_generated": false,
11674 "is_pov": false
11675 },
11676 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011677 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011678 "field_name": "udp.src_port",
11679 "field_msb": 15,
11680 "field_lsb": 0,
11681 "field_width": 2,
11682 "phv_msb": 15,
11683 "phv_lsb": 0,
11684 "is_compiler_generated": false,
11685 "is_pov": false
11686 },
11687 {
11688 "position_offset": 42,
11689 "field_name": "icmp.checksum",
11690 "field_msb": 15,
11691 "field_lsb": 0,
11692 "field_width": 2,
11693 "phv_msb": 15,
11694 "phv_lsb": 0,
11695 "is_compiler_generated": false,
11696 "is_pov": false
11697 }
11698 ],
11699 "word_bit_width": 16
11700 },
11701 {
11702 "phv_number": 327,
11703 "records": [
11704 {
11705 "position_offset": 9,
11706 "field_name": "arp.proto_type",
11707 "field_msb": 15,
11708 "field_lsb": 0,
11709 "field_width": 2,
11710 "phv_msb": 15,
11711 "phv_lsb": 0,
11712 "is_compiler_generated": false,
11713 "is_pov": false
11714 },
11715 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011716 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011717 "field_name": "tcp.src_port",
11718 "field_msb": 15,
11719 "field_lsb": 0,
11720 "field_width": 2,
11721 "phv_msb": 15,
11722 "phv_lsb": 0,
11723 "is_compiler_generated": false,
11724 "is_pov": false
11725 },
11726 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011727 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011728 "field_name": "udp.dst_port",
11729 "field_msb": 15,
11730 "field_lsb": 0,
11731 "field_width": 2,
11732 "phv_msb": 15,
11733 "phv_lsb": 0,
11734 "is_compiler_generated": false,
11735 "is_pov": false
11736 },
11737 {
11738 "position_offset": 46,
11739 "field_name": "icmp.identifier",
11740 "field_msb": 15,
11741 "field_lsb": 0,
11742 "field_width": 2,
11743 "phv_msb": 15,
11744 "phv_lsb": 0,
11745 "is_compiler_generated": false,
11746 "is_pov": false
11747 }
11748 ],
11749 "word_bit_width": 16
11750 },
11751 {
11752 "phv_number": 328,
11753 "records": [
11754 {
11755 "position_offset": 6,
11756 "field_name": "arp.opcode",
11757 "field_msb": 15,
11758 "field_lsb": 0,
11759 "field_width": 2,
11760 "phv_msb": 15,
11761 "phv_lsb": 0,
11762 "is_compiler_generated": false,
11763 "is_pov": false
11764 },
11765 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011766 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011767 "field_name": "ipv4.flags",
11768 "field_msb": 15,
11769 "field_lsb": 0,
11770 "field_width": 2,
11771 "phv_msb": 15,
11772 "phv_lsb": 13,
11773 "is_compiler_generated": false,
11774 "is_pov": false
11775 },
11776 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011777 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011778 "field_name": "ipv4.frag_offset",
11779 "field_msb": 15,
11780 "field_lsb": 0,
11781 "field_width": 2,
11782 "phv_msb": 12,
11783 "phv_lsb": 0,
11784 "is_compiler_generated": false,
11785 "is_pov": false
11786 }
11787 ],
11788 "word_bit_width": 16
11789 },
11790 {
11791 "phv_number": 329,
11792 "records": [
11793 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011794 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011795 "field_name": "ipv4.total_len",
11796 "field_msb": 15,
11797 "field_lsb": 0,
11798 "field_width": 2,
11799 "phv_msb": 15,
11800 "phv_lsb": 0,
11801 "is_compiler_generated": false,
11802 "is_pov": false
11803 }
11804 ],
11805 "word_bit_width": 16
11806 },
11807 {
11808 "phv_number": 330,
11809 "records": [
11810 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011811 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011812 "field_name": "ipv4.identification",
11813 "field_msb": 15,
11814 "field_lsb": 0,
11815 "field_width": 2,
11816 "phv_msb": 15,
11817 "phv_lsb": 0,
11818 "is_compiler_generated": false,
11819 "is_pov": false
11820 }
11821 ],
11822 "word_bit_width": 16
11823 },
11824 {
11825 "phv_number": 331,
11826 "records": [
11827 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011828 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011829 "field_name": "tcp.dst_port",
11830 "field_msb": 15,
11831 "field_lsb": 0,
11832 "field_width": 2,
11833 "phv_msb": 15,
11834 "phv_lsb": 0,
11835 "is_compiler_generated": false,
11836 "is_pov": false
11837 },
11838 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011839 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011840 "field_name": "udp.len",
11841 "field_msb": 15,
11842 "field_lsb": 0,
11843 "field_width": 2,
11844 "phv_msb": 15,
11845 "phv_lsb": 0,
11846 "is_compiler_generated": false,
11847 "is_pov": false
11848 },
11849 {
11850 "position_offset": 48,
11851 "field_name": "icmp.sequence_number",
11852 "field_msb": 15,
11853 "field_lsb": 0,
11854 "field_width": 2,
11855 "phv_msb": 15,
11856 "phv_lsb": 0,
11857 "is_compiler_generated": false,
11858 "is_pov": false
11859 }
11860 ],
11861 "word_bit_width": 16
11862 },
11863 {
11864 "phv_number": 338,
11865 "records": [
11866 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011867 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011868 "field_name": "tcp.window",
11869 "field_msb": 15,
11870 "field_lsb": 0,
11871 "field_width": 2,
11872 "phv_msb": 15,
11873 "phv_lsb": 0,
11874 "is_compiler_generated": false,
11875 "is_pov": false
11876 },
11877 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011878 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011879 "field_name": "udp.checksum",
11880 "field_msb": 15,
11881 "field_lsb": 0,
11882 "field_width": 2,
11883 "phv_msb": 15,
11884 "phv_lsb": 0,
11885 "is_compiler_generated": false,
11886 "is_pov": false
11887 }
11888 ],
11889 "word_bit_width": 16
11890 },
11891 {
11892 "phv_number": 339,
11893 "records": [
11894 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011895 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011896 "field_name": "tcp.checksum",
11897 "field_msb": 15,
11898 "field_lsb": 0,
11899 "field_width": 2,
11900 "phv_msb": 15,
11901 "phv_lsb": 0,
11902 "is_compiler_generated": false,
11903 "is_pov": false
11904 }
11905 ],
11906 "word_bit_width": 16
11907 },
11908 {
11909 "phv_number": 340,
11910 "records": [
11911 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080011912 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011913 "field_name": "tcp.urgent_ptr",
11914 "field_msb": 15,
11915 "field_lsb": 0,
11916 "field_width": 2,
11917 "phv_msb": 15,
11918 "phv_lsb": 0,
11919 "is_compiler_generated": false,
11920 "is_pov": false
11921 }
11922 ],
11923 "word_bit_width": 16
11924 }
11925 ],
11926 "egress": [
11927 {
11928 "phv_number": 80,
11929 "records": [
11930 {
11931 "position_offset": 0,
11932 "field_name": "POV",
11933 "field_msb": 7,
11934 "field_lsb": 0,
11935 "field_width": 0,
11936 "phv_msb": 0,
11937 "phv_lsb": 0,
11938 "is_compiler_generated": false,
11939 "is_pov": true,
11940 "pov_headers": [
11941 {
11942 "bit_index": 0,
11943 "position_offset": 0,
11944 "header_name": "arp",
11945 "hidden": false
11946 }
11947 ]
11948 },
11949 {
11950 "position_offset": 0,
11951 "field_name": "POV",
11952 "field_msb": 7,
11953 "field_lsb": 0,
11954 "field_width": 0,
11955 "phv_msb": 2,
11956 "phv_lsb": 2,
11957 "is_compiler_generated": false,
11958 "is_pov": true,
11959 "pov_headers": [
11960 {
11961 "bit_index": 2,
11962 "position_offset": 11,
11963 "header_name": "ethernet",
11964 "hidden": false
11965 }
11966 ]
11967 },
11968 {
11969 "position_offset": 0,
11970 "field_name": "POV",
11971 "field_msb": 7,
11972 "field_lsb": 0,
11973 "field_width": 0,
11974 "phv_msb": 3,
11975 "phv_lsb": 3,
11976 "is_compiler_generated": false,
11977 "is_pov": true,
11978 "pov_headers": [
11979 {
11980 "bit_index": 3,
11981 "position_offset": 26,
11982 "header_name": "icmp",
11983 "hidden": false
11984 }
11985 ]
11986 },
11987 {
11988 "position_offset": 0,
11989 "field_name": "POV",
11990 "field_msb": 7,
11991 "field_lsb": 0,
11992 "field_width": 0,
11993 "phv_msb": 5,
11994 "phv_lsb": 5,
11995 "is_compiler_generated": false,
11996 "is_pov": true,
11997 "pov_headers": [
11998 {
11999 "bit_index": 5,
12000 "position_offset": 45,
12001 "header_name": "ipv4",
12002 "hidden": false
12003 }
12004 ]
12005 },
12006 {
12007 "position_offset": 0,
12008 "field_name": "POV",
12009 "field_msb": 7,
12010 "field_lsb": 0,
12011 "field_width": 0,
12012 "phv_msb": 6,
12013 "phv_lsb": 6,
12014 "is_compiler_generated": false,
12015 "is_pov": true,
12016 "pov_headers": [
12017 {
12018 "bit_index": 6,
12019 "position_offset": 67,
12020 "header_name": "mpls",
12021 "hidden": false
12022 }
12023 ]
12024 },
12025 {
12026 "position_offset": 0,
12027 "field_name": "POV",
12028 "field_msb": 7,
12029 "field_lsb": 0,
12030 "field_width": 0,
12031 "phv_msb": 7,
12032 "phv_lsb": 7,
12033 "is_compiler_generated": false,
12034 "is_pov": true,
12035 "pov_headers": [
12036 {
12037 "bit_index": 7,
12038 "position_offset": 73,
12039 "header_name": "packet_in",
12040 "hidden": false
12041 }
12042 ]
12043 }
12044 ],
12045 "word_bit_width": 8
12046 },
12047 {
12048 "phv_number": 81,
12049 "records": [
12050 {
12051 "position_offset": 0,
12052 "field_name": "POV",
12053 "field_msb": 7,
12054 "field_lsb": 0,
12055 "field_width": 0,
12056 "phv_msb": 0,
12057 "phv_lsb": 0,
12058 "is_compiler_generated": false,
12059 "is_pov": true,
12060 "pov_headers": [
12061 {
12062 "bit_index": 0,
12063 "position_offset": 78,
12064 "header_name": "tcp",
12065 "hidden": false
12066 }
12067 ]
12068 },
12069 {
12070 "position_offset": 0,
12071 "field_name": "POV",
12072 "field_msb": 7,
12073 "field_lsb": 0,
12074 "field_width": 0,
12075 "phv_msb": 1,
12076 "phv_lsb": 1,
12077 "is_compiler_generated": false,
12078 "is_pov": true,
12079 "pov_headers": [
12080 {
12081 "bit_index": 1,
12082 "position_offset": 105,
12083 "header_name": "udp",
12084 "hidden": false
12085 }
12086 ]
12087 },
12088 {
12089 "position_offset": 0,
12090 "field_name": "POV",
12091 "field_msb": 7,
12092 "field_lsb": 0,
12093 "field_width": 0,
12094 "phv_msb": 2,
12095 "phv_lsb": 2,
12096 "is_compiler_generated": false,
12097 "is_pov": true,
12098 "pov_headers": [
12099 {
12100 "bit_index": 2,
12101 "position_offset": 114,
12102 "header_name": "vlan_tag",
12103 "hidden": false
12104 }
12105 ]
12106 }
12107 ],
12108 "word_bit_width": 8
12109 },
12110 {
12111 "phv_number": 144,
12112 "records": [
12113 {
12114 "position_offset": 9,
12115 "field_name": "eg_intr_md.egress_port",
12116 "field_msb": 15,
12117 "field_lsb": 0,
12118 "field_width": 2,
12119 "phv_msb": 8,
12120 "phv_lsb": 0,
12121 "is_compiler_generated": false,
12122 "is_pov": false
12123 }
12124 ],
12125 "word_bit_width": 16
12126 },
12127 {
12128 "phv_number": 145,
12129 "records": [
12130 {
12131 "position_offset": 76,
12132 "field_name": "packet_in.ingress_port",
12133 "field_msb": 15,
12134 "field_lsb": 0,
12135 "field_width": 2,
12136 "phv_msb": 15,
12137 "phv_lsb": 7,
12138 "is_compiler_generated": false,
12139 "is_pov": false
12140 },
12141 {
12142 "position_offset": 74,
12143 "field_name": "packet_in._pad",
12144 "field_msb": 15,
12145 "field_lsb": 0,
12146 "field_width": 2,
12147 "phv_msb": 6,
12148 "phv_lsb": 0,
12149 "is_compiler_generated": false,
12150 "is_pov": false
12151 }
12152 ],
12153 "word_bit_width": 16
12154 },
12155 {
12156 "phv_number": 146,
12157 "records": [
12158 {
12159 "position_offset": 43,
12160 "field_name": "ig_intr_md.ingress_port",
12161 "field_msb": 15,
12162 "field_lsb": 0,
12163 "field_width": 2,
12164 "phv_msb": 8,
12165 "phv_lsb": 0,
12166 "is_compiler_generated": false,
12167 "is_pov": false
12168 }
12169 ],
12170 "word_bit_width": 16
12171 },
12172 {
12173 "phv_number": 256,
12174 "records": [
12175 {
12176 "position_offset": 12,
12177 "field_name": "ethernet.dst_addr",
12178 "field_msb": 47,
12179 "field_lsb": 16,
12180 "field_width": 6,
12181 "phv_msb": 31,
12182 "phv_lsb": 0,
12183 "is_compiler_generated": false,
12184 "is_pov": false
12185 }
12186 ],
12187 "word_bit_width": 32
12188 },
12189 {
12190 "phv_number": 257,
12191 "records": [
12192 {
12193 "position_offset": 20,
12194 "field_name": "ethernet.src_addr",
12195 "field_msb": 47,
12196 "field_lsb": 16,
12197 "field_width": 6,
12198 "phv_msb": 31,
12199 "phv_lsb": 0,
12200 "is_compiler_generated": false,
12201 "is_pov": false
12202 }
12203 ],
12204 "word_bit_width": 32
12205 },
12206 {
12207 "phv_number": 258,
12208 "records": [
12209 {
12210 "position_offset": 59,
12211 "field_name": "ipv4.src_addr",
12212 "field_msb": 31,
12213 "field_lsb": 0,
12214 "field_width": 4,
12215 "phv_msb": 31,
12216 "phv_lsb": 0,
12217 "is_compiler_generated": false,
12218 "is_pov": false
12219 }
12220 ],
12221 "word_bit_width": 32
12222 },
12223 {
12224 "phv_number": 259,
12225 "records": [
12226 {
12227 "position_offset": 47,
12228 "field_name": "ipv4.dst_addr",
12229 "field_msb": 31,
12230 "field_lsb": 0,
12231 "field_width": 4,
12232 "phv_msb": 31,
12233 "phv_lsb": 0,
12234 "is_compiler_generated": false,
12235 "is_pov": false
12236 }
12237 ],
12238 "word_bit_width": 32
12239 },
12240 {
12241 "phv_number": 264,
12242 "records": [
12243 {
12244 "position_offset": 95,
12245 "field_name": "tcp.seq_no",
12246 "field_msb": 31,
12247 "field_lsb": 0,
12248 "field_width": 4,
12249 "phv_msb": 31,
12250 "phv_lsb": 0,
12251 "is_compiler_generated": false,
12252 "is_pov": false
12253 },
12254 {
12255 "position_offset": 35,
12256 "field_name": "icmp.timestamp",
12257 "field_msb": 31,
12258 "field_lsb": 0,
12259 "field_width": 8,
12260 "phv_msb": 31,
12261 "phv_lsb": 0,
12262 "is_compiler_generated": false,
12263 "is_pov": false
12264 }
12265 ],
12266 "word_bit_width": 32
12267 },
12268 {
12269 "phv_number": 265,
12270 "records": [
12271 {
12272 "position_offset": 79,
12273 "field_name": "tcp.ack_no",
12274 "field_msb": 31,
12275 "field_lsb": 0,
12276 "field_width": 4,
12277 "phv_msb": 31,
12278 "phv_lsb": 0,
12279 "is_compiler_generated": false,
12280 "is_pov": false
12281 },
12282 {
12283 "position_offset": 35,
12284 "field_name": "icmp.timestamp",
12285 "field_msb": 63,
12286 "field_lsb": 32,
12287 "field_width": 8,
12288 "phv_msb": 31,
12289 "phv_lsb": 0,
12290 "is_compiler_generated": false,
12291 "is_pov": false
12292 }
12293 ],
12294 "word_bit_width": 32
12295 },
12296 {
12297 "phv_number": 288,
12298 "records": [
12299 {
12300 "position_offset": 1,
12301 "field_name": "arp.hw_addr_len",
12302 "field_msb": 7,
12303 "field_lsb": 0,
12304 "field_width": 1,
12305 "phv_msb": 7,
12306 "phv_lsb": 0,
12307 "is_compiler_generated": false,
12308 "is_pov": false
12309 },
12310 {
12311 "position_offset": 66,
12312 "field_name": "ipv4.version",
12313 "field_msb": 7,
12314 "field_lsb": 0,
12315 "field_width": 1,
12316 "phv_msb": 7,
12317 "phv_lsb": 4,
12318 "is_compiler_generated": false,
12319 "is_pov": false
12320 },
12321 {
12322 "position_offset": 57,
12323 "field_name": "ipv4.ihl",
12324 "field_msb": 7,
12325 "field_lsb": 0,
12326 "field_width": 1,
12327 "phv_msb": 3,
12328 "phv_lsb": 0,
12329 "is_compiler_generated": false,
12330 "is_pov": false
12331 }
12332 ],
12333 "word_bit_width": 8
12334 },
12335 {
12336 "phv_number": 289,
12337 "records": [
12338 {
12339 "position_offset": 6,
12340 "field_name": "arp.proto_addr_len",
12341 "field_msb": 7,
12342 "field_lsb": 0,
12343 "field_width": 1,
12344 "phv_msb": 7,
12345 "phv_lsb": 0,
12346 "is_compiler_generated": false,
12347 "is_pov": false
12348 },
12349 {
12350 "position_offset": 30,
12351 "field_name": "icmp.icmp_type",
12352 "field_msb": 7,
12353 "field_lsb": 0,
12354 "field_width": 1,
12355 "phv_msb": 7,
12356 "phv_lsb": 0,
12357 "is_compiler_generated": false,
12358 "is_pov": false
12359 }
12360 ],
12361 "word_bit_width": 8
12362 },
12363 {
12364 "phv_number": 290,
12365 "records": [
12366 {
12367 "position_offset": 46,
12368 "field_name": "ipv4.diffserv",
12369 "field_msb": 7,
12370 "field_lsb": 0,
12371 "field_width": 1,
12372 "phv_msb": 7,
12373 "phv_lsb": 0,
12374 "is_compiler_generated": false,
12375 "is_pov": false
12376 }
12377 ],
12378 "word_bit_width": 8
12379 },
12380 {
12381 "phv_number": 291,
12382 "records": [
12383 {
12384 "position_offset": 29,
12385 "field_name": "icmp.icmp_code",
12386 "field_msb": 7,
12387 "field_lsb": 0,
12388 "field_width": 1,
12389 "phv_msb": 7,
12390 "phv_lsb": 0,
12391 "is_compiler_generated": false,
12392 "is_pov": false
12393 }
12394 ],
12395 "word_bit_width": 8
12396 },
12397 {
12398 "phv_number": 296,
12399 "records": [
12400 {
12401 "position_offset": 69,
12402 "field_name": "mpls.label",
12403 "field_msb": 3,
12404 "field_lsb": 0,
12405 "field_width": 2,
12406 "phv_msb": 7,
12407 "phv_lsb": 4,
12408 "is_compiler_generated": false,
12409 "is_pov": false
12410 },
12411 {
12412 "position_offset": 71,
12413 "field_name": "mpls.tc",
12414 "field_msb": 7,
12415 "field_lsb": 0,
12416 "field_width": 1,
12417 "phv_msb": 3,
12418 "phv_lsb": 1,
12419 "is_compiler_generated": false,
12420 "is_pov": false
12421 },
12422 {
12423 "position_offset": 68,
12424 "field_name": "mpls.bos",
12425 "field_msb": 7,
12426 "field_lsb": 0,
12427 "field_width": 1,
12428 "phv_msb": 0,
12429 "phv_lsb": 0,
12430 "is_compiler_generated": false,
12431 "is_pov": false
12432 }
12433 ],
12434 "word_bit_width": 8
12435 },
12436 {
12437 "phv_number": 297,
12438 "records": [
12439 {
12440 "position_offset": 65,
12441 "field_name": "ipv4.ttl",
12442 "field_msb": 7,
12443 "field_lsb": 0,
12444 "field_width": 1,
12445 "phv_msb": 7,
12446 "phv_lsb": 0,
12447 "is_compiler_generated": false,
12448 "is_pov": false
12449 }
12450 ],
12451 "word_bit_width": 8
12452 },
12453 {
12454 "phv_number": 298,
12455 "records": [
12456 {
12457 "position_offset": 58,
12458 "field_name": "ipv4.protocol",
12459 "field_msb": 7,
12460 "field_lsb": 0,
12461 "field_width": 1,
12462 "phv_msb": 7,
12463 "phv_lsb": 0,
12464 "is_compiler_generated": false,
12465 "is_pov": false
12466 }
12467 ],
12468 "word_bit_width": 8
12469 },
12470 {
12471 "phv_number": 299,
12472 "records": [
12473 {
12474 "position_offset": 72,
12475 "field_name": "mpls.ttl",
12476 "field_msb": 7,
12477 "field_lsb": 0,
12478 "field_width": 1,
12479 "phv_msb": 7,
12480 "phv_lsb": 0,
12481 "is_compiler_generated": false,
12482 "is_pov": false
12483 }
12484 ],
12485 "word_bit_width": 8
12486 },
12487 {
12488 "phv_number": 320,
12489 "records": [
12490 {
12491 "position_offset": 119,
12492 "field_name": "vlan_tag.pri",
12493 "field_msb": 15,
12494 "field_lsb": 0,
12495 "field_width": 2,
12496 "phv_msb": 15,
12497 "phv_lsb": 13,
12498 "is_compiler_generated": false,
12499 "is_pov": false
12500 },
12501 {
12502 "position_offset": 115,
12503 "field_name": "vlan_tag.cfi",
12504 "field_msb": 15,
12505 "field_lsb": 0,
12506 "field_width": 2,
12507 "phv_msb": 12,
12508 "phv_lsb": 12,
12509 "is_compiler_generated": false,
12510 "is_pov": false
12511 },
12512 {
12513 "position_offset": 121,
12514 "field_name": "vlan_tag.vlan_id",
12515 "field_msb": 15,
12516 "field_lsb": 0,
12517 "field_width": 2,
12518 "phv_msb": 11,
12519 "phv_lsb": 0,
12520 "is_compiler_generated": false,
12521 "is_pov": false
12522 }
12523 ],
12524 "word_bit_width": 16
12525 },
12526 {
12527 "phv_number": 321,
12528 "records": [
12529 {
12530 "position_offset": 2,
12531 "field_name": "arp.hw_type",
12532 "field_msb": 15,
12533 "field_lsb": 0,
12534 "field_width": 2,
12535 "phv_msb": 15,
12536 "phv_lsb": 0,
12537 "is_compiler_generated": false,
12538 "is_pov": false
12539 },
12540 {
12541 "position_offset": 99,
12542 "field_name": "tcp.src_port",
12543 "field_msb": 15,
12544 "field_lsb": 0,
12545 "field_width": 2,
12546 "phv_msb": 15,
12547 "phv_lsb": 0,
12548 "is_compiler_generated": false,
12549 "is_pov": false
12550 },
12551 {
12552 "position_offset": 112,
12553 "field_name": "udp.src_port",
12554 "field_msb": 15,
12555 "field_lsb": 0,
12556 "field_width": 2,
12557 "phv_msb": 15,
12558 "phv_lsb": 0,
12559 "is_compiler_generated": false,
12560 "is_pov": false
12561 },
12562 {
12563 "position_offset": 27,
12564 "field_name": "icmp.checksum",
12565 "field_msb": 15,
12566 "field_lsb": 0,
12567 "field_width": 2,
12568 "phv_msb": 15,
12569 "phv_lsb": 0,
12570 "is_compiler_generated": false,
12571 "is_pov": false
12572 }
12573 ],
12574 "word_bit_width": 16
12575 },
12576 {
12577 "phv_number": 322,
12578 "records": [
12579 {
12580 "position_offset": 7,
12581 "field_name": "arp.proto_type",
12582 "field_msb": 15,
12583 "field_lsb": 0,
12584 "field_width": 2,
12585 "phv_msb": 15,
12586 "phv_lsb": 0,
12587 "is_compiler_generated": false,
12588 "is_pov": false
12589 },
12590 {
12591 "position_offset": 69,
12592 "field_name": "mpls.label",
12593 "field_msb": 19,
12594 "field_lsb": 4,
12595 "field_width": 2,
12596 "phv_msb": 15,
12597 "phv_lsb": 0,
12598 "is_compiler_generated": false,
12599 "is_pov": false
12600 }
12601 ],
12602 "word_bit_width": 16
12603 },
12604 {
12605 "phv_number": 323,
12606 "records": [
12607 {
12608 "position_offset": 4,
12609 "field_name": "arp.opcode",
12610 "field_msb": 15,
12611 "field_lsb": 0,
12612 "field_width": 2,
12613 "phv_msb": 15,
12614 "phv_lsb": 0,
12615 "is_compiler_generated": false,
12616 "is_pov": false
12617 },
12618 {
12619 "position_offset": 87,
12620 "field_name": "tcp.data_offset",
12621 "field_msb": 15,
12622 "field_lsb": 0,
12623 "field_width": 2,
12624 "phv_msb": 15,
12625 "phv_lsb": 12,
12626 "is_compiler_generated": false,
12627 "is_pov": false
12628 },
12629 {
12630 "position_offset": 93,
12631 "field_name": "tcp.res",
12632 "field_msb": 15,
12633 "field_lsb": 0,
12634 "field_width": 2,
12635 "phv_msb": 11,
12636 "phv_lsb": 9,
12637 "is_compiler_generated": false,
12638 "is_pov": false
12639 },
12640 {
12641 "position_offset": 91,
12642 "field_name": "tcp.ecn",
12643 "field_msb": 15,
12644 "field_lsb": 0,
12645 "field_width": 2,
12646 "phv_msb": 8,
12647 "phv_lsb": 6,
12648 "is_compiler_generated": false,
12649 "is_pov": false
12650 },
12651 {
12652 "position_offset": 85,
12653 "field_name": "tcp.ctrl",
12654 "field_msb": 15,
12655 "field_lsb": 0,
12656 "field_width": 2,
12657 "phv_msb": 5,
12658 "phv_lsb": 0,
12659 "is_compiler_generated": false,
12660 "is_pov": false
12661 },
12662 {
12663 "position_offset": 108,
12664 "field_name": "udp.dst_port",
12665 "field_msb": 15,
12666 "field_lsb": 0,
12667 "field_width": 2,
12668 "phv_msb": 15,
12669 "phv_lsb": 0,
12670 "is_compiler_generated": false,
12671 "is_pov": false
12672 },
12673 {
12674 "position_offset": 31,
12675 "field_name": "icmp.identifier",
12676 "field_msb": 15,
12677 "field_lsb": 0,
12678 "field_width": 2,
12679 "phv_msb": 15,
12680 "phv_lsb": 0,
12681 "is_compiler_generated": false,
12682 "is_pov": false
12683 }
12684 ],
12685 "word_bit_width": 16
12686 },
12687 {
12688 "phv_number": 324,
12689 "records": [
12690 {
12691 "position_offset": 51,
12692 "field_name": "ipv4.flags",
12693 "field_msb": 15,
12694 "field_lsb": 0,
12695 "field_width": 2,
12696 "phv_msb": 15,
12697 "phv_lsb": 13,
12698 "is_compiler_generated": false,
12699 "is_pov": false
12700 },
12701 {
12702 "position_offset": 53,
12703 "field_name": "ipv4.frag_offset",
12704 "field_msb": 15,
12705 "field_lsb": 0,
12706 "field_width": 2,
12707 "phv_msb": 12,
12708 "phv_lsb": 0,
12709 "is_compiler_generated": false,
12710 "is_pov": false
12711 }
12712 ],
12713 "word_bit_width": 16
12714 },
12715 {
12716 "phv_number": 325,
12717 "records": [
12718 {
12719 "position_offset": 12,
12720 "field_name": "ethernet.dst_addr",
12721 "field_msb": 15,
12722 "field_lsb": 0,
12723 "field_width": 6,
12724 "phv_msb": 15,
12725 "phv_lsb": 0,
12726 "is_compiler_generated": false,
12727 "is_pov": false
12728 }
12729 ],
12730 "word_bit_width": 16
12731 },
12732 {
12733 "phv_number": 332,
12734 "records": [
12735 {
12736 "position_offset": 20,
12737 "field_name": "ethernet.src_addr",
12738 "field_msb": 15,
12739 "field_lsb": 0,
12740 "field_width": 6,
12741 "phv_msb": 15,
12742 "phv_lsb": 0,
12743 "is_compiler_generated": false,
12744 "is_pov": false
12745 }
12746 ],
12747 "word_bit_width": 16
12748 },
12749 {
12750 "phv_number": 333,
12751 "records": [
12752 {
12753 "position_offset": 18,
12754 "field_name": "ethernet.ether_type",
12755 "field_msb": 15,
12756 "field_lsb": 0,
12757 "field_width": 2,
12758 "phv_msb": 15,
12759 "phv_lsb": 0,
12760 "is_compiler_generated": false,
12761 "is_pov": false
12762 }
12763 ],
12764 "word_bit_width": 16
12765 },
12766 {
12767 "phv_number": 334,
12768 "records": [
12769 {
12770 "position_offset": 117,
12771 "field_name": "vlan_tag.ether_type",
12772 "field_msb": 15,
12773 "field_lsb": 0,
12774 "field_width": 2,
12775 "phv_msb": 15,
12776 "phv_lsb": 0,
12777 "is_compiler_generated": false,
12778 "is_pov": false
12779 }
12780 ],
12781 "word_bit_width": 16
12782 },
12783 {
12784 "phv_number": 335,
12785 "records": [
12786 {
12787 "position_offset": 63,
12788 "field_name": "ipv4.total_len",
12789 "field_msb": 15,
12790 "field_lsb": 0,
12791 "field_width": 2,
12792 "phv_msb": 15,
12793 "phv_lsb": 0,
12794 "is_compiler_generated": false,
12795 "is_pov": false
12796 }
12797 ],
12798 "word_bit_width": 16
12799 },
12800 {
12801 "phv_number": 336,
12802 "records": [
12803 {
12804 "position_offset": 55,
12805 "field_name": "ipv4.identification",
12806 "field_msb": 15,
12807 "field_lsb": 0,
12808 "field_width": 2,
12809 "phv_msb": 15,
12810 "phv_lsb": 0,
12811 "is_compiler_generated": false,
12812 "is_pov": false
12813 }
12814 ],
12815 "word_bit_width": 16
12816 },
12817 {
12818 "phv_number": 337,
12819 "records": [
12820 {
12821 "position_offset": 89,
12822 "field_name": "tcp.dst_port",
12823 "field_msb": 15,
12824 "field_lsb": 0,
12825 "field_width": 2,
12826 "phv_msb": 15,
12827 "phv_lsb": 0,
12828 "is_compiler_generated": false,
12829 "is_pov": false
12830 },
12831 {
12832 "position_offset": 110,
12833 "field_name": "udp.len",
12834 "field_msb": 15,
12835 "field_lsb": 0,
12836 "field_width": 2,
12837 "phv_msb": 15,
12838 "phv_lsb": 0,
12839 "is_compiler_generated": false,
12840 "is_pov": false
12841 },
12842 {
12843 "position_offset": 33,
12844 "field_name": "icmp.sequence_number",
12845 "field_msb": 15,
12846 "field_lsb": 0,
12847 "field_width": 2,
12848 "phv_msb": 15,
12849 "phv_lsb": 0,
12850 "is_compiler_generated": false,
12851 "is_pov": false
12852 }
12853 ],
12854 "word_bit_width": 16
12855 },
12856 {
12857 "phv_number": 344,
12858 "records": [
12859 {
12860 "position_offset": 103,
12861 "field_name": "tcp.window",
12862 "field_msb": 15,
12863 "field_lsb": 0,
12864 "field_width": 2,
12865 "phv_msb": 15,
12866 "phv_lsb": 0,
12867 "is_compiler_generated": false,
12868 "is_pov": false
12869 },
12870 {
12871 "position_offset": 106,
12872 "field_name": "udp.checksum",
12873 "field_msb": 15,
12874 "field_lsb": 0,
12875 "field_width": 2,
12876 "phv_msb": 15,
12877 "phv_lsb": 0,
12878 "is_compiler_generated": false,
12879 "is_pov": false
12880 }
12881 ],
12882 "word_bit_width": 16
12883 },
12884 {
12885 "phv_number": 345,
12886 "records": [
12887 {
12888 "position_offset": 83,
12889 "field_name": "tcp.checksum",
12890 "field_msb": 15,
12891 "field_lsb": 0,
12892 "field_width": 2,
12893 "phv_msb": 15,
12894 "phv_lsb": 0,
12895 "is_compiler_generated": false,
12896 "is_pov": false
12897 }
12898 ],
12899 "word_bit_width": 16
12900 },
12901 {
12902 "phv_number": 346,
12903 "records": [
12904 {
12905 "position_offset": 101,
12906 "field_name": "tcp.urgent_ptr",
12907 "field_msb": 15,
12908 "field_lsb": 0,
12909 "field_width": 2,
12910 "phv_msb": 15,
12911 "phv_lsb": 0,
12912 "is_compiler_generated": false,
12913 "is_pov": false
12914 }
12915 ],
12916 "word_bit_width": 16
12917 }
12918 ],
12919 "stage_number": 5
12920 },
12921 {
12922 "ingress": [
12923 {
12924 "phv_number": 0,
12925 "records": [
12926 {
12927 "position_offset": 12,
12928 "field_name": "ethernet.dst_addr",
12929 "field_msb": 47,
12930 "field_lsb": 16,
12931 "field_width": 6,
12932 "phv_msb": 31,
12933 "phv_lsb": 0,
12934 "is_compiler_generated": false,
12935 "is_pov": false
12936 }
12937 ],
12938 "word_bit_width": 32
12939 },
12940 {
12941 "phv_number": 1,
12942 "records": [
12943 {
12944 "position_offset": 20,
12945 "field_name": "ethernet.src_addr",
12946 "field_msb": 47,
12947 "field_lsb": 16,
12948 "field_width": 6,
12949 "phv_msb": 31,
12950 "phv_lsb": 0,
12951 "is_compiler_generated": false,
12952 "is_pov": false
12953 }
12954 ],
12955 "word_bit_width": 32
12956 },
12957 {
12958 "phv_number": 2,
12959 "records": [
12960 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080012961 "position_offset": 80,
Carmelo Cascone04098db2018-01-30 18:10:32 -080012962 "field_name": "ipv4.src_addr",
12963 "field_msb": 31,
12964 "field_lsb": 0,
12965 "field_width": 4,
12966 "phv_msb": 31,
12967 "phv_lsb": 0,
12968 "is_compiler_generated": false,
12969 "is_pov": false
12970 }
12971 ],
12972 "word_bit_width": 32
12973 },
12974 {
12975 "phv_number": 3,
12976 "records": [
12977 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080012978 "position_offset": 68,
Carmelo Cascone04098db2018-01-30 18:10:32 -080012979 "field_name": "ipv4.dst_addr",
12980 "field_msb": 31,
12981 "field_lsb": 0,
12982 "field_width": 4,
12983 "phv_msb": 31,
12984 "phv_lsb": 0,
12985 "is_compiler_generated": false,
12986 "is_pov": false
12987 }
12988 ],
12989 "word_bit_width": 32
12990 },
12991 {
12992 "phv_number": 4,
12993 "records": [
12994 {
12995 "position_offset": 33,
12996 "field_name": "fabric_metadata.next_id",
12997 "field_msb": 31,
12998 "field_lsb": 0,
12999 "field_width": 4,
13000 "phv_msb": 31,
13001 "phv_lsb": 0,
13002 "is_compiler_generated": false,
13003 "is_pov": false
13004 }
13005 ],
13006 "word_bit_width": 32
13007 },
13008 {
13009 "phv_number": 64,
13010 "records": [
13011 {
13012 "position_offset": 45,
13013 "field_name": "icmp.icmp_type",
13014 "field_msb": 7,
13015 "field_lsb": 0,
13016 "field_width": 1,
13017 "phv_msb": 7,
13018 "phv_lsb": 0,
13019 "is_compiler_generated": false,
13020 "is_pov": false
13021 }
13022 ],
13023 "word_bit_width": 8
13024 },
13025 {
13026 "phv_number": 65,
13027 "records": [
13028 {
13029 "position_offset": 44,
13030 "field_name": "icmp.icmp_code",
13031 "field_msb": 7,
13032 "field_lsb": 0,
13033 "field_width": 1,
13034 "phv_msb": 7,
13035 "phv_lsb": 0,
13036 "is_compiler_generated": false,
13037 "is_pov": false
13038 }
13039 ],
13040 "word_bit_width": 8
13041 },
13042 {
13043 "phv_number": 66,
13044 "records": [
13045 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013046 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013047 "field_name": "mpls.label",
13048 "field_msb": 3,
13049 "field_lsb": 0,
13050 "field_width": 2,
13051 "phv_msb": 7,
13052 "phv_lsb": 4,
13053 "is_compiler_generated": false,
13054 "is_pov": false
13055 },
13056 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013057 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013058 "field_name": "mpls.tc",
13059 "field_msb": 7,
13060 "field_lsb": 0,
13061 "field_width": 1,
13062 "phv_msb": 3,
13063 "phv_lsb": 1,
13064 "is_compiler_generated": false,
13065 "is_pov": false
13066 },
13067 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013068 "position_offset": 89,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013069 "field_name": "mpls.bos",
13070 "field_msb": 7,
13071 "field_lsb": 0,
13072 "field_width": 1,
13073 "phv_msb": 0,
13074 "phv_lsb": 0,
13075 "is_compiler_generated": false,
13076 "is_pov": false
13077 }
13078 ],
13079 "word_bit_width": 8
13080 },
13081 {
13082 "phv_number": 67,
13083 "records": [
13084 {
13085 "position_offset": 1,
13086 "field_name": "$bridged_metadata_indicator",
13087 "field_msb": 7,
13088 "field_lsb": 0,
13089 "field_width": 1,
13090 "phv_msb": 7,
13091 "phv_lsb": 0,
13092 "is_compiler_generated": false,
13093 "is_pov": false
13094 }
13095 ],
13096 "word_bit_width": 8
13097 },
13098 {
13099 "phv_number": 68,
13100 "records": [
13101 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013102 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013103 "field_name": "ipv4.ttl",
13104 "field_msb": 7,
13105 "field_lsb": 0,
13106 "field_width": 1,
13107 "phv_msb": 7,
13108 "phv_lsb": 0,
13109 "is_compiler_generated": false,
13110 "is_pov": false
13111 }
13112 ],
13113 "word_bit_width": 8
13114 },
13115 {
13116 "phv_number": 69,
13117 "records": [
13118 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013119 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013120 "field_name": "mpls.ttl",
13121 "field_msb": 7,
13122 "field_lsb": 0,
13123 "field_width": 1,
13124 "phv_msb": 7,
13125 "phv_lsb": 0,
13126 "is_compiler_generated": false,
13127 "is_pov": false
13128 }
13129 ],
13130 "word_bit_width": 8
13131 },
13132 {
13133 "phv_number": 70,
13134 "records": [
13135 {
13136 "position_offset": 28,
13137 "field_name": "fabric_metadata.ip_proto",
13138 "field_msb": 7,
13139 "field_lsb": 0,
13140 "field_width": 1,
13141 "phv_msb": 7,
13142 "phv_lsb": 0,
13143 "is_compiler_generated": false,
13144 "is_pov": false
13145 }
13146 ],
13147 "word_bit_width": 8
13148 },
13149 {
13150 "phv_number": 71,
13151 "records": [
13152 {
13153 "position_offset": 0,
13154 "field_name": "$always_deparse",
13155 "field_msb": 7,
13156 "field_lsb": 0,
13157 "field_width": 1,
13158 "phv_msb": 0,
13159 "phv_lsb": 0,
13160 "is_compiler_generated": false,
13161 "is_pov": false
13162 },
13163 {
13164 "position_offset": 40,
13165 "field_name": "hasExited_0",
13166 "field_msb": 7,
13167 "field_lsb": 0,
13168 "field_width": 1,
13169 "phv_msb": 4,
13170 "phv_lsb": 4,
13171 "is_compiler_generated": false,
13172 "is_pov": false
13173 },
13174 {
13175 "position_offset": 0,
13176 "field_name": "POV",
13177 "field_msb": 7,
13178 "field_lsb": 0,
13179 "field_width": 0,
13180 "phv_msb": 1,
13181 "phv_lsb": 1,
13182 "is_compiler_generated": false,
13183 "is_pov": true,
13184 "pov_headers": [
13185 {
13186 "bit_index": 1,
13187 "position_offset": 2,
13188 "header_name": "arp",
13189 "hidden": false
13190 }
13191 ]
13192 },
13193 {
13194 "position_offset": 0,
13195 "field_name": "POV",
13196 "field_msb": 7,
13197 "field_lsb": 0,
13198 "field_width": 0,
13199 "phv_msb": 2,
13200 "phv_lsb": 2,
13201 "is_compiler_generated": false,
13202 "is_pov": true,
13203 "pov_headers": [
13204 {
13205 "bit_index": 2,
13206 "position_offset": 11,
13207 "header_name": "ethernet",
13208 "hidden": false
13209 }
13210 ]
13211 },
13212 {
13213 "position_offset": 0,
13214 "field_name": "POV",
13215 "field_msb": 7,
13216 "field_lsb": 0,
13217 "field_width": 0,
13218 "phv_msb": 3,
13219 "phv_lsb": 3,
13220 "is_compiler_generated": false,
13221 "is_pov": true,
13222 "pov_headers": [
13223 {
13224 "bit_index": 3,
13225 "position_offset": 41,
13226 "header_name": "icmp",
13227 "hidden": false
13228 }
13229 ]
13230 },
13231 {
13232 "position_offset": 0,
13233 "field_name": "POV",
13234 "field_msb": 7,
13235 "field_lsb": 0,
13236 "field_width": 0,
13237 "phv_msb": 5,
13238 "phv_lsb": 5,
13239 "is_compiler_generated": false,
13240 "is_pov": true,
13241 "pov_headers": [
13242 {
13243 "bit_index": 5,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013244 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013245 "header_name": "ipv4",
13246 "hidden": false
13247 }
13248 ]
13249 },
13250 {
13251 "position_offset": 0,
13252 "field_name": "POV",
13253 "field_msb": 7,
13254 "field_lsb": 0,
13255 "field_width": 0,
13256 "phv_msb": 6,
13257 "phv_lsb": 6,
13258 "is_compiler_generated": false,
13259 "is_pov": true,
13260 "pov_headers": [
13261 {
13262 "bit_index": 6,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013263 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013264 "header_name": "mpls",
13265 "hidden": false
13266 }
13267 ]
13268 },
13269 {
13270 "position_offset": 0,
13271 "field_name": "POV",
13272 "field_msb": 7,
13273 "field_lsb": 0,
13274 "field_width": 0,
13275 "phv_msb": 7,
13276 "phv_lsb": 7,
13277 "is_compiler_generated": false,
13278 "is_pov": true,
13279 "pov_headers": [
13280 {
13281 "bit_index": 7,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013282 "position_offset": 94,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013283 "header_name": "packet_out",
13284 "hidden": false
13285 }
13286 ]
13287 }
13288 ],
13289 "word_bit_width": 8
13290 },
13291 {
13292 "phv_number": 72,
13293 "records": [
13294 {
13295 "position_offset": 39,
13296 "field_name": "fabric_metadata.pop_vlan_at_egress",
13297 "field_msb": 7,
13298 "field_lsb": 0,
13299 "field_width": 1,
13300 "phv_msb": 3,
13301 "phv_lsb": 3,
13302 "is_compiler_generated": false,
13303 "is_pov": false
13304 },
13305 {
13306 "position_offset": 0,
13307 "field_name": "POV",
13308 "field_msb": 7,
13309 "field_lsb": 0,
13310 "field_width": 0,
13311 "phv_msb": 0,
13312 "phv_lsb": 0,
13313 "is_compiler_generated": false,
13314 "is_pov": true,
13315 "pov_headers": [
13316 {
13317 "bit_index": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013318 "position_offset": 97,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013319 "header_name": "tcp",
13320 "hidden": false
13321 }
13322 ]
13323 },
13324 {
13325 "position_offset": 0,
13326 "field_name": "POV",
13327 "field_msb": 7,
13328 "field_lsb": 0,
13329 "field_width": 0,
13330 "phv_msb": 1,
13331 "phv_lsb": 1,
13332 "is_compiler_generated": false,
13333 "is_pov": true,
13334 "pov_headers": [
13335 {
13336 "bit_index": 1,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013337 "position_offset": 124,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013338 "header_name": "udp",
13339 "hidden": false
13340 }
13341 ]
13342 },
13343 {
13344 "position_offset": 0,
13345 "field_name": "POV",
13346 "field_msb": 7,
13347 "field_lsb": 0,
13348 "field_width": 0,
13349 "phv_msb": 2,
13350 "phv_lsb": 2,
13351 "is_compiler_generated": false,
13352 "is_pov": true,
13353 "pov_headers": [
13354 {
13355 "bit_index": 2,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013356 "position_offset": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013357 "header_name": "vlan_tag",
13358 "hidden": false
13359 }
13360 ]
13361 }
13362 ],
13363 "word_bit_width": 8
13364 },
13365 {
13366 "phv_number": 128,
13367 "records": [
13368 {
13369 "position_offset": 62,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013370 "field_name": "ig_intr_md_for_tm.mcast_grp_a",
13371 "field_msb": 15,
13372 "field_lsb": 0,
13373 "field_width": 2,
13374 "phv_msb": 15,
13375 "phv_lsb": 0,
13376 "is_compiler_generated": false,
13377 "is_pov": false
13378 }
13379 ],
13380 "word_bit_width": 16
13381 },
13382 {
13383 "phv_number": 129,
13384 "records": [
13385 {
13386 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013387 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
13388 "field_msb": 15,
13389 "field_lsb": 0,
13390 "field_width": 2,
13391 "phv_msb": 8,
13392 "phv_lsb": 0,
13393 "is_compiler_generated": false,
13394 "is_pov": false
13395 }
13396 ],
13397 "word_bit_width": 16
13398 },
13399 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013400 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013401 "records": [
13402 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013403 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013404 "field_name": "packet_out.egress_port",
13405 "field_msb": 15,
13406 "field_lsb": 0,
13407 "field_width": 2,
13408 "phv_msb": 15,
13409 "phv_lsb": 7,
13410 "is_compiler_generated": false,
13411 "is_pov": false
13412 },
13413 {
13414 "position_offset": 26,
13415 "field_name": "fabric_metadata.fwd_type",
13416 "field_msb": 15,
13417 "field_lsb": 0,
13418 "field_width": 2,
13419 "phv_msb": 5,
13420 "phv_lsb": 3,
13421 "is_compiler_generated": false,
13422 "is_pov": false
13423 },
13424 {
13425 "position_offset": 60,
13426 "field_name": "ig_intr_md_for_tm.drop_ctl",
13427 "field_msb": 15,
13428 "field_lsb": 0,
13429 "field_width": 2,
13430 "phv_msb": 2,
13431 "phv_lsb": 0,
13432 "is_compiler_generated": false,
13433 "is_pov": false
13434 }
13435 ],
13436 "word_bit_width": 16
13437 },
13438 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013439 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013440 "records": [
13441 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013442 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013443 "field_name": "vlan_tag.pri",
13444 "field_msb": 15,
13445 "field_lsb": 0,
13446 "field_width": 2,
13447 "phv_msb": 15,
13448 "phv_lsb": 13,
13449 "is_compiler_generated": false,
13450 "is_pov": false
13451 },
13452 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013453 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013454 "field_name": "vlan_tag.cfi",
13455 "field_msb": 15,
13456 "field_lsb": 0,
13457 "field_width": 2,
13458 "phv_msb": 12,
13459 "phv_lsb": 12,
13460 "is_compiler_generated": false,
13461 "is_pov": false
13462 },
13463 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013464 "position_offset": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013465 "field_name": "vlan_tag.vlan_id",
13466 "field_msb": 15,
13467 "field_lsb": 0,
13468 "field_width": 2,
13469 "phv_msb": 11,
13470 "phv_lsb": 0,
13471 "is_compiler_generated": false,
13472 "is_pov": false
13473 }
13474 ],
13475 "word_bit_width": 16
13476 },
13477 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013478 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013479 "records": [
13480 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013481 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013482 "field_name": "mpls.label",
13483 "field_msb": 19,
13484 "field_lsb": 4,
13485 "field_width": 2,
13486 "phv_msb": 15,
13487 "phv_lsb": 0,
13488 "is_compiler_generated": false,
13489 "is_pov": false
13490 }
13491 ],
13492 "word_bit_width": 16
13493 },
13494 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013495 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013496 "records": [
13497 {
13498 "position_offset": 58,
13499 "field_name": "ig_intr_md.ingress_port",
13500 "field_msb": 15,
13501 "field_lsb": 0,
13502 "field_width": 2,
13503 "phv_msb": 8,
13504 "phv_lsb": 0,
13505 "is_compiler_generated": false,
13506 "is_pov": false
13507 }
13508 ],
13509 "word_bit_width": 16
13510 },
13511 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013512 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013513 "records": [
13514 {
13515 "position_offset": 31,
13516 "field_name": "fabric_metadata.l4_src_port",
13517 "field_msb": 15,
13518 "field_lsb": 0,
13519 "field_width": 2,
13520 "phv_msb": 15,
13521 "phv_lsb": 0,
13522 "is_compiler_generated": false,
13523 "is_pov": false
13524 }
13525 ],
13526 "word_bit_width": 16
13527 },
13528 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013529 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013530 "records": [
13531 {
13532 "position_offset": 18,
13533 "field_name": "ethernet.ether_type",
13534 "field_msb": 15,
13535 "field_lsb": 0,
13536 "field_width": 2,
13537 "phv_msb": 15,
13538 "phv_lsb": 0,
13539 "is_compiler_generated": false,
13540 "is_pov": false
13541 }
13542 ],
13543 "word_bit_width": 16
13544 },
13545 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013546 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013547 "records": [
13548 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013549 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013550 "field_name": "vlan_tag.ether_type",
13551 "field_msb": 15,
13552 "field_lsb": 0,
13553 "field_width": 2,
13554 "phv_msb": 15,
13555 "phv_lsb": 0,
13556 "is_compiler_generated": false,
13557 "is_pov": false
13558 }
13559 ],
13560 "word_bit_width": 16
13561 },
13562 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013563 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013564 "records": [
13565 {
13566 "position_offset": 12,
13567 "field_name": "ethernet.dst_addr",
13568 "field_msb": 15,
13569 "field_lsb": 0,
13570 "field_width": 6,
13571 "phv_msb": 15,
13572 "phv_lsb": 0,
13573 "is_compiler_generated": false,
13574 "is_pov": false
13575 }
13576 ],
13577 "word_bit_width": 16
13578 },
13579 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013580 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013581 "records": [
13582 {
13583 "position_offset": 20,
13584 "field_name": "ethernet.src_addr",
13585 "field_msb": 15,
13586 "field_lsb": 0,
13587 "field_width": 6,
13588 "phv_msb": 15,
13589 "phv_lsb": 0,
13590 "is_compiler_generated": false,
13591 "is_pov": false
13592 }
13593 ],
13594 "word_bit_width": 16
13595 },
13596 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013597 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013598 "records": [
13599 {
13600 "position_offset": 29,
13601 "field_name": "fabric_metadata.l4_dst_port",
13602 "field_msb": 15,
13603 "field_lsb": 0,
13604 "field_width": 2,
13605 "phv_msb": 15,
13606 "phv_lsb": 0,
13607 "is_compiler_generated": false,
13608 "is_pov": false
13609 }
13610 ],
13611 "word_bit_width": 16
13612 },
13613 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013614 "phv_number": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013615 "records": [
13616 {
13617 "position_offset": 37,
13618 "field_name": "fabric_metadata.original_ether_type",
13619 "field_msb": 15,
13620 "field_lsb": 0,
13621 "field_width": 2,
13622 "phv_msb": 15,
13623 "phv_lsb": 0,
13624 "is_compiler_generated": false,
13625 "is_pov": false
13626 }
13627 ],
13628 "word_bit_width": 16
13629 },
13630 {
13631 "phv_number": 260,
13632 "records": [
13633 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013634 "position_offset": 114,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013635 "field_name": "tcp.seq_no",
13636 "field_msb": 31,
13637 "field_lsb": 0,
13638 "field_width": 4,
13639 "phv_msb": 31,
13640 "phv_lsb": 0,
13641 "is_compiler_generated": false,
13642 "is_pov": false
13643 },
13644 {
13645 "position_offset": 50,
13646 "field_name": "icmp.timestamp",
13647 "field_msb": 31,
13648 "field_lsb": 0,
13649 "field_width": 8,
13650 "phv_msb": 31,
13651 "phv_lsb": 0,
13652 "is_compiler_generated": false,
13653 "is_pov": false
13654 }
13655 ],
13656 "word_bit_width": 32
13657 },
13658 {
13659 "phv_number": 261,
13660 "records": [
13661 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013662 "position_offset": 98,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013663 "field_name": "tcp.ack_no",
13664 "field_msb": 31,
13665 "field_lsb": 0,
13666 "field_width": 4,
13667 "phv_msb": 31,
13668 "phv_lsb": 0,
13669 "is_compiler_generated": false,
13670 "is_pov": false
13671 },
13672 {
13673 "position_offset": 50,
13674 "field_name": "icmp.timestamp",
13675 "field_msb": 63,
13676 "field_lsb": 32,
13677 "field_width": 8,
13678 "phv_msb": 31,
13679 "phv_lsb": 0,
13680 "is_compiler_generated": false,
13681 "is_pov": false
13682 }
13683 ],
13684 "word_bit_width": 32
13685 },
13686 {
13687 "phv_number": 292,
13688 "records": [
13689 {
13690 "position_offset": 3,
13691 "field_name": "arp.hw_addr_len",
13692 "field_msb": 7,
13693 "field_lsb": 0,
13694 "field_width": 1,
13695 "phv_msb": 7,
13696 "phv_lsb": 0,
13697 "is_compiler_generated": false,
13698 "is_pov": false
13699 },
13700 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013701 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013702 "field_name": "ipv4.version",
13703 "field_msb": 7,
13704 "field_lsb": 0,
13705 "field_width": 1,
13706 "phv_msb": 7,
13707 "phv_lsb": 4,
13708 "is_compiler_generated": false,
13709 "is_pov": false
13710 },
13711 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013712 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013713 "field_name": "ipv4.ihl",
13714 "field_msb": 7,
13715 "field_lsb": 0,
13716 "field_width": 1,
13717 "phv_msb": 3,
13718 "phv_lsb": 0,
13719 "is_compiler_generated": false,
13720 "is_pov": false
13721 }
13722 ],
13723 "word_bit_width": 8
13724 },
13725 {
13726 "phv_number": 293,
13727 "records": [
13728 {
13729 "position_offset": 8,
13730 "field_name": "arp.proto_addr_len",
13731 "field_msb": 7,
13732 "field_lsb": 0,
13733 "field_width": 1,
13734 "phv_msb": 7,
13735 "phv_lsb": 0,
13736 "is_compiler_generated": false,
13737 "is_pov": false
13738 },
13739 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013740 "position_offset": 67,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013741 "field_name": "ipv4.diffserv",
13742 "field_msb": 7,
13743 "field_lsb": 0,
13744 "field_width": 1,
13745 "phv_msb": 7,
13746 "phv_lsb": 0,
13747 "is_compiler_generated": false,
13748 "is_pov": false
13749 }
13750 ],
13751 "word_bit_width": 8
13752 },
13753 {
13754 "phv_number": 294,
13755 "records": [
13756 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013757 "position_offset": 79,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013758 "field_name": "ipv4.protocol",
13759 "field_msb": 7,
13760 "field_lsb": 0,
13761 "field_width": 1,
13762 "phv_msb": 7,
13763 "phv_lsb": 0,
13764 "is_compiler_generated": false,
13765 "is_pov": false
13766 }
13767 ],
13768 "word_bit_width": 8
13769 },
13770 {
13771 "phv_number": 326,
13772 "records": [
13773 {
13774 "position_offset": 4,
13775 "field_name": "arp.hw_type",
13776 "field_msb": 15,
13777 "field_lsb": 0,
13778 "field_width": 2,
13779 "phv_msb": 15,
13780 "phv_lsb": 0,
13781 "is_compiler_generated": false,
13782 "is_pov": false
13783 },
13784 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013785 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013786 "field_name": "tcp.data_offset",
13787 "field_msb": 15,
13788 "field_lsb": 0,
13789 "field_width": 2,
13790 "phv_msb": 15,
13791 "phv_lsb": 12,
13792 "is_compiler_generated": false,
13793 "is_pov": false
13794 },
13795 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013796 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013797 "field_name": "tcp.res",
13798 "field_msb": 15,
13799 "field_lsb": 0,
13800 "field_width": 2,
13801 "phv_msb": 11,
13802 "phv_lsb": 9,
13803 "is_compiler_generated": false,
13804 "is_pov": false
13805 },
13806 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013807 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013808 "field_name": "tcp.ecn",
13809 "field_msb": 15,
13810 "field_lsb": 0,
13811 "field_width": 2,
13812 "phv_msb": 8,
13813 "phv_lsb": 6,
13814 "is_compiler_generated": false,
13815 "is_pov": false
13816 },
13817 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013818 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013819 "field_name": "tcp.ctrl",
13820 "field_msb": 15,
13821 "field_lsb": 0,
13822 "field_width": 2,
13823 "phv_msb": 5,
13824 "phv_lsb": 0,
13825 "is_compiler_generated": false,
13826 "is_pov": false
13827 },
13828 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013829 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013830 "field_name": "udp.src_port",
13831 "field_msb": 15,
13832 "field_lsb": 0,
13833 "field_width": 2,
13834 "phv_msb": 15,
13835 "phv_lsb": 0,
13836 "is_compiler_generated": false,
13837 "is_pov": false
13838 },
13839 {
13840 "position_offset": 42,
13841 "field_name": "icmp.checksum",
13842 "field_msb": 15,
13843 "field_lsb": 0,
13844 "field_width": 2,
13845 "phv_msb": 15,
13846 "phv_lsb": 0,
13847 "is_compiler_generated": false,
13848 "is_pov": false
13849 }
13850 ],
13851 "word_bit_width": 16
13852 },
13853 {
13854 "phv_number": 327,
13855 "records": [
13856 {
13857 "position_offset": 9,
13858 "field_name": "arp.proto_type",
13859 "field_msb": 15,
13860 "field_lsb": 0,
13861 "field_width": 2,
13862 "phv_msb": 15,
13863 "phv_lsb": 0,
13864 "is_compiler_generated": false,
13865 "is_pov": false
13866 },
13867 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013868 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013869 "field_name": "tcp.src_port",
13870 "field_msb": 15,
13871 "field_lsb": 0,
13872 "field_width": 2,
13873 "phv_msb": 15,
13874 "phv_lsb": 0,
13875 "is_compiler_generated": false,
13876 "is_pov": false
13877 },
13878 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013879 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013880 "field_name": "udp.dst_port",
13881 "field_msb": 15,
13882 "field_lsb": 0,
13883 "field_width": 2,
13884 "phv_msb": 15,
13885 "phv_lsb": 0,
13886 "is_compiler_generated": false,
13887 "is_pov": false
13888 },
13889 {
13890 "position_offset": 46,
13891 "field_name": "icmp.identifier",
13892 "field_msb": 15,
13893 "field_lsb": 0,
13894 "field_width": 2,
13895 "phv_msb": 15,
13896 "phv_lsb": 0,
13897 "is_compiler_generated": false,
13898 "is_pov": false
13899 }
13900 ],
13901 "word_bit_width": 16
13902 },
13903 {
13904 "phv_number": 328,
13905 "records": [
13906 {
13907 "position_offset": 6,
13908 "field_name": "arp.opcode",
13909 "field_msb": 15,
13910 "field_lsb": 0,
13911 "field_width": 2,
13912 "phv_msb": 15,
13913 "phv_lsb": 0,
13914 "is_compiler_generated": false,
13915 "is_pov": false
13916 },
13917 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013918 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013919 "field_name": "ipv4.flags",
13920 "field_msb": 15,
13921 "field_lsb": 0,
13922 "field_width": 2,
13923 "phv_msb": 15,
13924 "phv_lsb": 13,
13925 "is_compiler_generated": false,
13926 "is_pov": false
13927 },
13928 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013929 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013930 "field_name": "ipv4.frag_offset",
13931 "field_msb": 15,
13932 "field_lsb": 0,
13933 "field_width": 2,
13934 "phv_msb": 12,
13935 "phv_lsb": 0,
13936 "is_compiler_generated": false,
13937 "is_pov": false
13938 }
13939 ],
13940 "word_bit_width": 16
13941 },
13942 {
13943 "phv_number": 329,
13944 "records": [
13945 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013946 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013947 "field_name": "ipv4.total_len",
13948 "field_msb": 15,
13949 "field_lsb": 0,
13950 "field_width": 2,
13951 "phv_msb": 15,
13952 "phv_lsb": 0,
13953 "is_compiler_generated": false,
13954 "is_pov": false
13955 }
13956 ],
13957 "word_bit_width": 16
13958 },
13959 {
13960 "phv_number": 330,
13961 "records": [
13962 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013963 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013964 "field_name": "ipv4.identification",
13965 "field_msb": 15,
13966 "field_lsb": 0,
13967 "field_width": 2,
13968 "phv_msb": 15,
13969 "phv_lsb": 0,
13970 "is_compiler_generated": false,
13971 "is_pov": false
13972 }
13973 ],
13974 "word_bit_width": 16
13975 },
13976 {
13977 "phv_number": 331,
13978 "records": [
13979 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013980 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013981 "field_name": "tcp.dst_port",
13982 "field_msb": 15,
13983 "field_lsb": 0,
13984 "field_width": 2,
13985 "phv_msb": 15,
13986 "phv_lsb": 0,
13987 "is_compiler_generated": false,
13988 "is_pov": false
13989 },
13990 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080013991 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013992 "field_name": "udp.len",
13993 "field_msb": 15,
13994 "field_lsb": 0,
13995 "field_width": 2,
13996 "phv_msb": 15,
13997 "phv_lsb": 0,
13998 "is_compiler_generated": false,
13999 "is_pov": false
14000 },
14001 {
14002 "position_offset": 48,
14003 "field_name": "icmp.sequence_number",
14004 "field_msb": 15,
14005 "field_lsb": 0,
14006 "field_width": 2,
14007 "phv_msb": 15,
14008 "phv_lsb": 0,
14009 "is_compiler_generated": false,
14010 "is_pov": false
14011 }
14012 ],
14013 "word_bit_width": 16
14014 },
14015 {
14016 "phv_number": 338,
14017 "records": [
14018 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080014019 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -080014020 "field_name": "tcp.window",
14021 "field_msb": 15,
14022 "field_lsb": 0,
14023 "field_width": 2,
14024 "phv_msb": 15,
14025 "phv_lsb": 0,
14026 "is_compiler_generated": false,
14027 "is_pov": false
14028 },
14029 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080014030 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -080014031 "field_name": "udp.checksum",
14032 "field_msb": 15,
14033 "field_lsb": 0,
14034 "field_width": 2,
14035 "phv_msb": 15,
14036 "phv_lsb": 0,
14037 "is_compiler_generated": false,
14038 "is_pov": false
14039 }
14040 ],
14041 "word_bit_width": 16
14042 },
14043 {
14044 "phv_number": 339,
14045 "records": [
14046 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080014047 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -080014048 "field_name": "tcp.checksum",
14049 "field_msb": 15,
14050 "field_lsb": 0,
14051 "field_width": 2,
14052 "phv_msb": 15,
14053 "phv_lsb": 0,
14054 "is_compiler_generated": false,
14055 "is_pov": false
14056 }
14057 ],
14058 "word_bit_width": 16
14059 },
14060 {
14061 "phv_number": 340,
14062 "records": [
14063 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080014064 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -080014065 "field_name": "tcp.urgent_ptr",
14066 "field_msb": 15,
14067 "field_lsb": 0,
14068 "field_width": 2,
14069 "phv_msb": 15,
14070 "phv_lsb": 0,
14071 "is_compiler_generated": false,
14072 "is_pov": false
14073 }
14074 ],
14075 "word_bit_width": 16
14076 }
14077 ],
14078 "egress": [
14079 {
14080 "phv_number": 80,
14081 "records": [
14082 {
14083 "position_offset": 0,
14084 "field_name": "POV",
14085 "field_msb": 7,
14086 "field_lsb": 0,
14087 "field_width": 0,
14088 "phv_msb": 0,
14089 "phv_lsb": 0,
14090 "is_compiler_generated": false,
14091 "is_pov": true,
14092 "pov_headers": [
14093 {
14094 "bit_index": 0,
14095 "position_offset": 0,
14096 "header_name": "arp",
14097 "hidden": false
14098 }
14099 ]
14100 },
14101 {
14102 "position_offset": 0,
14103 "field_name": "POV",
14104 "field_msb": 7,
14105 "field_lsb": 0,
14106 "field_width": 0,
14107 "phv_msb": 2,
14108 "phv_lsb": 2,
14109 "is_compiler_generated": false,
14110 "is_pov": true,
14111 "pov_headers": [
14112 {
14113 "bit_index": 2,
14114 "position_offset": 11,
14115 "header_name": "ethernet",
14116 "hidden": false
14117 }
14118 ]
14119 },
14120 {
14121 "position_offset": 0,
14122 "field_name": "POV",
14123 "field_msb": 7,
14124 "field_lsb": 0,
14125 "field_width": 0,
14126 "phv_msb": 3,
14127 "phv_lsb": 3,
14128 "is_compiler_generated": false,
14129 "is_pov": true,
14130 "pov_headers": [
14131 {
14132 "bit_index": 3,
14133 "position_offset": 26,
14134 "header_name": "icmp",
14135 "hidden": false
14136 }
14137 ]
14138 },
14139 {
14140 "position_offset": 0,
14141 "field_name": "POV",
14142 "field_msb": 7,
14143 "field_lsb": 0,
14144 "field_width": 0,
14145 "phv_msb": 5,
14146 "phv_lsb": 5,
14147 "is_compiler_generated": false,
14148 "is_pov": true,
14149 "pov_headers": [
14150 {
14151 "bit_index": 5,
14152 "position_offset": 45,
14153 "header_name": "ipv4",
14154 "hidden": false
14155 }
14156 ]
14157 },
14158 {
14159 "position_offset": 0,
14160 "field_name": "POV",
14161 "field_msb": 7,
14162 "field_lsb": 0,
14163 "field_width": 0,
14164 "phv_msb": 6,
14165 "phv_lsb": 6,
14166 "is_compiler_generated": false,
14167 "is_pov": true,
14168 "pov_headers": [
14169 {
14170 "bit_index": 6,
14171 "position_offset": 67,
14172 "header_name": "mpls",
14173 "hidden": false
14174 }
14175 ]
14176 },
14177 {
14178 "position_offset": 0,
14179 "field_name": "POV",
14180 "field_msb": 7,
14181 "field_lsb": 0,
14182 "field_width": 0,
14183 "phv_msb": 7,
14184 "phv_lsb": 7,
14185 "is_compiler_generated": false,
14186 "is_pov": true,
14187 "pov_headers": [
14188 {
14189 "bit_index": 7,
14190 "position_offset": 73,
14191 "header_name": "packet_in",
14192 "hidden": false
14193 }
14194 ]
14195 }
14196 ],
14197 "word_bit_width": 8
14198 },
14199 {
14200 "phv_number": 81,
14201 "records": [
14202 {
14203 "position_offset": 0,
14204 "field_name": "POV",
14205 "field_msb": 7,
14206 "field_lsb": 0,
14207 "field_width": 0,
14208 "phv_msb": 0,
14209 "phv_lsb": 0,
14210 "is_compiler_generated": false,
14211 "is_pov": true,
14212 "pov_headers": [
14213 {
14214 "bit_index": 0,
14215 "position_offset": 78,
14216 "header_name": "tcp",
14217 "hidden": false
14218 }
14219 ]
14220 },
14221 {
14222 "position_offset": 0,
14223 "field_name": "POV",
14224 "field_msb": 7,
14225 "field_lsb": 0,
14226 "field_width": 0,
14227 "phv_msb": 1,
14228 "phv_lsb": 1,
14229 "is_compiler_generated": false,
14230 "is_pov": true,
14231 "pov_headers": [
14232 {
14233 "bit_index": 1,
14234 "position_offset": 105,
14235 "header_name": "udp",
14236 "hidden": false
14237 }
14238 ]
14239 },
14240 {
14241 "position_offset": 0,
14242 "field_name": "POV",
14243 "field_msb": 7,
14244 "field_lsb": 0,
14245 "field_width": 0,
14246 "phv_msb": 2,
14247 "phv_lsb": 2,
14248 "is_compiler_generated": false,
14249 "is_pov": true,
14250 "pov_headers": [
14251 {
14252 "bit_index": 2,
14253 "position_offset": 114,
14254 "header_name": "vlan_tag",
14255 "hidden": false
14256 }
14257 ]
14258 }
14259 ],
14260 "word_bit_width": 8
14261 },
14262 {
14263 "phv_number": 144,
14264 "records": [
14265 {
14266 "position_offset": 9,
14267 "field_name": "eg_intr_md.egress_port",
14268 "field_msb": 15,
14269 "field_lsb": 0,
14270 "field_width": 2,
14271 "phv_msb": 8,
14272 "phv_lsb": 0,
14273 "is_compiler_generated": false,
14274 "is_pov": false
14275 }
14276 ],
14277 "word_bit_width": 16
14278 },
14279 {
14280 "phv_number": 145,
14281 "records": [
14282 {
14283 "position_offset": 76,
14284 "field_name": "packet_in.ingress_port",
14285 "field_msb": 15,
14286 "field_lsb": 0,
14287 "field_width": 2,
14288 "phv_msb": 15,
14289 "phv_lsb": 7,
14290 "is_compiler_generated": false,
14291 "is_pov": false
14292 },
14293 {
14294 "position_offset": 74,
14295 "field_name": "packet_in._pad",
14296 "field_msb": 15,
14297 "field_lsb": 0,
14298 "field_width": 2,
14299 "phv_msb": 6,
14300 "phv_lsb": 0,
14301 "is_compiler_generated": false,
14302 "is_pov": false
14303 }
14304 ],
14305 "word_bit_width": 16
14306 },
14307 {
14308 "phv_number": 146,
14309 "records": [
14310 {
14311 "position_offset": 43,
14312 "field_name": "ig_intr_md.ingress_port",
14313 "field_msb": 15,
14314 "field_lsb": 0,
14315 "field_width": 2,
14316 "phv_msb": 8,
14317 "phv_lsb": 0,
14318 "is_compiler_generated": false,
14319 "is_pov": false
14320 }
14321 ],
14322 "word_bit_width": 16
14323 },
14324 {
14325 "phv_number": 256,
14326 "records": [
14327 {
14328 "position_offset": 12,
14329 "field_name": "ethernet.dst_addr",
14330 "field_msb": 47,
14331 "field_lsb": 16,
14332 "field_width": 6,
14333 "phv_msb": 31,
14334 "phv_lsb": 0,
14335 "is_compiler_generated": false,
14336 "is_pov": false
14337 }
14338 ],
14339 "word_bit_width": 32
14340 },
14341 {
14342 "phv_number": 257,
14343 "records": [
14344 {
14345 "position_offset": 20,
14346 "field_name": "ethernet.src_addr",
14347 "field_msb": 47,
14348 "field_lsb": 16,
14349 "field_width": 6,
14350 "phv_msb": 31,
14351 "phv_lsb": 0,
14352 "is_compiler_generated": false,
14353 "is_pov": false
14354 }
14355 ],
14356 "word_bit_width": 32
14357 },
14358 {
14359 "phv_number": 258,
14360 "records": [
14361 {
14362 "position_offset": 59,
14363 "field_name": "ipv4.src_addr",
14364 "field_msb": 31,
14365 "field_lsb": 0,
14366 "field_width": 4,
14367 "phv_msb": 31,
14368 "phv_lsb": 0,
14369 "is_compiler_generated": false,
14370 "is_pov": false
14371 }
14372 ],
14373 "word_bit_width": 32
14374 },
14375 {
14376 "phv_number": 259,
14377 "records": [
14378 {
14379 "position_offset": 47,
14380 "field_name": "ipv4.dst_addr",
14381 "field_msb": 31,
14382 "field_lsb": 0,
14383 "field_width": 4,
14384 "phv_msb": 31,
14385 "phv_lsb": 0,
14386 "is_compiler_generated": false,
14387 "is_pov": false
14388 }
14389 ],
14390 "word_bit_width": 32
14391 },
14392 {
14393 "phv_number": 264,
14394 "records": [
14395 {
14396 "position_offset": 95,
14397 "field_name": "tcp.seq_no",
14398 "field_msb": 31,
14399 "field_lsb": 0,
14400 "field_width": 4,
14401 "phv_msb": 31,
14402 "phv_lsb": 0,
14403 "is_compiler_generated": false,
14404 "is_pov": false
14405 },
14406 {
14407 "position_offset": 35,
14408 "field_name": "icmp.timestamp",
14409 "field_msb": 31,
14410 "field_lsb": 0,
14411 "field_width": 8,
14412 "phv_msb": 31,
14413 "phv_lsb": 0,
14414 "is_compiler_generated": false,
14415 "is_pov": false
14416 }
14417 ],
14418 "word_bit_width": 32
14419 },
14420 {
14421 "phv_number": 265,
14422 "records": [
14423 {
14424 "position_offset": 79,
14425 "field_name": "tcp.ack_no",
14426 "field_msb": 31,
14427 "field_lsb": 0,
14428 "field_width": 4,
14429 "phv_msb": 31,
14430 "phv_lsb": 0,
14431 "is_compiler_generated": false,
14432 "is_pov": false
14433 },
14434 {
14435 "position_offset": 35,
14436 "field_name": "icmp.timestamp",
14437 "field_msb": 63,
14438 "field_lsb": 32,
14439 "field_width": 8,
14440 "phv_msb": 31,
14441 "phv_lsb": 0,
14442 "is_compiler_generated": false,
14443 "is_pov": false
14444 }
14445 ],
14446 "word_bit_width": 32
14447 },
14448 {
14449 "phv_number": 288,
14450 "records": [
14451 {
14452 "position_offset": 1,
14453 "field_name": "arp.hw_addr_len",
14454 "field_msb": 7,
14455 "field_lsb": 0,
14456 "field_width": 1,
14457 "phv_msb": 7,
14458 "phv_lsb": 0,
14459 "is_compiler_generated": false,
14460 "is_pov": false
14461 },
14462 {
14463 "position_offset": 66,
14464 "field_name": "ipv4.version",
14465 "field_msb": 7,
14466 "field_lsb": 0,
14467 "field_width": 1,
14468 "phv_msb": 7,
14469 "phv_lsb": 4,
14470 "is_compiler_generated": false,
14471 "is_pov": false
14472 },
14473 {
14474 "position_offset": 57,
14475 "field_name": "ipv4.ihl",
14476 "field_msb": 7,
14477 "field_lsb": 0,
14478 "field_width": 1,
14479 "phv_msb": 3,
14480 "phv_lsb": 0,
14481 "is_compiler_generated": false,
14482 "is_pov": false
14483 }
14484 ],
14485 "word_bit_width": 8
14486 },
14487 {
14488 "phv_number": 289,
14489 "records": [
14490 {
14491 "position_offset": 6,
14492 "field_name": "arp.proto_addr_len",
14493 "field_msb": 7,
14494 "field_lsb": 0,
14495 "field_width": 1,
14496 "phv_msb": 7,
14497 "phv_lsb": 0,
14498 "is_compiler_generated": false,
14499 "is_pov": false
14500 },
14501 {
14502 "position_offset": 30,
14503 "field_name": "icmp.icmp_type",
14504 "field_msb": 7,
14505 "field_lsb": 0,
14506 "field_width": 1,
14507 "phv_msb": 7,
14508 "phv_lsb": 0,
14509 "is_compiler_generated": false,
14510 "is_pov": false
14511 }
14512 ],
14513 "word_bit_width": 8
14514 },
14515 {
14516 "phv_number": 290,
14517 "records": [
14518 {
14519 "position_offset": 46,
14520 "field_name": "ipv4.diffserv",
14521 "field_msb": 7,
14522 "field_lsb": 0,
14523 "field_width": 1,
14524 "phv_msb": 7,
14525 "phv_lsb": 0,
14526 "is_compiler_generated": false,
14527 "is_pov": false
14528 }
14529 ],
14530 "word_bit_width": 8
14531 },
14532 {
14533 "phv_number": 291,
14534 "records": [
14535 {
14536 "position_offset": 29,
14537 "field_name": "icmp.icmp_code",
14538 "field_msb": 7,
14539 "field_lsb": 0,
14540 "field_width": 1,
14541 "phv_msb": 7,
14542 "phv_lsb": 0,
14543 "is_compiler_generated": false,
14544 "is_pov": false
14545 }
14546 ],
14547 "word_bit_width": 8
14548 },
14549 {
14550 "phv_number": 296,
14551 "records": [
14552 {
14553 "position_offset": 69,
14554 "field_name": "mpls.label",
14555 "field_msb": 3,
14556 "field_lsb": 0,
14557 "field_width": 2,
14558 "phv_msb": 7,
14559 "phv_lsb": 4,
14560 "is_compiler_generated": false,
14561 "is_pov": false
14562 },
14563 {
14564 "position_offset": 71,
14565 "field_name": "mpls.tc",
14566 "field_msb": 7,
14567 "field_lsb": 0,
14568 "field_width": 1,
14569 "phv_msb": 3,
14570 "phv_lsb": 1,
14571 "is_compiler_generated": false,
14572 "is_pov": false
14573 },
14574 {
14575 "position_offset": 68,
14576 "field_name": "mpls.bos",
14577 "field_msb": 7,
14578 "field_lsb": 0,
14579 "field_width": 1,
14580 "phv_msb": 0,
14581 "phv_lsb": 0,
14582 "is_compiler_generated": false,
14583 "is_pov": false
14584 }
14585 ],
14586 "word_bit_width": 8
14587 },
14588 {
14589 "phv_number": 297,
14590 "records": [
14591 {
14592 "position_offset": 65,
14593 "field_name": "ipv4.ttl",
14594 "field_msb": 7,
14595 "field_lsb": 0,
14596 "field_width": 1,
14597 "phv_msb": 7,
14598 "phv_lsb": 0,
14599 "is_compiler_generated": false,
14600 "is_pov": false
14601 }
14602 ],
14603 "word_bit_width": 8
14604 },
14605 {
14606 "phv_number": 298,
14607 "records": [
14608 {
14609 "position_offset": 58,
14610 "field_name": "ipv4.protocol",
14611 "field_msb": 7,
14612 "field_lsb": 0,
14613 "field_width": 1,
14614 "phv_msb": 7,
14615 "phv_lsb": 0,
14616 "is_compiler_generated": false,
14617 "is_pov": false
14618 }
14619 ],
14620 "word_bit_width": 8
14621 },
14622 {
14623 "phv_number": 299,
14624 "records": [
14625 {
14626 "position_offset": 72,
14627 "field_name": "mpls.ttl",
14628 "field_msb": 7,
14629 "field_lsb": 0,
14630 "field_width": 1,
14631 "phv_msb": 7,
14632 "phv_lsb": 0,
14633 "is_compiler_generated": false,
14634 "is_pov": false
14635 }
14636 ],
14637 "word_bit_width": 8
14638 },
14639 {
14640 "phv_number": 320,
14641 "records": [
14642 {
14643 "position_offset": 119,
14644 "field_name": "vlan_tag.pri",
14645 "field_msb": 15,
14646 "field_lsb": 0,
14647 "field_width": 2,
14648 "phv_msb": 15,
14649 "phv_lsb": 13,
14650 "is_compiler_generated": false,
14651 "is_pov": false
14652 },
14653 {
14654 "position_offset": 115,
14655 "field_name": "vlan_tag.cfi",
14656 "field_msb": 15,
14657 "field_lsb": 0,
14658 "field_width": 2,
14659 "phv_msb": 12,
14660 "phv_lsb": 12,
14661 "is_compiler_generated": false,
14662 "is_pov": false
14663 },
14664 {
14665 "position_offset": 121,
14666 "field_name": "vlan_tag.vlan_id",
14667 "field_msb": 15,
14668 "field_lsb": 0,
14669 "field_width": 2,
14670 "phv_msb": 11,
14671 "phv_lsb": 0,
14672 "is_compiler_generated": false,
14673 "is_pov": false
14674 }
14675 ],
14676 "word_bit_width": 16
14677 },
14678 {
14679 "phv_number": 321,
14680 "records": [
14681 {
14682 "position_offset": 2,
14683 "field_name": "arp.hw_type",
14684 "field_msb": 15,
14685 "field_lsb": 0,
14686 "field_width": 2,
14687 "phv_msb": 15,
14688 "phv_lsb": 0,
14689 "is_compiler_generated": false,
14690 "is_pov": false
14691 },
14692 {
14693 "position_offset": 99,
14694 "field_name": "tcp.src_port",
14695 "field_msb": 15,
14696 "field_lsb": 0,
14697 "field_width": 2,
14698 "phv_msb": 15,
14699 "phv_lsb": 0,
14700 "is_compiler_generated": false,
14701 "is_pov": false
14702 },
14703 {
14704 "position_offset": 112,
14705 "field_name": "udp.src_port",
14706 "field_msb": 15,
14707 "field_lsb": 0,
14708 "field_width": 2,
14709 "phv_msb": 15,
14710 "phv_lsb": 0,
14711 "is_compiler_generated": false,
14712 "is_pov": false
14713 },
14714 {
14715 "position_offset": 27,
14716 "field_name": "icmp.checksum",
14717 "field_msb": 15,
14718 "field_lsb": 0,
14719 "field_width": 2,
14720 "phv_msb": 15,
14721 "phv_lsb": 0,
14722 "is_compiler_generated": false,
14723 "is_pov": false
14724 }
14725 ],
14726 "word_bit_width": 16
14727 },
14728 {
14729 "phv_number": 322,
14730 "records": [
14731 {
14732 "position_offset": 7,
14733 "field_name": "arp.proto_type",
14734 "field_msb": 15,
14735 "field_lsb": 0,
14736 "field_width": 2,
14737 "phv_msb": 15,
14738 "phv_lsb": 0,
14739 "is_compiler_generated": false,
14740 "is_pov": false
14741 },
14742 {
14743 "position_offset": 69,
14744 "field_name": "mpls.label",
14745 "field_msb": 19,
14746 "field_lsb": 4,
14747 "field_width": 2,
14748 "phv_msb": 15,
14749 "phv_lsb": 0,
14750 "is_compiler_generated": false,
14751 "is_pov": false
14752 }
14753 ],
14754 "word_bit_width": 16
14755 },
14756 {
14757 "phv_number": 323,
14758 "records": [
14759 {
14760 "position_offset": 4,
14761 "field_name": "arp.opcode",
14762 "field_msb": 15,
14763 "field_lsb": 0,
14764 "field_width": 2,
14765 "phv_msb": 15,
14766 "phv_lsb": 0,
14767 "is_compiler_generated": false,
14768 "is_pov": false
14769 },
14770 {
14771 "position_offset": 87,
14772 "field_name": "tcp.data_offset",
14773 "field_msb": 15,
14774 "field_lsb": 0,
14775 "field_width": 2,
14776 "phv_msb": 15,
14777 "phv_lsb": 12,
14778 "is_compiler_generated": false,
14779 "is_pov": false
14780 },
14781 {
14782 "position_offset": 93,
14783 "field_name": "tcp.res",
14784 "field_msb": 15,
14785 "field_lsb": 0,
14786 "field_width": 2,
14787 "phv_msb": 11,
14788 "phv_lsb": 9,
14789 "is_compiler_generated": false,
14790 "is_pov": false
14791 },
14792 {
14793 "position_offset": 91,
14794 "field_name": "tcp.ecn",
14795 "field_msb": 15,
14796 "field_lsb": 0,
14797 "field_width": 2,
14798 "phv_msb": 8,
14799 "phv_lsb": 6,
14800 "is_compiler_generated": false,
14801 "is_pov": false
14802 },
14803 {
14804 "position_offset": 85,
14805 "field_name": "tcp.ctrl",
14806 "field_msb": 15,
14807 "field_lsb": 0,
14808 "field_width": 2,
14809 "phv_msb": 5,
14810 "phv_lsb": 0,
14811 "is_compiler_generated": false,
14812 "is_pov": false
14813 },
14814 {
14815 "position_offset": 108,
14816 "field_name": "udp.dst_port",
14817 "field_msb": 15,
14818 "field_lsb": 0,
14819 "field_width": 2,
14820 "phv_msb": 15,
14821 "phv_lsb": 0,
14822 "is_compiler_generated": false,
14823 "is_pov": false
14824 },
14825 {
14826 "position_offset": 31,
14827 "field_name": "icmp.identifier",
14828 "field_msb": 15,
14829 "field_lsb": 0,
14830 "field_width": 2,
14831 "phv_msb": 15,
14832 "phv_lsb": 0,
14833 "is_compiler_generated": false,
14834 "is_pov": false
14835 }
14836 ],
14837 "word_bit_width": 16
14838 },
14839 {
14840 "phv_number": 324,
14841 "records": [
14842 {
14843 "position_offset": 51,
14844 "field_name": "ipv4.flags",
14845 "field_msb": 15,
14846 "field_lsb": 0,
14847 "field_width": 2,
14848 "phv_msb": 15,
14849 "phv_lsb": 13,
14850 "is_compiler_generated": false,
14851 "is_pov": false
14852 },
14853 {
14854 "position_offset": 53,
14855 "field_name": "ipv4.frag_offset",
14856 "field_msb": 15,
14857 "field_lsb": 0,
14858 "field_width": 2,
14859 "phv_msb": 12,
14860 "phv_lsb": 0,
14861 "is_compiler_generated": false,
14862 "is_pov": false
14863 }
14864 ],
14865 "word_bit_width": 16
14866 },
14867 {
14868 "phv_number": 325,
14869 "records": [
14870 {
14871 "position_offset": 12,
14872 "field_name": "ethernet.dst_addr",
14873 "field_msb": 15,
14874 "field_lsb": 0,
14875 "field_width": 6,
14876 "phv_msb": 15,
14877 "phv_lsb": 0,
14878 "is_compiler_generated": false,
14879 "is_pov": false
14880 }
14881 ],
14882 "word_bit_width": 16
14883 },
14884 {
14885 "phv_number": 332,
14886 "records": [
14887 {
14888 "position_offset": 20,
14889 "field_name": "ethernet.src_addr",
14890 "field_msb": 15,
14891 "field_lsb": 0,
14892 "field_width": 6,
14893 "phv_msb": 15,
14894 "phv_lsb": 0,
14895 "is_compiler_generated": false,
14896 "is_pov": false
14897 }
14898 ],
14899 "word_bit_width": 16
14900 },
14901 {
14902 "phv_number": 333,
14903 "records": [
14904 {
14905 "position_offset": 18,
14906 "field_name": "ethernet.ether_type",
14907 "field_msb": 15,
14908 "field_lsb": 0,
14909 "field_width": 2,
14910 "phv_msb": 15,
14911 "phv_lsb": 0,
14912 "is_compiler_generated": false,
14913 "is_pov": false
14914 }
14915 ],
14916 "word_bit_width": 16
14917 },
14918 {
14919 "phv_number": 334,
14920 "records": [
14921 {
14922 "position_offset": 117,
14923 "field_name": "vlan_tag.ether_type",
14924 "field_msb": 15,
14925 "field_lsb": 0,
14926 "field_width": 2,
14927 "phv_msb": 15,
14928 "phv_lsb": 0,
14929 "is_compiler_generated": false,
14930 "is_pov": false
14931 }
14932 ],
14933 "word_bit_width": 16
14934 },
14935 {
14936 "phv_number": 335,
14937 "records": [
14938 {
14939 "position_offset": 63,
14940 "field_name": "ipv4.total_len",
14941 "field_msb": 15,
14942 "field_lsb": 0,
14943 "field_width": 2,
14944 "phv_msb": 15,
14945 "phv_lsb": 0,
14946 "is_compiler_generated": false,
14947 "is_pov": false
14948 }
14949 ],
14950 "word_bit_width": 16
14951 },
14952 {
14953 "phv_number": 336,
14954 "records": [
14955 {
14956 "position_offset": 55,
14957 "field_name": "ipv4.identification",
14958 "field_msb": 15,
14959 "field_lsb": 0,
14960 "field_width": 2,
14961 "phv_msb": 15,
14962 "phv_lsb": 0,
14963 "is_compiler_generated": false,
14964 "is_pov": false
14965 }
14966 ],
14967 "word_bit_width": 16
14968 },
14969 {
14970 "phv_number": 337,
14971 "records": [
14972 {
14973 "position_offset": 89,
14974 "field_name": "tcp.dst_port",
14975 "field_msb": 15,
14976 "field_lsb": 0,
14977 "field_width": 2,
14978 "phv_msb": 15,
14979 "phv_lsb": 0,
14980 "is_compiler_generated": false,
14981 "is_pov": false
14982 },
14983 {
14984 "position_offset": 110,
14985 "field_name": "udp.len",
14986 "field_msb": 15,
14987 "field_lsb": 0,
14988 "field_width": 2,
14989 "phv_msb": 15,
14990 "phv_lsb": 0,
14991 "is_compiler_generated": false,
14992 "is_pov": false
14993 },
14994 {
14995 "position_offset": 33,
14996 "field_name": "icmp.sequence_number",
14997 "field_msb": 15,
14998 "field_lsb": 0,
14999 "field_width": 2,
15000 "phv_msb": 15,
15001 "phv_lsb": 0,
15002 "is_compiler_generated": false,
15003 "is_pov": false
15004 }
15005 ],
15006 "word_bit_width": 16
15007 },
15008 {
15009 "phv_number": 344,
15010 "records": [
15011 {
15012 "position_offset": 103,
15013 "field_name": "tcp.window",
15014 "field_msb": 15,
15015 "field_lsb": 0,
15016 "field_width": 2,
15017 "phv_msb": 15,
15018 "phv_lsb": 0,
15019 "is_compiler_generated": false,
15020 "is_pov": false
15021 },
15022 {
15023 "position_offset": 106,
15024 "field_name": "udp.checksum",
15025 "field_msb": 15,
15026 "field_lsb": 0,
15027 "field_width": 2,
15028 "phv_msb": 15,
15029 "phv_lsb": 0,
15030 "is_compiler_generated": false,
15031 "is_pov": false
15032 }
15033 ],
15034 "word_bit_width": 16
15035 },
15036 {
15037 "phv_number": 345,
15038 "records": [
15039 {
15040 "position_offset": 83,
15041 "field_name": "tcp.checksum",
15042 "field_msb": 15,
15043 "field_lsb": 0,
15044 "field_width": 2,
15045 "phv_msb": 15,
15046 "phv_lsb": 0,
15047 "is_compiler_generated": false,
15048 "is_pov": false
15049 }
15050 ],
15051 "word_bit_width": 16
15052 },
15053 {
15054 "phv_number": 346,
15055 "records": [
15056 {
15057 "position_offset": 101,
15058 "field_name": "tcp.urgent_ptr",
15059 "field_msb": 15,
15060 "field_lsb": 0,
15061 "field_width": 2,
15062 "phv_msb": 15,
15063 "phv_lsb": 0,
15064 "is_compiler_generated": false,
15065 "is_pov": false
15066 }
15067 ],
15068 "word_bit_width": 16
15069 }
15070 ],
15071 "stage_number": 6
15072 },
15073 {
15074 "ingress": [
15075 {
15076 "phv_number": 0,
15077 "records": [
15078 {
15079 "position_offset": 12,
15080 "field_name": "ethernet.dst_addr",
15081 "field_msb": 47,
15082 "field_lsb": 16,
15083 "field_width": 6,
15084 "phv_msb": 31,
15085 "phv_lsb": 0,
15086 "is_compiler_generated": false,
15087 "is_pov": false
15088 }
15089 ],
15090 "word_bit_width": 32
15091 },
15092 {
15093 "phv_number": 1,
15094 "records": [
15095 {
15096 "position_offset": 20,
15097 "field_name": "ethernet.src_addr",
15098 "field_msb": 47,
15099 "field_lsb": 16,
15100 "field_width": 6,
15101 "phv_msb": 31,
15102 "phv_lsb": 0,
15103 "is_compiler_generated": false,
15104 "is_pov": false
15105 }
15106 ],
15107 "word_bit_width": 32
15108 },
15109 {
15110 "phv_number": 2,
15111 "records": [
15112 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015113 "position_offset": 80,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015114 "field_name": "ipv4.src_addr",
15115 "field_msb": 31,
15116 "field_lsb": 0,
15117 "field_width": 4,
15118 "phv_msb": 31,
15119 "phv_lsb": 0,
15120 "is_compiler_generated": false,
15121 "is_pov": false
15122 }
15123 ],
15124 "word_bit_width": 32
15125 },
15126 {
15127 "phv_number": 3,
15128 "records": [
15129 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015130 "position_offset": 68,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015131 "field_name": "ipv4.dst_addr",
15132 "field_msb": 31,
15133 "field_lsb": 0,
15134 "field_width": 4,
15135 "phv_msb": 31,
15136 "phv_lsb": 0,
15137 "is_compiler_generated": false,
15138 "is_pov": false
15139 }
15140 ],
15141 "word_bit_width": 32
15142 },
15143 {
15144 "phv_number": 4,
15145 "records": [
15146 {
15147 "position_offset": 33,
15148 "field_name": "fabric_metadata.next_id",
15149 "field_msb": 31,
15150 "field_lsb": 0,
15151 "field_width": 4,
15152 "phv_msb": 31,
15153 "phv_lsb": 0,
15154 "is_compiler_generated": false,
15155 "is_pov": false
15156 }
15157 ],
15158 "word_bit_width": 32
15159 },
15160 {
15161 "phv_number": 64,
15162 "records": [
15163 {
15164 "position_offset": 45,
15165 "field_name": "icmp.icmp_type",
15166 "field_msb": 7,
15167 "field_lsb": 0,
15168 "field_width": 1,
15169 "phv_msb": 7,
15170 "phv_lsb": 0,
15171 "is_compiler_generated": false,
15172 "is_pov": false
15173 }
15174 ],
15175 "word_bit_width": 8
15176 },
15177 {
15178 "phv_number": 65,
15179 "records": [
15180 {
15181 "position_offset": 44,
15182 "field_name": "icmp.icmp_code",
15183 "field_msb": 7,
15184 "field_lsb": 0,
15185 "field_width": 1,
15186 "phv_msb": 7,
15187 "phv_lsb": 0,
15188 "is_compiler_generated": false,
15189 "is_pov": false
15190 }
15191 ],
15192 "word_bit_width": 8
15193 },
15194 {
15195 "phv_number": 66,
15196 "records": [
15197 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015198 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015199 "field_name": "mpls.label",
15200 "field_msb": 3,
15201 "field_lsb": 0,
15202 "field_width": 2,
15203 "phv_msb": 7,
15204 "phv_lsb": 4,
15205 "is_compiler_generated": false,
15206 "is_pov": false
15207 },
15208 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015209 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015210 "field_name": "mpls.tc",
15211 "field_msb": 7,
15212 "field_lsb": 0,
15213 "field_width": 1,
15214 "phv_msb": 3,
15215 "phv_lsb": 1,
15216 "is_compiler_generated": false,
15217 "is_pov": false
15218 },
15219 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015220 "position_offset": 89,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015221 "field_name": "mpls.bos",
15222 "field_msb": 7,
15223 "field_lsb": 0,
15224 "field_width": 1,
15225 "phv_msb": 0,
15226 "phv_lsb": 0,
15227 "is_compiler_generated": false,
15228 "is_pov": false
15229 }
15230 ],
15231 "word_bit_width": 8
15232 },
15233 {
15234 "phv_number": 67,
15235 "records": [
15236 {
15237 "position_offset": 1,
15238 "field_name": "$bridged_metadata_indicator",
15239 "field_msb": 7,
15240 "field_lsb": 0,
15241 "field_width": 1,
15242 "phv_msb": 7,
15243 "phv_lsb": 0,
15244 "is_compiler_generated": false,
15245 "is_pov": false
15246 }
15247 ],
15248 "word_bit_width": 8
15249 },
15250 {
15251 "phv_number": 68,
15252 "records": [
15253 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015254 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015255 "field_name": "ipv4.ttl",
15256 "field_msb": 7,
15257 "field_lsb": 0,
15258 "field_width": 1,
15259 "phv_msb": 7,
15260 "phv_lsb": 0,
15261 "is_compiler_generated": false,
15262 "is_pov": false
15263 }
15264 ],
15265 "word_bit_width": 8
15266 },
15267 {
15268 "phv_number": 69,
15269 "records": [
15270 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015271 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015272 "field_name": "mpls.ttl",
15273 "field_msb": 7,
15274 "field_lsb": 0,
15275 "field_width": 1,
15276 "phv_msb": 7,
15277 "phv_lsb": 0,
15278 "is_compiler_generated": false,
15279 "is_pov": false
15280 }
15281 ],
15282 "word_bit_width": 8
15283 },
15284 {
15285 "phv_number": 70,
15286 "records": [
15287 {
15288 "position_offset": 28,
15289 "field_name": "fabric_metadata.ip_proto",
15290 "field_msb": 7,
15291 "field_lsb": 0,
15292 "field_width": 1,
15293 "phv_msb": 7,
15294 "phv_lsb": 0,
15295 "is_compiler_generated": false,
15296 "is_pov": false
15297 }
15298 ],
15299 "word_bit_width": 8
15300 },
15301 {
15302 "phv_number": 71,
15303 "records": [
15304 {
15305 "position_offset": 0,
15306 "field_name": "$always_deparse",
15307 "field_msb": 7,
15308 "field_lsb": 0,
15309 "field_width": 1,
15310 "phv_msb": 0,
15311 "phv_lsb": 0,
15312 "is_compiler_generated": false,
15313 "is_pov": false
15314 },
15315 {
15316 "position_offset": 40,
15317 "field_name": "hasExited_0",
15318 "field_msb": 7,
15319 "field_lsb": 0,
15320 "field_width": 1,
15321 "phv_msb": 4,
15322 "phv_lsb": 4,
15323 "is_compiler_generated": false,
15324 "is_pov": false
15325 },
15326 {
15327 "position_offset": 0,
15328 "field_name": "POV",
15329 "field_msb": 7,
15330 "field_lsb": 0,
15331 "field_width": 0,
15332 "phv_msb": 1,
15333 "phv_lsb": 1,
15334 "is_compiler_generated": false,
15335 "is_pov": true,
15336 "pov_headers": [
15337 {
15338 "bit_index": 1,
15339 "position_offset": 2,
15340 "header_name": "arp",
15341 "hidden": false
15342 }
15343 ]
15344 },
15345 {
15346 "position_offset": 0,
15347 "field_name": "POV",
15348 "field_msb": 7,
15349 "field_lsb": 0,
15350 "field_width": 0,
15351 "phv_msb": 2,
15352 "phv_lsb": 2,
15353 "is_compiler_generated": false,
15354 "is_pov": true,
15355 "pov_headers": [
15356 {
15357 "bit_index": 2,
15358 "position_offset": 11,
15359 "header_name": "ethernet",
15360 "hidden": false
15361 }
15362 ]
15363 },
15364 {
15365 "position_offset": 0,
15366 "field_name": "POV",
15367 "field_msb": 7,
15368 "field_lsb": 0,
15369 "field_width": 0,
15370 "phv_msb": 3,
15371 "phv_lsb": 3,
15372 "is_compiler_generated": false,
15373 "is_pov": true,
15374 "pov_headers": [
15375 {
15376 "bit_index": 3,
15377 "position_offset": 41,
15378 "header_name": "icmp",
15379 "hidden": false
15380 }
15381 ]
15382 },
15383 {
15384 "position_offset": 0,
15385 "field_name": "POV",
15386 "field_msb": 7,
15387 "field_lsb": 0,
15388 "field_width": 0,
15389 "phv_msb": 5,
15390 "phv_lsb": 5,
15391 "is_compiler_generated": false,
15392 "is_pov": true,
15393 "pov_headers": [
15394 {
15395 "bit_index": 5,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015396 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015397 "header_name": "ipv4",
15398 "hidden": false
15399 }
15400 ]
15401 },
15402 {
15403 "position_offset": 0,
15404 "field_name": "POV",
15405 "field_msb": 7,
15406 "field_lsb": 0,
15407 "field_width": 0,
15408 "phv_msb": 6,
15409 "phv_lsb": 6,
15410 "is_compiler_generated": false,
15411 "is_pov": true,
15412 "pov_headers": [
15413 {
15414 "bit_index": 6,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015415 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015416 "header_name": "mpls",
15417 "hidden": false
15418 }
15419 ]
15420 },
15421 {
15422 "position_offset": 0,
15423 "field_name": "POV",
15424 "field_msb": 7,
15425 "field_lsb": 0,
15426 "field_width": 0,
15427 "phv_msb": 7,
15428 "phv_lsb": 7,
15429 "is_compiler_generated": false,
15430 "is_pov": true,
15431 "pov_headers": [
15432 {
15433 "bit_index": 7,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015434 "position_offset": 94,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015435 "header_name": "packet_out",
15436 "hidden": false
15437 }
15438 ]
15439 }
15440 ],
15441 "word_bit_width": 8
15442 },
15443 {
15444 "phv_number": 72,
15445 "records": [
15446 {
15447 "position_offset": 39,
15448 "field_name": "fabric_metadata.pop_vlan_at_egress",
15449 "field_msb": 7,
15450 "field_lsb": 0,
15451 "field_width": 1,
15452 "phv_msb": 3,
15453 "phv_lsb": 3,
15454 "is_compiler_generated": false,
15455 "is_pov": false
15456 },
15457 {
15458 "position_offset": 0,
15459 "field_name": "POV",
15460 "field_msb": 7,
15461 "field_lsb": 0,
15462 "field_width": 0,
15463 "phv_msb": 0,
15464 "phv_lsb": 0,
15465 "is_compiler_generated": false,
15466 "is_pov": true,
15467 "pov_headers": [
15468 {
15469 "bit_index": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015470 "position_offset": 97,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015471 "header_name": "tcp",
15472 "hidden": false
15473 }
15474 ]
15475 },
15476 {
15477 "position_offset": 0,
15478 "field_name": "POV",
15479 "field_msb": 7,
15480 "field_lsb": 0,
15481 "field_width": 0,
15482 "phv_msb": 1,
15483 "phv_lsb": 1,
15484 "is_compiler_generated": false,
15485 "is_pov": true,
15486 "pov_headers": [
15487 {
15488 "bit_index": 1,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015489 "position_offset": 124,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015490 "header_name": "udp",
15491 "hidden": false
15492 }
15493 ]
15494 },
15495 {
15496 "position_offset": 0,
15497 "field_name": "POV",
15498 "field_msb": 7,
15499 "field_lsb": 0,
15500 "field_width": 0,
15501 "phv_msb": 2,
15502 "phv_lsb": 2,
15503 "is_compiler_generated": false,
15504 "is_pov": true,
15505 "pov_headers": [
15506 {
15507 "bit_index": 2,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015508 "position_offset": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015509 "header_name": "vlan_tag",
15510 "hidden": false
15511 }
15512 ]
15513 }
15514 ],
15515 "word_bit_width": 8
15516 },
15517 {
15518 "phv_number": 128,
15519 "records": [
15520 {
15521 "position_offset": 62,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015522 "field_name": "ig_intr_md_for_tm.mcast_grp_a",
15523 "field_msb": 15,
15524 "field_lsb": 0,
15525 "field_width": 2,
15526 "phv_msb": 15,
15527 "phv_lsb": 0,
15528 "is_compiler_generated": false,
15529 "is_pov": false
15530 }
15531 ],
15532 "word_bit_width": 16
15533 },
15534 {
15535 "phv_number": 129,
15536 "records": [
15537 {
15538 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015539 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
15540 "field_msb": 15,
15541 "field_lsb": 0,
15542 "field_width": 2,
15543 "phv_msb": 8,
15544 "phv_lsb": 0,
15545 "is_compiler_generated": false,
15546 "is_pov": false
15547 }
15548 ],
15549 "word_bit_width": 16
15550 },
15551 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015552 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015553 "records": [
15554 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015555 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015556 "field_name": "packet_out.egress_port",
15557 "field_msb": 15,
15558 "field_lsb": 0,
15559 "field_width": 2,
15560 "phv_msb": 15,
15561 "phv_lsb": 7,
15562 "is_compiler_generated": false,
15563 "is_pov": false
15564 },
15565 {
15566 "position_offset": 26,
15567 "field_name": "fabric_metadata.fwd_type",
15568 "field_msb": 15,
15569 "field_lsb": 0,
15570 "field_width": 2,
15571 "phv_msb": 5,
15572 "phv_lsb": 3,
15573 "is_compiler_generated": false,
15574 "is_pov": false
15575 },
15576 {
15577 "position_offset": 60,
15578 "field_name": "ig_intr_md_for_tm.drop_ctl",
15579 "field_msb": 15,
15580 "field_lsb": 0,
15581 "field_width": 2,
15582 "phv_msb": 2,
15583 "phv_lsb": 0,
15584 "is_compiler_generated": false,
15585 "is_pov": false
15586 }
15587 ],
15588 "word_bit_width": 16
15589 },
15590 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015591 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015592 "records": [
15593 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015594 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015595 "field_name": "vlan_tag.pri",
15596 "field_msb": 15,
15597 "field_lsb": 0,
15598 "field_width": 2,
15599 "phv_msb": 15,
15600 "phv_lsb": 13,
15601 "is_compiler_generated": false,
15602 "is_pov": false
15603 },
15604 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015605 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015606 "field_name": "vlan_tag.cfi",
15607 "field_msb": 15,
15608 "field_lsb": 0,
15609 "field_width": 2,
15610 "phv_msb": 12,
15611 "phv_lsb": 12,
15612 "is_compiler_generated": false,
15613 "is_pov": false
15614 },
15615 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015616 "position_offset": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015617 "field_name": "vlan_tag.vlan_id",
15618 "field_msb": 15,
15619 "field_lsb": 0,
15620 "field_width": 2,
15621 "phv_msb": 11,
15622 "phv_lsb": 0,
15623 "is_compiler_generated": false,
15624 "is_pov": false
15625 }
15626 ],
15627 "word_bit_width": 16
15628 },
15629 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015630 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015631 "records": [
15632 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015633 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015634 "field_name": "mpls.label",
15635 "field_msb": 19,
15636 "field_lsb": 4,
15637 "field_width": 2,
15638 "phv_msb": 15,
15639 "phv_lsb": 0,
15640 "is_compiler_generated": false,
15641 "is_pov": false
15642 }
15643 ],
15644 "word_bit_width": 16
15645 },
15646 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015647 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015648 "records": [
15649 {
15650 "position_offset": 58,
15651 "field_name": "ig_intr_md.ingress_port",
15652 "field_msb": 15,
15653 "field_lsb": 0,
15654 "field_width": 2,
15655 "phv_msb": 8,
15656 "phv_lsb": 0,
15657 "is_compiler_generated": false,
15658 "is_pov": false
15659 }
15660 ],
15661 "word_bit_width": 16
15662 },
15663 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015664 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015665 "records": [
15666 {
15667 "position_offset": 31,
15668 "field_name": "fabric_metadata.l4_src_port",
15669 "field_msb": 15,
15670 "field_lsb": 0,
15671 "field_width": 2,
15672 "phv_msb": 15,
15673 "phv_lsb": 0,
15674 "is_compiler_generated": false,
15675 "is_pov": false
15676 }
15677 ],
15678 "word_bit_width": 16
15679 },
15680 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015681 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015682 "records": [
15683 {
15684 "position_offset": 18,
15685 "field_name": "ethernet.ether_type",
15686 "field_msb": 15,
15687 "field_lsb": 0,
15688 "field_width": 2,
15689 "phv_msb": 15,
15690 "phv_lsb": 0,
15691 "is_compiler_generated": false,
15692 "is_pov": false
15693 }
15694 ],
15695 "word_bit_width": 16
15696 },
15697 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015698 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015699 "records": [
15700 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015701 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015702 "field_name": "vlan_tag.ether_type",
15703 "field_msb": 15,
15704 "field_lsb": 0,
15705 "field_width": 2,
15706 "phv_msb": 15,
15707 "phv_lsb": 0,
15708 "is_compiler_generated": false,
15709 "is_pov": false
15710 }
15711 ],
15712 "word_bit_width": 16
15713 },
15714 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015715 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015716 "records": [
15717 {
15718 "position_offset": 12,
15719 "field_name": "ethernet.dst_addr",
15720 "field_msb": 15,
15721 "field_lsb": 0,
15722 "field_width": 6,
15723 "phv_msb": 15,
15724 "phv_lsb": 0,
15725 "is_compiler_generated": false,
15726 "is_pov": false
15727 }
15728 ],
15729 "word_bit_width": 16
15730 },
15731 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015732 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015733 "records": [
15734 {
15735 "position_offset": 20,
15736 "field_name": "ethernet.src_addr",
15737 "field_msb": 15,
15738 "field_lsb": 0,
15739 "field_width": 6,
15740 "phv_msb": 15,
15741 "phv_lsb": 0,
15742 "is_compiler_generated": false,
15743 "is_pov": false
15744 }
15745 ],
15746 "word_bit_width": 16
15747 },
15748 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015749 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015750 "records": [
15751 {
15752 "position_offset": 29,
15753 "field_name": "fabric_metadata.l4_dst_port",
15754 "field_msb": 15,
15755 "field_lsb": 0,
15756 "field_width": 2,
15757 "phv_msb": 15,
15758 "phv_lsb": 0,
15759 "is_compiler_generated": false,
15760 "is_pov": false
15761 }
15762 ],
15763 "word_bit_width": 16
15764 },
15765 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015766 "phv_number": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015767 "records": [
15768 {
15769 "position_offset": 37,
15770 "field_name": "fabric_metadata.original_ether_type",
15771 "field_msb": 15,
15772 "field_lsb": 0,
15773 "field_width": 2,
15774 "phv_msb": 15,
15775 "phv_lsb": 0,
15776 "is_compiler_generated": false,
15777 "is_pov": false
15778 }
15779 ],
15780 "word_bit_width": 16
15781 },
15782 {
15783 "phv_number": 260,
15784 "records": [
15785 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015786 "position_offset": 114,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015787 "field_name": "tcp.seq_no",
15788 "field_msb": 31,
15789 "field_lsb": 0,
15790 "field_width": 4,
15791 "phv_msb": 31,
15792 "phv_lsb": 0,
15793 "is_compiler_generated": false,
15794 "is_pov": false
15795 },
15796 {
15797 "position_offset": 50,
15798 "field_name": "icmp.timestamp",
15799 "field_msb": 31,
15800 "field_lsb": 0,
15801 "field_width": 8,
15802 "phv_msb": 31,
15803 "phv_lsb": 0,
15804 "is_compiler_generated": false,
15805 "is_pov": false
15806 }
15807 ],
15808 "word_bit_width": 32
15809 },
15810 {
15811 "phv_number": 261,
15812 "records": [
15813 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015814 "position_offset": 98,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015815 "field_name": "tcp.ack_no",
15816 "field_msb": 31,
15817 "field_lsb": 0,
15818 "field_width": 4,
15819 "phv_msb": 31,
15820 "phv_lsb": 0,
15821 "is_compiler_generated": false,
15822 "is_pov": false
15823 },
15824 {
15825 "position_offset": 50,
15826 "field_name": "icmp.timestamp",
15827 "field_msb": 63,
15828 "field_lsb": 32,
15829 "field_width": 8,
15830 "phv_msb": 31,
15831 "phv_lsb": 0,
15832 "is_compiler_generated": false,
15833 "is_pov": false
15834 }
15835 ],
15836 "word_bit_width": 32
15837 },
15838 {
15839 "phv_number": 292,
15840 "records": [
15841 {
15842 "position_offset": 3,
15843 "field_name": "arp.hw_addr_len",
15844 "field_msb": 7,
15845 "field_lsb": 0,
15846 "field_width": 1,
15847 "phv_msb": 7,
15848 "phv_lsb": 0,
15849 "is_compiler_generated": false,
15850 "is_pov": false
15851 },
15852 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015853 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015854 "field_name": "ipv4.version",
15855 "field_msb": 7,
15856 "field_lsb": 0,
15857 "field_width": 1,
15858 "phv_msb": 7,
15859 "phv_lsb": 4,
15860 "is_compiler_generated": false,
15861 "is_pov": false
15862 },
15863 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015864 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015865 "field_name": "ipv4.ihl",
15866 "field_msb": 7,
15867 "field_lsb": 0,
15868 "field_width": 1,
15869 "phv_msb": 3,
15870 "phv_lsb": 0,
15871 "is_compiler_generated": false,
15872 "is_pov": false
15873 }
15874 ],
15875 "word_bit_width": 8
15876 },
15877 {
15878 "phv_number": 293,
15879 "records": [
15880 {
15881 "position_offset": 8,
15882 "field_name": "arp.proto_addr_len",
15883 "field_msb": 7,
15884 "field_lsb": 0,
15885 "field_width": 1,
15886 "phv_msb": 7,
15887 "phv_lsb": 0,
15888 "is_compiler_generated": false,
15889 "is_pov": false
15890 },
15891 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015892 "position_offset": 67,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015893 "field_name": "ipv4.diffserv",
15894 "field_msb": 7,
15895 "field_lsb": 0,
15896 "field_width": 1,
15897 "phv_msb": 7,
15898 "phv_lsb": 0,
15899 "is_compiler_generated": false,
15900 "is_pov": false
15901 }
15902 ],
15903 "word_bit_width": 8
15904 },
15905 {
15906 "phv_number": 294,
15907 "records": [
15908 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015909 "position_offset": 79,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015910 "field_name": "ipv4.protocol",
15911 "field_msb": 7,
15912 "field_lsb": 0,
15913 "field_width": 1,
15914 "phv_msb": 7,
15915 "phv_lsb": 0,
15916 "is_compiler_generated": false,
15917 "is_pov": false
15918 }
15919 ],
15920 "word_bit_width": 8
15921 },
15922 {
15923 "phv_number": 326,
15924 "records": [
15925 {
15926 "position_offset": 4,
15927 "field_name": "arp.hw_type",
15928 "field_msb": 15,
15929 "field_lsb": 0,
15930 "field_width": 2,
15931 "phv_msb": 15,
15932 "phv_lsb": 0,
15933 "is_compiler_generated": false,
15934 "is_pov": false
15935 },
15936 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015937 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015938 "field_name": "tcp.data_offset",
15939 "field_msb": 15,
15940 "field_lsb": 0,
15941 "field_width": 2,
15942 "phv_msb": 15,
15943 "phv_lsb": 12,
15944 "is_compiler_generated": false,
15945 "is_pov": false
15946 },
15947 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015948 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015949 "field_name": "tcp.res",
15950 "field_msb": 15,
15951 "field_lsb": 0,
15952 "field_width": 2,
15953 "phv_msb": 11,
15954 "phv_lsb": 9,
15955 "is_compiler_generated": false,
15956 "is_pov": false
15957 },
15958 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015959 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015960 "field_name": "tcp.ecn",
15961 "field_msb": 15,
15962 "field_lsb": 0,
15963 "field_width": 2,
15964 "phv_msb": 8,
15965 "phv_lsb": 6,
15966 "is_compiler_generated": false,
15967 "is_pov": false
15968 },
15969 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015970 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015971 "field_name": "tcp.ctrl",
15972 "field_msb": 15,
15973 "field_lsb": 0,
15974 "field_width": 2,
15975 "phv_msb": 5,
15976 "phv_lsb": 0,
15977 "is_compiler_generated": false,
15978 "is_pov": false
15979 },
15980 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080015981 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015982 "field_name": "udp.src_port",
15983 "field_msb": 15,
15984 "field_lsb": 0,
15985 "field_width": 2,
15986 "phv_msb": 15,
15987 "phv_lsb": 0,
15988 "is_compiler_generated": false,
15989 "is_pov": false
15990 },
15991 {
15992 "position_offset": 42,
15993 "field_name": "icmp.checksum",
15994 "field_msb": 15,
15995 "field_lsb": 0,
15996 "field_width": 2,
15997 "phv_msb": 15,
15998 "phv_lsb": 0,
15999 "is_compiler_generated": false,
16000 "is_pov": false
16001 }
16002 ],
16003 "word_bit_width": 16
16004 },
16005 {
16006 "phv_number": 327,
16007 "records": [
16008 {
16009 "position_offset": 9,
16010 "field_name": "arp.proto_type",
16011 "field_msb": 15,
16012 "field_lsb": 0,
16013 "field_width": 2,
16014 "phv_msb": 15,
16015 "phv_lsb": 0,
16016 "is_compiler_generated": false,
16017 "is_pov": false
16018 },
16019 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080016020 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016021 "field_name": "tcp.src_port",
16022 "field_msb": 15,
16023 "field_lsb": 0,
16024 "field_width": 2,
16025 "phv_msb": 15,
16026 "phv_lsb": 0,
16027 "is_compiler_generated": false,
16028 "is_pov": false
16029 },
16030 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080016031 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016032 "field_name": "udp.dst_port",
16033 "field_msb": 15,
16034 "field_lsb": 0,
16035 "field_width": 2,
16036 "phv_msb": 15,
16037 "phv_lsb": 0,
16038 "is_compiler_generated": false,
16039 "is_pov": false
16040 },
16041 {
16042 "position_offset": 46,
16043 "field_name": "icmp.identifier",
16044 "field_msb": 15,
16045 "field_lsb": 0,
16046 "field_width": 2,
16047 "phv_msb": 15,
16048 "phv_lsb": 0,
16049 "is_compiler_generated": false,
16050 "is_pov": false
16051 }
16052 ],
16053 "word_bit_width": 16
16054 },
16055 {
16056 "phv_number": 328,
16057 "records": [
16058 {
16059 "position_offset": 6,
16060 "field_name": "arp.opcode",
16061 "field_msb": 15,
16062 "field_lsb": 0,
16063 "field_width": 2,
16064 "phv_msb": 15,
16065 "phv_lsb": 0,
16066 "is_compiler_generated": false,
16067 "is_pov": false
16068 },
16069 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080016070 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016071 "field_name": "ipv4.flags",
16072 "field_msb": 15,
16073 "field_lsb": 0,
16074 "field_width": 2,
16075 "phv_msb": 15,
16076 "phv_lsb": 13,
16077 "is_compiler_generated": false,
16078 "is_pov": false
16079 },
16080 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080016081 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016082 "field_name": "ipv4.frag_offset",
16083 "field_msb": 15,
16084 "field_lsb": 0,
16085 "field_width": 2,
16086 "phv_msb": 12,
16087 "phv_lsb": 0,
16088 "is_compiler_generated": false,
16089 "is_pov": false
16090 }
16091 ],
16092 "word_bit_width": 16
16093 },
16094 {
16095 "phv_number": 329,
16096 "records": [
16097 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080016098 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016099 "field_name": "ipv4.total_len",
16100 "field_msb": 15,
16101 "field_lsb": 0,
16102 "field_width": 2,
16103 "phv_msb": 15,
16104 "phv_lsb": 0,
16105 "is_compiler_generated": false,
16106 "is_pov": false
16107 }
16108 ],
16109 "word_bit_width": 16
16110 },
16111 {
16112 "phv_number": 330,
16113 "records": [
16114 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080016115 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016116 "field_name": "ipv4.identification",
16117 "field_msb": 15,
16118 "field_lsb": 0,
16119 "field_width": 2,
16120 "phv_msb": 15,
16121 "phv_lsb": 0,
16122 "is_compiler_generated": false,
16123 "is_pov": false
16124 }
16125 ],
16126 "word_bit_width": 16
16127 },
16128 {
16129 "phv_number": 331,
16130 "records": [
16131 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080016132 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016133 "field_name": "tcp.dst_port",
16134 "field_msb": 15,
16135 "field_lsb": 0,
16136 "field_width": 2,
16137 "phv_msb": 15,
16138 "phv_lsb": 0,
16139 "is_compiler_generated": false,
16140 "is_pov": false
16141 },
16142 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080016143 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016144 "field_name": "udp.len",
16145 "field_msb": 15,
16146 "field_lsb": 0,
16147 "field_width": 2,
16148 "phv_msb": 15,
16149 "phv_lsb": 0,
16150 "is_compiler_generated": false,
16151 "is_pov": false
16152 },
16153 {
16154 "position_offset": 48,
16155 "field_name": "icmp.sequence_number",
16156 "field_msb": 15,
16157 "field_lsb": 0,
16158 "field_width": 2,
16159 "phv_msb": 15,
16160 "phv_lsb": 0,
16161 "is_compiler_generated": false,
16162 "is_pov": false
16163 }
16164 ],
16165 "word_bit_width": 16
16166 },
16167 {
16168 "phv_number": 338,
16169 "records": [
16170 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080016171 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016172 "field_name": "tcp.window",
16173 "field_msb": 15,
16174 "field_lsb": 0,
16175 "field_width": 2,
16176 "phv_msb": 15,
16177 "phv_lsb": 0,
16178 "is_compiler_generated": false,
16179 "is_pov": false
16180 },
16181 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080016182 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016183 "field_name": "udp.checksum",
16184 "field_msb": 15,
16185 "field_lsb": 0,
16186 "field_width": 2,
16187 "phv_msb": 15,
16188 "phv_lsb": 0,
16189 "is_compiler_generated": false,
16190 "is_pov": false
16191 }
16192 ],
16193 "word_bit_width": 16
16194 },
16195 {
16196 "phv_number": 339,
16197 "records": [
16198 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080016199 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016200 "field_name": "tcp.checksum",
16201 "field_msb": 15,
16202 "field_lsb": 0,
16203 "field_width": 2,
16204 "phv_msb": 15,
16205 "phv_lsb": 0,
16206 "is_compiler_generated": false,
16207 "is_pov": false
16208 }
16209 ],
16210 "word_bit_width": 16
16211 },
16212 {
16213 "phv_number": 340,
16214 "records": [
16215 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080016216 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016217 "field_name": "tcp.urgent_ptr",
16218 "field_msb": 15,
16219 "field_lsb": 0,
16220 "field_width": 2,
16221 "phv_msb": 15,
16222 "phv_lsb": 0,
16223 "is_compiler_generated": false,
16224 "is_pov": false
16225 }
16226 ],
16227 "word_bit_width": 16
16228 }
16229 ],
16230 "egress": [
16231 {
16232 "phv_number": 80,
16233 "records": [
16234 {
16235 "position_offset": 0,
16236 "field_name": "POV",
16237 "field_msb": 7,
16238 "field_lsb": 0,
16239 "field_width": 0,
16240 "phv_msb": 0,
16241 "phv_lsb": 0,
16242 "is_compiler_generated": false,
16243 "is_pov": true,
16244 "pov_headers": [
16245 {
16246 "bit_index": 0,
16247 "position_offset": 0,
16248 "header_name": "arp",
16249 "hidden": false
16250 }
16251 ]
16252 },
16253 {
16254 "position_offset": 0,
16255 "field_name": "POV",
16256 "field_msb": 7,
16257 "field_lsb": 0,
16258 "field_width": 0,
16259 "phv_msb": 2,
16260 "phv_lsb": 2,
16261 "is_compiler_generated": false,
16262 "is_pov": true,
16263 "pov_headers": [
16264 {
16265 "bit_index": 2,
16266 "position_offset": 11,
16267 "header_name": "ethernet",
16268 "hidden": false
16269 }
16270 ]
16271 },
16272 {
16273 "position_offset": 0,
16274 "field_name": "POV",
16275 "field_msb": 7,
16276 "field_lsb": 0,
16277 "field_width": 0,
16278 "phv_msb": 3,
16279 "phv_lsb": 3,
16280 "is_compiler_generated": false,
16281 "is_pov": true,
16282 "pov_headers": [
16283 {
16284 "bit_index": 3,
16285 "position_offset": 26,
16286 "header_name": "icmp",
16287 "hidden": false
16288 }
16289 ]
16290 },
16291 {
16292 "position_offset": 0,
16293 "field_name": "POV",
16294 "field_msb": 7,
16295 "field_lsb": 0,
16296 "field_width": 0,
16297 "phv_msb": 5,
16298 "phv_lsb": 5,
16299 "is_compiler_generated": false,
16300 "is_pov": true,
16301 "pov_headers": [
16302 {
16303 "bit_index": 5,
16304 "position_offset": 45,
16305 "header_name": "ipv4",
16306 "hidden": false
16307 }
16308 ]
16309 },
16310 {
16311 "position_offset": 0,
16312 "field_name": "POV",
16313 "field_msb": 7,
16314 "field_lsb": 0,
16315 "field_width": 0,
16316 "phv_msb": 6,
16317 "phv_lsb": 6,
16318 "is_compiler_generated": false,
16319 "is_pov": true,
16320 "pov_headers": [
16321 {
16322 "bit_index": 6,
16323 "position_offset": 67,
16324 "header_name": "mpls",
16325 "hidden": false
16326 }
16327 ]
16328 },
16329 {
16330 "position_offset": 0,
16331 "field_name": "POV",
16332 "field_msb": 7,
16333 "field_lsb": 0,
16334 "field_width": 0,
16335 "phv_msb": 7,
16336 "phv_lsb": 7,
16337 "is_compiler_generated": false,
16338 "is_pov": true,
16339 "pov_headers": [
16340 {
16341 "bit_index": 7,
16342 "position_offset": 73,
16343 "header_name": "packet_in",
16344 "hidden": false
16345 }
16346 ]
16347 }
16348 ],
16349 "word_bit_width": 8
16350 },
16351 {
16352 "phv_number": 81,
16353 "records": [
16354 {
16355 "position_offset": 0,
16356 "field_name": "POV",
16357 "field_msb": 7,
16358 "field_lsb": 0,
16359 "field_width": 0,
16360 "phv_msb": 0,
16361 "phv_lsb": 0,
16362 "is_compiler_generated": false,
16363 "is_pov": true,
16364 "pov_headers": [
16365 {
16366 "bit_index": 0,
16367 "position_offset": 78,
16368 "header_name": "tcp",
16369 "hidden": false
16370 }
16371 ]
16372 },
16373 {
16374 "position_offset": 0,
16375 "field_name": "POV",
16376 "field_msb": 7,
16377 "field_lsb": 0,
16378 "field_width": 0,
16379 "phv_msb": 1,
16380 "phv_lsb": 1,
16381 "is_compiler_generated": false,
16382 "is_pov": true,
16383 "pov_headers": [
16384 {
16385 "bit_index": 1,
16386 "position_offset": 105,
16387 "header_name": "udp",
16388 "hidden": false
16389 }
16390 ]
16391 },
16392 {
16393 "position_offset": 0,
16394 "field_name": "POV",
16395 "field_msb": 7,
16396 "field_lsb": 0,
16397 "field_width": 0,
16398 "phv_msb": 2,
16399 "phv_lsb": 2,
16400 "is_compiler_generated": false,
16401 "is_pov": true,
16402 "pov_headers": [
16403 {
16404 "bit_index": 2,
16405 "position_offset": 114,
16406 "header_name": "vlan_tag",
16407 "hidden": false
16408 }
16409 ]
16410 }
16411 ],
16412 "word_bit_width": 8
16413 },
16414 {
16415 "phv_number": 144,
16416 "records": [
16417 {
16418 "position_offset": 9,
16419 "field_name": "eg_intr_md.egress_port",
16420 "field_msb": 15,
16421 "field_lsb": 0,
16422 "field_width": 2,
16423 "phv_msb": 8,
16424 "phv_lsb": 0,
16425 "is_compiler_generated": false,
16426 "is_pov": false
16427 }
16428 ],
16429 "word_bit_width": 16
16430 },
16431 {
16432 "phv_number": 145,
16433 "records": [
16434 {
16435 "position_offset": 76,
16436 "field_name": "packet_in.ingress_port",
16437 "field_msb": 15,
16438 "field_lsb": 0,
16439 "field_width": 2,
16440 "phv_msb": 15,
16441 "phv_lsb": 7,
16442 "is_compiler_generated": false,
16443 "is_pov": false
16444 },
16445 {
16446 "position_offset": 74,
16447 "field_name": "packet_in._pad",
16448 "field_msb": 15,
16449 "field_lsb": 0,
16450 "field_width": 2,
16451 "phv_msb": 6,
16452 "phv_lsb": 0,
16453 "is_compiler_generated": false,
16454 "is_pov": false
16455 }
16456 ],
16457 "word_bit_width": 16
16458 },
16459 {
16460 "phv_number": 146,
16461 "records": [
16462 {
16463 "position_offset": 43,
16464 "field_name": "ig_intr_md.ingress_port",
16465 "field_msb": 15,
16466 "field_lsb": 0,
16467 "field_width": 2,
16468 "phv_msb": 8,
16469 "phv_lsb": 0,
16470 "is_compiler_generated": false,
16471 "is_pov": false
16472 }
16473 ],
16474 "word_bit_width": 16
16475 },
16476 {
16477 "phv_number": 256,
16478 "records": [
16479 {
16480 "position_offset": 12,
16481 "field_name": "ethernet.dst_addr",
16482 "field_msb": 47,
16483 "field_lsb": 16,
16484 "field_width": 6,
16485 "phv_msb": 31,
16486 "phv_lsb": 0,
16487 "is_compiler_generated": false,
16488 "is_pov": false
16489 }
16490 ],
16491 "word_bit_width": 32
16492 },
16493 {
16494 "phv_number": 257,
16495 "records": [
16496 {
16497 "position_offset": 20,
16498 "field_name": "ethernet.src_addr",
16499 "field_msb": 47,
16500 "field_lsb": 16,
16501 "field_width": 6,
16502 "phv_msb": 31,
16503 "phv_lsb": 0,
16504 "is_compiler_generated": false,
16505 "is_pov": false
16506 }
16507 ],
16508 "word_bit_width": 32
16509 },
16510 {
16511 "phv_number": 258,
16512 "records": [
16513 {
16514 "position_offset": 59,
16515 "field_name": "ipv4.src_addr",
16516 "field_msb": 31,
16517 "field_lsb": 0,
16518 "field_width": 4,
16519 "phv_msb": 31,
16520 "phv_lsb": 0,
16521 "is_compiler_generated": false,
16522 "is_pov": false
16523 }
16524 ],
16525 "word_bit_width": 32
16526 },
16527 {
16528 "phv_number": 259,
16529 "records": [
16530 {
16531 "position_offset": 47,
16532 "field_name": "ipv4.dst_addr",
16533 "field_msb": 31,
16534 "field_lsb": 0,
16535 "field_width": 4,
16536 "phv_msb": 31,
16537 "phv_lsb": 0,
16538 "is_compiler_generated": false,
16539 "is_pov": false
16540 }
16541 ],
16542 "word_bit_width": 32
16543 },
16544 {
16545 "phv_number": 264,
16546 "records": [
16547 {
16548 "position_offset": 95,
16549 "field_name": "tcp.seq_no",
16550 "field_msb": 31,
16551 "field_lsb": 0,
16552 "field_width": 4,
16553 "phv_msb": 31,
16554 "phv_lsb": 0,
16555 "is_compiler_generated": false,
16556 "is_pov": false
16557 },
16558 {
16559 "position_offset": 35,
16560 "field_name": "icmp.timestamp",
16561 "field_msb": 31,
16562 "field_lsb": 0,
16563 "field_width": 8,
16564 "phv_msb": 31,
16565 "phv_lsb": 0,
16566 "is_compiler_generated": false,
16567 "is_pov": false
16568 }
16569 ],
16570 "word_bit_width": 32
16571 },
16572 {
16573 "phv_number": 265,
16574 "records": [
16575 {
16576 "position_offset": 79,
16577 "field_name": "tcp.ack_no",
16578 "field_msb": 31,
16579 "field_lsb": 0,
16580 "field_width": 4,
16581 "phv_msb": 31,
16582 "phv_lsb": 0,
16583 "is_compiler_generated": false,
16584 "is_pov": false
16585 },
16586 {
16587 "position_offset": 35,
16588 "field_name": "icmp.timestamp",
16589 "field_msb": 63,
16590 "field_lsb": 32,
16591 "field_width": 8,
16592 "phv_msb": 31,
16593 "phv_lsb": 0,
16594 "is_compiler_generated": false,
16595 "is_pov": false
16596 }
16597 ],
16598 "word_bit_width": 32
16599 },
16600 {
16601 "phv_number": 288,
16602 "records": [
16603 {
16604 "position_offset": 1,
16605 "field_name": "arp.hw_addr_len",
16606 "field_msb": 7,
16607 "field_lsb": 0,
16608 "field_width": 1,
16609 "phv_msb": 7,
16610 "phv_lsb": 0,
16611 "is_compiler_generated": false,
16612 "is_pov": false
16613 },
16614 {
16615 "position_offset": 66,
16616 "field_name": "ipv4.version",
16617 "field_msb": 7,
16618 "field_lsb": 0,
16619 "field_width": 1,
16620 "phv_msb": 7,
16621 "phv_lsb": 4,
16622 "is_compiler_generated": false,
16623 "is_pov": false
16624 },
16625 {
16626 "position_offset": 57,
16627 "field_name": "ipv4.ihl",
16628 "field_msb": 7,
16629 "field_lsb": 0,
16630 "field_width": 1,
16631 "phv_msb": 3,
16632 "phv_lsb": 0,
16633 "is_compiler_generated": false,
16634 "is_pov": false
16635 }
16636 ],
16637 "word_bit_width": 8
16638 },
16639 {
16640 "phv_number": 289,
16641 "records": [
16642 {
16643 "position_offset": 6,
16644 "field_name": "arp.proto_addr_len",
16645 "field_msb": 7,
16646 "field_lsb": 0,
16647 "field_width": 1,
16648 "phv_msb": 7,
16649 "phv_lsb": 0,
16650 "is_compiler_generated": false,
16651 "is_pov": false
16652 },
16653 {
16654 "position_offset": 30,
16655 "field_name": "icmp.icmp_type",
16656 "field_msb": 7,
16657 "field_lsb": 0,
16658 "field_width": 1,
16659 "phv_msb": 7,
16660 "phv_lsb": 0,
16661 "is_compiler_generated": false,
16662 "is_pov": false
16663 }
16664 ],
16665 "word_bit_width": 8
16666 },
16667 {
16668 "phv_number": 290,
16669 "records": [
16670 {
16671 "position_offset": 46,
16672 "field_name": "ipv4.diffserv",
16673 "field_msb": 7,
16674 "field_lsb": 0,
16675 "field_width": 1,
16676 "phv_msb": 7,
16677 "phv_lsb": 0,
16678 "is_compiler_generated": false,
16679 "is_pov": false
16680 }
16681 ],
16682 "word_bit_width": 8
16683 },
16684 {
16685 "phv_number": 291,
16686 "records": [
16687 {
16688 "position_offset": 29,
16689 "field_name": "icmp.icmp_code",
16690 "field_msb": 7,
16691 "field_lsb": 0,
16692 "field_width": 1,
16693 "phv_msb": 7,
16694 "phv_lsb": 0,
16695 "is_compiler_generated": false,
16696 "is_pov": false
16697 }
16698 ],
16699 "word_bit_width": 8
16700 },
16701 {
16702 "phv_number": 296,
16703 "records": [
16704 {
16705 "position_offset": 69,
16706 "field_name": "mpls.label",
16707 "field_msb": 3,
16708 "field_lsb": 0,
16709 "field_width": 2,
16710 "phv_msb": 7,
16711 "phv_lsb": 4,
16712 "is_compiler_generated": false,
16713 "is_pov": false
16714 },
16715 {
16716 "position_offset": 71,
16717 "field_name": "mpls.tc",
16718 "field_msb": 7,
16719 "field_lsb": 0,
16720 "field_width": 1,
16721 "phv_msb": 3,
16722 "phv_lsb": 1,
16723 "is_compiler_generated": false,
16724 "is_pov": false
16725 },
16726 {
16727 "position_offset": 68,
16728 "field_name": "mpls.bos",
16729 "field_msb": 7,
16730 "field_lsb": 0,
16731 "field_width": 1,
16732 "phv_msb": 0,
16733 "phv_lsb": 0,
16734 "is_compiler_generated": false,
16735 "is_pov": false
16736 }
16737 ],
16738 "word_bit_width": 8
16739 },
16740 {
16741 "phv_number": 297,
16742 "records": [
16743 {
16744 "position_offset": 65,
16745 "field_name": "ipv4.ttl",
16746 "field_msb": 7,
16747 "field_lsb": 0,
16748 "field_width": 1,
16749 "phv_msb": 7,
16750 "phv_lsb": 0,
16751 "is_compiler_generated": false,
16752 "is_pov": false
16753 }
16754 ],
16755 "word_bit_width": 8
16756 },
16757 {
16758 "phv_number": 298,
16759 "records": [
16760 {
16761 "position_offset": 58,
16762 "field_name": "ipv4.protocol",
16763 "field_msb": 7,
16764 "field_lsb": 0,
16765 "field_width": 1,
16766 "phv_msb": 7,
16767 "phv_lsb": 0,
16768 "is_compiler_generated": false,
16769 "is_pov": false
16770 }
16771 ],
16772 "word_bit_width": 8
16773 },
16774 {
16775 "phv_number": 299,
16776 "records": [
16777 {
16778 "position_offset": 72,
16779 "field_name": "mpls.ttl",
16780 "field_msb": 7,
16781 "field_lsb": 0,
16782 "field_width": 1,
16783 "phv_msb": 7,
16784 "phv_lsb": 0,
16785 "is_compiler_generated": false,
16786 "is_pov": false
16787 }
16788 ],
16789 "word_bit_width": 8
16790 },
16791 {
16792 "phv_number": 320,
16793 "records": [
16794 {
16795 "position_offset": 119,
16796 "field_name": "vlan_tag.pri",
16797 "field_msb": 15,
16798 "field_lsb": 0,
16799 "field_width": 2,
16800 "phv_msb": 15,
16801 "phv_lsb": 13,
16802 "is_compiler_generated": false,
16803 "is_pov": false
16804 },
16805 {
16806 "position_offset": 115,
16807 "field_name": "vlan_tag.cfi",
16808 "field_msb": 15,
16809 "field_lsb": 0,
16810 "field_width": 2,
16811 "phv_msb": 12,
16812 "phv_lsb": 12,
16813 "is_compiler_generated": false,
16814 "is_pov": false
16815 },
16816 {
16817 "position_offset": 121,
16818 "field_name": "vlan_tag.vlan_id",
16819 "field_msb": 15,
16820 "field_lsb": 0,
16821 "field_width": 2,
16822 "phv_msb": 11,
16823 "phv_lsb": 0,
16824 "is_compiler_generated": false,
16825 "is_pov": false
16826 }
16827 ],
16828 "word_bit_width": 16
16829 },
16830 {
16831 "phv_number": 321,
16832 "records": [
16833 {
16834 "position_offset": 2,
16835 "field_name": "arp.hw_type",
16836 "field_msb": 15,
16837 "field_lsb": 0,
16838 "field_width": 2,
16839 "phv_msb": 15,
16840 "phv_lsb": 0,
16841 "is_compiler_generated": false,
16842 "is_pov": false
16843 },
16844 {
16845 "position_offset": 99,
16846 "field_name": "tcp.src_port",
16847 "field_msb": 15,
16848 "field_lsb": 0,
16849 "field_width": 2,
16850 "phv_msb": 15,
16851 "phv_lsb": 0,
16852 "is_compiler_generated": false,
16853 "is_pov": false
16854 },
16855 {
16856 "position_offset": 112,
16857 "field_name": "udp.src_port",
16858 "field_msb": 15,
16859 "field_lsb": 0,
16860 "field_width": 2,
16861 "phv_msb": 15,
16862 "phv_lsb": 0,
16863 "is_compiler_generated": false,
16864 "is_pov": false
16865 },
16866 {
16867 "position_offset": 27,
16868 "field_name": "icmp.checksum",
16869 "field_msb": 15,
16870 "field_lsb": 0,
16871 "field_width": 2,
16872 "phv_msb": 15,
16873 "phv_lsb": 0,
16874 "is_compiler_generated": false,
16875 "is_pov": false
16876 }
16877 ],
16878 "word_bit_width": 16
16879 },
16880 {
16881 "phv_number": 322,
16882 "records": [
16883 {
16884 "position_offset": 7,
16885 "field_name": "arp.proto_type",
16886 "field_msb": 15,
16887 "field_lsb": 0,
16888 "field_width": 2,
16889 "phv_msb": 15,
16890 "phv_lsb": 0,
16891 "is_compiler_generated": false,
16892 "is_pov": false
16893 },
16894 {
16895 "position_offset": 69,
16896 "field_name": "mpls.label",
16897 "field_msb": 19,
16898 "field_lsb": 4,
16899 "field_width": 2,
16900 "phv_msb": 15,
16901 "phv_lsb": 0,
16902 "is_compiler_generated": false,
16903 "is_pov": false
16904 }
16905 ],
16906 "word_bit_width": 16
16907 },
16908 {
16909 "phv_number": 323,
16910 "records": [
16911 {
16912 "position_offset": 4,
16913 "field_name": "arp.opcode",
16914 "field_msb": 15,
16915 "field_lsb": 0,
16916 "field_width": 2,
16917 "phv_msb": 15,
16918 "phv_lsb": 0,
16919 "is_compiler_generated": false,
16920 "is_pov": false
16921 },
16922 {
16923 "position_offset": 87,
16924 "field_name": "tcp.data_offset",
16925 "field_msb": 15,
16926 "field_lsb": 0,
16927 "field_width": 2,
16928 "phv_msb": 15,
16929 "phv_lsb": 12,
16930 "is_compiler_generated": false,
16931 "is_pov": false
16932 },
16933 {
16934 "position_offset": 93,
16935 "field_name": "tcp.res",
16936 "field_msb": 15,
16937 "field_lsb": 0,
16938 "field_width": 2,
16939 "phv_msb": 11,
16940 "phv_lsb": 9,
16941 "is_compiler_generated": false,
16942 "is_pov": false
16943 },
16944 {
16945 "position_offset": 91,
16946 "field_name": "tcp.ecn",
16947 "field_msb": 15,
16948 "field_lsb": 0,
16949 "field_width": 2,
16950 "phv_msb": 8,
16951 "phv_lsb": 6,
16952 "is_compiler_generated": false,
16953 "is_pov": false
16954 },
16955 {
16956 "position_offset": 85,
16957 "field_name": "tcp.ctrl",
16958 "field_msb": 15,
16959 "field_lsb": 0,
16960 "field_width": 2,
16961 "phv_msb": 5,
16962 "phv_lsb": 0,
16963 "is_compiler_generated": false,
16964 "is_pov": false
16965 },
16966 {
16967 "position_offset": 108,
16968 "field_name": "udp.dst_port",
16969 "field_msb": 15,
16970 "field_lsb": 0,
16971 "field_width": 2,
16972 "phv_msb": 15,
16973 "phv_lsb": 0,
16974 "is_compiler_generated": false,
16975 "is_pov": false
16976 },
16977 {
16978 "position_offset": 31,
16979 "field_name": "icmp.identifier",
16980 "field_msb": 15,
16981 "field_lsb": 0,
16982 "field_width": 2,
16983 "phv_msb": 15,
16984 "phv_lsb": 0,
16985 "is_compiler_generated": false,
16986 "is_pov": false
16987 }
16988 ],
16989 "word_bit_width": 16
16990 },
16991 {
16992 "phv_number": 324,
16993 "records": [
16994 {
16995 "position_offset": 51,
16996 "field_name": "ipv4.flags",
16997 "field_msb": 15,
16998 "field_lsb": 0,
16999 "field_width": 2,
17000 "phv_msb": 15,
17001 "phv_lsb": 13,
17002 "is_compiler_generated": false,
17003 "is_pov": false
17004 },
17005 {
17006 "position_offset": 53,
17007 "field_name": "ipv4.frag_offset",
17008 "field_msb": 15,
17009 "field_lsb": 0,
17010 "field_width": 2,
17011 "phv_msb": 12,
17012 "phv_lsb": 0,
17013 "is_compiler_generated": false,
17014 "is_pov": false
17015 }
17016 ],
17017 "word_bit_width": 16
17018 },
17019 {
17020 "phv_number": 325,
17021 "records": [
17022 {
17023 "position_offset": 12,
17024 "field_name": "ethernet.dst_addr",
17025 "field_msb": 15,
17026 "field_lsb": 0,
17027 "field_width": 6,
17028 "phv_msb": 15,
17029 "phv_lsb": 0,
17030 "is_compiler_generated": false,
17031 "is_pov": false
17032 }
17033 ],
17034 "word_bit_width": 16
17035 },
17036 {
17037 "phv_number": 332,
17038 "records": [
17039 {
17040 "position_offset": 20,
17041 "field_name": "ethernet.src_addr",
17042 "field_msb": 15,
17043 "field_lsb": 0,
17044 "field_width": 6,
17045 "phv_msb": 15,
17046 "phv_lsb": 0,
17047 "is_compiler_generated": false,
17048 "is_pov": false
17049 }
17050 ],
17051 "word_bit_width": 16
17052 },
17053 {
17054 "phv_number": 333,
17055 "records": [
17056 {
17057 "position_offset": 18,
17058 "field_name": "ethernet.ether_type",
17059 "field_msb": 15,
17060 "field_lsb": 0,
17061 "field_width": 2,
17062 "phv_msb": 15,
17063 "phv_lsb": 0,
17064 "is_compiler_generated": false,
17065 "is_pov": false
17066 }
17067 ],
17068 "word_bit_width": 16
17069 },
17070 {
17071 "phv_number": 334,
17072 "records": [
17073 {
17074 "position_offset": 117,
17075 "field_name": "vlan_tag.ether_type",
17076 "field_msb": 15,
17077 "field_lsb": 0,
17078 "field_width": 2,
17079 "phv_msb": 15,
17080 "phv_lsb": 0,
17081 "is_compiler_generated": false,
17082 "is_pov": false
17083 }
17084 ],
17085 "word_bit_width": 16
17086 },
17087 {
17088 "phv_number": 335,
17089 "records": [
17090 {
17091 "position_offset": 63,
17092 "field_name": "ipv4.total_len",
17093 "field_msb": 15,
17094 "field_lsb": 0,
17095 "field_width": 2,
17096 "phv_msb": 15,
17097 "phv_lsb": 0,
17098 "is_compiler_generated": false,
17099 "is_pov": false
17100 }
17101 ],
17102 "word_bit_width": 16
17103 },
17104 {
17105 "phv_number": 336,
17106 "records": [
17107 {
17108 "position_offset": 55,
17109 "field_name": "ipv4.identification",
17110 "field_msb": 15,
17111 "field_lsb": 0,
17112 "field_width": 2,
17113 "phv_msb": 15,
17114 "phv_lsb": 0,
17115 "is_compiler_generated": false,
17116 "is_pov": false
17117 }
17118 ],
17119 "word_bit_width": 16
17120 },
17121 {
17122 "phv_number": 337,
17123 "records": [
17124 {
17125 "position_offset": 89,
17126 "field_name": "tcp.dst_port",
17127 "field_msb": 15,
17128 "field_lsb": 0,
17129 "field_width": 2,
17130 "phv_msb": 15,
17131 "phv_lsb": 0,
17132 "is_compiler_generated": false,
17133 "is_pov": false
17134 },
17135 {
17136 "position_offset": 110,
17137 "field_name": "udp.len",
17138 "field_msb": 15,
17139 "field_lsb": 0,
17140 "field_width": 2,
17141 "phv_msb": 15,
17142 "phv_lsb": 0,
17143 "is_compiler_generated": false,
17144 "is_pov": false
17145 },
17146 {
17147 "position_offset": 33,
17148 "field_name": "icmp.sequence_number",
17149 "field_msb": 15,
17150 "field_lsb": 0,
17151 "field_width": 2,
17152 "phv_msb": 15,
17153 "phv_lsb": 0,
17154 "is_compiler_generated": false,
17155 "is_pov": false
17156 }
17157 ],
17158 "word_bit_width": 16
17159 },
17160 {
17161 "phv_number": 344,
17162 "records": [
17163 {
17164 "position_offset": 103,
17165 "field_name": "tcp.window",
17166 "field_msb": 15,
17167 "field_lsb": 0,
17168 "field_width": 2,
17169 "phv_msb": 15,
17170 "phv_lsb": 0,
17171 "is_compiler_generated": false,
17172 "is_pov": false
17173 },
17174 {
17175 "position_offset": 106,
17176 "field_name": "udp.checksum",
17177 "field_msb": 15,
17178 "field_lsb": 0,
17179 "field_width": 2,
17180 "phv_msb": 15,
17181 "phv_lsb": 0,
17182 "is_compiler_generated": false,
17183 "is_pov": false
17184 }
17185 ],
17186 "word_bit_width": 16
17187 },
17188 {
17189 "phv_number": 345,
17190 "records": [
17191 {
17192 "position_offset": 83,
17193 "field_name": "tcp.checksum",
17194 "field_msb": 15,
17195 "field_lsb": 0,
17196 "field_width": 2,
17197 "phv_msb": 15,
17198 "phv_lsb": 0,
17199 "is_compiler_generated": false,
17200 "is_pov": false
17201 }
17202 ],
17203 "word_bit_width": 16
17204 },
17205 {
17206 "phv_number": 346,
17207 "records": [
17208 {
17209 "position_offset": 101,
17210 "field_name": "tcp.urgent_ptr",
17211 "field_msb": 15,
17212 "field_lsb": 0,
17213 "field_width": 2,
17214 "phv_msb": 15,
17215 "phv_lsb": 0,
17216 "is_compiler_generated": false,
17217 "is_pov": false
17218 }
17219 ],
17220 "word_bit_width": 16
17221 }
17222 ],
17223 "stage_number": 7
17224 },
17225 {
17226 "ingress": [
17227 {
17228 "phv_number": 0,
17229 "records": [
17230 {
17231 "position_offset": 12,
17232 "field_name": "ethernet.dst_addr",
17233 "field_msb": 47,
17234 "field_lsb": 16,
17235 "field_width": 6,
17236 "phv_msb": 31,
17237 "phv_lsb": 0,
17238 "is_compiler_generated": false,
17239 "is_pov": false
17240 }
17241 ],
17242 "word_bit_width": 32
17243 },
17244 {
17245 "phv_number": 1,
17246 "records": [
17247 {
17248 "position_offset": 20,
17249 "field_name": "ethernet.src_addr",
17250 "field_msb": 47,
17251 "field_lsb": 16,
17252 "field_width": 6,
17253 "phv_msb": 31,
17254 "phv_lsb": 0,
17255 "is_compiler_generated": false,
17256 "is_pov": false
17257 }
17258 ],
17259 "word_bit_width": 32
17260 },
17261 {
17262 "phv_number": 2,
17263 "records": [
17264 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017265 "position_offset": 80,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017266 "field_name": "ipv4.src_addr",
17267 "field_msb": 31,
17268 "field_lsb": 0,
17269 "field_width": 4,
17270 "phv_msb": 31,
17271 "phv_lsb": 0,
17272 "is_compiler_generated": false,
17273 "is_pov": false
17274 }
17275 ],
17276 "word_bit_width": 32
17277 },
17278 {
17279 "phv_number": 3,
17280 "records": [
17281 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017282 "position_offset": 68,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017283 "field_name": "ipv4.dst_addr",
17284 "field_msb": 31,
17285 "field_lsb": 0,
17286 "field_width": 4,
17287 "phv_msb": 31,
17288 "phv_lsb": 0,
17289 "is_compiler_generated": false,
17290 "is_pov": false
17291 }
17292 ],
17293 "word_bit_width": 32
17294 },
17295 {
17296 "phv_number": 4,
17297 "records": [
17298 {
17299 "position_offset": 33,
17300 "field_name": "fabric_metadata.next_id",
17301 "field_msb": 31,
17302 "field_lsb": 0,
17303 "field_width": 4,
17304 "phv_msb": 31,
17305 "phv_lsb": 0,
17306 "is_compiler_generated": false,
17307 "is_pov": false
17308 }
17309 ],
17310 "word_bit_width": 32
17311 },
17312 {
17313 "phv_number": 64,
17314 "records": [
17315 {
17316 "position_offset": 45,
17317 "field_name": "icmp.icmp_type",
17318 "field_msb": 7,
17319 "field_lsb": 0,
17320 "field_width": 1,
17321 "phv_msb": 7,
17322 "phv_lsb": 0,
17323 "is_compiler_generated": false,
17324 "is_pov": false
17325 }
17326 ],
17327 "word_bit_width": 8
17328 },
17329 {
17330 "phv_number": 65,
17331 "records": [
17332 {
17333 "position_offset": 44,
17334 "field_name": "icmp.icmp_code",
17335 "field_msb": 7,
17336 "field_lsb": 0,
17337 "field_width": 1,
17338 "phv_msb": 7,
17339 "phv_lsb": 0,
17340 "is_compiler_generated": false,
17341 "is_pov": false
17342 }
17343 ],
17344 "word_bit_width": 8
17345 },
17346 {
17347 "phv_number": 66,
17348 "records": [
17349 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017350 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017351 "field_name": "mpls.label",
17352 "field_msb": 3,
17353 "field_lsb": 0,
17354 "field_width": 2,
17355 "phv_msb": 7,
17356 "phv_lsb": 4,
17357 "is_compiler_generated": false,
17358 "is_pov": false
17359 },
17360 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017361 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017362 "field_name": "mpls.tc",
17363 "field_msb": 7,
17364 "field_lsb": 0,
17365 "field_width": 1,
17366 "phv_msb": 3,
17367 "phv_lsb": 1,
17368 "is_compiler_generated": false,
17369 "is_pov": false
17370 },
17371 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017372 "position_offset": 89,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017373 "field_name": "mpls.bos",
17374 "field_msb": 7,
17375 "field_lsb": 0,
17376 "field_width": 1,
17377 "phv_msb": 0,
17378 "phv_lsb": 0,
17379 "is_compiler_generated": false,
17380 "is_pov": false
17381 }
17382 ],
17383 "word_bit_width": 8
17384 },
17385 {
17386 "phv_number": 67,
17387 "records": [
17388 {
17389 "position_offset": 1,
17390 "field_name": "$bridged_metadata_indicator",
17391 "field_msb": 7,
17392 "field_lsb": 0,
17393 "field_width": 1,
17394 "phv_msb": 7,
17395 "phv_lsb": 0,
17396 "is_compiler_generated": false,
17397 "is_pov": false
17398 }
17399 ],
17400 "word_bit_width": 8
17401 },
17402 {
17403 "phv_number": 68,
17404 "records": [
17405 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017406 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017407 "field_name": "ipv4.ttl",
17408 "field_msb": 7,
17409 "field_lsb": 0,
17410 "field_width": 1,
17411 "phv_msb": 7,
17412 "phv_lsb": 0,
17413 "is_compiler_generated": false,
17414 "is_pov": false
17415 }
17416 ],
17417 "word_bit_width": 8
17418 },
17419 {
17420 "phv_number": 69,
17421 "records": [
17422 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017423 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017424 "field_name": "mpls.ttl",
17425 "field_msb": 7,
17426 "field_lsb": 0,
17427 "field_width": 1,
17428 "phv_msb": 7,
17429 "phv_lsb": 0,
17430 "is_compiler_generated": false,
17431 "is_pov": false
17432 }
17433 ],
17434 "word_bit_width": 8
17435 },
17436 {
17437 "phv_number": 70,
17438 "records": [
17439 {
17440 "position_offset": 28,
17441 "field_name": "fabric_metadata.ip_proto",
17442 "field_msb": 7,
17443 "field_lsb": 0,
17444 "field_width": 1,
17445 "phv_msb": 7,
17446 "phv_lsb": 0,
17447 "is_compiler_generated": false,
17448 "is_pov": false
17449 }
17450 ],
17451 "word_bit_width": 8
17452 },
17453 {
17454 "phv_number": 71,
17455 "records": [
17456 {
17457 "position_offset": 0,
17458 "field_name": "$always_deparse",
17459 "field_msb": 7,
17460 "field_lsb": 0,
17461 "field_width": 1,
17462 "phv_msb": 0,
17463 "phv_lsb": 0,
17464 "is_compiler_generated": false,
17465 "is_pov": false
17466 },
17467 {
17468 "position_offset": 40,
17469 "field_name": "hasExited_0",
17470 "field_msb": 7,
17471 "field_lsb": 0,
17472 "field_width": 1,
17473 "phv_msb": 4,
17474 "phv_lsb": 4,
17475 "is_compiler_generated": false,
17476 "is_pov": false
17477 },
17478 {
17479 "position_offset": 0,
17480 "field_name": "POV",
17481 "field_msb": 7,
17482 "field_lsb": 0,
17483 "field_width": 0,
17484 "phv_msb": 1,
17485 "phv_lsb": 1,
17486 "is_compiler_generated": false,
17487 "is_pov": true,
17488 "pov_headers": [
17489 {
17490 "bit_index": 1,
17491 "position_offset": 2,
17492 "header_name": "arp",
17493 "hidden": false
17494 }
17495 ]
17496 },
17497 {
17498 "position_offset": 0,
17499 "field_name": "POV",
17500 "field_msb": 7,
17501 "field_lsb": 0,
17502 "field_width": 0,
17503 "phv_msb": 2,
17504 "phv_lsb": 2,
17505 "is_compiler_generated": false,
17506 "is_pov": true,
17507 "pov_headers": [
17508 {
17509 "bit_index": 2,
17510 "position_offset": 11,
17511 "header_name": "ethernet",
17512 "hidden": false
17513 }
17514 ]
17515 },
17516 {
17517 "position_offset": 0,
17518 "field_name": "POV",
17519 "field_msb": 7,
17520 "field_lsb": 0,
17521 "field_width": 0,
17522 "phv_msb": 3,
17523 "phv_lsb": 3,
17524 "is_compiler_generated": false,
17525 "is_pov": true,
17526 "pov_headers": [
17527 {
17528 "bit_index": 3,
17529 "position_offset": 41,
17530 "header_name": "icmp",
17531 "hidden": false
17532 }
17533 ]
17534 },
17535 {
17536 "position_offset": 0,
17537 "field_name": "POV",
17538 "field_msb": 7,
17539 "field_lsb": 0,
17540 "field_width": 0,
17541 "phv_msb": 5,
17542 "phv_lsb": 5,
17543 "is_compiler_generated": false,
17544 "is_pov": true,
17545 "pov_headers": [
17546 {
17547 "bit_index": 5,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017548 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017549 "header_name": "ipv4",
17550 "hidden": false
17551 }
17552 ]
17553 },
17554 {
17555 "position_offset": 0,
17556 "field_name": "POV",
17557 "field_msb": 7,
17558 "field_lsb": 0,
17559 "field_width": 0,
17560 "phv_msb": 6,
17561 "phv_lsb": 6,
17562 "is_compiler_generated": false,
17563 "is_pov": true,
17564 "pov_headers": [
17565 {
17566 "bit_index": 6,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017567 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017568 "header_name": "mpls",
17569 "hidden": false
17570 }
17571 ]
17572 },
17573 {
17574 "position_offset": 0,
17575 "field_name": "POV",
17576 "field_msb": 7,
17577 "field_lsb": 0,
17578 "field_width": 0,
17579 "phv_msb": 7,
17580 "phv_lsb": 7,
17581 "is_compiler_generated": false,
17582 "is_pov": true,
17583 "pov_headers": [
17584 {
17585 "bit_index": 7,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017586 "position_offset": 94,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017587 "header_name": "packet_out",
17588 "hidden": false
17589 }
17590 ]
17591 }
17592 ],
17593 "word_bit_width": 8
17594 },
17595 {
17596 "phv_number": 72,
17597 "records": [
17598 {
17599 "position_offset": 39,
17600 "field_name": "fabric_metadata.pop_vlan_at_egress",
17601 "field_msb": 7,
17602 "field_lsb": 0,
17603 "field_width": 1,
17604 "phv_msb": 3,
17605 "phv_lsb": 3,
17606 "is_compiler_generated": false,
17607 "is_pov": false
17608 },
17609 {
17610 "position_offset": 0,
17611 "field_name": "POV",
17612 "field_msb": 7,
17613 "field_lsb": 0,
17614 "field_width": 0,
17615 "phv_msb": 0,
17616 "phv_lsb": 0,
17617 "is_compiler_generated": false,
17618 "is_pov": true,
17619 "pov_headers": [
17620 {
17621 "bit_index": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017622 "position_offset": 97,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017623 "header_name": "tcp",
17624 "hidden": false
17625 }
17626 ]
17627 },
17628 {
17629 "position_offset": 0,
17630 "field_name": "POV",
17631 "field_msb": 7,
17632 "field_lsb": 0,
17633 "field_width": 0,
17634 "phv_msb": 1,
17635 "phv_lsb": 1,
17636 "is_compiler_generated": false,
17637 "is_pov": true,
17638 "pov_headers": [
17639 {
17640 "bit_index": 1,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017641 "position_offset": 124,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017642 "header_name": "udp",
17643 "hidden": false
17644 }
17645 ]
17646 },
17647 {
17648 "position_offset": 0,
17649 "field_name": "POV",
17650 "field_msb": 7,
17651 "field_lsb": 0,
17652 "field_width": 0,
17653 "phv_msb": 2,
17654 "phv_lsb": 2,
17655 "is_compiler_generated": false,
17656 "is_pov": true,
17657 "pov_headers": [
17658 {
17659 "bit_index": 2,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017660 "position_offset": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017661 "header_name": "vlan_tag",
17662 "hidden": false
17663 }
17664 ]
17665 }
17666 ],
17667 "word_bit_width": 8
17668 },
17669 {
17670 "phv_number": 128,
17671 "records": [
17672 {
17673 "position_offset": 62,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017674 "field_name": "ig_intr_md_for_tm.mcast_grp_a",
17675 "field_msb": 15,
17676 "field_lsb": 0,
17677 "field_width": 2,
17678 "phv_msb": 15,
17679 "phv_lsb": 0,
17680 "is_compiler_generated": false,
17681 "is_pov": false
17682 }
17683 ],
17684 "word_bit_width": 16
17685 },
17686 {
17687 "phv_number": 129,
17688 "records": [
17689 {
17690 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017691 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
17692 "field_msb": 15,
17693 "field_lsb": 0,
17694 "field_width": 2,
17695 "phv_msb": 8,
17696 "phv_lsb": 0,
17697 "is_compiler_generated": false,
17698 "is_pov": false
17699 }
17700 ],
17701 "word_bit_width": 16
17702 },
17703 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017704 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017705 "records": [
17706 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017707 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017708 "field_name": "packet_out.egress_port",
17709 "field_msb": 15,
17710 "field_lsb": 0,
17711 "field_width": 2,
17712 "phv_msb": 15,
17713 "phv_lsb": 7,
17714 "is_compiler_generated": false,
17715 "is_pov": false
17716 },
17717 {
17718 "position_offset": 26,
17719 "field_name": "fabric_metadata.fwd_type",
17720 "field_msb": 15,
17721 "field_lsb": 0,
17722 "field_width": 2,
17723 "phv_msb": 5,
17724 "phv_lsb": 3,
17725 "is_compiler_generated": false,
17726 "is_pov": false
17727 },
17728 {
17729 "position_offset": 60,
17730 "field_name": "ig_intr_md_for_tm.drop_ctl",
17731 "field_msb": 15,
17732 "field_lsb": 0,
17733 "field_width": 2,
17734 "phv_msb": 2,
17735 "phv_lsb": 0,
17736 "is_compiler_generated": false,
17737 "is_pov": false
17738 }
17739 ],
17740 "word_bit_width": 16
17741 },
17742 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017743 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017744 "records": [
17745 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017746 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017747 "field_name": "vlan_tag.pri",
17748 "field_msb": 15,
17749 "field_lsb": 0,
17750 "field_width": 2,
17751 "phv_msb": 15,
17752 "phv_lsb": 13,
17753 "is_compiler_generated": false,
17754 "is_pov": false
17755 },
17756 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017757 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017758 "field_name": "vlan_tag.cfi",
17759 "field_msb": 15,
17760 "field_lsb": 0,
17761 "field_width": 2,
17762 "phv_msb": 12,
17763 "phv_lsb": 12,
17764 "is_compiler_generated": false,
17765 "is_pov": false
17766 },
17767 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017768 "position_offset": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017769 "field_name": "vlan_tag.vlan_id",
17770 "field_msb": 15,
17771 "field_lsb": 0,
17772 "field_width": 2,
17773 "phv_msb": 11,
17774 "phv_lsb": 0,
17775 "is_compiler_generated": false,
17776 "is_pov": false
17777 }
17778 ],
17779 "word_bit_width": 16
17780 },
17781 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017782 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017783 "records": [
17784 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017785 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017786 "field_name": "mpls.label",
17787 "field_msb": 19,
17788 "field_lsb": 4,
17789 "field_width": 2,
17790 "phv_msb": 15,
17791 "phv_lsb": 0,
17792 "is_compiler_generated": false,
17793 "is_pov": false
17794 }
17795 ],
17796 "word_bit_width": 16
17797 },
17798 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017799 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017800 "records": [
17801 {
17802 "position_offset": 58,
17803 "field_name": "ig_intr_md.ingress_port",
17804 "field_msb": 15,
17805 "field_lsb": 0,
17806 "field_width": 2,
17807 "phv_msb": 8,
17808 "phv_lsb": 0,
17809 "is_compiler_generated": false,
17810 "is_pov": false
17811 }
17812 ],
17813 "word_bit_width": 16
17814 },
17815 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017816 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017817 "records": [
17818 {
17819 "position_offset": 31,
17820 "field_name": "fabric_metadata.l4_src_port",
17821 "field_msb": 15,
17822 "field_lsb": 0,
17823 "field_width": 2,
17824 "phv_msb": 15,
17825 "phv_lsb": 0,
17826 "is_compiler_generated": false,
17827 "is_pov": false
17828 }
17829 ],
17830 "word_bit_width": 16
17831 },
17832 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017833 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017834 "records": [
17835 {
17836 "position_offset": 18,
17837 "field_name": "ethernet.ether_type",
17838 "field_msb": 15,
17839 "field_lsb": 0,
17840 "field_width": 2,
17841 "phv_msb": 15,
17842 "phv_lsb": 0,
17843 "is_compiler_generated": false,
17844 "is_pov": false
17845 }
17846 ],
17847 "word_bit_width": 16
17848 },
17849 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017850 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017851 "records": [
17852 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017853 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017854 "field_name": "vlan_tag.ether_type",
17855 "field_msb": 15,
17856 "field_lsb": 0,
17857 "field_width": 2,
17858 "phv_msb": 15,
17859 "phv_lsb": 0,
17860 "is_compiler_generated": false,
17861 "is_pov": false
17862 }
17863 ],
17864 "word_bit_width": 16
17865 },
17866 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017867 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017868 "records": [
17869 {
17870 "position_offset": 12,
17871 "field_name": "ethernet.dst_addr",
17872 "field_msb": 15,
17873 "field_lsb": 0,
17874 "field_width": 6,
17875 "phv_msb": 15,
17876 "phv_lsb": 0,
17877 "is_compiler_generated": false,
17878 "is_pov": false
17879 }
17880 ],
17881 "word_bit_width": 16
17882 },
17883 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017884 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017885 "records": [
17886 {
17887 "position_offset": 20,
17888 "field_name": "ethernet.src_addr",
17889 "field_msb": 15,
17890 "field_lsb": 0,
17891 "field_width": 6,
17892 "phv_msb": 15,
17893 "phv_lsb": 0,
17894 "is_compiler_generated": false,
17895 "is_pov": false
17896 }
17897 ],
17898 "word_bit_width": 16
17899 },
17900 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017901 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017902 "records": [
17903 {
17904 "position_offset": 29,
17905 "field_name": "fabric_metadata.l4_dst_port",
17906 "field_msb": 15,
17907 "field_lsb": 0,
17908 "field_width": 2,
17909 "phv_msb": 15,
17910 "phv_lsb": 0,
17911 "is_compiler_generated": false,
17912 "is_pov": false
17913 }
17914 ],
17915 "word_bit_width": 16
17916 },
17917 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017918 "phv_number": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017919 "records": [
17920 {
17921 "position_offset": 37,
17922 "field_name": "fabric_metadata.original_ether_type",
17923 "field_msb": 15,
17924 "field_lsb": 0,
17925 "field_width": 2,
17926 "phv_msb": 15,
17927 "phv_lsb": 0,
17928 "is_compiler_generated": false,
17929 "is_pov": false
17930 }
17931 ],
17932 "word_bit_width": 16
17933 },
17934 {
17935 "phv_number": 260,
17936 "records": [
17937 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017938 "position_offset": 114,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017939 "field_name": "tcp.seq_no",
17940 "field_msb": 31,
17941 "field_lsb": 0,
17942 "field_width": 4,
17943 "phv_msb": 31,
17944 "phv_lsb": 0,
17945 "is_compiler_generated": false,
17946 "is_pov": false
17947 },
17948 {
17949 "position_offset": 50,
17950 "field_name": "icmp.timestamp",
17951 "field_msb": 31,
17952 "field_lsb": 0,
17953 "field_width": 8,
17954 "phv_msb": 31,
17955 "phv_lsb": 0,
17956 "is_compiler_generated": false,
17957 "is_pov": false
17958 }
17959 ],
17960 "word_bit_width": 32
17961 },
17962 {
17963 "phv_number": 261,
17964 "records": [
17965 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080017966 "position_offset": 98,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017967 "field_name": "tcp.ack_no",
17968 "field_msb": 31,
17969 "field_lsb": 0,
17970 "field_width": 4,
17971 "phv_msb": 31,
17972 "phv_lsb": 0,
17973 "is_compiler_generated": false,
17974 "is_pov": false
17975 },
17976 {
17977 "position_offset": 50,
17978 "field_name": "icmp.timestamp",
17979 "field_msb": 63,
17980 "field_lsb": 32,
17981 "field_width": 8,
17982 "phv_msb": 31,
17983 "phv_lsb": 0,
17984 "is_compiler_generated": false,
17985 "is_pov": false
17986 }
17987 ],
17988 "word_bit_width": 32
17989 },
17990 {
17991 "phv_number": 292,
17992 "records": [
17993 {
17994 "position_offset": 3,
17995 "field_name": "arp.hw_addr_len",
17996 "field_msb": 7,
17997 "field_lsb": 0,
17998 "field_width": 1,
17999 "phv_msb": 7,
18000 "phv_lsb": 0,
18001 "is_compiler_generated": false,
18002 "is_pov": false
18003 },
18004 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018005 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018006 "field_name": "ipv4.version",
18007 "field_msb": 7,
18008 "field_lsb": 0,
18009 "field_width": 1,
18010 "phv_msb": 7,
18011 "phv_lsb": 4,
18012 "is_compiler_generated": false,
18013 "is_pov": false
18014 },
18015 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018016 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018017 "field_name": "ipv4.ihl",
18018 "field_msb": 7,
18019 "field_lsb": 0,
18020 "field_width": 1,
18021 "phv_msb": 3,
18022 "phv_lsb": 0,
18023 "is_compiler_generated": false,
18024 "is_pov": false
18025 }
18026 ],
18027 "word_bit_width": 8
18028 },
18029 {
18030 "phv_number": 293,
18031 "records": [
18032 {
18033 "position_offset": 8,
18034 "field_name": "arp.proto_addr_len",
18035 "field_msb": 7,
18036 "field_lsb": 0,
18037 "field_width": 1,
18038 "phv_msb": 7,
18039 "phv_lsb": 0,
18040 "is_compiler_generated": false,
18041 "is_pov": false
18042 },
18043 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018044 "position_offset": 67,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018045 "field_name": "ipv4.diffserv",
18046 "field_msb": 7,
18047 "field_lsb": 0,
18048 "field_width": 1,
18049 "phv_msb": 7,
18050 "phv_lsb": 0,
18051 "is_compiler_generated": false,
18052 "is_pov": false
18053 }
18054 ],
18055 "word_bit_width": 8
18056 },
18057 {
18058 "phv_number": 294,
18059 "records": [
18060 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018061 "position_offset": 79,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018062 "field_name": "ipv4.protocol",
18063 "field_msb": 7,
18064 "field_lsb": 0,
18065 "field_width": 1,
18066 "phv_msb": 7,
18067 "phv_lsb": 0,
18068 "is_compiler_generated": false,
18069 "is_pov": false
18070 }
18071 ],
18072 "word_bit_width": 8
18073 },
18074 {
18075 "phv_number": 326,
18076 "records": [
18077 {
18078 "position_offset": 4,
18079 "field_name": "arp.hw_type",
18080 "field_msb": 15,
18081 "field_lsb": 0,
18082 "field_width": 2,
18083 "phv_msb": 15,
18084 "phv_lsb": 0,
18085 "is_compiler_generated": false,
18086 "is_pov": false
18087 },
18088 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018089 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018090 "field_name": "tcp.data_offset",
18091 "field_msb": 15,
18092 "field_lsb": 0,
18093 "field_width": 2,
18094 "phv_msb": 15,
18095 "phv_lsb": 12,
18096 "is_compiler_generated": false,
18097 "is_pov": false
18098 },
18099 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018100 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018101 "field_name": "tcp.res",
18102 "field_msb": 15,
18103 "field_lsb": 0,
18104 "field_width": 2,
18105 "phv_msb": 11,
18106 "phv_lsb": 9,
18107 "is_compiler_generated": false,
18108 "is_pov": false
18109 },
18110 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018111 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018112 "field_name": "tcp.ecn",
18113 "field_msb": 15,
18114 "field_lsb": 0,
18115 "field_width": 2,
18116 "phv_msb": 8,
18117 "phv_lsb": 6,
18118 "is_compiler_generated": false,
18119 "is_pov": false
18120 },
18121 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018122 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018123 "field_name": "tcp.ctrl",
18124 "field_msb": 15,
18125 "field_lsb": 0,
18126 "field_width": 2,
18127 "phv_msb": 5,
18128 "phv_lsb": 0,
18129 "is_compiler_generated": false,
18130 "is_pov": false
18131 },
18132 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018133 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018134 "field_name": "udp.src_port",
18135 "field_msb": 15,
18136 "field_lsb": 0,
18137 "field_width": 2,
18138 "phv_msb": 15,
18139 "phv_lsb": 0,
18140 "is_compiler_generated": false,
18141 "is_pov": false
18142 },
18143 {
18144 "position_offset": 42,
18145 "field_name": "icmp.checksum",
18146 "field_msb": 15,
18147 "field_lsb": 0,
18148 "field_width": 2,
18149 "phv_msb": 15,
18150 "phv_lsb": 0,
18151 "is_compiler_generated": false,
18152 "is_pov": false
18153 }
18154 ],
18155 "word_bit_width": 16
18156 },
18157 {
18158 "phv_number": 327,
18159 "records": [
18160 {
18161 "position_offset": 9,
18162 "field_name": "arp.proto_type",
18163 "field_msb": 15,
18164 "field_lsb": 0,
18165 "field_width": 2,
18166 "phv_msb": 15,
18167 "phv_lsb": 0,
18168 "is_compiler_generated": false,
18169 "is_pov": false
18170 },
18171 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018172 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018173 "field_name": "tcp.src_port",
18174 "field_msb": 15,
18175 "field_lsb": 0,
18176 "field_width": 2,
18177 "phv_msb": 15,
18178 "phv_lsb": 0,
18179 "is_compiler_generated": false,
18180 "is_pov": false
18181 },
18182 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018183 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018184 "field_name": "udp.dst_port",
18185 "field_msb": 15,
18186 "field_lsb": 0,
18187 "field_width": 2,
18188 "phv_msb": 15,
18189 "phv_lsb": 0,
18190 "is_compiler_generated": false,
18191 "is_pov": false
18192 },
18193 {
18194 "position_offset": 46,
18195 "field_name": "icmp.identifier",
18196 "field_msb": 15,
18197 "field_lsb": 0,
18198 "field_width": 2,
18199 "phv_msb": 15,
18200 "phv_lsb": 0,
18201 "is_compiler_generated": false,
18202 "is_pov": false
18203 }
18204 ],
18205 "word_bit_width": 16
18206 },
18207 {
18208 "phv_number": 328,
18209 "records": [
18210 {
18211 "position_offset": 6,
18212 "field_name": "arp.opcode",
18213 "field_msb": 15,
18214 "field_lsb": 0,
18215 "field_width": 2,
18216 "phv_msb": 15,
18217 "phv_lsb": 0,
18218 "is_compiler_generated": false,
18219 "is_pov": false
18220 },
18221 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018222 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018223 "field_name": "ipv4.flags",
18224 "field_msb": 15,
18225 "field_lsb": 0,
18226 "field_width": 2,
18227 "phv_msb": 15,
18228 "phv_lsb": 13,
18229 "is_compiler_generated": false,
18230 "is_pov": false
18231 },
18232 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018233 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018234 "field_name": "ipv4.frag_offset",
18235 "field_msb": 15,
18236 "field_lsb": 0,
18237 "field_width": 2,
18238 "phv_msb": 12,
18239 "phv_lsb": 0,
18240 "is_compiler_generated": false,
18241 "is_pov": false
18242 }
18243 ],
18244 "word_bit_width": 16
18245 },
18246 {
18247 "phv_number": 329,
18248 "records": [
18249 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018250 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018251 "field_name": "ipv4.total_len",
18252 "field_msb": 15,
18253 "field_lsb": 0,
18254 "field_width": 2,
18255 "phv_msb": 15,
18256 "phv_lsb": 0,
18257 "is_compiler_generated": false,
18258 "is_pov": false
18259 }
18260 ],
18261 "word_bit_width": 16
18262 },
18263 {
18264 "phv_number": 330,
18265 "records": [
18266 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018267 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018268 "field_name": "ipv4.identification",
18269 "field_msb": 15,
18270 "field_lsb": 0,
18271 "field_width": 2,
18272 "phv_msb": 15,
18273 "phv_lsb": 0,
18274 "is_compiler_generated": false,
18275 "is_pov": false
18276 }
18277 ],
18278 "word_bit_width": 16
18279 },
18280 {
18281 "phv_number": 331,
18282 "records": [
18283 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018284 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018285 "field_name": "tcp.dst_port",
18286 "field_msb": 15,
18287 "field_lsb": 0,
18288 "field_width": 2,
18289 "phv_msb": 15,
18290 "phv_lsb": 0,
18291 "is_compiler_generated": false,
18292 "is_pov": false
18293 },
18294 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018295 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018296 "field_name": "udp.len",
18297 "field_msb": 15,
18298 "field_lsb": 0,
18299 "field_width": 2,
18300 "phv_msb": 15,
18301 "phv_lsb": 0,
18302 "is_compiler_generated": false,
18303 "is_pov": false
18304 },
18305 {
18306 "position_offset": 48,
18307 "field_name": "icmp.sequence_number",
18308 "field_msb": 15,
18309 "field_lsb": 0,
18310 "field_width": 2,
18311 "phv_msb": 15,
18312 "phv_lsb": 0,
18313 "is_compiler_generated": false,
18314 "is_pov": false
18315 }
18316 ],
18317 "word_bit_width": 16
18318 },
18319 {
18320 "phv_number": 338,
18321 "records": [
18322 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018323 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018324 "field_name": "tcp.window",
18325 "field_msb": 15,
18326 "field_lsb": 0,
18327 "field_width": 2,
18328 "phv_msb": 15,
18329 "phv_lsb": 0,
18330 "is_compiler_generated": false,
18331 "is_pov": false
18332 },
18333 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018334 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018335 "field_name": "udp.checksum",
18336 "field_msb": 15,
18337 "field_lsb": 0,
18338 "field_width": 2,
18339 "phv_msb": 15,
18340 "phv_lsb": 0,
18341 "is_compiler_generated": false,
18342 "is_pov": false
18343 }
18344 ],
18345 "word_bit_width": 16
18346 },
18347 {
18348 "phv_number": 339,
18349 "records": [
18350 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018351 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018352 "field_name": "tcp.checksum",
18353 "field_msb": 15,
18354 "field_lsb": 0,
18355 "field_width": 2,
18356 "phv_msb": 15,
18357 "phv_lsb": 0,
18358 "is_compiler_generated": false,
18359 "is_pov": false
18360 }
18361 ],
18362 "word_bit_width": 16
18363 },
18364 {
18365 "phv_number": 340,
18366 "records": [
18367 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080018368 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018369 "field_name": "tcp.urgent_ptr",
18370 "field_msb": 15,
18371 "field_lsb": 0,
18372 "field_width": 2,
18373 "phv_msb": 15,
18374 "phv_lsb": 0,
18375 "is_compiler_generated": false,
18376 "is_pov": false
18377 }
18378 ],
18379 "word_bit_width": 16
18380 }
18381 ],
18382 "egress": [
18383 {
18384 "phv_number": 80,
18385 "records": [
18386 {
18387 "position_offset": 0,
18388 "field_name": "POV",
18389 "field_msb": 7,
18390 "field_lsb": 0,
18391 "field_width": 0,
18392 "phv_msb": 0,
18393 "phv_lsb": 0,
18394 "is_compiler_generated": false,
18395 "is_pov": true,
18396 "pov_headers": [
18397 {
18398 "bit_index": 0,
18399 "position_offset": 0,
18400 "header_name": "arp",
18401 "hidden": false
18402 }
18403 ]
18404 },
18405 {
18406 "position_offset": 0,
18407 "field_name": "POV",
18408 "field_msb": 7,
18409 "field_lsb": 0,
18410 "field_width": 0,
18411 "phv_msb": 2,
18412 "phv_lsb": 2,
18413 "is_compiler_generated": false,
18414 "is_pov": true,
18415 "pov_headers": [
18416 {
18417 "bit_index": 2,
18418 "position_offset": 11,
18419 "header_name": "ethernet",
18420 "hidden": false
18421 }
18422 ]
18423 },
18424 {
18425 "position_offset": 0,
18426 "field_name": "POV",
18427 "field_msb": 7,
18428 "field_lsb": 0,
18429 "field_width": 0,
18430 "phv_msb": 3,
18431 "phv_lsb": 3,
18432 "is_compiler_generated": false,
18433 "is_pov": true,
18434 "pov_headers": [
18435 {
18436 "bit_index": 3,
18437 "position_offset": 26,
18438 "header_name": "icmp",
18439 "hidden": false
18440 }
18441 ]
18442 },
18443 {
18444 "position_offset": 0,
18445 "field_name": "POV",
18446 "field_msb": 7,
18447 "field_lsb": 0,
18448 "field_width": 0,
18449 "phv_msb": 5,
18450 "phv_lsb": 5,
18451 "is_compiler_generated": false,
18452 "is_pov": true,
18453 "pov_headers": [
18454 {
18455 "bit_index": 5,
18456 "position_offset": 45,
18457 "header_name": "ipv4",
18458 "hidden": false
18459 }
18460 ]
18461 },
18462 {
18463 "position_offset": 0,
18464 "field_name": "POV",
18465 "field_msb": 7,
18466 "field_lsb": 0,
18467 "field_width": 0,
18468 "phv_msb": 6,
18469 "phv_lsb": 6,
18470 "is_compiler_generated": false,
18471 "is_pov": true,
18472 "pov_headers": [
18473 {
18474 "bit_index": 6,
18475 "position_offset": 67,
18476 "header_name": "mpls",
18477 "hidden": false
18478 }
18479 ]
18480 },
18481 {
18482 "position_offset": 0,
18483 "field_name": "POV",
18484 "field_msb": 7,
18485 "field_lsb": 0,
18486 "field_width": 0,
18487 "phv_msb": 7,
18488 "phv_lsb": 7,
18489 "is_compiler_generated": false,
18490 "is_pov": true,
18491 "pov_headers": [
18492 {
18493 "bit_index": 7,
18494 "position_offset": 73,
18495 "header_name": "packet_in",
18496 "hidden": false
18497 }
18498 ]
18499 }
18500 ],
18501 "word_bit_width": 8
18502 },
18503 {
18504 "phv_number": 81,
18505 "records": [
18506 {
18507 "position_offset": 0,
18508 "field_name": "POV",
18509 "field_msb": 7,
18510 "field_lsb": 0,
18511 "field_width": 0,
18512 "phv_msb": 0,
18513 "phv_lsb": 0,
18514 "is_compiler_generated": false,
18515 "is_pov": true,
18516 "pov_headers": [
18517 {
18518 "bit_index": 0,
18519 "position_offset": 78,
18520 "header_name": "tcp",
18521 "hidden": false
18522 }
18523 ]
18524 },
18525 {
18526 "position_offset": 0,
18527 "field_name": "POV",
18528 "field_msb": 7,
18529 "field_lsb": 0,
18530 "field_width": 0,
18531 "phv_msb": 1,
18532 "phv_lsb": 1,
18533 "is_compiler_generated": false,
18534 "is_pov": true,
18535 "pov_headers": [
18536 {
18537 "bit_index": 1,
18538 "position_offset": 105,
18539 "header_name": "udp",
18540 "hidden": false
18541 }
18542 ]
18543 },
18544 {
18545 "position_offset": 0,
18546 "field_name": "POV",
18547 "field_msb": 7,
18548 "field_lsb": 0,
18549 "field_width": 0,
18550 "phv_msb": 2,
18551 "phv_lsb": 2,
18552 "is_compiler_generated": false,
18553 "is_pov": true,
18554 "pov_headers": [
18555 {
18556 "bit_index": 2,
18557 "position_offset": 114,
18558 "header_name": "vlan_tag",
18559 "hidden": false
18560 }
18561 ]
18562 }
18563 ],
18564 "word_bit_width": 8
18565 },
18566 {
18567 "phv_number": 144,
18568 "records": [
18569 {
18570 "position_offset": 9,
18571 "field_name": "eg_intr_md.egress_port",
18572 "field_msb": 15,
18573 "field_lsb": 0,
18574 "field_width": 2,
18575 "phv_msb": 8,
18576 "phv_lsb": 0,
18577 "is_compiler_generated": false,
18578 "is_pov": false
18579 }
18580 ],
18581 "word_bit_width": 16
18582 },
18583 {
18584 "phv_number": 145,
18585 "records": [
18586 {
18587 "position_offset": 76,
18588 "field_name": "packet_in.ingress_port",
18589 "field_msb": 15,
18590 "field_lsb": 0,
18591 "field_width": 2,
18592 "phv_msb": 15,
18593 "phv_lsb": 7,
18594 "is_compiler_generated": false,
18595 "is_pov": false
18596 },
18597 {
18598 "position_offset": 74,
18599 "field_name": "packet_in._pad",
18600 "field_msb": 15,
18601 "field_lsb": 0,
18602 "field_width": 2,
18603 "phv_msb": 6,
18604 "phv_lsb": 0,
18605 "is_compiler_generated": false,
18606 "is_pov": false
18607 }
18608 ],
18609 "word_bit_width": 16
18610 },
18611 {
18612 "phv_number": 146,
18613 "records": [
18614 {
18615 "position_offset": 43,
18616 "field_name": "ig_intr_md.ingress_port",
18617 "field_msb": 15,
18618 "field_lsb": 0,
18619 "field_width": 2,
18620 "phv_msb": 8,
18621 "phv_lsb": 0,
18622 "is_compiler_generated": false,
18623 "is_pov": false
18624 }
18625 ],
18626 "word_bit_width": 16
18627 },
18628 {
18629 "phv_number": 256,
18630 "records": [
18631 {
18632 "position_offset": 12,
18633 "field_name": "ethernet.dst_addr",
18634 "field_msb": 47,
18635 "field_lsb": 16,
18636 "field_width": 6,
18637 "phv_msb": 31,
18638 "phv_lsb": 0,
18639 "is_compiler_generated": false,
18640 "is_pov": false
18641 }
18642 ],
18643 "word_bit_width": 32
18644 },
18645 {
18646 "phv_number": 257,
18647 "records": [
18648 {
18649 "position_offset": 20,
18650 "field_name": "ethernet.src_addr",
18651 "field_msb": 47,
18652 "field_lsb": 16,
18653 "field_width": 6,
18654 "phv_msb": 31,
18655 "phv_lsb": 0,
18656 "is_compiler_generated": false,
18657 "is_pov": false
18658 }
18659 ],
18660 "word_bit_width": 32
18661 },
18662 {
18663 "phv_number": 258,
18664 "records": [
18665 {
18666 "position_offset": 59,
18667 "field_name": "ipv4.src_addr",
18668 "field_msb": 31,
18669 "field_lsb": 0,
18670 "field_width": 4,
18671 "phv_msb": 31,
18672 "phv_lsb": 0,
18673 "is_compiler_generated": false,
18674 "is_pov": false
18675 }
18676 ],
18677 "word_bit_width": 32
18678 },
18679 {
18680 "phv_number": 259,
18681 "records": [
18682 {
18683 "position_offset": 47,
18684 "field_name": "ipv4.dst_addr",
18685 "field_msb": 31,
18686 "field_lsb": 0,
18687 "field_width": 4,
18688 "phv_msb": 31,
18689 "phv_lsb": 0,
18690 "is_compiler_generated": false,
18691 "is_pov": false
18692 }
18693 ],
18694 "word_bit_width": 32
18695 },
18696 {
18697 "phv_number": 264,
18698 "records": [
18699 {
18700 "position_offset": 95,
18701 "field_name": "tcp.seq_no",
18702 "field_msb": 31,
18703 "field_lsb": 0,
18704 "field_width": 4,
18705 "phv_msb": 31,
18706 "phv_lsb": 0,
18707 "is_compiler_generated": false,
18708 "is_pov": false
18709 },
18710 {
18711 "position_offset": 35,
18712 "field_name": "icmp.timestamp",
18713 "field_msb": 31,
18714 "field_lsb": 0,
18715 "field_width": 8,
18716 "phv_msb": 31,
18717 "phv_lsb": 0,
18718 "is_compiler_generated": false,
18719 "is_pov": false
18720 }
18721 ],
18722 "word_bit_width": 32
18723 },
18724 {
18725 "phv_number": 265,
18726 "records": [
18727 {
18728 "position_offset": 79,
18729 "field_name": "tcp.ack_no",
18730 "field_msb": 31,
18731 "field_lsb": 0,
18732 "field_width": 4,
18733 "phv_msb": 31,
18734 "phv_lsb": 0,
18735 "is_compiler_generated": false,
18736 "is_pov": false
18737 },
18738 {
18739 "position_offset": 35,
18740 "field_name": "icmp.timestamp",
18741 "field_msb": 63,
18742 "field_lsb": 32,
18743 "field_width": 8,
18744 "phv_msb": 31,
18745 "phv_lsb": 0,
18746 "is_compiler_generated": false,
18747 "is_pov": false
18748 }
18749 ],
18750 "word_bit_width": 32
18751 },
18752 {
18753 "phv_number": 288,
18754 "records": [
18755 {
18756 "position_offset": 1,
18757 "field_name": "arp.hw_addr_len",
18758 "field_msb": 7,
18759 "field_lsb": 0,
18760 "field_width": 1,
18761 "phv_msb": 7,
18762 "phv_lsb": 0,
18763 "is_compiler_generated": false,
18764 "is_pov": false
18765 },
18766 {
18767 "position_offset": 66,
18768 "field_name": "ipv4.version",
18769 "field_msb": 7,
18770 "field_lsb": 0,
18771 "field_width": 1,
18772 "phv_msb": 7,
18773 "phv_lsb": 4,
18774 "is_compiler_generated": false,
18775 "is_pov": false
18776 },
18777 {
18778 "position_offset": 57,
18779 "field_name": "ipv4.ihl",
18780 "field_msb": 7,
18781 "field_lsb": 0,
18782 "field_width": 1,
18783 "phv_msb": 3,
18784 "phv_lsb": 0,
18785 "is_compiler_generated": false,
18786 "is_pov": false
18787 }
18788 ],
18789 "word_bit_width": 8
18790 },
18791 {
18792 "phv_number": 289,
18793 "records": [
18794 {
18795 "position_offset": 6,
18796 "field_name": "arp.proto_addr_len",
18797 "field_msb": 7,
18798 "field_lsb": 0,
18799 "field_width": 1,
18800 "phv_msb": 7,
18801 "phv_lsb": 0,
18802 "is_compiler_generated": false,
18803 "is_pov": false
18804 },
18805 {
18806 "position_offset": 30,
18807 "field_name": "icmp.icmp_type",
18808 "field_msb": 7,
18809 "field_lsb": 0,
18810 "field_width": 1,
18811 "phv_msb": 7,
18812 "phv_lsb": 0,
18813 "is_compiler_generated": false,
18814 "is_pov": false
18815 }
18816 ],
18817 "word_bit_width": 8
18818 },
18819 {
18820 "phv_number": 290,
18821 "records": [
18822 {
18823 "position_offset": 46,
18824 "field_name": "ipv4.diffserv",
18825 "field_msb": 7,
18826 "field_lsb": 0,
18827 "field_width": 1,
18828 "phv_msb": 7,
18829 "phv_lsb": 0,
18830 "is_compiler_generated": false,
18831 "is_pov": false
18832 }
18833 ],
18834 "word_bit_width": 8
18835 },
18836 {
18837 "phv_number": 291,
18838 "records": [
18839 {
18840 "position_offset": 29,
18841 "field_name": "icmp.icmp_code",
18842 "field_msb": 7,
18843 "field_lsb": 0,
18844 "field_width": 1,
18845 "phv_msb": 7,
18846 "phv_lsb": 0,
18847 "is_compiler_generated": false,
18848 "is_pov": false
18849 }
18850 ],
18851 "word_bit_width": 8
18852 },
18853 {
18854 "phv_number": 296,
18855 "records": [
18856 {
18857 "position_offset": 69,
18858 "field_name": "mpls.label",
18859 "field_msb": 3,
18860 "field_lsb": 0,
18861 "field_width": 2,
18862 "phv_msb": 7,
18863 "phv_lsb": 4,
18864 "is_compiler_generated": false,
18865 "is_pov": false
18866 },
18867 {
18868 "position_offset": 71,
18869 "field_name": "mpls.tc",
18870 "field_msb": 7,
18871 "field_lsb": 0,
18872 "field_width": 1,
18873 "phv_msb": 3,
18874 "phv_lsb": 1,
18875 "is_compiler_generated": false,
18876 "is_pov": false
18877 },
18878 {
18879 "position_offset": 68,
18880 "field_name": "mpls.bos",
18881 "field_msb": 7,
18882 "field_lsb": 0,
18883 "field_width": 1,
18884 "phv_msb": 0,
18885 "phv_lsb": 0,
18886 "is_compiler_generated": false,
18887 "is_pov": false
18888 }
18889 ],
18890 "word_bit_width": 8
18891 },
18892 {
18893 "phv_number": 297,
18894 "records": [
18895 {
18896 "position_offset": 65,
18897 "field_name": "ipv4.ttl",
18898 "field_msb": 7,
18899 "field_lsb": 0,
18900 "field_width": 1,
18901 "phv_msb": 7,
18902 "phv_lsb": 0,
18903 "is_compiler_generated": false,
18904 "is_pov": false
18905 }
18906 ],
18907 "word_bit_width": 8
18908 },
18909 {
18910 "phv_number": 298,
18911 "records": [
18912 {
18913 "position_offset": 58,
18914 "field_name": "ipv4.protocol",
18915 "field_msb": 7,
18916 "field_lsb": 0,
18917 "field_width": 1,
18918 "phv_msb": 7,
18919 "phv_lsb": 0,
18920 "is_compiler_generated": false,
18921 "is_pov": false
18922 }
18923 ],
18924 "word_bit_width": 8
18925 },
18926 {
18927 "phv_number": 299,
18928 "records": [
18929 {
18930 "position_offset": 72,
18931 "field_name": "mpls.ttl",
18932 "field_msb": 7,
18933 "field_lsb": 0,
18934 "field_width": 1,
18935 "phv_msb": 7,
18936 "phv_lsb": 0,
18937 "is_compiler_generated": false,
18938 "is_pov": false
18939 }
18940 ],
18941 "word_bit_width": 8
18942 },
18943 {
18944 "phv_number": 320,
18945 "records": [
18946 {
18947 "position_offset": 119,
18948 "field_name": "vlan_tag.pri",
18949 "field_msb": 15,
18950 "field_lsb": 0,
18951 "field_width": 2,
18952 "phv_msb": 15,
18953 "phv_lsb": 13,
18954 "is_compiler_generated": false,
18955 "is_pov": false
18956 },
18957 {
18958 "position_offset": 115,
18959 "field_name": "vlan_tag.cfi",
18960 "field_msb": 15,
18961 "field_lsb": 0,
18962 "field_width": 2,
18963 "phv_msb": 12,
18964 "phv_lsb": 12,
18965 "is_compiler_generated": false,
18966 "is_pov": false
18967 },
18968 {
18969 "position_offset": 121,
18970 "field_name": "vlan_tag.vlan_id",
18971 "field_msb": 15,
18972 "field_lsb": 0,
18973 "field_width": 2,
18974 "phv_msb": 11,
18975 "phv_lsb": 0,
18976 "is_compiler_generated": false,
18977 "is_pov": false
18978 }
18979 ],
18980 "word_bit_width": 16
18981 },
18982 {
18983 "phv_number": 321,
18984 "records": [
18985 {
18986 "position_offset": 2,
18987 "field_name": "arp.hw_type",
18988 "field_msb": 15,
18989 "field_lsb": 0,
18990 "field_width": 2,
18991 "phv_msb": 15,
18992 "phv_lsb": 0,
18993 "is_compiler_generated": false,
18994 "is_pov": false
18995 },
18996 {
18997 "position_offset": 99,
18998 "field_name": "tcp.src_port",
18999 "field_msb": 15,
19000 "field_lsb": 0,
19001 "field_width": 2,
19002 "phv_msb": 15,
19003 "phv_lsb": 0,
19004 "is_compiler_generated": false,
19005 "is_pov": false
19006 },
19007 {
19008 "position_offset": 112,
19009 "field_name": "udp.src_port",
19010 "field_msb": 15,
19011 "field_lsb": 0,
19012 "field_width": 2,
19013 "phv_msb": 15,
19014 "phv_lsb": 0,
19015 "is_compiler_generated": false,
19016 "is_pov": false
19017 },
19018 {
19019 "position_offset": 27,
19020 "field_name": "icmp.checksum",
19021 "field_msb": 15,
19022 "field_lsb": 0,
19023 "field_width": 2,
19024 "phv_msb": 15,
19025 "phv_lsb": 0,
19026 "is_compiler_generated": false,
19027 "is_pov": false
19028 }
19029 ],
19030 "word_bit_width": 16
19031 },
19032 {
19033 "phv_number": 322,
19034 "records": [
19035 {
19036 "position_offset": 7,
19037 "field_name": "arp.proto_type",
19038 "field_msb": 15,
19039 "field_lsb": 0,
19040 "field_width": 2,
19041 "phv_msb": 15,
19042 "phv_lsb": 0,
19043 "is_compiler_generated": false,
19044 "is_pov": false
19045 },
19046 {
19047 "position_offset": 69,
19048 "field_name": "mpls.label",
19049 "field_msb": 19,
19050 "field_lsb": 4,
19051 "field_width": 2,
19052 "phv_msb": 15,
19053 "phv_lsb": 0,
19054 "is_compiler_generated": false,
19055 "is_pov": false
19056 }
19057 ],
19058 "word_bit_width": 16
19059 },
19060 {
19061 "phv_number": 323,
19062 "records": [
19063 {
19064 "position_offset": 4,
19065 "field_name": "arp.opcode",
19066 "field_msb": 15,
19067 "field_lsb": 0,
19068 "field_width": 2,
19069 "phv_msb": 15,
19070 "phv_lsb": 0,
19071 "is_compiler_generated": false,
19072 "is_pov": false
19073 },
19074 {
19075 "position_offset": 87,
19076 "field_name": "tcp.data_offset",
19077 "field_msb": 15,
19078 "field_lsb": 0,
19079 "field_width": 2,
19080 "phv_msb": 15,
19081 "phv_lsb": 12,
19082 "is_compiler_generated": false,
19083 "is_pov": false
19084 },
19085 {
19086 "position_offset": 93,
19087 "field_name": "tcp.res",
19088 "field_msb": 15,
19089 "field_lsb": 0,
19090 "field_width": 2,
19091 "phv_msb": 11,
19092 "phv_lsb": 9,
19093 "is_compiler_generated": false,
19094 "is_pov": false
19095 },
19096 {
19097 "position_offset": 91,
19098 "field_name": "tcp.ecn",
19099 "field_msb": 15,
19100 "field_lsb": 0,
19101 "field_width": 2,
19102 "phv_msb": 8,
19103 "phv_lsb": 6,
19104 "is_compiler_generated": false,
19105 "is_pov": false
19106 },
19107 {
19108 "position_offset": 85,
19109 "field_name": "tcp.ctrl",
19110 "field_msb": 15,
19111 "field_lsb": 0,
19112 "field_width": 2,
19113 "phv_msb": 5,
19114 "phv_lsb": 0,
19115 "is_compiler_generated": false,
19116 "is_pov": false
19117 },
19118 {
19119 "position_offset": 108,
19120 "field_name": "udp.dst_port",
19121 "field_msb": 15,
19122 "field_lsb": 0,
19123 "field_width": 2,
19124 "phv_msb": 15,
19125 "phv_lsb": 0,
19126 "is_compiler_generated": false,
19127 "is_pov": false
19128 },
19129 {
19130 "position_offset": 31,
19131 "field_name": "icmp.identifier",
19132 "field_msb": 15,
19133 "field_lsb": 0,
19134 "field_width": 2,
19135 "phv_msb": 15,
19136 "phv_lsb": 0,
19137 "is_compiler_generated": false,
19138 "is_pov": false
19139 }
19140 ],
19141 "word_bit_width": 16
19142 },
19143 {
19144 "phv_number": 324,
19145 "records": [
19146 {
19147 "position_offset": 51,
19148 "field_name": "ipv4.flags",
19149 "field_msb": 15,
19150 "field_lsb": 0,
19151 "field_width": 2,
19152 "phv_msb": 15,
19153 "phv_lsb": 13,
19154 "is_compiler_generated": false,
19155 "is_pov": false
19156 },
19157 {
19158 "position_offset": 53,
19159 "field_name": "ipv4.frag_offset",
19160 "field_msb": 15,
19161 "field_lsb": 0,
19162 "field_width": 2,
19163 "phv_msb": 12,
19164 "phv_lsb": 0,
19165 "is_compiler_generated": false,
19166 "is_pov": false
19167 }
19168 ],
19169 "word_bit_width": 16
19170 },
19171 {
19172 "phv_number": 325,
19173 "records": [
19174 {
19175 "position_offset": 12,
19176 "field_name": "ethernet.dst_addr",
19177 "field_msb": 15,
19178 "field_lsb": 0,
19179 "field_width": 6,
19180 "phv_msb": 15,
19181 "phv_lsb": 0,
19182 "is_compiler_generated": false,
19183 "is_pov": false
19184 }
19185 ],
19186 "word_bit_width": 16
19187 },
19188 {
19189 "phv_number": 332,
19190 "records": [
19191 {
19192 "position_offset": 20,
19193 "field_name": "ethernet.src_addr",
19194 "field_msb": 15,
19195 "field_lsb": 0,
19196 "field_width": 6,
19197 "phv_msb": 15,
19198 "phv_lsb": 0,
19199 "is_compiler_generated": false,
19200 "is_pov": false
19201 }
19202 ],
19203 "word_bit_width": 16
19204 },
19205 {
19206 "phv_number": 333,
19207 "records": [
19208 {
19209 "position_offset": 18,
19210 "field_name": "ethernet.ether_type",
19211 "field_msb": 15,
19212 "field_lsb": 0,
19213 "field_width": 2,
19214 "phv_msb": 15,
19215 "phv_lsb": 0,
19216 "is_compiler_generated": false,
19217 "is_pov": false
19218 }
19219 ],
19220 "word_bit_width": 16
19221 },
19222 {
19223 "phv_number": 334,
19224 "records": [
19225 {
19226 "position_offset": 117,
19227 "field_name": "vlan_tag.ether_type",
19228 "field_msb": 15,
19229 "field_lsb": 0,
19230 "field_width": 2,
19231 "phv_msb": 15,
19232 "phv_lsb": 0,
19233 "is_compiler_generated": false,
19234 "is_pov": false
19235 }
19236 ],
19237 "word_bit_width": 16
19238 },
19239 {
19240 "phv_number": 335,
19241 "records": [
19242 {
19243 "position_offset": 63,
19244 "field_name": "ipv4.total_len",
19245 "field_msb": 15,
19246 "field_lsb": 0,
19247 "field_width": 2,
19248 "phv_msb": 15,
19249 "phv_lsb": 0,
19250 "is_compiler_generated": false,
19251 "is_pov": false
19252 }
19253 ],
19254 "word_bit_width": 16
19255 },
19256 {
19257 "phv_number": 336,
19258 "records": [
19259 {
19260 "position_offset": 55,
19261 "field_name": "ipv4.identification",
19262 "field_msb": 15,
19263 "field_lsb": 0,
19264 "field_width": 2,
19265 "phv_msb": 15,
19266 "phv_lsb": 0,
19267 "is_compiler_generated": false,
19268 "is_pov": false
19269 }
19270 ],
19271 "word_bit_width": 16
19272 },
19273 {
19274 "phv_number": 337,
19275 "records": [
19276 {
19277 "position_offset": 89,
19278 "field_name": "tcp.dst_port",
19279 "field_msb": 15,
19280 "field_lsb": 0,
19281 "field_width": 2,
19282 "phv_msb": 15,
19283 "phv_lsb": 0,
19284 "is_compiler_generated": false,
19285 "is_pov": false
19286 },
19287 {
19288 "position_offset": 110,
19289 "field_name": "udp.len",
19290 "field_msb": 15,
19291 "field_lsb": 0,
19292 "field_width": 2,
19293 "phv_msb": 15,
19294 "phv_lsb": 0,
19295 "is_compiler_generated": false,
19296 "is_pov": false
19297 },
19298 {
19299 "position_offset": 33,
19300 "field_name": "icmp.sequence_number",
19301 "field_msb": 15,
19302 "field_lsb": 0,
19303 "field_width": 2,
19304 "phv_msb": 15,
19305 "phv_lsb": 0,
19306 "is_compiler_generated": false,
19307 "is_pov": false
19308 }
19309 ],
19310 "word_bit_width": 16
19311 },
19312 {
19313 "phv_number": 344,
19314 "records": [
19315 {
19316 "position_offset": 103,
19317 "field_name": "tcp.window",
19318 "field_msb": 15,
19319 "field_lsb": 0,
19320 "field_width": 2,
19321 "phv_msb": 15,
19322 "phv_lsb": 0,
19323 "is_compiler_generated": false,
19324 "is_pov": false
19325 },
19326 {
19327 "position_offset": 106,
19328 "field_name": "udp.checksum",
19329 "field_msb": 15,
19330 "field_lsb": 0,
19331 "field_width": 2,
19332 "phv_msb": 15,
19333 "phv_lsb": 0,
19334 "is_compiler_generated": false,
19335 "is_pov": false
19336 }
19337 ],
19338 "word_bit_width": 16
19339 },
19340 {
19341 "phv_number": 345,
19342 "records": [
19343 {
19344 "position_offset": 83,
19345 "field_name": "tcp.checksum",
19346 "field_msb": 15,
19347 "field_lsb": 0,
19348 "field_width": 2,
19349 "phv_msb": 15,
19350 "phv_lsb": 0,
19351 "is_compiler_generated": false,
19352 "is_pov": false
19353 }
19354 ],
19355 "word_bit_width": 16
19356 },
19357 {
19358 "phv_number": 346,
19359 "records": [
19360 {
19361 "position_offset": 101,
19362 "field_name": "tcp.urgent_ptr",
19363 "field_msb": 15,
19364 "field_lsb": 0,
19365 "field_width": 2,
19366 "phv_msb": 15,
19367 "phv_lsb": 0,
19368 "is_compiler_generated": false,
19369 "is_pov": false
19370 }
19371 ],
19372 "word_bit_width": 16
19373 }
19374 ],
19375 "stage_number": 8
19376 },
19377 {
19378 "ingress": [
19379 {
19380 "phv_number": 0,
19381 "records": [
19382 {
19383 "position_offset": 12,
19384 "field_name": "ethernet.dst_addr",
19385 "field_msb": 47,
19386 "field_lsb": 16,
19387 "field_width": 6,
19388 "phv_msb": 31,
19389 "phv_lsb": 0,
19390 "is_compiler_generated": false,
19391 "is_pov": false
19392 }
19393 ],
19394 "word_bit_width": 32
19395 },
19396 {
19397 "phv_number": 1,
19398 "records": [
19399 {
19400 "position_offset": 20,
19401 "field_name": "ethernet.src_addr",
19402 "field_msb": 47,
19403 "field_lsb": 16,
19404 "field_width": 6,
19405 "phv_msb": 31,
19406 "phv_lsb": 0,
19407 "is_compiler_generated": false,
19408 "is_pov": false
19409 }
19410 ],
19411 "word_bit_width": 32
19412 },
19413 {
19414 "phv_number": 2,
19415 "records": [
19416 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019417 "position_offset": 80,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019418 "field_name": "ipv4.src_addr",
19419 "field_msb": 31,
19420 "field_lsb": 0,
19421 "field_width": 4,
19422 "phv_msb": 31,
19423 "phv_lsb": 0,
19424 "is_compiler_generated": false,
19425 "is_pov": false
19426 }
19427 ],
19428 "word_bit_width": 32
19429 },
19430 {
19431 "phv_number": 3,
19432 "records": [
19433 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019434 "position_offset": 68,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019435 "field_name": "ipv4.dst_addr",
19436 "field_msb": 31,
19437 "field_lsb": 0,
19438 "field_width": 4,
19439 "phv_msb": 31,
19440 "phv_lsb": 0,
19441 "is_compiler_generated": false,
19442 "is_pov": false
19443 }
19444 ],
19445 "word_bit_width": 32
19446 },
19447 {
19448 "phv_number": 4,
19449 "records": [
19450 {
19451 "position_offset": 33,
19452 "field_name": "fabric_metadata.next_id",
19453 "field_msb": 31,
19454 "field_lsb": 0,
19455 "field_width": 4,
19456 "phv_msb": 31,
19457 "phv_lsb": 0,
19458 "is_compiler_generated": false,
19459 "is_pov": false
19460 }
19461 ],
19462 "word_bit_width": 32
19463 },
19464 {
19465 "phv_number": 64,
19466 "records": [
19467 {
19468 "position_offset": 45,
19469 "field_name": "icmp.icmp_type",
19470 "field_msb": 7,
19471 "field_lsb": 0,
19472 "field_width": 1,
19473 "phv_msb": 7,
19474 "phv_lsb": 0,
19475 "is_compiler_generated": false,
19476 "is_pov": false
19477 }
19478 ],
19479 "word_bit_width": 8
19480 },
19481 {
19482 "phv_number": 65,
19483 "records": [
19484 {
19485 "position_offset": 44,
19486 "field_name": "icmp.icmp_code",
19487 "field_msb": 7,
19488 "field_lsb": 0,
19489 "field_width": 1,
19490 "phv_msb": 7,
19491 "phv_lsb": 0,
19492 "is_compiler_generated": false,
19493 "is_pov": false
19494 }
19495 ],
19496 "word_bit_width": 8
19497 },
19498 {
19499 "phv_number": 66,
19500 "records": [
19501 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019502 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019503 "field_name": "mpls.label",
19504 "field_msb": 3,
19505 "field_lsb": 0,
19506 "field_width": 2,
19507 "phv_msb": 7,
19508 "phv_lsb": 4,
19509 "is_compiler_generated": false,
19510 "is_pov": false
19511 },
19512 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019513 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019514 "field_name": "mpls.tc",
19515 "field_msb": 7,
19516 "field_lsb": 0,
19517 "field_width": 1,
19518 "phv_msb": 3,
19519 "phv_lsb": 1,
19520 "is_compiler_generated": false,
19521 "is_pov": false
19522 },
19523 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019524 "position_offset": 89,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019525 "field_name": "mpls.bos",
19526 "field_msb": 7,
19527 "field_lsb": 0,
19528 "field_width": 1,
19529 "phv_msb": 0,
19530 "phv_lsb": 0,
19531 "is_compiler_generated": false,
19532 "is_pov": false
19533 }
19534 ],
19535 "word_bit_width": 8
19536 },
19537 {
19538 "phv_number": 67,
19539 "records": [
19540 {
19541 "position_offset": 1,
19542 "field_name": "$bridged_metadata_indicator",
19543 "field_msb": 7,
19544 "field_lsb": 0,
19545 "field_width": 1,
19546 "phv_msb": 7,
19547 "phv_lsb": 0,
19548 "is_compiler_generated": false,
19549 "is_pov": false
19550 }
19551 ],
19552 "word_bit_width": 8
19553 },
19554 {
19555 "phv_number": 68,
19556 "records": [
19557 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019558 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019559 "field_name": "ipv4.ttl",
19560 "field_msb": 7,
19561 "field_lsb": 0,
19562 "field_width": 1,
19563 "phv_msb": 7,
19564 "phv_lsb": 0,
19565 "is_compiler_generated": false,
19566 "is_pov": false
19567 }
19568 ],
19569 "word_bit_width": 8
19570 },
19571 {
19572 "phv_number": 69,
19573 "records": [
19574 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019575 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019576 "field_name": "mpls.ttl",
19577 "field_msb": 7,
19578 "field_lsb": 0,
19579 "field_width": 1,
19580 "phv_msb": 7,
19581 "phv_lsb": 0,
19582 "is_compiler_generated": false,
19583 "is_pov": false
19584 }
19585 ],
19586 "word_bit_width": 8
19587 },
19588 {
19589 "phv_number": 70,
19590 "records": [
19591 {
19592 "position_offset": 28,
19593 "field_name": "fabric_metadata.ip_proto",
19594 "field_msb": 7,
19595 "field_lsb": 0,
19596 "field_width": 1,
19597 "phv_msb": 7,
19598 "phv_lsb": 0,
19599 "is_compiler_generated": false,
19600 "is_pov": false
19601 }
19602 ],
19603 "word_bit_width": 8
19604 },
19605 {
19606 "phv_number": 71,
19607 "records": [
19608 {
19609 "position_offset": 0,
19610 "field_name": "$always_deparse",
19611 "field_msb": 7,
19612 "field_lsb": 0,
19613 "field_width": 1,
19614 "phv_msb": 0,
19615 "phv_lsb": 0,
19616 "is_compiler_generated": false,
19617 "is_pov": false
19618 },
19619 {
19620 "position_offset": 40,
19621 "field_name": "hasExited_0",
19622 "field_msb": 7,
19623 "field_lsb": 0,
19624 "field_width": 1,
19625 "phv_msb": 4,
19626 "phv_lsb": 4,
19627 "is_compiler_generated": false,
19628 "is_pov": false
19629 },
19630 {
19631 "position_offset": 0,
19632 "field_name": "POV",
19633 "field_msb": 7,
19634 "field_lsb": 0,
19635 "field_width": 0,
19636 "phv_msb": 1,
19637 "phv_lsb": 1,
19638 "is_compiler_generated": false,
19639 "is_pov": true,
19640 "pov_headers": [
19641 {
19642 "bit_index": 1,
19643 "position_offset": 2,
19644 "header_name": "arp",
19645 "hidden": false
19646 }
19647 ]
19648 },
19649 {
19650 "position_offset": 0,
19651 "field_name": "POV",
19652 "field_msb": 7,
19653 "field_lsb": 0,
19654 "field_width": 0,
19655 "phv_msb": 2,
19656 "phv_lsb": 2,
19657 "is_compiler_generated": false,
19658 "is_pov": true,
19659 "pov_headers": [
19660 {
19661 "bit_index": 2,
19662 "position_offset": 11,
19663 "header_name": "ethernet",
19664 "hidden": false
19665 }
19666 ]
19667 },
19668 {
19669 "position_offset": 0,
19670 "field_name": "POV",
19671 "field_msb": 7,
19672 "field_lsb": 0,
19673 "field_width": 0,
19674 "phv_msb": 3,
19675 "phv_lsb": 3,
19676 "is_compiler_generated": false,
19677 "is_pov": true,
19678 "pov_headers": [
19679 {
19680 "bit_index": 3,
19681 "position_offset": 41,
19682 "header_name": "icmp",
19683 "hidden": false
19684 }
19685 ]
19686 },
19687 {
19688 "position_offset": 0,
19689 "field_name": "POV",
19690 "field_msb": 7,
19691 "field_lsb": 0,
19692 "field_width": 0,
19693 "phv_msb": 5,
19694 "phv_lsb": 5,
19695 "is_compiler_generated": false,
19696 "is_pov": true,
19697 "pov_headers": [
19698 {
19699 "bit_index": 5,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019700 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019701 "header_name": "ipv4",
19702 "hidden": false
19703 }
19704 ]
19705 },
19706 {
19707 "position_offset": 0,
19708 "field_name": "POV",
19709 "field_msb": 7,
19710 "field_lsb": 0,
19711 "field_width": 0,
19712 "phv_msb": 6,
19713 "phv_lsb": 6,
19714 "is_compiler_generated": false,
19715 "is_pov": true,
19716 "pov_headers": [
19717 {
19718 "bit_index": 6,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019719 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019720 "header_name": "mpls",
19721 "hidden": false
19722 }
19723 ]
19724 },
19725 {
19726 "position_offset": 0,
19727 "field_name": "POV",
19728 "field_msb": 7,
19729 "field_lsb": 0,
19730 "field_width": 0,
19731 "phv_msb": 7,
19732 "phv_lsb": 7,
19733 "is_compiler_generated": false,
19734 "is_pov": true,
19735 "pov_headers": [
19736 {
19737 "bit_index": 7,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019738 "position_offset": 94,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019739 "header_name": "packet_out",
19740 "hidden": false
19741 }
19742 ]
19743 }
19744 ],
19745 "word_bit_width": 8
19746 },
19747 {
19748 "phv_number": 72,
19749 "records": [
19750 {
19751 "position_offset": 39,
19752 "field_name": "fabric_metadata.pop_vlan_at_egress",
19753 "field_msb": 7,
19754 "field_lsb": 0,
19755 "field_width": 1,
19756 "phv_msb": 3,
19757 "phv_lsb": 3,
19758 "is_compiler_generated": false,
19759 "is_pov": false
19760 },
19761 {
19762 "position_offset": 0,
19763 "field_name": "POV",
19764 "field_msb": 7,
19765 "field_lsb": 0,
19766 "field_width": 0,
19767 "phv_msb": 0,
19768 "phv_lsb": 0,
19769 "is_compiler_generated": false,
19770 "is_pov": true,
19771 "pov_headers": [
19772 {
19773 "bit_index": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019774 "position_offset": 97,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019775 "header_name": "tcp",
19776 "hidden": false
19777 }
19778 ]
19779 },
19780 {
19781 "position_offset": 0,
19782 "field_name": "POV",
19783 "field_msb": 7,
19784 "field_lsb": 0,
19785 "field_width": 0,
19786 "phv_msb": 1,
19787 "phv_lsb": 1,
19788 "is_compiler_generated": false,
19789 "is_pov": true,
19790 "pov_headers": [
19791 {
19792 "bit_index": 1,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019793 "position_offset": 124,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019794 "header_name": "udp",
19795 "hidden": false
19796 }
19797 ]
19798 },
19799 {
19800 "position_offset": 0,
19801 "field_name": "POV",
19802 "field_msb": 7,
19803 "field_lsb": 0,
19804 "field_width": 0,
19805 "phv_msb": 2,
19806 "phv_lsb": 2,
19807 "is_compiler_generated": false,
19808 "is_pov": true,
19809 "pov_headers": [
19810 {
19811 "bit_index": 2,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019812 "position_offset": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019813 "header_name": "vlan_tag",
19814 "hidden": false
19815 }
19816 ]
19817 }
19818 ],
19819 "word_bit_width": 8
19820 },
19821 {
19822 "phv_number": 128,
19823 "records": [
19824 {
19825 "position_offset": 62,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019826 "field_name": "ig_intr_md_for_tm.mcast_grp_a",
19827 "field_msb": 15,
19828 "field_lsb": 0,
19829 "field_width": 2,
19830 "phv_msb": 15,
19831 "phv_lsb": 0,
19832 "is_compiler_generated": false,
19833 "is_pov": false
19834 }
19835 ],
19836 "word_bit_width": 16
19837 },
19838 {
19839 "phv_number": 129,
19840 "records": [
19841 {
19842 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019843 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
19844 "field_msb": 15,
19845 "field_lsb": 0,
19846 "field_width": 2,
19847 "phv_msb": 8,
19848 "phv_lsb": 0,
19849 "is_compiler_generated": false,
19850 "is_pov": false
19851 }
19852 ],
19853 "word_bit_width": 16
19854 },
19855 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019856 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019857 "records": [
19858 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019859 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019860 "field_name": "packet_out.egress_port",
19861 "field_msb": 15,
19862 "field_lsb": 0,
19863 "field_width": 2,
19864 "phv_msb": 15,
19865 "phv_lsb": 7,
19866 "is_compiler_generated": false,
19867 "is_pov": false
19868 },
19869 {
19870 "position_offset": 26,
19871 "field_name": "fabric_metadata.fwd_type",
19872 "field_msb": 15,
19873 "field_lsb": 0,
19874 "field_width": 2,
19875 "phv_msb": 5,
19876 "phv_lsb": 3,
19877 "is_compiler_generated": false,
19878 "is_pov": false
19879 },
19880 {
19881 "position_offset": 60,
19882 "field_name": "ig_intr_md_for_tm.drop_ctl",
19883 "field_msb": 15,
19884 "field_lsb": 0,
19885 "field_width": 2,
19886 "phv_msb": 2,
19887 "phv_lsb": 0,
19888 "is_compiler_generated": false,
19889 "is_pov": false
19890 }
19891 ],
19892 "word_bit_width": 16
19893 },
19894 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019895 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019896 "records": [
19897 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019898 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019899 "field_name": "vlan_tag.pri",
19900 "field_msb": 15,
19901 "field_lsb": 0,
19902 "field_width": 2,
19903 "phv_msb": 15,
19904 "phv_lsb": 13,
19905 "is_compiler_generated": false,
19906 "is_pov": false
19907 },
19908 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019909 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019910 "field_name": "vlan_tag.cfi",
19911 "field_msb": 15,
19912 "field_lsb": 0,
19913 "field_width": 2,
19914 "phv_msb": 12,
19915 "phv_lsb": 12,
19916 "is_compiler_generated": false,
19917 "is_pov": false
19918 },
19919 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019920 "position_offset": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019921 "field_name": "vlan_tag.vlan_id",
19922 "field_msb": 15,
19923 "field_lsb": 0,
19924 "field_width": 2,
19925 "phv_msb": 11,
19926 "phv_lsb": 0,
19927 "is_compiler_generated": false,
19928 "is_pov": false
19929 }
19930 ],
19931 "word_bit_width": 16
19932 },
19933 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019934 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019935 "records": [
19936 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019937 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019938 "field_name": "mpls.label",
19939 "field_msb": 19,
19940 "field_lsb": 4,
19941 "field_width": 2,
19942 "phv_msb": 15,
19943 "phv_lsb": 0,
19944 "is_compiler_generated": false,
19945 "is_pov": false
19946 }
19947 ],
19948 "word_bit_width": 16
19949 },
19950 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019951 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019952 "records": [
19953 {
19954 "position_offset": 58,
19955 "field_name": "ig_intr_md.ingress_port",
19956 "field_msb": 15,
19957 "field_lsb": 0,
19958 "field_width": 2,
19959 "phv_msb": 8,
19960 "phv_lsb": 0,
19961 "is_compiler_generated": false,
19962 "is_pov": false
19963 }
19964 ],
19965 "word_bit_width": 16
19966 },
19967 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019968 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019969 "records": [
19970 {
19971 "position_offset": 31,
19972 "field_name": "fabric_metadata.l4_src_port",
19973 "field_msb": 15,
19974 "field_lsb": 0,
19975 "field_width": 2,
19976 "phv_msb": 15,
19977 "phv_lsb": 0,
19978 "is_compiler_generated": false,
19979 "is_pov": false
19980 }
19981 ],
19982 "word_bit_width": 16
19983 },
19984 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080019985 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019986 "records": [
19987 {
19988 "position_offset": 18,
19989 "field_name": "ethernet.ether_type",
19990 "field_msb": 15,
19991 "field_lsb": 0,
19992 "field_width": 2,
19993 "phv_msb": 15,
19994 "phv_lsb": 0,
19995 "is_compiler_generated": false,
19996 "is_pov": false
19997 }
19998 ],
19999 "word_bit_width": 16
20000 },
20001 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020002 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020003 "records": [
20004 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020005 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020006 "field_name": "vlan_tag.ether_type",
20007 "field_msb": 15,
20008 "field_lsb": 0,
20009 "field_width": 2,
20010 "phv_msb": 15,
20011 "phv_lsb": 0,
20012 "is_compiler_generated": false,
20013 "is_pov": false
20014 }
20015 ],
20016 "word_bit_width": 16
20017 },
20018 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020019 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020020 "records": [
20021 {
20022 "position_offset": 12,
20023 "field_name": "ethernet.dst_addr",
20024 "field_msb": 15,
20025 "field_lsb": 0,
20026 "field_width": 6,
20027 "phv_msb": 15,
20028 "phv_lsb": 0,
20029 "is_compiler_generated": false,
20030 "is_pov": false
20031 }
20032 ],
20033 "word_bit_width": 16
20034 },
20035 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020036 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020037 "records": [
20038 {
20039 "position_offset": 20,
20040 "field_name": "ethernet.src_addr",
20041 "field_msb": 15,
20042 "field_lsb": 0,
20043 "field_width": 6,
20044 "phv_msb": 15,
20045 "phv_lsb": 0,
20046 "is_compiler_generated": false,
20047 "is_pov": false
20048 }
20049 ],
20050 "word_bit_width": 16
20051 },
20052 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020053 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020054 "records": [
20055 {
20056 "position_offset": 29,
20057 "field_name": "fabric_metadata.l4_dst_port",
20058 "field_msb": 15,
20059 "field_lsb": 0,
20060 "field_width": 2,
20061 "phv_msb": 15,
20062 "phv_lsb": 0,
20063 "is_compiler_generated": false,
20064 "is_pov": false
20065 }
20066 ],
20067 "word_bit_width": 16
20068 },
20069 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020070 "phv_number": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020071 "records": [
20072 {
20073 "position_offset": 37,
20074 "field_name": "fabric_metadata.original_ether_type",
20075 "field_msb": 15,
20076 "field_lsb": 0,
20077 "field_width": 2,
20078 "phv_msb": 15,
20079 "phv_lsb": 0,
20080 "is_compiler_generated": false,
20081 "is_pov": false
20082 }
20083 ],
20084 "word_bit_width": 16
20085 },
20086 {
20087 "phv_number": 260,
20088 "records": [
20089 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020090 "position_offset": 114,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020091 "field_name": "tcp.seq_no",
20092 "field_msb": 31,
20093 "field_lsb": 0,
20094 "field_width": 4,
20095 "phv_msb": 31,
20096 "phv_lsb": 0,
20097 "is_compiler_generated": false,
20098 "is_pov": false
20099 },
20100 {
20101 "position_offset": 50,
20102 "field_name": "icmp.timestamp",
20103 "field_msb": 31,
20104 "field_lsb": 0,
20105 "field_width": 8,
20106 "phv_msb": 31,
20107 "phv_lsb": 0,
20108 "is_compiler_generated": false,
20109 "is_pov": false
20110 }
20111 ],
20112 "word_bit_width": 32
20113 },
20114 {
20115 "phv_number": 261,
20116 "records": [
20117 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020118 "position_offset": 98,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020119 "field_name": "tcp.ack_no",
20120 "field_msb": 31,
20121 "field_lsb": 0,
20122 "field_width": 4,
20123 "phv_msb": 31,
20124 "phv_lsb": 0,
20125 "is_compiler_generated": false,
20126 "is_pov": false
20127 },
20128 {
20129 "position_offset": 50,
20130 "field_name": "icmp.timestamp",
20131 "field_msb": 63,
20132 "field_lsb": 32,
20133 "field_width": 8,
20134 "phv_msb": 31,
20135 "phv_lsb": 0,
20136 "is_compiler_generated": false,
20137 "is_pov": false
20138 }
20139 ],
20140 "word_bit_width": 32
20141 },
20142 {
20143 "phv_number": 292,
20144 "records": [
20145 {
20146 "position_offset": 3,
20147 "field_name": "arp.hw_addr_len",
20148 "field_msb": 7,
20149 "field_lsb": 0,
20150 "field_width": 1,
20151 "phv_msb": 7,
20152 "phv_lsb": 0,
20153 "is_compiler_generated": false,
20154 "is_pov": false
20155 },
20156 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020157 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020158 "field_name": "ipv4.version",
20159 "field_msb": 7,
20160 "field_lsb": 0,
20161 "field_width": 1,
20162 "phv_msb": 7,
20163 "phv_lsb": 4,
20164 "is_compiler_generated": false,
20165 "is_pov": false
20166 },
20167 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020168 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020169 "field_name": "ipv4.ihl",
20170 "field_msb": 7,
20171 "field_lsb": 0,
20172 "field_width": 1,
20173 "phv_msb": 3,
20174 "phv_lsb": 0,
20175 "is_compiler_generated": false,
20176 "is_pov": false
20177 }
20178 ],
20179 "word_bit_width": 8
20180 },
20181 {
20182 "phv_number": 293,
20183 "records": [
20184 {
20185 "position_offset": 8,
20186 "field_name": "arp.proto_addr_len",
20187 "field_msb": 7,
20188 "field_lsb": 0,
20189 "field_width": 1,
20190 "phv_msb": 7,
20191 "phv_lsb": 0,
20192 "is_compiler_generated": false,
20193 "is_pov": false
20194 },
20195 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020196 "position_offset": 67,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020197 "field_name": "ipv4.diffserv",
20198 "field_msb": 7,
20199 "field_lsb": 0,
20200 "field_width": 1,
20201 "phv_msb": 7,
20202 "phv_lsb": 0,
20203 "is_compiler_generated": false,
20204 "is_pov": false
20205 }
20206 ],
20207 "word_bit_width": 8
20208 },
20209 {
20210 "phv_number": 294,
20211 "records": [
20212 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020213 "position_offset": 79,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020214 "field_name": "ipv4.protocol",
20215 "field_msb": 7,
20216 "field_lsb": 0,
20217 "field_width": 1,
20218 "phv_msb": 7,
20219 "phv_lsb": 0,
20220 "is_compiler_generated": false,
20221 "is_pov": false
20222 }
20223 ],
20224 "word_bit_width": 8
20225 },
20226 {
20227 "phv_number": 326,
20228 "records": [
20229 {
20230 "position_offset": 4,
20231 "field_name": "arp.hw_type",
20232 "field_msb": 15,
20233 "field_lsb": 0,
20234 "field_width": 2,
20235 "phv_msb": 15,
20236 "phv_lsb": 0,
20237 "is_compiler_generated": false,
20238 "is_pov": false
20239 },
20240 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020241 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020242 "field_name": "tcp.data_offset",
20243 "field_msb": 15,
20244 "field_lsb": 0,
20245 "field_width": 2,
20246 "phv_msb": 15,
20247 "phv_lsb": 12,
20248 "is_compiler_generated": false,
20249 "is_pov": false
20250 },
20251 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020252 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020253 "field_name": "tcp.res",
20254 "field_msb": 15,
20255 "field_lsb": 0,
20256 "field_width": 2,
20257 "phv_msb": 11,
20258 "phv_lsb": 9,
20259 "is_compiler_generated": false,
20260 "is_pov": false
20261 },
20262 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020263 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020264 "field_name": "tcp.ecn",
20265 "field_msb": 15,
20266 "field_lsb": 0,
20267 "field_width": 2,
20268 "phv_msb": 8,
20269 "phv_lsb": 6,
20270 "is_compiler_generated": false,
20271 "is_pov": false
20272 },
20273 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020274 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020275 "field_name": "tcp.ctrl",
20276 "field_msb": 15,
20277 "field_lsb": 0,
20278 "field_width": 2,
20279 "phv_msb": 5,
20280 "phv_lsb": 0,
20281 "is_compiler_generated": false,
20282 "is_pov": false
20283 },
20284 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020285 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020286 "field_name": "udp.src_port",
20287 "field_msb": 15,
20288 "field_lsb": 0,
20289 "field_width": 2,
20290 "phv_msb": 15,
20291 "phv_lsb": 0,
20292 "is_compiler_generated": false,
20293 "is_pov": false
20294 },
20295 {
20296 "position_offset": 42,
20297 "field_name": "icmp.checksum",
20298 "field_msb": 15,
20299 "field_lsb": 0,
20300 "field_width": 2,
20301 "phv_msb": 15,
20302 "phv_lsb": 0,
20303 "is_compiler_generated": false,
20304 "is_pov": false
20305 }
20306 ],
20307 "word_bit_width": 16
20308 },
20309 {
20310 "phv_number": 327,
20311 "records": [
20312 {
20313 "position_offset": 9,
20314 "field_name": "arp.proto_type",
20315 "field_msb": 15,
20316 "field_lsb": 0,
20317 "field_width": 2,
20318 "phv_msb": 15,
20319 "phv_lsb": 0,
20320 "is_compiler_generated": false,
20321 "is_pov": false
20322 },
20323 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020324 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020325 "field_name": "tcp.src_port",
20326 "field_msb": 15,
20327 "field_lsb": 0,
20328 "field_width": 2,
20329 "phv_msb": 15,
20330 "phv_lsb": 0,
20331 "is_compiler_generated": false,
20332 "is_pov": false
20333 },
20334 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020335 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020336 "field_name": "udp.dst_port",
20337 "field_msb": 15,
20338 "field_lsb": 0,
20339 "field_width": 2,
20340 "phv_msb": 15,
20341 "phv_lsb": 0,
20342 "is_compiler_generated": false,
20343 "is_pov": false
20344 },
20345 {
20346 "position_offset": 46,
20347 "field_name": "icmp.identifier",
20348 "field_msb": 15,
20349 "field_lsb": 0,
20350 "field_width": 2,
20351 "phv_msb": 15,
20352 "phv_lsb": 0,
20353 "is_compiler_generated": false,
20354 "is_pov": false
20355 }
20356 ],
20357 "word_bit_width": 16
20358 },
20359 {
20360 "phv_number": 328,
20361 "records": [
20362 {
20363 "position_offset": 6,
20364 "field_name": "arp.opcode",
20365 "field_msb": 15,
20366 "field_lsb": 0,
20367 "field_width": 2,
20368 "phv_msb": 15,
20369 "phv_lsb": 0,
20370 "is_compiler_generated": false,
20371 "is_pov": false
20372 },
20373 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020374 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020375 "field_name": "ipv4.flags",
20376 "field_msb": 15,
20377 "field_lsb": 0,
20378 "field_width": 2,
20379 "phv_msb": 15,
20380 "phv_lsb": 13,
20381 "is_compiler_generated": false,
20382 "is_pov": false
20383 },
20384 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020385 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020386 "field_name": "ipv4.frag_offset",
20387 "field_msb": 15,
20388 "field_lsb": 0,
20389 "field_width": 2,
20390 "phv_msb": 12,
20391 "phv_lsb": 0,
20392 "is_compiler_generated": false,
20393 "is_pov": false
20394 }
20395 ],
20396 "word_bit_width": 16
20397 },
20398 {
20399 "phv_number": 329,
20400 "records": [
20401 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020402 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020403 "field_name": "ipv4.total_len",
20404 "field_msb": 15,
20405 "field_lsb": 0,
20406 "field_width": 2,
20407 "phv_msb": 15,
20408 "phv_lsb": 0,
20409 "is_compiler_generated": false,
20410 "is_pov": false
20411 }
20412 ],
20413 "word_bit_width": 16
20414 },
20415 {
20416 "phv_number": 330,
20417 "records": [
20418 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020419 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020420 "field_name": "ipv4.identification",
20421 "field_msb": 15,
20422 "field_lsb": 0,
20423 "field_width": 2,
20424 "phv_msb": 15,
20425 "phv_lsb": 0,
20426 "is_compiler_generated": false,
20427 "is_pov": false
20428 }
20429 ],
20430 "word_bit_width": 16
20431 },
20432 {
20433 "phv_number": 331,
20434 "records": [
20435 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020436 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020437 "field_name": "tcp.dst_port",
20438 "field_msb": 15,
20439 "field_lsb": 0,
20440 "field_width": 2,
20441 "phv_msb": 15,
20442 "phv_lsb": 0,
20443 "is_compiler_generated": false,
20444 "is_pov": false
20445 },
20446 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020447 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020448 "field_name": "udp.len",
20449 "field_msb": 15,
20450 "field_lsb": 0,
20451 "field_width": 2,
20452 "phv_msb": 15,
20453 "phv_lsb": 0,
20454 "is_compiler_generated": false,
20455 "is_pov": false
20456 },
20457 {
20458 "position_offset": 48,
20459 "field_name": "icmp.sequence_number",
20460 "field_msb": 15,
20461 "field_lsb": 0,
20462 "field_width": 2,
20463 "phv_msb": 15,
20464 "phv_lsb": 0,
20465 "is_compiler_generated": false,
20466 "is_pov": false
20467 }
20468 ],
20469 "word_bit_width": 16
20470 },
20471 {
20472 "phv_number": 338,
20473 "records": [
20474 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020475 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020476 "field_name": "tcp.window",
20477 "field_msb": 15,
20478 "field_lsb": 0,
20479 "field_width": 2,
20480 "phv_msb": 15,
20481 "phv_lsb": 0,
20482 "is_compiler_generated": false,
20483 "is_pov": false
20484 },
20485 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020486 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020487 "field_name": "udp.checksum",
20488 "field_msb": 15,
20489 "field_lsb": 0,
20490 "field_width": 2,
20491 "phv_msb": 15,
20492 "phv_lsb": 0,
20493 "is_compiler_generated": false,
20494 "is_pov": false
20495 }
20496 ],
20497 "word_bit_width": 16
20498 },
20499 {
20500 "phv_number": 339,
20501 "records": [
20502 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020503 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020504 "field_name": "tcp.checksum",
20505 "field_msb": 15,
20506 "field_lsb": 0,
20507 "field_width": 2,
20508 "phv_msb": 15,
20509 "phv_lsb": 0,
20510 "is_compiler_generated": false,
20511 "is_pov": false
20512 }
20513 ],
20514 "word_bit_width": 16
20515 },
20516 {
20517 "phv_number": 340,
20518 "records": [
20519 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080020520 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020521 "field_name": "tcp.urgent_ptr",
20522 "field_msb": 15,
20523 "field_lsb": 0,
20524 "field_width": 2,
20525 "phv_msb": 15,
20526 "phv_lsb": 0,
20527 "is_compiler_generated": false,
20528 "is_pov": false
20529 }
20530 ],
20531 "word_bit_width": 16
20532 }
20533 ],
20534 "egress": [
20535 {
20536 "phv_number": 80,
20537 "records": [
20538 {
20539 "position_offset": 0,
20540 "field_name": "POV",
20541 "field_msb": 7,
20542 "field_lsb": 0,
20543 "field_width": 0,
20544 "phv_msb": 0,
20545 "phv_lsb": 0,
20546 "is_compiler_generated": false,
20547 "is_pov": true,
20548 "pov_headers": [
20549 {
20550 "bit_index": 0,
20551 "position_offset": 0,
20552 "header_name": "arp",
20553 "hidden": false
20554 }
20555 ]
20556 },
20557 {
20558 "position_offset": 0,
20559 "field_name": "POV",
20560 "field_msb": 7,
20561 "field_lsb": 0,
20562 "field_width": 0,
20563 "phv_msb": 2,
20564 "phv_lsb": 2,
20565 "is_compiler_generated": false,
20566 "is_pov": true,
20567 "pov_headers": [
20568 {
20569 "bit_index": 2,
20570 "position_offset": 11,
20571 "header_name": "ethernet",
20572 "hidden": false
20573 }
20574 ]
20575 },
20576 {
20577 "position_offset": 0,
20578 "field_name": "POV",
20579 "field_msb": 7,
20580 "field_lsb": 0,
20581 "field_width": 0,
20582 "phv_msb": 3,
20583 "phv_lsb": 3,
20584 "is_compiler_generated": false,
20585 "is_pov": true,
20586 "pov_headers": [
20587 {
20588 "bit_index": 3,
20589 "position_offset": 26,
20590 "header_name": "icmp",
20591 "hidden": false
20592 }
20593 ]
20594 },
20595 {
20596 "position_offset": 0,
20597 "field_name": "POV",
20598 "field_msb": 7,
20599 "field_lsb": 0,
20600 "field_width": 0,
20601 "phv_msb": 5,
20602 "phv_lsb": 5,
20603 "is_compiler_generated": false,
20604 "is_pov": true,
20605 "pov_headers": [
20606 {
20607 "bit_index": 5,
20608 "position_offset": 45,
20609 "header_name": "ipv4",
20610 "hidden": false
20611 }
20612 ]
20613 },
20614 {
20615 "position_offset": 0,
20616 "field_name": "POV",
20617 "field_msb": 7,
20618 "field_lsb": 0,
20619 "field_width": 0,
20620 "phv_msb": 6,
20621 "phv_lsb": 6,
20622 "is_compiler_generated": false,
20623 "is_pov": true,
20624 "pov_headers": [
20625 {
20626 "bit_index": 6,
20627 "position_offset": 67,
20628 "header_name": "mpls",
20629 "hidden": false
20630 }
20631 ]
20632 },
20633 {
20634 "position_offset": 0,
20635 "field_name": "POV",
20636 "field_msb": 7,
20637 "field_lsb": 0,
20638 "field_width": 0,
20639 "phv_msb": 7,
20640 "phv_lsb": 7,
20641 "is_compiler_generated": false,
20642 "is_pov": true,
20643 "pov_headers": [
20644 {
20645 "bit_index": 7,
20646 "position_offset": 73,
20647 "header_name": "packet_in",
20648 "hidden": false
20649 }
20650 ]
20651 }
20652 ],
20653 "word_bit_width": 8
20654 },
20655 {
20656 "phv_number": 81,
20657 "records": [
20658 {
20659 "position_offset": 0,
20660 "field_name": "POV",
20661 "field_msb": 7,
20662 "field_lsb": 0,
20663 "field_width": 0,
20664 "phv_msb": 0,
20665 "phv_lsb": 0,
20666 "is_compiler_generated": false,
20667 "is_pov": true,
20668 "pov_headers": [
20669 {
20670 "bit_index": 0,
20671 "position_offset": 78,
20672 "header_name": "tcp",
20673 "hidden": false
20674 }
20675 ]
20676 },
20677 {
20678 "position_offset": 0,
20679 "field_name": "POV",
20680 "field_msb": 7,
20681 "field_lsb": 0,
20682 "field_width": 0,
20683 "phv_msb": 1,
20684 "phv_lsb": 1,
20685 "is_compiler_generated": false,
20686 "is_pov": true,
20687 "pov_headers": [
20688 {
20689 "bit_index": 1,
20690 "position_offset": 105,
20691 "header_name": "udp",
20692 "hidden": false
20693 }
20694 ]
20695 },
20696 {
20697 "position_offset": 0,
20698 "field_name": "POV",
20699 "field_msb": 7,
20700 "field_lsb": 0,
20701 "field_width": 0,
20702 "phv_msb": 2,
20703 "phv_lsb": 2,
20704 "is_compiler_generated": false,
20705 "is_pov": true,
20706 "pov_headers": [
20707 {
20708 "bit_index": 2,
20709 "position_offset": 114,
20710 "header_name": "vlan_tag",
20711 "hidden": false
20712 }
20713 ]
20714 }
20715 ],
20716 "word_bit_width": 8
20717 },
20718 {
20719 "phv_number": 144,
20720 "records": [
20721 {
20722 "position_offset": 9,
20723 "field_name": "eg_intr_md.egress_port",
20724 "field_msb": 15,
20725 "field_lsb": 0,
20726 "field_width": 2,
20727 "phv_msb": 8,
20728 "phv_lsb": 0,
20729 "is_compiler_generated": false,
20730 "is_pov": false
20731 }
20732 ],
20733 "word_bit_width": 16
20734 },
20735 {
20736 "phv_number": 145,
20737 "records": [
20738 {
20739 "position_offset": 76,
20740 "field_name": "packet_in.ingress_port",
20741 "field_msb": 15,
20742 "field_lsb": 0,
20743 "field_width": 2,
20744 "phv_msb": 15,
20745 "phv_lsb": 7,
20746 "is_compiler_generated": false,
20747 "is_pov": false
20748 },
20749 {
20750 "position_offset": 74,
20751 "field_name": "packet_in._pad",
20752 "field_msb": 15,
20753 "field_lsb": 0,
20754 "field_width": 2,
20755 "phv_msb": 6,
20756 "phv_lsb": 0,
20757 "is_compiler_generated": false,
20758 "is_pov": false
20759 }
20760 ],
20761 "word_bit_width": 16
20762 },
20763 {
20764 "phv_number": 146,
20765 "records": [
20766 {
20767 "position_offset": 43,
20768 "field_name": "ig_intr_md.ingress_port",
20769 "field_msb": 15,
20770 "field_lsb": 0,
20771 "field_width": 2,
20772 "phv_msb": 8,
20773 "phv_lsb": 0,
20774 "is_compiler_generated": false,
20775 "is_pov": false
20776 }
20777 ],
20778 "word_bit_width": 16
20779 },
20780 {
20781 "phv_number": 256,
20782 "records": [
20783 {
20784 "position_offset": 12,
20785 "field_name": "ethernet.dst_addr",
20786 "field_msb": 47,
20787 "field_lsb": 16,
20788 "field_width": 6,
20789 "phv_msb": 31,
20790 "phv_lsb": 0,
20791 "is_compiler_generated": false,
20792 "is_pov": false
20793 }
20794 ],
20795 "word_bit_width": 32
20796 },
20797 {
20798 "phv_number": 257,
20799 "records": [
20800 {
20801 "position_offset": 20,
20802 "field_name": "ethernet.src_addr",
20803 "field_msb": 47,
20804 "field_lsb": 16,
20805 "field_width": 6,
20806 "phv_msb": 31,
20807 "phv_lsb": 0,
20808 "is_compiler_generated": false,
20809 "is_pov": false
20810 }
20811 ],
20812 "word_bit_width": 32
20813 },
20814 {
20815 "phv_number": 258,
20816 "records": [
20817 {
20818 "position_offset": 59,
20819 "field_name": "ipv4.src_addr",
20820 "field_msb": 31,
20821 "field_lsb": 0,
20822 "field_width": 4,
20823 "phv_msb": 31,
20824 "phv_lsb": 0,
20825 "is_compiler_generated": false,
20826 "is_pov": false
20827 }
20828 ],
20829 "word_bit_width": 32
20830 },
20831 {
20832 "phv_number": 259,
20833 "records": [
20834 {
20835 "position_offset": 47,
20836 "field_name": "ipv4.dst_addr",
20837 "field_msb": 31,
20838 "field_lsb": 0,
20839 "field_width": 4,
20840 "phv_msb": 31,
20841 "phv_lsb": 0,
20842 "is_compiler_generated": false,
20843 "is_pov": false
20844 }
20845 ],
20846 "word_bit_width": 32
20847 },
20848 {
20849 "phv_number": 264,
20850 "records": [
20851 {
20852 "position_offset": 95,
20853 "field_name": "tcp.seq_no",
20854 "field_msb": 31,
20855 "field_lsb": 0,
20856 "field_width": 4,
20857 "phv_msb": 31,
20858 "phv_lsb": 0,
20859 "is_compiler_generated": false,
20860 "is_pov": false
20861 },
20862 {
20863 "position_offset": 35,
20864 "field_name": "icmp.timestamp",
20865 "field_msb": 31,
20866 "field_lsb": 0,
20867 "field_width": 8,
20868 "phv_msb": 31,
20869 "phv_lsb": 0,
20870 "is_compiler_generated": false,
20871 "is_pov": false
20872 }
20873 ],
20874 "word_bit_width": 32
20875 },
20876 {
20877 "phv_number": 265,
20878 "records": [
20879 {
20880 "position_offset": 79,
20881 "field_name": "tcp.ack_no",
20882 "field_msb": 31,
20883 "field_lsb": 0,
20884 "field_width": 4,
20885 "phv_msb": 31,
20886 "phv_lsb": 0,
20887 "is_compiler_generated": false,
20888 "is_pov": false
20889 },
20890 {
20891 "position_offset": 35,
20892 "field_name": "icmp.timestamp",
20893 "field_msb": 63,
20894 "field_lsb": 32,
20895 "field_width": 8,
20896 "phv_msb": 31,
20897 "phv_lsb": 0,
20898 "is_compiler_generated": false,
20899 "is_pov": false
20900 }
20901 ],
20902 "word_bit_width": 32
20903 },
20904 {
20905 "phv_number": 288,
20906 "records": [
20907 {
20908 "position_offset": 1,
20909 "field_name": "arp.hw_addr_len",
20910 "field_msb": 7,
20911 "field_lsb": 0,
20912 "field_width": 1,
20913 "phv_msb": 7,
20914 "phv_lsb": 0,
20915 "is_compiler_generated": false,
20916 "is_pov": false
20917 },
20918 {
20919 "position_offset": 66,
20920 "field_name": "ipv4.version",
20921 "field_msb": 7,
20922 "field_lsb": 0,
20923 "field_width": 1,
20924 "phv_msb": 7,
20925 "phv_lsb": 4,
20926 "is_compiler_generated": false,
20927 "is_pov": false
20928 },
20929 {
20930 "position_offset": 57,
20931 "field_name": "ipv4.ihl",
20932 "field_msb": 7,
20933 "field_lsb": 0,
20934 "field_width": 1,
20935 "phv_msb": 3,
20936 "phv_lsb": 0,
20937 "is_compiler_generated": false,
20938 "is_pov": false
20939 }
20940 ],
20941 "word_bit_width": 8
20942 },
20943 {
20944 "phv_number": 289,
20945 "records": [
20946 {
20947 "position_offset": 6,
20948 "field_name": "arp.proto_addr_len",
20949 "field_msb": 7,
20950 "field_lsb": 0,
20951 "field_width": 1,
20952 "phv_msb": 7,
20953 "phv_lsb": 0,
20954 "is_compiler_generated": false,
20955 "is_pov": false
20956 },
20957 {
20958 "position_offset": 30,
20959 "field_name": "icmp.icmp_type",
20960 "field_msb": 7,
20961 "field_lsb": 0,
20962 "field_width": 1,
20963 "phv_msb": 7,
20964 "phv_lsb": 0,
20965 "is_compiler_generated": false,
20966 "is_pov": false
20967 }
20968 ],
20969 "word_bit_width": 8
20970 },
20971 {
20972 "phv_number": 290,
20973 "records": [
20974 {
20975 "position_offset": 46,
20976 "field_name": "ipv4.diffserv",
20977 "field_msb": 7,
20978 "field_lsb": 0,
20979 "field_width": 1,
20980 "phv_msb": 7,
20981 "phv_lsb": 0,
20982 "is_compiler_generated": false,
20983 "is_pov": false
20984 }
20985 ],
20986 "word_bit_width": 8
20987 },
20988 {
20989 "phv_number": 291,
20990 "records": [
20991 {
20992 "position_offset": 29,
20993 "field_name": "icmp.icmp_code",
20994 "field_msb": 7,
20995 "field_lsb": 0,
20996 "field_width": 1,
20997 "phv_msb": 7,
20998 "phv_lsb": 0,
20999 "is_compiler_generated": false,
21000 "is_pov": false
21001 }
21002 ],
21003 "word_bit_width": 8
21004 },
21005 {
21006 "phv_number": 296,
21007 "records": [
21008 {
21009 "position_offset": 69,
21010 "field_name": "mpls.label",
21011 "field_msb": 3,
21012 "field_lsb": 0,
21013 "field_width": 2,
21014 "phv_msb": 7,
21015 "phv_lsb": 4,
21016 "is_compiler_generated": false,
21017 "is_pov": false
21018 },
21019 {
21020 "position_offset": 71,
21021 "field_name": "mpls.tc",
21022 "field_msb": 7,
21023 "field_lsb": 0,
21024 "field_width": 1,
21025 "phv_msb": 3,
21026 "phv_lsb": 1,
21027 "is_compiler_generated": false,
21028 "is_pov": false
21029 },
21030 {
21031 "position_offset": 68,
21032 "field_name": "mpls.bos",
21033 "field_msb": 7,
21034 "field_lsb": 0,
21035 "field_width": 1,
21036 "phv_msb": 0,
21037 "phv_lsb": 0,
21038 "is_compiler_generated": false,
21039 "is_pov": false
21040 }
21041 ],
21042 "word_bit_width": 8
21043 },
21044 {
21045 "phv_number": 297,
21046 "records": [
21047 {
21048 "position_offset": 65,
21049 "field_name": "ipv4.ttl",
21050 "field_msb": 7,
21051 "field_lsb": 0,
21052 "field_width": 1,
21053 "phv_msb": 7,
21054 "phv_lsb": 0,
21055 "is_compiler_generated": false,
21056 "is_pov": false
21057 }
21058 ],
21059 "word_bit_width": 8
21060 },
21061 {
21062 "phv_number": 298,
21063 "records": [
21064 {
21065 "position_offset": 58,
21066 "field_name": "ipv4.protocol",
21067 "field_msb": 7,
21068 "field_lsb": 0,
21069 "field_width": 1,
21070 "phv_msb": 7,
21071 "phv_lsb": 0,
21072 "is_compiler_generated": false,
21073 "is_pov": false
21074 }
21075 ],
21076 "word_bit_width": 8
21077 },
21078 {
21079 "phv_number": 299,
21080 "records": [
21081 {
21082 "position_offset": 72,
21083 "field_name": "mpls.ttl",
21084 "field_msb": 7,
21085 "field_lsb": 0,
21086 "field_width": 1,
21087 "phv_msb": 7,
21088 "phv_lsb": 0,
21089 "is_compiler_generated": false,
21090 "is_pov": false
21091 }
21092 ],
21093 "word_bit_width": 8
21094 },
21095 {
21096 "phv_number": 320,
21097 "records": [
21098 {
21099 "position_offset": 119,
21100 "field_name": "vlan_tag.pri",
21101 "field_msb": 15,
21102 "field_lsb": 0,
21103 "field_width": 2,
21104 "phv_msb": 15,
21105 "phv_lsb": 13,
21106 "is_compiler_generated": false,
21107 "is_pov": false
21108 },
21109 {
21110 "position_offset": 115,
21111 "field_name": "vlan_tag.cfi",
21112 "field_msb": 15,
21113 "field_lsb": 0,
21114 "field_width": 2,
21115 "phv_msb": 12,
21116 "phv_lsb": 12,
21117 "is_compiler_generated": false,
21118 "is_pov": false
21119 },
21120 {
21121 "position_offset": 121,
21122 "field_name": "vlan_tag.vlan_id",
21123 "field_msb": 15,
21124 "field_lsb": 0,
21125 "field_width": 2,
21126 "phv_msb": 11,
21127 "phv_lsb": 0,
21128 "is_compiler_generated": false,
21129 "is_pov": false
21130 }
21131 ],
21132 "word_bit_width": 16
21133 },
21134 {
21135 "phv_number": 321,
21136 "records": [
21137 {
21138 "position_offset": 2,
21139 "field_name": "arp.hw_type",
21140 "field_msb": 15,
21141 "field_lsb": 0,
21142 "field_width": 2,
21143 "phv_msb": 15,
21144 "phv_lsb": 0,
21145 "is_compiler_generated": false,
21146 "is_pov": false
21147 },
21148 {
21149 "position_offset": 99,
21150 "field_name": "tcp.src_port",
21151 "field_msb": 15,
21152 "field_lsb": 0,
21153 "field_width": 2,
21154 "phv_msb": 15,
21155 "phv_lsb": 0,
21156 "is_compiler_generated": false,
21157 "is_pov": false
21158 },
21159 {
21160 "position_offset": 112,
21161 "field_name": "udp.src_port",
21162 "field_msb": 15,
21163 "field_lsb": 0,
21164 "field_width": 2,
21165 "phv_msb": 15,
21166 "phv_lsb": 0,
21167 "is_compiler_generated": false,
21168 "is_pov": false
21169 },
21170 {
21171 "position_offset": 27,
21172 "field_name": "icmp.checksum",
21173 "field_msb": 15,
21174 "field_lsb": 0,
21175 "field_width": 2,
21176 "phv_msb": 15,
21177 "phv_lsb": 0,
21178 "is_compiler_generated": false,
21179 "is_pov": false
21180 }
21181 ],
21182 "word_bit_width": 16
21183 },
21184 {
21185 "phv_number": 322,
21186 "records": [
21187 {
21188 "position_offset": 7,
21189 "field_name": "arp.proto_type",
21190 "field_msb": 15,
21191 "field_lsb": 0,
21192 "field_width": 2,
21193 "phv_msb": 15,
21194 "phv_lsb": 0,
21195 "is_compiler_generated": false,
21196 "is_pov": false
21197 },
21198 {
21199 "position_offset": 69,
21200 "field_name": "mpls.label",
21201 "field_msb": 19,
21202 "field_lsb": 4,
21203 "field_width": 2,
21204 "phv_msb": 15,
21205 "phv_lsb": 0,
21206 "is_compiler_generated": false,
21207 "is_pov": false
21208 }
21209 ],
21210 "word_bit_width": 16
21211 },
21212 {
21213 "phv_number": 323,
21214 "records": [
21215 {
21216 "position_offset": 4,
21217 "field_name": "arp.opcode",
21218 "field_msb": 15,
21219 "field_lsb": 0,
21220 "field_width": 2,
21221 "phv_msb": 15,
21222 "phv_lsb": 0,
21223 "is_compiler_generated": false,
21224 "is_pov": false
21225 },
21226 {
21227 "position_offset": 87,
21228 "field_name": "tcp.data_offset",
21229 "field_msb": 15,
21230 "field_lsb": 0,
21231 "field_width": 2,
21232 "phv_msb": 15,
21233 "phv_lsb": 12,
21234 "is_compiler_generated": false,
21235 "is_pov": false
21236 },
21237 {
21238 "position_offset": 93,
21239 "field_name": "tcp.res",
21240 "field_msb": 15,
21241 "field_lsb": 0,
21242 "field_width": 2,
21243 "phv_msb": 11,
21244 "phv_lsb": 9,
21245 "is_compiler_generated": false,
21246 "is_pov": false
21247 },
21248 {
21249 "position_offset": 91,
21250 "field_name": "tcp.ecn",
21251 "field_msb": 15,
21252 "field_lsb": 0,
21253 "field_width": 2,
21254 "phv_msb": 8,
21255 "phv_lsb": 6,
21256 "is_compiler_generated": false,
21257 "is_pov": false
21258 },
21259 {
21260 "position_offset": 85,
21261 "field_name": "tcp.ctrl",
21262 "field_msb": 15,
21263 "field_lsb": 0,
21264 "field_width": 2,
21265 "phv_msb": 5,
21266 "phv_lsb": 0,
21267 "is_compiler_generated": false,
21268 "is_pov": false
21269 },
21270 {
21271 "position_offset": 108,
21272 "field_name": "udp.dst_port",
21273 "field_msb": 15,
21274 "field_lsb": 0,
21275 "field_width": 2,
21276 "phv_msb": 15,
21277 "phv_lsb": 0,
21278 "is_compiler_generated": false,
21279 "is_pov": false
21280 },
21281 {
21282 "position_offset": 31,
21283 "field_name": "icmp.identifier",
21284 "field_msb": 15,
21285 "field_lsb": 0,
21286 "field_width": 2,
21287 "phv_msb": 15,
21288 "phv_lsb": 0,
21289 "is_compiler_generated": false,
21290 "is_pov": false
21291 }
21292 ],
21293 "word_bit_width": 16
21294 },
21295 {
21296 "phv_number": 324,
21297 "records": [
21298 {
21299 "position_offset": 51,
21300 "field_name": "ipv4.flags",
21301 "field_msb": 15,
21302 "field_lsb": 0,
21303 "field_width": 2,
21304 "phv_msb": 15,
21305 "phv_lsb": 13,
21306 "is_compiler_generated": false,
21307 "is_pov": false
21308 },
21309 {
21310 "position_offset": 53,
21311 "field_name": "ipv4.frag_offset",
21312 "field_msb": 15,
21313 "field_lsb": 0,
21314 "field_width": 2,
21315 "phv_msb": 12,
21316 "phv_lsb": 0,
21317 "is_compiler_generated": false,
21318 "is_pov": false
21319 }
21320 ],
21321 "word_bit_width": 16
21322 },
21323 {
21324 "phv_number": 325,
21325 "records": [
21326 {
21327 "position_offset": 12,
21328 "field_name": "ethernet.dst_addr",
21329 "field_msb": 15,
21330 "field_lsb": 0,
21331 "field_width": 6,
21332 "phv_msb": 15,
21333 "phv_lsb": 0,
21334 "is_compiler_generated": false,
21335 "is_pov": false
21336 }
21337 ],
21338 "word_bit_width": 16
21339 },
21340 {
21341 "phv_number": 332,
21342 "records": [
21343 {
21344 "position_offset": 20,
21345 "field_name": "ethernet.src_addr",
21346 "field_msb": 15,
21347 "field_lsb": 0,
21348 "field_width": 6,
21349 "phv_msb": 15,
21350 "phv_lsb": 0,
21351 "is_compiler_generated": false,
21352 "is_pov": false
21353 }
21354 ],
21355 "word_bit_width": 16
21356 },
21357 {
21358 "phv_number": 333,
21359 "records": [
21360 {
21361 "position_offset": 18,
21362 "field_name": "ethernet.ether_type",
21363 "field_msb": 15,
21364 "field_lsb": 0,
21365 "field_width": 2,
21366 "phv_msb": 15,
21367 "phv_lsb": 0,
21368 "is_compiler_generated": false,
21369 "is_pov": false
21370 }
21371 ],
21372 "word_bit_width": 16
21373 },
21374 {
21375 "phv_number": 334,
21376 "records": [
21377 {
21378 "position_offset": 117,
21379 "field_name": "vlan_tag.ether_type",
21380 "field_msb": 15,
21381 "field_lsb": 0,
21382 "field_width": 2,
21383 "phv_msb": 15,
21384 "phv_lsb": 0,
21385 "is_compiler_generated": false,
21386 "is_pov": false
21387 }
21388 ],
21389 "word_bit_width": 16
21390 },
21391 {
21392 "phv_number": 335,
21393 "records": [
21394 {
21395 "position_offset": 63,
21396 "field_name": "ipv4.total_len",
21397 "field_msb": 15,
21398 "field_lsb": 0,
21399 "field_width": 2,
21400 "phv_msb": 15,
21401 "phv_lsb": 0,
21402 "is_compiler_generated": false,
21403 "is_pov": false
21404 }
21405 ],
21406 "word_bit_width": 16
21407 },
21408 {
21409 "phv_number": 336,
21410 "records": [
21411 {
21412 "position_offset": 55,
21413 "field_name": "ipv4.identification",
21414 "field_msb": 15,
21415 "field_lsb": 0,
21416 "field_width": 2,
21417 "phv_msb": 15,
21418 "phv_lsb": 0,
21419 "is_compiler_generated": false,
21420 "is_pov": false
21421 }
21422 ],
21423 "word_bit_width": 16
21424 },
21425 {
21426 "phv_number": 337,
21427 "records": [
21428 {
21429 "position_offset": 89,
21430 "field_name": "tcp.dst_port",
21431 "field_msb": 15,
21432 "field_lsb": 0,
21433 "field_width": 2,
21434 "phv_msb": 15,
21435 "phv_lsb": 0,
21436 "is_compiler_generated": false,
21437 "is_pov": false
21438 },
21439 {
21440 "position_offset": 110,
21441 "field_name": "udp.len",
21442 "field_msb": 15,
21443 "field_lsb": 0,
21444 "field_width": 2,
21445 "phv_msb": 15,
21446 "phv_lsb": 0,
21447 "is_compiler_generated": false,
21448 "is_pov": false
21449 },
21450 {
21451 "position_offset": 33,
21452 "field_name": "icmp.sequence_number",
21453 "field_msb": 15,
21454 "field_lsb": 0,
21455 "field_width": 2,
21456 "phv_msb": 15,
21457 "phv_lsb": 0,
21458 "is_compiler_generated": false,
21459 "is_pov": false
21460 }
21461 ],
21462 "word_bit_width": 16
21463 },
21464 {
21465 "phv_number": 344,
21466 "records": [
21467 {
21468 "position_offset": 103,
21469 "field_name": "tcp.window",
21470 "field_msb": 15,
21471 "field_lsb": 0,
21472 "field_width": 2,
21473 "phv_msb": 15,
21474 "phv_lsb": 0,
21475 "is_compiler_generated": false,
21476 "is_pov": false
21477 },
21478 {
21479 "position_offset": 106,
21480 "field_name": "udp.checksum",
21481 "field_msb": 15,
21482 "field_lsb": 0,
21483 "field_width": 2,
21484 "phv_msb": 15,
21485 "phv_lsb": 0,
21486 "is_compiler_generated": false,
21487 "is_pov": false
21488 }
21489 ],
21490 "word_bit_width": 16
21491 },
21492 {
21493 "phv_number": 345,
21494 "records": [
21495 {
21496 "position_offset": 83,
21497 "field_name": "tcp.checksum",
21498 "field_msb": 15,
21499 "field_lsb": 0,
21500 "field_width": 2,
21501 "phv_msb": 15,
21502 "phv_lsb": 0,
21503 "is_compiler_generated": false,
21504 "is_pov": false
21505 }
21506 ],
21507 "word_bit_width": 16
21508 },
21509 {
21510 "phv_number": 346,
21511 "records": [
21512 {
21513 "position_offset": 101,
21514 "field_name": "tcp.urgent_ptr",
21515 "field_msb": 15,
21516 "field_lsb": 0,
21517 "field_width": 2,
21518 "phv_msb": 15,
21519 "phv_lsb": 0,
21520 "is_compiler_generated": false,
21521 "is_pov": false
21522 }
21523 ],
21524 "word_bit_width": 16
21525 }
21526 ],
21527 "stage_number": 9
21528 },
21529 {
21530 "ingress": [
21531 {
21532 "phv_number": 0,
21533 "records": [
21534 {
21535 "position_offset": 12,
21536 "field_name": "ethernet.dst_addr",
21537 "field_msb": 47,
21538 "field_lsb": 16,
21539 "field_width": 6,
21540 "phv_msb": 31,
21541 "phv_lsb": 0,
21542 "is_compiler_generated": false,
21543 "is_pov": false
21544 }
21545 ],
21546 "word_bit_width": 32
21547 },
21548 {
21549 "phv_number": 1,
21550 "records": [
21551 {
21552 "position_offset": 20,
21553 "field_name": "ethernet.src_addr",
21554 "field_msb": 47,
21555 "field_lsb": 16,
21556 "field_width": 6,
21557 "phv_msb": 31,
21558 "phv_lsb": 0,
21559 "is_compiler_generated": false,
21560 "is_pov": false
21561 }
21562 ],
21563 "word_bit_width": 32
21564 },
21565 {
21566 "phv_number": 2,
21567 "records": [
21568 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080021569 "position_offset": 80,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021570 "field_name": "ipv4.src_addr",
21571 "field_msb": 31,
21572 "field_lsb": 0,
21573 "field_width": 4,
21574 "phv_msb": 31,
21575 "phv_lsb": 0,
21576 "is_compiler_generated": false,
21577 "is_pov": false
21578 }
21579 ],
21580 "word_bit_width": 32
21581 },
21582 {
21583 "phv_number": 3,
21584 "records": [
21585 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080021586 "position_offset": 68,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021587 "field_name": "ipv4.dst_addr",
21588 "field_msb": 31,
21589 "field_lsb": 0,
21590 "field_width": 4,
21591 "phv_msb": 31,
21592 "phv_lsb": 0,
21593 "is_compiler_generated": false,
21594 "is_pov": false
21595 }
21596 ],
21597 "word_bit_width": 32
21598 },
21599 {
21600 "phv_number": 4,
21601 "records": [
21602 {
21603 "position_offset": 33,
21604 "field_name": "fabric_metadata.next_id",
21605 "field_msb": 31,
21606 "field_lsb": 0,
21607 "field_width": 4,
21608 "phv_msb": 31,
21609 "phv_lsb": 0,
21610 "is_compiler_generated": false,
21611 "is_pov": false
21612 }
21613 ],
21614 "word_bit_width": 32
21615 },
21616 {
21617 "phv_number": 64,
21618 "records": [
21619 {
21620 "position_offset": 45,
21621 "field_name": "icmp.icmp_type",
21622 "field_msb": 7,
21623 "field_lsb": 0,
21624 "field_width": 1,
21625 "phv_msb": 7,
21626 "phv_lsb": 0,
21627 "is_compiler_generated": false,
21628 "is_pov": false
21629 }
21630 ],
21631 "word_bit_width": 8
21632 },
21633 {
21634 "phv_number": 65,
21635 "records": [
21636 {
21637 "position_offset": 44,
21638 "field_name": "icmp.icmp_code",
21639 "field_msb": 7,
21640 "field_lsb": 0,
21641 "field_width": 1,
21642 "phv_msb": 7,
21643 "phv_lsb": 0,
21644 "is_compiler_generated": false,
21645 "is_pov": false
21646 }
21647 ],
21648 "word_bit_width": 8
21649 },
21650 {
21651 "phv_number": 66,
21652 "records": [
21653 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080021654 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021655 "field_name": "mpls.label",
21656 "field_msb": 3,
21657 "field_lsb": 0,
21658 "field_width": 2,
21659 "phv_msb": 7,
21660 "phv_lsb": 4,
21661 "is_compiler_generated": false,
21662 "is_pov": false
21663 },
21664 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080021665 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021666 "field_name": "mpls.tc",
21667 "field_msb": 7,
21668 "field_lsb": 0,
21669 "field_width": 1,
21670 "phv_msb": 3,
21671 "phv_lsb": 1,
21672 "is_compiler_generated": false,
21673 "is_pov": false
21674 },
21675 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080021676 "position_offset": 89,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021677 "field_name": "mpls.bos",
21678 "field_msb": 7,
21679 "field_lsb": 0,
21680 "field_width": 1,
21681 "phv_msb": 0,
21682 "phv_lsb": 0,
21683 "is_compiler_generated": false,
21684 "is_pov": false
21685 }
21686 ],
21687 "word_bit_width": 8
21688 },
21689 {
21690 "phv_number": 67,
21691 "records": [
21692 {
21693 "position_offset": 1,
21694 "field_name": "$bridged_metadata_indicator",
21695 "field_msb": 7,
21696 "field_lsb": 0,
21697 "field_width": 1,
21698 "phv_msb": 7,
21699 "phv_lsb": 0,
21700 "is_compiler_generated": false,
21701 "is_pov": false
21702 }
21703 ],
21704 "word_bit_width": 8
21705 },
21706 {
21707 "phv_number": 68,
21708 "records": [
21709 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080021710 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021711 "field_name": "ipv4.ttl",
21712 "field_msb": 7,
21713 "field_lsb": 0,
21714 "field_width": 1,
21715 "phv_msb": 7,
21716 "phv_lsb": 0,
21717 "is_compiler_generated": false,
21718 "is_pov": false
21719 }
21720 ],
21721 "word_bit_width": 8
21722 },
21723 {
21724 "phv_number": 69,
21725 "records": [
21726 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080021727 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021728 "field_name": "mpls.ttl",
21729 "field_msb": 7,
21730 "field_lsb": 0,
21731 "field_width": 1,
21732 "phv_msb": 7,
21733 "phv_lsb": 0,
21734 "is_compiler_generated": false,
21735 "is_pov": false
21736 }
21737 ],
21738 "word_bit_width": 8
21739 },
21740 {
21741 "phv_number": 70,
21742 "records": [
21743 {
21744 "position_offset": 28,
21745 "field_name": "fabric_metadata.ip_proto",
21746 "field_msb": 7,
21747 "field_lsb": 0,
21748 "field_width": 1,
21749 "phv_msb": 7,
21750 "phv_lsb": 0,
21751 "is_compiler_generated": false,
21752 "is_pov": false
21753 }
21754 ],
21755 "word_bit_width": 8
21756 },
21757 {
21758 "phv_number": 71,
21759 "records": [
21760 {
21761 "position_offset": 0,
21762 "field_name": "$always_deparse",
21763 "field_msb": 7,
21764 "field_lsb": 0,
21765 "field_width": 1,
21766 "phv_msb": 0,
21767 "phv_lsb": 0,
21768 "is_compiler_generated": false,
21769 "is_pov": false
21770 },
21771 {
21772 "position_offset": 40,
21773 "field_name": "hasExited_0",
21774 "field_msb": 7,
21775 "field_lsb": 0,
21776 "field_width": 1,
21777 "phv_msb": 4,
21778 "phv_lsb": 4,
21779 "is_compiler_generated": false,
21780 "is_pov": false
21781 },
21782 {
21783 "position_offset": 0,
21784 "field_name": "POV",
21785 "field_msb": 7,
21786 "field_lsb": 0,
21787 "field_width": 0,
21788 "phv_msb": 1,
21789 "phv_lsb": 1,
21790 "is_compiler_generated": false,
21791 "is_pov": true,
21792 "pov_headers": [
21793 {
21794 "bit_index": 1,
21795 "position_offset": 2,
21796 "header_name": "arp",
21797 "hidden": false
21798 }
21799 ]
21800 },
21801 {
21802 "position_offset": 0,
21803 "field_name": "POV",
21804 "field_msb": 7,
21805 "field_lsb": 0,
21806 "field_width": 0,
21807 "phv_msb": 2,
21808 "phv_lsb": 2,
21809 "is_compiler_generated": false,
21810 "is_pov": true,
21811 "pov_headers": [
21812 {
21813 "bit_index": 2,
21814 "position_offset": 11,
21815 "header_name": "ethernet",
21816 "hidden": false
21817 }
21818 ]
21819 },
21820 {
21821 "position_offset": 0,
21822 "field_name": "POV",
21823 "field_msb": 7,
21824 "field_lsb": 0,
21825 "field_width": 0,
21826 "phv_msb": 3,
21827 "phv_lsb": 3,
21828 "is_compiler_generated": false,
21829 "is_pov": true,
21830 "pov_headers": [
21831 {
21832 "bit_index": 3,
21833 "position_offset": 41,
21834 "header_name": "icmp",
21835 "hidden": false
21836 }
21837 ]
21838 },
21839 {
21840 "position_offset": 0,
21841 "field_name": "POV",
21842 "field_msb": 7,
21843 "field_lsb": 0,
21844 "field_width": 0,
21845 "phv_msb": 5,
21846 "phv_lsb": 5,
21847 "is_compiler_generated": false,
21848 "is_pov": true,
21849 "pov_headers": [
21850 {
21851 "bit_index": 5,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080021852 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021853 "header_name": "ipv4",
21854 "hidden": false
21855 }
21856 ]
21857 },
21858 {
21859 "position_offset": 0,
21860 "field_name": "POV",
21861 "field_msb": 7,
21862 "field_lsb": 0,
21863 "field_width": 0,
21864 "phv_msb": 6,
21865 "phv_lsb": 6,
21866 "is_compiler_generated": false,
21867 "is_pov": true,
21868 "pov_headers": [
21869 {
21870 "bit_index": 6,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080021871 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021872 "header_name": "mpls",
21873 "hidden": false
21874 }
21875 ]
21876 },
21877 {
21878 "position_offset": 0,
21879 "field_name": "POV",
21880 "field_msb": 7,
21881 "field_lsb": 0,
21882 "field_width": 0,
21883 "phv_msb": 7,
21884 "phv_lsb": 7,
21885 "is_compiler_generated": false,
21886 "is_pov": true,
21887 "pov_headers": [
21888 {
21889 "bit_index": 7,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080021890 "position_offset": 94,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021891 "header_name": "packet_out",
21892 "hidden": false
21893 }
21894 ]
21895 }
21896 ],
21897 "word_bit_width": 8
21898 },
21899 {
21900 "phv_number": 72,
21901 "records": [
21902 {
21903 "position_offset": 39,
21904 "field_name": "fabric_metadata.pop_vlan_at_egress",
21905 "field_msb": 7,
21906 "field_lsb": 0,
21907 "field_width": 1,
21908 "phv_msb": 3,
21909 "phv_lsb": 3,
21910 "is_compiler_generated": false,
21911 "is_pov": false
21912 },
21913 {
21914 "position_offset": 0,
21915 "field_name": "POV",
21916 "field_msb": 7,
21917 "field_lsb": 0,
21918 "field_width": 0,
21919 "phv_msb": 0,
21920 "phv_lsb": 0,
21921 "is_compiler_generated": false,
21922 "is_pov": true,
21923 "pov_headers": [
21924 {
21925 "bit_index": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080021926 "position_offset": 97,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021927 "header_name": "tcp",
21928 "hidden": false
21929 }
21930 ]
21931 },
21932 {
21933 "position_offset": 0,
21934 "field_name": "POV",
21935 "field_msb": 7,
21936 "field_lsb": 0,
21937 "field_width": 0,
21938 "phv_msb": 1,
21939 "phv_lsb": 1,
21940 "is_compiler_generated": false,
21941 "is_pov": true,
21942 "pov_headers": [
21943 {
21944 "bit_index": 1,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080021945 "position_offset": 124,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021946 "header_name": "udp",
21947 "hidden": false
21948 }
21949 ]
21950 },
21951 {
21952 "position_offset": 0,
21953 "field_name": "POV",
21954 "field_msb": 7,
21955 "field_lsb": 0,
21956 "field_width": 0,
21957 "phv_msb": 2,
21958 "phv_lsb": 2,
21959 "is_compiler_generated": false,
21960 "is_pov": true,
21961 "pov_headers": [
21962 {
21963 "bit_index": 2,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080021964 "position_offset": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021965 "header_name": "vlan_tag",
21966 "hidden": false
21967 }
21968 ]
21969 }
21970 ],
21971 "word_bit_width": 8
21972 },
21973 {
21974 "phv_number": 128,
21975 "records": [
21976 {
21977 "position_offset": 62,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080021978 "field_name": "ig_intr_md_for_tm.mcast_grp_a",
21979 "field_msb": 15,
21980 "field_lsb": 0,
21981 "field_width": 2,
21982 "phv_msb": 15,
21983 "phv_lsb": 0,
21984 "is_compiler_generated": false,
21985 "is_pov": false
21986 }
21987 ],
21988 "word_bit_width": 16
21989 },
21990 {
21991 "phv_number": 129,
21992 "records": [
21993 {
21994 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021995 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
21996 "field_msb": 15,
21997 "field_lsb": 0,
21998 "field_width": 2,
21999 "phv_msb": 8,
22000 "phv_lsb": 0,
22001 "is_compiler_generated": false,
22002 "is_pov": false
22003 }
22004 ],
22005 "word_bit_width": 16
22006 },
22007 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022008 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022009 "records": [
22010 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022011 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022012 "field_name": "packet_out.egress_port",
22013 "field_msb": 15,
22014 "field_lsb": 0,
22015 "field_width": 2,
22016 "phv_msb": 15,
22017 "phv_lsb": 7,
22018 "is_compiler_generated": false,
22019 "is_pov": false
22020 },
22021 {
22022 "position_offset": 26,
22023 "field_name": "fabric_metadata.fwd_type",
22024 "field_msb": 15,
22025 "field_lsb": 0,
22026 "field_width": 2,
22027 "phv_msb": 5,
22028 "phv_lsb": 3,
22029 "is_compiler_generated": false,
22030 "is_pov": false
22031 },
22032 {
22033 "position_offset": 60,
22034 "field_name": "ig_intr_md_for_tm.drop_ctl",
22035 "field_msb": 15,
22036 "field_lsb": 0,
22037 "field_width": 2,
22038 "phv_msb": 2,
22039 "phv_lsb": 0,
22040 "is_compiler_generated": false,
22041 "is_pov": false
22042 }
22043 ],
22044 "word_bit_width": 16
22045 },
22046 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022047 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022048 "records": [
22049 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022050 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022051 "field_name": "vlan_tag.pri",
22052 "field_msb": 15,
22053 "field_lsb": 0,
22054 "field_width": 2,
22055 "phv_msb": 15,
22056 "phv_lsb": 13,
22057 "is_compiler_generated": false,
22058 "is_pov": false
22059 },
22060 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022061 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022062 "field_name": "vlan_tag.cfi",
22063 "field_msb": 15,
22064 "field_lsb": 0,
22065 "field_width": 2,
22066 "phv_msb": 12,
22067 "phv_lsb": 12,
22068 "is_compiler_generated": false,
22069 "is_pov": false
22070 },
22071 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022072 "position_offset": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022073 "field_name": "vlan_tag.vlan_id",
22074 "field_msb": 15,
22075 "field_lsb": 0,
22076 "field_width": 2,
22077 "phv_msb": 11,
22078 "phv_lsb": 0,
22079 "is_compiler_generated": false,
22080 "is_pov": false
22081 }
22082 ],
22083 "word_bit_width": 16
22084 },
22085 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022086 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022087 "records": [
22088 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022089 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022090 "field_name": "mpls.label",
22091 "field_msb": 19,
22092 "field_lsb": 4,
22093 "field_width": 2,
22094 "phv_msb": 15,
22095 "phv_lsb": 0,
22096 "is_compiler_generated": false,
22097 "is_pov": false
22098 }
22099 ],
22100 "word_bit_width": 16
22101 },
22102 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022103 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022104 "records": [
22105 {
22106 "position_offset": 58,
22107 "field_name": "ig_intr_md.ingress_port",
22108 "field_msb": 15,
22109 "field_lsb": 0,
22110 "field_width": 2,
22111 "phv_msb": 8,
22112 "phv_lsb": 0,
22113 "is_compiler_generated": false,
22114 "is_pov": false
22115 }
22116 ],
22117 "word_bit_width": 16
22118 },
22119 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022120 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022121 "records": [
22122 {
22123 "position_offset": 31,
22124 "field_name": "fabric_metadata.l4_src_port",
22125 "field_msb": 15,
22126 "field_lsb": 0,
22127 "field_width": 2,
22128 "phv_msb": 15,
22129 "phv_lsb": 0,
22130 "is_compiler_generated": false,
22131 "is_pov": false
22132 }
22133 ],
22134 "word_bit_width": 16
22135 },
22136 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022137 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022138 "records": [
22139 {
22140 "position_offset": 18,
22141 "field_name": "ethernet.ether_type",
22142 "field_msb": 15,
22143 "field_lsb": 0,
22144 "field_width": 2,
22145 "phv_msb": 15,
22146 "phv_lsb": 0,
22147 "is_compiler_generated": false,
22148 "is_pov": false
22149 }
22150 ],
22151 "word_bit_width": 16
22152 },
22153 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022154 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022155 "records": [
22156 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022157 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022158 "field_name": "vlan_tag.ether_type",
22159 "field_msb": 15,
22160 "field_lsb": 0,
22161 "field_width": 2,
22162 "phv_msb": 15,
22163 "phv_lsb": 0,
22164 "is_compiler_generated": false,
22165 "is_pov": false
22166 }
22167 ],
22168 "word_bit_width": 16
22169 },
22170 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022171 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022172 "records": [
22173 {
22174 "position_offset": 12,
22175 "field_name": "ethernet.dst_addr",
22176 "field_msb": 15,
22177 "field_lsb": 0,
22178 "field_width": 6,
22179 "phv_msb": 15,
22180 "phv_lsb": 0,
22181 "is_compiler_generated": false,
22182 "is_pov": false
22183 }
22184 ],
22185 "word_bit_width": 16
22186 },
22187 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022188 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022189 "records": [
22190 {
22191 "position_offset": 20,
22192 "field_name": "ethernet.src_addr",
22193 "field_msb": 15,
22194 "field_lsb": 0,
22195 "field_width": 6,
22196 "phv_msb": 15,
22197 "phv_lsb": 0,
22198 "is_compiler_generated": false,
22199 "is_pov": false
22200 }
22201 ],
22202 "word_bit_width": 16
22203 },
22204 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022205 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022206 "records": [
22207 {
22208 "position_offset": 29,
22209 "field_name": "fabric_metadata.l4_dst_port",
22210 "field_msb": 15,
22211 "field_lsb": 0,
22212 "field_width": 2,
22213 "phv_msb": 15,
22214 "phv_lsb": 0,
22215 "is_compiler_generated": false,
22216 "is_pov": false
22217 }
22218 ],
22219 "word_bit_width": 16
22220 },
22221 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022222 "phv_number": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022223 "records": [
22224 {
22225 "position_offset": 37,
22226 "field_name": "fabric_metadata.original_ether_type",
22227 "field_msb": 15,
22228 "field_lsb": 0,
22229 "field_width": 2,
22230 "phv_msb": 15,
22231 "phv_lsb": 0,
22232 "is_compiler_generated": false,
22233 "is_pov": false
22234 }
22235 ],
22236 "word_bit_width": 16
22237 },
22238 {
22239 "phv_number": 260,
22240 "records": [
22241 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022242 "position_offset": 114,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022243 "field_name": "tcp.seq_no",
22244 "field_msb": 31,
22245 "field_lsb": 0,
22246 "field_width": 4,
22247 "phv_msb": 31,
22248 "phv_lsb": 0,
22249 "is_compiler_generated": false,
22250 "is_pov": false
22251 },
22252 {
22253 "position_offset": 50,
22254 "field_name": "icmp.timestamp",
22255 "field_msb": 31,
22256 "field_lsb": 0,
22257 "field_width": 8,
22258 "phv_msb": 31,
22259 "phv_lsb": 0,
22260 "is_compiler_generated": false,
22261 "is_pov": false
22262 }
22263 ],
22264 "word_bit_width": 32
22265 },
22266 {
22267 "phv_number": 261,
22268 "records": [
22269 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022270 "position_offset": 98,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022271 "field_name": "tcp.ack_no",
22272 "field_msb": 31,
22273 "field_lsb": 0,
22274 "field_width": 4,
22275 "phv_msb": 31,
22276 "phv_lsb": 0,
22277 "is_compiler_generated": false,
22278 "is_pov": false
22279 },
22280 {
22281 "position_offset": 50,
22282 "field_name": "icmp.timestamp",
22283 "field_msb": 63,
22284 "field_lsb": 32,
22285 "field_width": 8,
22286 "phv_msb": 31,
22287 "phv_lsb": 0,
22288 "is_compiler_generated": false,
22289 "is_pov": false
22290 }
22291 ],
22292 "word_bit_width": 32
22293 },
22294 {
22295 "phv_number": 292,
22296 "records": [
22297 {
22298 "position_offset": 3,
22299 "field_name": "arp.hw_addr_len",
22300 "field_msb": 7,
22301 "field_lsb": 0,
22302 "field_width": 1,
22303 "phv_msb": 7,
22304 "phv_lsb": 0,
22305 "is_compiler_generated": false,
22306 "is_pov": false
22307 },
22308 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022309 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022310 "field_name": "ipv4.version",
22311 "field_msb": 7,
22312 "field_lsb": 0,
22313 "field_width": 1,
22314 "phv_msb": 7,
22315 "phv_lsb": 4,
22316 "is_compiler_generated": false,
22317 "is_pov": false
22318 },
22319 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022320 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022321 "field_name": "ipv4.ihl",
22322 "field_msb": 7,
22323 "field_lsb": 0,
22324 "field_width": 1,
22325 "phv_msb": 3,
22326 "phv_lsb": 0,
22327 "is_compiler_generated": false,
22328 "is_pov": false
22329 }
22330 ],
22331 "word_bit_width": 8
22332 },
22333 {
22334 "phv_number": 293,
22335 "records": [
22336 {
22337 "position_offset": 8,
22338 "field_name": "arp.proto_addr_len",
22339 "field_msb": 7,
22340 "field_lsb": 0,
22341 "field_width": 1,
22342 "phv_msb": 7,
22343 "phv_lsb": 0,
22344 "is_compiler_generated": false,
22345 "is_pov": false
22346 },
22347 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022348 "position_offset": 67,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022349 "field_name": "ipv4.diffserv",
22350 "field_msb": 7,
22351 "field_lsb": 0,
22352 "field_width": 1,
22353 "phv_msb": 7,
22354 "phv_lsb": 0,
22355 "is_compiler_generated": false,
22356 "is_pov": false
22357 }
22358 ],
22359 "word_bit_width": 8
22360 },
22361 {
22362 "phv_number": 294,
22363 "records": [
22364 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022365 "position_offset": 79,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022366 "field_name": "ipv4.protocol",
22367 "field_msb": 7,
22368 "field_lsb": 0,
22369 "field_width": 1,
22370 "phv_msb": 7,
22371 "phv_lsb": 0,
22372 "is_compiler_generated": false,
22373 "is_pov": false
22374 }
22375 ],
22376 "word_bit_width": 8
22377 },
22378 {
22379 "phv_number": 326,
22380 "records": [
22381 {
22382 "position_offset": 4,
22383 "field_name": "arp.hw_type",
22384 "field_msb": 15,
22385 "field_lsb": 0,
22386 "field_width": 2,
22387 "phv_msb": 15,
22388 "phv_lsb": 0,
22389 "is_compiler_generated": false,
22390 "is_pov": false
22391 },
22392 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022393 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022394 "field_name": "tcp.data_offset",
22395 "field_msb": 15,
22396 "field_lsb": 0,
22397 "field_width": 2,
22398 "phv_msb": 15,
22399 "phv_lsb": 12,
22400 "is_compiler_generated": false,
22401 "is_pov": false
22402 },
22403 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022404 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022405 "field_name": "tcp.res",
22406 "field_msb": 15,
22407 "field_lsb": 0,
22408 "field_width": 2,
22409 "phv_msb": 11,
22410 "phv_lsb": 9,
22411 "is_compiler_generated": false,
22412 "is_pov": false
22413 },
22414 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022415 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022416 "field_name": "tcp.ecn",
22417 "field_msb": 15,
22418 "field_lsb": 0,
22419 "field_width": 2,
22420 "phv_msb": 8,
22421 "phv_lsb": 6,
22422 "is_compiler_generated": false,
22423 "is_pov": false
22424 },
22425 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022426 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022427 "field_name": "tcp.ctrl",
22428 "field_msb": 15,
22429 "field_lsb": 0,
22430 "field_width": 2,
22431 "phv_msb": 5,
22432 "phv_lsb": 0,
22433 "is_compiler_generated": false,
22434 "is_pov": false
22435 },
22436 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022437 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022438 "field_name": "udp.src_port",
22439 "field_msb": 15,
22440 "field_lsb": 0,
22441 "field_width": 2,
22442 "phv_msb": 15,
22443 "phv_lsb": 0,
22444 "is_compiler_generated": false,
22445 "is_pov": false
22446 },
22447 {
22448 "position_offset": 42,
22449 "field_name": "icmp.checksum",
22450 "field_msb": 15,
22451 "field_lsb": 0,
22452 "field_width": 2,
22453 "phv_msb": 15,
22454 "phv_lsb": 0,
22455 "is_compiler_generated": false,
22456 "is_pov": false
22457 }
22458 ],
22459 "word_bit_width": 16
22460 },
22461 {
22462 "phv_number": 327,
22463 "records": [
22464 {
22465 "position_offset": 9,
22466 "field_name": "arp.proto_type",
22467 "field_msb": 15,
22468 "field_lsb": 0,
22469 "field_width": 2,
22470 "phv_msb": 15,
22471 "phv_lsb": 0,
22472 "is_compiler_generated": false,
22473 "is_pov": false
22474 },
22475 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022476 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022477 "field_name": "tcp.src_port",
22478 "field_msb": 15,
22479 "field_lsb": 0,
22480 "field_width": 2,
22481 "phv_msb": 15,
22482 "phv_lsb": 0,
22483 "is_compiler_generated": false,
22484 "is_pov": false
22485 },
22486 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022487 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022488 "field_name": "udp.dst_port",
22489 "field_msb": 15,
22490 "field_lsb": 0,
22491 "field_width": 2,
22492 "phv_msb": 15,
22493 "phv_lsb": 0,
22494 "is_compiler_generated": false,
22495 "is_pov": false
22496 },
22497 {
22498 "position_offset": 46,
22499 "field_name": "icmp.identifier",
22500 "field_msb": 15,
22501 "field_lsb": 0,
22502 "field_width": 2,
22503 "phv_msb": 15,
22504 "phv_lsb": 0,
22505 "is_compiler_generated": false,
22506 "is_pov": false
22507 }
22508 ],
22509 "word_bit_width": 16
22510 },
22511 {
22512 "phv_number": 328,
22513 "records": [
22514 {
22515 "position_offset": 6,
22516 "field_name": "arp.opcode",
22517 "field_msb": 15,
22518 "field_lsb": 0,
22519 "field_width": 2,
22520 "phv_msb": 15,
22521 "phv_lsb": 0,
22522 "is_compiler_generated": false,
22523 "is_pov": false
22524 },
22525 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022526 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022527 "field_name": "ipv4.flags",
22528 "field_msb": 15,
22529 "field_lsb": 0,
22530 "field_width": 2,
22531 "phv_msb": 15,
22532 "phv_lsb": 13,
22533 "is_compiler_generated": false,
22534 "is_pov": false
22535 },
22536 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022537 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022538 "field_name": "ipv4.frag_offset",
22539 "field_msb": 15,
22540 "field_lsb": 0,
22541 "field_width": 2,
22542 "phv_msb": 12,
22543 "phv_lsb": 0,
22544 "is_compiler_generated": false,
22545 "is_pov": false
22546 }
22547 ],
22548 "word_bit_width": 16
22549 },
22550 {
22551 "phv_number": 329,
22552 "records": [
22553 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022554 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022555 "field_name": "ipv4.total_len",
22556 "field_msb": 15,
22557 "field_lsb": 0,
22558 "field_width": 2,
22559 "phv_msb": 15,
22560 "phv_lsb": 0,
22561 "is_compiler_generated": false,
22562 "is_pov": false
22563 }
22564 ],
22565 "word_bit_width": 16
22566 },
22567 {
22568 "phv_number": 330,
22569 "records": [
22570 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022571 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022572 "field_name": "ipv4.identification",
22573 "field_msb": 15,
22574 "field_lsb": 0,
22575 "field_width": 2,
22576 "phv_msb": 15,
22577 "phv_lsb": 0,
22578 "is_compiler_generated": false,
22579 "is_pov": false
22580 }
22581 ],
22582 "word_bit_width": 16
22583 },
22584 {
22585 "phv_number": 331,
22586 "records": [
22587 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022588 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022589 "field_name": "tcp.dst_port",
22590 "field_msb": 15,
22591 "field_lsb": 0,
22592 "field_width": 2,
22593 "phv_msb": 15,
22594 "phv_lsb": 0,
22595 "is_compiler_generated": false,
22596 "is_pov": false
22597 },
22598 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022599 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022600 "field_name": "udp.len",
22601 "field_msb": 15,
22602 "field_lsb": 0,
22603 "field_width": 2,
22604 "phv_msb": 15,
22605 "phv_lsb": 0,
22606 "is_compiler_generated": false,
22607 "is_pov": false
22608 },
22609 {
22610 "position_offset": 48,
22611 "field_name": "icmp.sequence_number",
22612 "field_msb": 15,
22613 "field_lsb": 0,
22614 "field_width": 2,
22615 "phv_msb": 15,
22616 "phv_lsb": 0,
22617 "is_compiler_generated": false,
22618 "is_pov": false
22619 }
22620 ],
22621 "word_bit_width": 16
22622 },
22623 {
22624 "phv_number": 338,
22625 "records": [
22626 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022627 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022628 "field_name": "tcp.window",
22629 "field_msb": 15,
22630 "field_lsb": 0,
22631 "field_width": 2,
22632 "phv_msb": 15,
22633 "phv_lsb": 0,
22634 "is_compiler_generated": false,
22635 "is_pov": false
22636 },
22637 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022638 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022639 "field_name": "udp.checksum",
22640 "field_msb": 15,
22641 "field_lsb": 0,
22642 "field_width": 2,
22643 "phv_msb": 15,
22644 "phv_lsb": 0,
22645 "is_compiler_generated": false,
22646 "is_pov": false
22647 }
22648 ],
22649 "word_bit_width": 16
22650 },
22651 {
22652 "phv_number": 339,
22653 "records": [
22654 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022655 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022656 "field_name": "tcp.checksum",
22657 "field_msb": 15,
22658 "field_lsb": 0,
22659 "field_width": 2,
22660 "phv_msb": 15,
22661 "phv_lsb": 0,
22662 "is_compiler_generated": false,
22663 "is_pov": false
22664 }
22665 ],
22666 "word_bit_width": 16
22667 },
22668 {
22669 "phv_number": 340,
22670 "records": [
22671 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080022672 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022673 "field_name": "tcp.urgent_ptr",
22674 "field_msb": 15,
22675 "field_lsb": 0,
22676 "field_width": 2,
22677 "phv_msb": 15,
22678 "phv_lsb": 0,
22679 "is_compiler_generated": false,
22680 "is_pov": false
22681 }
22682 ],
22683 "word_bit_width": 16
22684 }
22685 ],
22686 "egress": [
22687 {
22688 "phv_number": 80,
22689 "records": [
22690 {
22691 "position_offset": 0,
22692 "field_name": "POV",
22693 "field_msb": 7,
22694 "field_lsb": 0,
22695 "field_width": 0,
22696 "phv_msb": 0,
22697 "phv_lsb": 0,
22698 "is_compiler_generated": false,
22699 "is_pov": true,
22700 "pov_headers": [
22701 {
22702 "bit_index": 0,
22703 "position_offset": 0,
22704 "header_name": "arp",
22705 "hidden": false
22706 }
22707 ]
22708 },
22709 {
22710 "position_offset": 0,
22711 "field_name": "POV",
22712 "field_msb": 7,
22713 "field_lsb": 0,
22714 "field_width": 0,
22715 "phv_msb": 2,
22716 "phv_lsb": 2,
22717 "is_compiler_generated": false,
22718 "is_pov": true,
22719 "pov_headers": [
22720 {
22721 "bit_index": 2,
22722 "position_offset": 11,
22723 "header_name": "ethernet",
22724 "hidden": false
22725 }
22726 ]
22727 },
22728 {
22729 "position_offset": 0,
22730 "field_name": "POV",
22731 "field_msb": 7,
22732 "field_lsb": 0,
22733 "field_width": 0,
22734 "phv_msb": 3,
22735 "phv_lsb": 3,
22736 "is_compiler_generated": false,
22737 "is_pov": true,
22738 "pov_headers": [
22739 {
22740 "bit_index": 3,
22741 "position_offset": 26,
22742 "header_name": "icmp",
22743 "hidden": false
22744 }
22745 ]
22746 },
22747 {
22748 "position_offset": 0,
22749 "field_name": "POV",
22750 "field_msb": 7,
22751 "field_lsb": 0,
22752 "field_width": 0,
22753 "phv_msb": 5,
22754 "phv_lsb": 5,
22755 "is_compiler_generated": false,
22756 "is_pov": true,
22757 "pov_headers": [
22758 {
22759 "bit_index": 5,
22760 "position_offset": 45,
22761 "header_name": "ipv4",
22762 "hidden": false
22763 }
22764 ]
22765 },
22766 {
22767 "position_offset": 0,
22768 "field_name": "POV",
22769 "field_msb": 7,
22770 "field_lsb": 0,
22771 "field_width": 0,
22772 "phv_msb": 6,
22773 "phv_lsb": 6,
22774 "is_compiler_generated": false,
22775 "is_pov": true,
22776 "pov_headers": [
22777 {
22778 "bit_index": 6,
22779 "position_offset": 67,
22780 "header_name": "mpls",
22781 "hidden": false
22782 }
22783 ]
22784 },
22785 {
22786 "position_offset": 0,
22787 "field_name": "POV",
22788 "field_msb": 7,
22789 "field_lsb": 0,
22790 "field_width": 0,
22791 "phv_msb": 7,
22792 "phv_lsb": 7,
22793 "is_compiler_generated": false,
22794 "is_pov": true,
22795 "pov_headers": [
22796 {
22797 "bit_index": 7,
22798 "position_offset": 73,
22799 "header_name": "packet_in",
22800 "hidden": false
22801 }
22802 ]
22803 }
22804 ],
22805 "word_bit_width": 8
22806 },
22807 {
22808 "phv_number": 81,
22809 "records": [
22810 {
22811 "position_offset": 0,
22812 "field_name": "POV",
22813 "field_msb": 7,
22814 "field_lsb": 0,
22815 "field_width": 0,
22816 "phv_msb": 0,
22817 "phv_lsb": 0,
22818 "is_compiler_generated": false,
22819 "is_pov": true,
22820 "pov_headers": [
22821 {
22822 "bit_index": 0,
22823 "position_offset": 78,
22824 "header_name": "tcp",
22825 "hidden": false
22826 }
22827 ]
22828 },
22829 {
22830 "position_offset": 0,
22831 "field_name": "POV",
22832 "field_msb": 7,
22833 "field_lsb": 0,
22834 "field_width": 0,
22835 "phv_msb": 1,
22836 "phv_lsb": 1,
22837 "is_compiler_generated": false,
22838 "is_pov": true,
22839 "pov_headers": [
22840 {
22841 "bit_index": 1,
22842 "position_offset": 105,
22843 "header_name": "udp",
22844 "hidden": false
22845 }
22846 ]
22847 },
22848 {
22849 "position_offset": 0,
22850 "field_name": "POV",
22851 "field_msb": 7,
22852 "field_lsb": 0,
22853 "field_width": 0,
22854 "phv_msb": 2,
22855 "phv_lsb": 2,
22856 "is_compiler_generated": false,
22857 "is_pov": true,
22858 "pov_headers": [
22859 {
22860 "bit_index": 2,
22861 "position_offset": 114,
22862 "header_name": "vlan_tag",
22863 "hidden": false
22864 }
22865 ]
22866 }
22867 ],
22868 "word_bit_width": 8
22869 },
22870 {
22871 "phv_number": 144,
22872 "records": [
22873 {
22874 "position_offset": 9,
22875 "field_name": "eg_intr_md.egress_port",
22876 "field_msb": 15,
22877 "field_lsb": 0,
22878 "field_width": 2,
22879 "phv_msb": 8,
22880 "phv_lsb": 0,
22881 "is_compiler_generated": false,
22882 "is_pov": false
22883 }
22884 ],
22885 "word_bit_width": 16
22886 },
22887 {
22888 "phv_number": 145,
22889 "records": [
22890 {
22891 "position_offset": 76,
22892 "field_name": "packet_in.ingress_port",
22893 "field_msb": 15,
22894 "field_lsb": 0,
22895 "field_width": 2,
22896 "phv_msb": 15,
22897 "phv_lsb": 7,
22898 "is_compiler_generated": false,
22899 "is_pov": false
22900 },
22901 {
22902 "position_offset": 74,
22903 "field_name": "packet_in._pad",
22904 "field_msb": 15,
22905 "field_lsb": 0,
22906 "field_width": 2,
22907 "phv_msb": 6,
22908 "phv_lsb": 0,
22909 "is_compiler_generated": false,
22910 "is_pov": false
22911 }
22912 ],
22913 "word_bit_width": 16
22914 },
22915 {
22916 "phv_number": 146,
22917 "records": [
22918 {
22919 "position_offset": 43,
22920 "field_name": "ig_intr_md.ingress_port",
22921 "field_msb": 15,
22922 "field_lsb": 0,
22923 "field_width": 2,
22924 "phv_msb": 8,
22925 "phv_lsb": 0,
22926 "is_compiler_generated": false,
22927 "is_pov": false
22928 }
22929 ],
22930 "word_bit_width": 16
22931 },
22932 {
22933 "phv_number": 256,
22934 "records": [
22935 {
22936 "position_offset": 12,
22937 "field_name": "ethernet.dst_addr",
22938 "field_msb": 47,
22939 "field_lsb": 16,
22940 "field_width": 6,
22941 "phv_msb": 31,
22942 "phv_lsb": 0,
22943 "is_compiler_generated": false,
22944 "is_pov": false
22945 }
22946 ],
22947 "word_bit_width": 32
22948 },
22949 {
22950 "phv_number": 257,
22951 "records": [
22952 {
22953 "position_offset": 20,
22954 "field_name": "ethernet.src_addr",
22955 "field_msb": 47,
22956 "field_lsb": 16,
22957 "field_width": 6,
22958 "phv_msb": 31,
22959 "phv_lsb": 0,
22960 "is_compiler_generated": false,
22961 "is_pov": false
22962 }
22963 ],
22964 "word_bit_width": 32
22965 },
22966 {
22967 "phv_number": 258,
22968 "records": [
22969 {
22970 "position_offset": 59,
22971 "field_name": "ipv4.src_addr",
22972 "field_msb": 31,
22973 "field_lsb": 0,
22974 "field_width": 4,
22975 "phv_msb": 31,
22976 "phv_lsb": 0,
22977 "is_compiler_generated": false,
22978 "is_pov": false
22979 }
22980 ],
22981 "word_bit_width": 32
22982 },
22983 {
22984 "phv_number": 259,
22985 "records": [
22986 {
22987 "position_offset": 47,
22988 "field_name": "ipv4.dst_addr",
22989 "field_msb": 31,
22990 "field_lsb": 0,
22991 "field_width": 4,
22992 "phv_msb": 31,
22993 "phv_lsb": 0,
22994 "is_compiler_generated": false,
22995 "is_pov": false
22996 }
22997 ],
22998 "word_bit_width": 32
22999 },
23000 {
23001 "phv_number": 264,
23002 "records": [
23003 {
23004 "position_offset": 95,
23005 "field_name": "tcp.seq_no",
23006 "field_msb": 31,
23007 "field_lsb": 0,
23008 "field_width": 4,
23009 "phv_msb": 31,
23010 "phv_lsb": 0,
23011 "is_compiler_generated": false,
23012 "is_pov": false
23013 },
23014 {
23015 "position_offset": 35,
23016 "field_name": "icmp.timestamp",
23017 "field_msb": 31,
23018 "field_lsb": 0,
23019 "field_width": 8,
23020 "phv_msb": 31,
23021 "phv_lsb": 0,
23022 "is_compiler_generated": false,
23023 "is_pov": false
23024 }
23025 ],
23026 "word_bit_width": 32
23027 },
23028 {
23029 "phv_number": 265,
23030 "records": [
23031 {
23032 "position_offset": 79,
23033 "field_name": "tcp.ack_no",
23034 "field_msb": 31,
23035 "field_lsb": 0,
23036 "field_width": 4,
23037 "phv_msb": 31,
23038 "phv_lsb": 0,
23039 "is_compiler_generated": false,
23040 "is_pov": false
23041 },
23042 {
23043 "position_offset": 35,
23044 "field_name": "icmp.timestamp",
23045 "field_msb": 63,
23046 "field_lsb": 32,
23047 "field_width": 8,
23048 "phv_msb": 31,
23049 "phv_lsb": 0,
23050 "is_compiler_generated": false,
23051 "is_pov": false
23052 }
23053 ],
23054 "word_bit_width": 32
23055 },
23056 {
23057 "phv_number": 288,
23058 "records": [
23059 {
23060 "position_offset": 1,
23061 "field_name": "arp.hw_addr_len",
23062 "field_msb": 7,
23063 "field_lsb": 0,
23064 "field_width": 1,
23065 "phv_msb": 7,
23066 "phv_lsb": 0,
23067 "is_compiler_generated": false,
23068 "is_pov": false
23069 },
23070 {
23071 "position_offset": 66,
23072 "field_name": "ipv4.version",
23073 "field_msb": 7,
23074 "field_lsb": 0,
23075 "field_width": 1,
23076 "phv_msb": 7,
23077 "phv_lsb": 4,
23078 "is_compiler_generated": false,
23079 "is_pov": false
23080 },
23081 {
23082 "position_offset": 57,
23083 "field_name": "ipv4.ihl",
23084 "field_msb": 7,
23085 "field_lsb": 0,
23086 "field_width": 1,
23087 "phv_msb": 3,
23088 "phv_lsb": 0,
23089 "is_compiler_generated": false,
23090 "is_pov": false
23091 }
23092 ],
23093 "word_bit_width": 8
23094 },
23095 {
23096 "phv_number": 289,
23097 "records": [
23098 {
23099 "position_offset": 6,
23100 "field_name": "arp.proto_addr_len",
23101 "field_msb": 7,
23102 "field_lsb": 0,
23103 "field_width": 1,
23104 "phv_msb": 7,
23105 "phv_lsb": 0,
23106 "is_compiler_generated": false,
23107 "is_pov": false
23108 },
23109 {
23110 "position_offset": 30,
23111 "field_name": "icmp.icmp_type",
23112 "field_msb": 7,
23113 "field_lsb": 0,
23114 "field_width": 1,
23115 "phv_msb": 7,
23116 "phv_lsb": 0,
23117 "is_compiler_generated": false,
23118 "is_pov": false
23119 }
23120 ],
23121 "word_bit_width": 8
23122 },
23123 {
23124 "phv_number": 290,
23125 "records": [
23126 {
23127 "position_offset": 46,
23128 "field_name": "ipv4.diffserv",
23129 "field_msb": 7,
23130 "field_lsb": 0,
23131 "field_width": 1,
23132 "phv_msb": 7,
23133 "phv_lsb": 0,
23134 "is_compiler_generated": false,
23135 "is_pov": false
23136 }
23137 ],
23138 "word_bit_width": 8
23139 },
23140 {
23141 "phv_number": 291,
23142 "records": [
23143 {
23144 "position_offset": 29,
23145 "field_name": "icmp.icmp_code",
23146 "field_msb": 7,
23147 "field_lsb": 0,
23148 "field_width": 1,
23149 "phv_msb": 7,
23150 "phv_lsb": 0,
23151 "is_compiler_generated": false,
23152 "is_pov": false
23153 }
23154 ],
23155 "word_bit_width": 8
23156 },
23157 {
23158 "phv_number": 296,
23159 "records": [
23160 {
23161 "position_offset": 69,
23162 "field_name": "mpls.label",
23163 "field_msb": 3,
23164 "field_lsb": 0,
23165 "field_width": 2,
23166 "phv_msb": 7,
23167 "phv_lsb": 4,
23168 "is_compiler_generated": false,
23169 "is_pov": false
23170 },
23171 {
23172 "position_offset": 71,
23173 "field_name": "mpls.tc",
23174 "field_msb": 7,
23175 "field_lsb": 0,
23176 "field_width": 1,
23177 "phv_msb": 3,
23178 "phv_lsb": 1,
23179 "is_compiler_generated": false,
23180 "is_pov": false
23181 },
23182 {
23183 "position_offset": 68,
23184 "field_name": "mpls.bos",
23185 "field_msb": 7,
23186 "field_lsb": 0,
23187 "field_width": 1,
23188 "phv_msb": 0,
23189 "phv_lsb": 0,
23190 "is_compiler_generated": false,
23191 "is_pov": false
23192 }
23193 ],
23194 "word_bit_width": 8
23195 },
23196 {
23197 "phv_number": 297,
23198 "records": [
23199 {
23200 "position_offset": 65,
23201 "field_name": "ipv4.ttl",
23202 "field_msb": 7,
23203 "field_lsb": 0,
23204 "field_width": 1,
23205 "phv_msb": 7,
23206 "phv_lsb": 0,
23207 "is_compiler_generated": false,
23208 "is_pov": false
23209 }
23210 ],
23211 "word_bit_width": 8
23212 },
23213 {
23214 "phv_number": 298,
23215 "records": [
23216 {
23217 "position_offset": 58,
23218 "field_name": "ipv4.protocol",
23219 "field_msb": 7,
23220 "field_lsb": 0,
23221 "field_width": 1,
23222 "phv_msb": 7,
23223 "phv_lsb": 0,
23224 "is_compiler_generated": false,
23225 "is_pov": false
23226 }
23227 ],
23228 "word_bit_width": 8
23229 },
23230 {
23231 "phv_number": 299,
23232 "records": [
23233 {
23234 "position_offset": 72,
23235 "field_name": "mpls.ttl",
23236 "field_msb": 7,
23237 "field_lsb": 0,
23238 "field_width": 1,
23239 "phv_msb": 7,
23240 "phv_lsb": 0,
23241 "is_compiler_generated": false,
23242 "is_pov": false
23243 }
23244 ],
23245 "word_bit_width": 8
23246 },
23247 {
23248 "phv_number": 320,
23249 "records": [
23250 {
23251 "position_offset": 119,
23252 "field_name": "vlan_tag.pri",
23253 "field_msb": 15,
23254 "field_lsb": 0,
23255 "field_width": 2,
23256 "phv_msb": 15,
23257 "phv_lsb": 13,
23258 "is_compiler_generated": false,
23259 "is_pov": false
23260 },
23261 {
23262 "position_offset": 115,
23263 "field_name": "vlan_tag.cfi",
23264 "field_msb": 15,
23265 "field_lsb": 0,
23266 "field_width": 2,
23267 "phv_msb": 12,
23268 "phv_lsb": 12,
23269 "is_compiler_generated": false,
23270 "is_pov": false
23271 },
23272 {
23273 "position_offset": 121,
23274 "field_name": "vlan_tag.vlan_id",
23275 "field_msb": 15,
23276 "field_lsb": 0,
23277 "field_width": 2,
23278 "phv_msb": 11,
23279 "phv_lsb": 0,
23280 "is_compiler_generated": false,
23281 "is_pov": false
23282 }
23283 ],
23284 "word_bit_width": 16
23285 },
23286 {
23287 "phv_number": 321,
23288 "records": [
23289 {
23290 "position_offset": 2,
23291 "field_name": "arp.hw_type",
23292 "field_msb": 15,
23293 "field_lsb": 0,
23294 "field_width": 2,
23295 "phv_msb": 15,
23296 "phv_lsb": 0,
23297 "is_compiler_generated": false,
23298 "is_pov": false
23299 },
23300 {
23301 "position_offset": 99,
23302 "field_name": "tcp.src_port",
23303 "field_msb": 15,
23304 "field_lsb": 0,
23305 "field_width": 2,
23306 "phv_msb": 15,
23307 "phv_lsb": 0,
23308 "is_compiler_generated": false,
23309 "is_pov": false
23310 },
23311 {
23312 "position_offset": 112,
23313 "field_name": "udp.src_port",
23314 "field_msb": 15,
23315 "field_lsb": 0,
23316 "field_width": 2,
23317 "phv_msb": 15,
23318 "phv_lsb": 0,
23319 "is_compiler_generated": false,
23320 "is_pov": false
23321 },
23322 {
23323 "position_offset": 27,
23324 "field_name": "icmp.checksum",
23325 "field_msb": 15,
23326 "field_lsb": 0,
23327 "field_width": 2,
23328 "phv_msb": 15,
23329 "phv_lsb": 0,
23330 "is_compiler_generated": false,
23331 "is_pov": false
23332 }
23333 ],
23334 "word_bit_width": 16
23335 },
23336 {
23337 "phv_number": 322,
23338 "records": [
23339 {
23340 "position_offset": 7,
23341 "field_name": "arp.proto_type",
23342 "field_msb": 15,
23343 "field_lsb": 0,
23344 "field_width": 2,
23345 "phv_msb": 15,
23346 "phv_lsb": 0,
23347 "is_compiler_generated": false,
23348 "is_pov": false
23349 },
23350 {
23351 "position_offset": 69,
23352 "field_name": "mpls.label",
23353 "field_msb": 19,
23354 "field_lsb": 4,
23355 "field_width": 2,
23356 "phv_msb": 15,
23357 "phv_lsb": 0,
23358 "is_compiler_generated": false,
23359 "is_pov": false
23360 }
23361 ],
23362 "word_bit_width": 16
23363 },
23364 {
23365 "phv_number": 323,
23366 "records": [
23367 {
23368 "position_offset": 4,
23369 "field_name": "arp.opcode",
23370 "field_msb": 15,
23371 "field_lsb": 0,
23372 "field_width": 2,
23373 "phv_msb": 15,
23374 "phv_lsb": 0,
23375 "is_compiler_generated": false,
23376 "is_pov": false
23377 },
23378 {
23379 "position_offset": 87,
23380 "field_name": "tcp.data_offset",
23381 "field_msb": 15,
23382 "field_lsb": 0,
23383 "field_width": 2,
23384 "phv_msb": 15,
23385 "phv_lsb": 12,
23386 "is_compiler_generated": false,
23387 "is_pov": false
23388 },
23389 {
23390 "position_offset": 93,
23391 "field_name": "tcp.res",
23392 "field_msb": 15,
23393 "field_lsb": 0,
23394 "field_width": 2,
23395 "phv_msb": 11,
23396 "phv_lsb": 9,
23397 "is_compiler_generated": false,
23398 "is_pov": false
23399 },
23400 {
23401 "position_offset": 91,
23402 "field_name": "tcp.ecn",
23403 "field_msb": 15,
23404 "field_lsb": 0,
23405 "field_width": 2,
23406 "phv_msb": 8,
23407 "phv_lsb": 6,
23408 "is_compiler_generated": false,
23409 "is_pov": false
23410 },
23411 {
23412 "position_offset": 85,
23413 "field_name": "tcp.ctrl",
23414 "field_msb": 15,
23415 "field_lsb": 0,
23416 "field_width": 2,
23417 "phv_msb": 5,
23418 "phv_lsb": 0,
23419 "is_compiler_generated": false,
23420 "is_pov": false
23421 },
23422 {
23423 "position_offset": 108,
23424 "field_name": "udp.dst_port",
23425 "field_msb": 15,
23426 "field_lsb": 0,
23427 "field_width": 2,
23428 "phv_msb": 15,
23429 "phv_lsb": 0,
23430 "is_compiler_generated": false,
23431 "is_pov": false
23432 },
23433 {
23434 "position_offset": 31,
23435 "field_name": "icmp.identifier",
23436 "field_msb": 15,
23437 "field_lsb": 0,
23438 "field_width": 2,
23439 "phv_msb": 15,
23440 "phv_lsb": 0,
23441 "is_compiler_generated": false,
23442 "is_pov": false
23443 }
23444 ],
23445 "word_bit_width": 16
23446 },
23447 {
23448 "phv_number": 324,
23449 "records": [
23450 {
23451 "position_offset": 51,
23452 "field_name": "ipv4.flags",
23453 "field_msb": 15,
23454 "field_lsb": 0,
23455 "field_width": 2,
23456 "phv_msb": 15,
23457 "phv_lsb": 13,
23458 "is_compiler_generated": false,
23459 "is_pov": false
23460 },
23461 {
23462 "position_offset": 53,
23463 "field_name": "ipv4.frag_offset",
23464 "field_msb": 15,
23465 "field_lsb": 0,
23466 "field_width": 2,
23467 "phv_msb": 12,
23468 "phv_lsb": 0,
23469 "is_compiler_generated": false,
23470 "is_pov": false
23471 }
23472 ],
23473 "word_bit_width": 16
23474 },
23475 {
23476 "phv_number": 325,
23477 "records": [
23478 {
23479 "position_offset": 12,
23480 "field_name": "ethernet.dst_addr",
23481 "field_msb": 15,
23482 "field_lsb": 0,
23483 "field_width": 6,
23484 "phv_msb": 15,
23485 "phv_lsb": 0,
23486 "is_compiler_generated": false,
23487 "is_pov": false
23488 }
23489 ],
23490 "word_bit_width": 16
23491 },
23492 {
23493 "phv_number": 332,
23494 "records": [
23495 {
23496 "position_offset": 20,
23497 "field_name": "ethernet.src_addr",
23498 "field_msb": 15,
23499 "field_lsb": 0,
23500 "field_width": 6,
23501 "phv_msb": 15,
23502 "phv_lsb": 0,
23503 "is_compiler_generated": false,
23504 "is_pov": false
23505 }
23506 ],
23507 "word_bit_width": 16
23508 },
23509 {
23510 "phv_number": 333,
23511 "records": [
23512 {
23513 "position_offset": 18,
23514 "field_name": "ethernet.ether_type",
23515 "field_msb": 15,
23516 "field_lsb": 0,
23517 "field_width": 2,
23518 "phv_msb": 15,
23519 "phv_lsb": 0,
23520 "is_compiler_generated": false,
23521 "is_pov": false
23522 }
23523 ],
23524 "word_bit_width": 16
23525 },
23526 {
23527 "phv_number": 334,
23528 "records": [
23529 {
23530 "position_offset": 117,
23531 "field_name": "vlan_tag.ether_type",
23532 "field_msb": 15,
23533 "field_lsb": 0,
23534 "field_width": 2,
23535 "phv_msb": 15,
23536 "phv_lsb": 0,
23537 "is_compiler_generated": false,
23538 "is_pov": false
23539 }
23540 ],
23541 "word_bit_width": 16
23542 },
23543 {
23544 "phv_number": 335,
23545 "records": [
23546 {
23547 "position_offset": 63,
23548 "field_name": "ipv4.total_len",
23549 "field_msb": 15,
23550 "field_lsb": 0,
23551 "field_width": 2,
23552 "phv_msb": 15,
23553 "phv_lsb": 0,
23554 "is_compiler_generated": false,
23555 "is_pov": false
23556 }
23557 ],
23558 "word_bit_width": 16
23559 },
23560 {
23561 "phv_number": 336,
23562 "records": [
23563 {
23564 "position_offset": 55,
23565 "field_name": "ipv4.identification",
23566 "field_msb": 15,
23567 "field_lsb": 0,
23568 "field_width": 2,
23569 "phv_msb": 15,
23570 "phv_lsb": 0,
23571 "is_compiler_generated": false,
23572 "is_pov": false
23573 }
23574 ],
23575 "word_bit_width": 16
23576 },
23577 {
23578 "phv_number": 337,
23579 "records": [
23580 {
23581 "position_offset": 89,
23582 "field_name": "tcp.dst_port",
23583 "field_msb": 15,
23584 "field_lsb": 0,
23585 "field_width": 2,
23586 "phv_msb": 15,
23587 "phv_lsb": 0,
23588 "is_compiler_generated": false,
23589 "is_pov": false
23590 },
23591 {
23592 "position_offset": 110,
23593 "field_name": "udp.len",
23594 "field_msb": 15,
23595 "field_lsb": 0,
23596 "field_width": 2,
23597 "phv_msb": 15,
23598 "phv_lsb": 0,
23599 "is_compiler_generated": false,
23600 "is_pov": false
23601 },
23602 {
23603 "position_offset": 33,
23604 "field_name": "icmp.sequence_number",
23605 "field_msb": 15,
23606 "field_lsb": 0,
23607 "field_width": 2,
23608 "phv_msb": 15,
23609 "phv_lsb": 0,
23610 "is_compiler_generated": false,
23611 "is_pov": false
23612 }
23613 ],
23614 "word_bit_width": 16
23615 },
23616 {
23617 "phv_number": 344,
23618 "records": [
23619 {
23620 "position_offset": 103,
23621 "field_name": "tcp.window",
23622 "field_msb": 15,
23623 "field_lsb": 0,
23624 "field_width": 2,
23625 "phv_msb": 15,
23626 "phv_lsb": 0,
23627 "is_compiler_generated": false,
23628 "is_pov": false
23629 },
23630 {
23631 "position_offset": 106,
23632 "field_name": "udp.checksum",
23633 "field_msb": 15,
23634 "field_lsb": 0,
23635 "field_width": 2,
23636 "phv_msb": 15,
23637 "phv_lsb": 0,
23638 "is_compiler_generated": false,
23639 "is_pov": false
23640 }
23641 ],
23642 "word_bit_width": 16
23643 },
23644 {
23645 "phv_number": 345,
23646 "records": [
23647 {
23648 "position_offset": 83,
23649 "field_name": "tcp.checksum",
23650 "field_msb": 15,
23651 "field_lsb": 0,
23652 "field_width": 2,
23653 "phv_msb": 15,
23654 "phv_lsb": 0,
23655 "is_compiler_generated": false,
23656 "is_pov": false
23657 }
23658 ],
23659 "word_bit_width": 16
23660 },
23661 {
23662 "phv_number": 346,
23663 "records": [
23664 {
23665 "position_offset": 101,
23666 "field_name": "tcp.urgent_ptr",
23667 "field_msb": 15,
23668 "field_lsb": 0,
23669 "field_width": 2,
23670 "phv_msb": 15,
23671 "phv_lsb": 0,
23672 "is_compiler_generated": false,
23673 "is_pov": false
23674 }
23675 ],
23676 "word_bit_width": 16
23677 }
23678 ],
23679 "stage_number": 10
23680 },
23681 {
23682 "ingress": [
23683 {
23684 "phv_number": 0,
23685 "records": [
23686 {
23687 "position_offset": 12,
23688 "field_name": "ethernet.dst_addr",
23689 "field_msb": 47,
23690 "field_lsb": 16,
23691 "field_width": 6,
23692 "phv_msb": 31,
23693 "phv_lsb": 0,
23694 "is_compiler_generated": false,
23695 "is_pov": false
23696 }
23697 ],
23698 "word_bit_width": 32
23699 },
23700 {
23701 "phv_number": 1,
23702 "records": [
23703 {
23704 "position_offset": 20,
23705 "field_name": "ethernet.src_addr",
23706 "field_msb": 47,
23707 "field_lsb": 16,
23708 "field_width": 6,
23709 "phv_msb": 31,
23710 "phv_lsb": 0,
23711 "is_compiler_generated": false,
23712 "is_pov": false
23713 }
23714 ],
23715 "word_bit_width": 32
23716 },
23717 {
23718 "phv_number": 2,
23719 "records": [
23720 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080023721 "position_offset": 80,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023722 "field_name": "ipv4.src_addr",
23723 "field_msb": 31,
23724 "field_lsb": 0,
23725 "field_width": 4,
23726 "phv_msb": 31,
23727 "phv_lsb": 0,
23728 "is_compiler_generated": false,
23729 "is_pov": false
23730 }
23731 ],
23732 "word_bit_width": 32
23733 },
23734 {
23735 "phv_number": 3,
23736 "records": [
23737 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080023738 "position_offset": 68,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023739 "field_name": "ipv4.dst_addr",
23740 "field_msb": 31,
23741 "field_lsb": 0,
23742 "field_width": 4,
23743 "phv_msb": 31,
23744 "phv_lsb": 0,
23745 "is_compiler_generated": false,
23746 "is_pov": false
23747 }
23748 ],
23749 "word_bit_width": 32
23750 },
23751 {
23752 "phv_number": 4,
23753 "records": [
23754 {
23755 "position_offset": 33,
23756 "field_name": "fabric_metadata.next_id",
23757 "field_msb": 31,
23758 "field_lsb": 0,
23759 "field_width": 4,
23760 "phv_msb": 31,
23761 "phv_lsb": 0,
23762 "is_compiler_generated": false,
23763 "is_pov": false
23764 }
23765 ],
23766 "word_bit_width": 32
23767 },
23768 {
23769 "phv_number": 64,
23770 "records": [
23771 {
23772 "position_offset": 45,
23773 "field_name": "icmp.icmp_type",
23774 "field_msb": 7,
23775 "field_lsb": 0,
23776 "field_width": 1,
23777 "phv_msb": 7,
23778 "phv_lsb": 0,
23779 "is_compiler_generated": false,
23780 "is_pov": false
23781 }
23782 ],
23783 "word_bit_width": 8
23784 },
23785 {
23786 "phv_number": 65,
23787 "records": [
23788 {
23789 "position_offset": 44,
23790 "field_name": "icmp.icmp_code",
23791 "field_msb": 7,
23792 "field_lsb": 0,
23793 "field_width": 1,
23794 "phv_msb": 7,
23795 "phv_lsb": 0,
23796 "is_compiler_generated": false,
23797 "is_pov": false
23798 }
23799 ],
23800 "word_bit_width": 8
23801 },
23802 {
23803 "phv_number": 66,
23804 "records": [
23805 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080023806 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023807 "field_name": "mpls.label",
23808 "field_msb": 3,
23809 "field_lsb": 0,
23810 "field_width": 2,
23811 "phv_msb": 7,
23812 "phv_lsb": 4,
23813 "is_compiler_generated": false,
23814 "is_pov": false
23815 },
23816 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080023817 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023818 "field_name": "mpls.tc",
23819 "field_msb": 7,
23820 "field_lsb": 0,
23821 "field_width": 1,
23822 "phv_msb": 3,
23823 "phv_lsb": 1,
23824 "is_compiler_generated": false,
23825 "is_pov": false
23826 },
23827 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080023828 "position_offset": 89,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023829 "field_name": "mpls.bos",
23830 "field_msb": 7,
23831 "field_lsb": 0,
23832 "field_width": 1,
23833 "phv_msb": 0,
23834 "phv_lsb": 0,
23835 "is_compiler_generated": false,
23836 "is_pov": false
23837 }
23838 ],
23839 "word_bit_width": 8
23840 },
23841 {
23842 "phv_number": 67,
23843 "records": [
23844 {
23845 "position_offset": 1,
23846 "field_name": "$bridged_metadata_indicator",
23847 "field_msb": 7,
23848 "field_lsb": 0,
23849 "field_width": 1,
23850 "phv_msb": 7,
23851 "phv_lsb": 0,
23852 "is_compiler_generated": false,
23853 "is_pov": false
23854 }
23855 ],
23856 "word_bit_width": 8
23857 },
23858 {
23859 "phv_number": 68,
23860 "records": [
23861 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080023862 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023863 "field_name": "ipv4.ttl",
23864 "field_msb": 7,
23865 "field_lsb": 0,
23866 "field_width": 1,
23867 "phv_msb": 7,
23868 "phv_lsb": 0,
23869 "is_compiler_generated": false,
23870 "is_pov": false
23871 }
23872 ],
23873 "word_bit_width": 8
23874 },
23875 {
23876 "phv_number": 69,
23877 "records": [
23878 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080023879 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023880 "field_name": "mpls.ttl",
23881 "field_msb": 7,
23882 "field_lsb": 0,
23883 "field_width": 1,
23884 "phv_msb": 7,
23885 "phv_lsb": 0,
23886 "is_compiler_generated": false,
23887 "is_pov": false
23888 }
23889 ],
23890 "word_bit_width": 8
23891 },
23892 {
23893 "phv_number": 70,
23894 "records": [
23895 {
23896 "position_offset": 28,
23897 "field_name": "fabric_metadata.ip_proto",
23898 "field_msb": 7,
23899 "field_lsb": 0,
23900 "field_width": 1,
23901 "phv_msb": 7,
23902 "phv_lsb": 0,
23903 "is_compiler_generated": false,
23904 "is_pov": false
23905 }
23906 ],
23907 "word_bit_width": 8
23908 },
23909 {
23910 "phv_number": 71,
23911 "records": [
23912 {
23913 "position_offset": 0,
23914 "field_name": "$always_deparse",
23915 "field_msb": 7,
23916 "field_lsb": 0,
23917 "field_width": 1,
23918 "phv_msb": 0,
23919 "phv_lsb": 0,
23920 "is_compiler_generated": false,
23921 "is_pov": false
23922 },
23923 {
23924 "position_offset": 40,
23925 "field_name": "hasExited_0",
23926 "field_msb": 7,
23927 "field_lsb": 0,
23928 "field_width": 1,
23929 "phv_msb": 4,
23930 "phv_lsb": 4,
23931 "is_compiler_generated": false,
23932 "is_pov": false
23933 },
23934 {
23935 "position_offset": 0,
23936 "field_name": "POV",
23937 "field_msb": 7,
23938 "field_lsb": 0,
23939 "field_width": 0,
23940 "phv_msb": 1,
23941 "phv_lsb": 1,
23942 "is_compiler_generated": false,
23943 "is_pov": true,
23944 "pov_headers": [
23945 {
23946 "bit_index": 1,
23947 "position_offset": 2,
23948 "header_name": "arp",
23949 "hidden": false
23950 }
23951 ]
23952 },
23953 {
23954 "position_offset": 0,
23955 "field_name": "POV",
23956 "field_msb": 7,
23957 "field_lsb": 0,
23958 "field_width": 0,
23959 "phv_msb": 2,
23960 "phv_lsb": 2,
23961 "is_compiler_generated": false,
23962 "is_pov": true,
23963 "pov_headers": [
23964 {
23965 "bit_index": 2,
23966 "position_offset": 11,
23967 "header_name": "ethernet",
23968 "hidden": false
23969 }
23970 ]
23971 },
23972 {
23973 "position_offset": 0,
23974 "field_name": "POV",
23975 "field_msb": 7,
23976 "field_lsb": 0,
23977 "field_width": 0,
23978 "phv_msb": 3,
23979 "phv_lsb": 3,
23980 "is_compiler_generated": false,
23981 "is_pov": true,
23982 "pov_headers": [
23983 {
23984 "bit_index": 3,
23985 "position_offset": 41,
23986 "header_name": "icmp",
23987 "hidden": false
23988 }
23989 ]
23990 },
23991 {
23992 "position_offset": 0,
23993 "field_name": "POV",
23994 "field_msb": 7,
23995 "field_lsb": 0,
23996 "field_width": 0,
23997 "phv_msb": 5,
23998 "phv_lsb": 5,
23999 "is_compiler_generated": false,
24000 "is_pov": true,
24001 "pov_headers": [
24002 {
24003 "bit_index": 5,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024004 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024005 "header_name": "ipv4",
24006 "hidden": false
24007 }
24008 ]
24009 },
24010 {
24011 "position_offset": 0,
24012 "field_name": "POV",
24013 "field_msb": 7,
24014 "field_lsb": 0,
24015 "field_width": 0,
24016 "phv_msb": 6,
24017 "phv_lsb": 6,
24018 "is_compiler_generated": false,
24019 "is_pov": true,
24020 "pov_headers": [
24021 {
24022 "bit_index": 6,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024023 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024024 "header_name": "mpls",
24025 "hidden": false
24026 }
24027 ]
24028 },
24029 {
24030 "position_offset": 0,
24031 "field_name": "POV",
24032 "field_msb": 7,
24033 "field_lsb": 0,
24034 "field_width": 0,
24035 "phv_msb": 7,
24036 "phv_lsb": 7,
24037 "is_compiler_generated": false,
24038 "is_pov": true,
24039 "pov_headers": [
24040 {
24041 "bit_index": 7,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024042 "position_offset": 94,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024043 "header_name": "packet_out",
24044 "hidden": false
24045 }
24046 ]
24047 }
24048 ],
24049 "word_bit_width": 8
24050 },
24051 {
24052 "phv_number": 72,
24053 "records": [
24054 {
24055 "position_offset": 39,
24056 "field_name": "fabric_metadata.pop_vlan_at_egress",
24057 "field_msb": 7,
24058 "field_lsb": 0,
24059 "field_width": 1,
24060 "phv_msb": 3,
24061 "phv_lsb": 3,
24062 "is_compiler_generated": false,
24063 "is_pov": false
24064 },
24065 {
24066 "position_offset": 0,
24067 "field_name": "POV",
24068 "field_msb": 7,
24069 "field_lsb": 0,
24070 "field_width": 0,
24071 "phv_msb": 0,
24072 "phv_lsb": 0,
24073 "is_compiler_generated": false,
24074 "is_pov": true,
24075 "pov_headers": [
24076 {
24077 "bit_index": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024078 "position_offset": 97,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024079 "header_name": "tcp",
24080 "hidden": false
24081 }
24082 ]
24083 },
24084 {
24085 "position_offset": 0,
24086 "field_name": "POV",
24087 "field_msb": 7,
24088 "field_lsb": 0,
24089 "field_width": 0,
24090 "phv_msb": 1,
24091 "phv_lsb": 1,
24092 "is_compiler_generated": false,
24093 "is_pov": true,
24094 "pov_headers": [
24095 {
24096 "bit_index": 1,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024097 "position_offset": 124,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024098 "header_name": "udp",
24099 "hidden": false
24100 }
24101 ]
24102 },
24103 {
24104 "position_offset": 0,
24105 "field_name": "POV",
24106 "field_msb": 7,
24107 "field_lsb": 0,
24108 "field_width": 0,
24109 "phv_msb": 2,
24110 "phv_lsb": 2,
24111 "is_compiler_generated": false,
24112 "is_pov": true,
24113 "pov_headers": [
24114 {
24115 "bit_index": 2,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024116 "position_offset": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024117 "header_name": "vlan_tag",
24118 "hidden": false
24119 }
24120 ]
24121 }
24122 ],
24123 "word_bit_width": 8
24124 },
24125 {
24126 "phv_number": 128,
24127 "records": [
24128 {
24129 "position_offset": 62,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024130 "field_name": "ig_intr_md_for_tm.mcast_grp_a",
24131 "field_msb": 15,
24132 "field_lsb": 0,
24133 "field_width": 2,
24134 "phv_msb": 15,
24135 "phv_lsb": 0,
24136 "is_compiler_generated": false,
24137 "is_pov": false
24138 }
24139 ],
24140 "word_bit_width": 16
24141 },
24142 {
24143 "phv_number": 129,
24144 "records": [
24145 {
24146 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024147 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
24148 "field_msb": 15,
24149 "field_lsb": 0,
24150 "field_width": 2,
24151 "phv_msb": 8,
24152 "phv_lsb": 0,
24153 "is_compiler_generated": false,
24154 "is_pov": false
24155 }
24156 ],
24157 "word_bit_width": 16
24158 },
24159 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024160 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024161 "records": [
24162 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024163 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024164 "field_name": "packet_out.egress_port",
24165 "field_msb": 15,
24166 "field_lsb": 0,
24167 "field_width": 2,
24168 "phv_msb": 15,
24169 "phv_lsb": 7,
24170 "is_compiler_generated": false,
24171 "is_pov": false
24172 },
24173 {
24174 "position_offset": 26,
24175 "field_name": "fabric_metadata.fwd_type",
24176 "field_msb": 15,
24177 "field_lsb": 0,
24178 "field_width": 2,
24179 "phv_msb": 5,
24180 "phv_lsb": 3,
24181 "is_compiler_generated": false,
24182 "is_pov": false
24183 },
24184 {
24185 "position_offset": 60,
24186 "field_name": "ig_intr_md_for_tm.drop_ctl",
24187 "field_msb": 15,
24188 "field_lsb": 0,
24189 "field_width": 2,
24190 "phv_msb": 2,
24191 "phv_lsb": 0,
24192 "is_compiler_generated": false,
24193 "is_pov": false
24194 }
24195 ],
24196 "word_bit_width": 16
24197 },
24198 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024199 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024200 "records": [
24201 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024202 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024203 "field_name": "vlan_tag.pri",
24204 "field_msb": 15,
24205 "field_lsb": 0,
24206 "field_width": 2,
24207 "phv_msb": 15,
24208 "phv_lsb": 13,
24209 "is_compiler_generated": false,
24210 "is_pov": false
24211 },
24212 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024213 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024214 "field_name": "vlan_tag.cfi",
24215 "field_msb": 15,
24216 "field_lsb": 0,
24217 "field_width": 2,
24218 "phv_msb": 12,
24219 "phv_lsb": 12,
24220 "is_compiler_generated": false,
24221 "is_pov": false
24222 },
24223 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024224 "position_offset": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024225 "field_name": "vlan_tag.vlan_id",
24226 "field_msb": 15,
24227 "field_lsb": 0,
24228 "field_width": 2,
24229 "phv_msb": 11,
24230 "phv_lsb": 0,
24231 "is_compiler_generated": false,
24232 "is_pov": false
24233 }
24234 ],
24235 "word_bit_width": 16
24236 },
24237 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024238 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024239 "records": [
24240 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024241 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024242 "field_name": "mpls.label",
24243 "field_msb": 19,
24244 "field_lsb": 4,
24245 "field_width": 2,
24246 "phv_msb": 15,
24247 "phv_lsb": 0,
24248 "is_compiler_generated": false,
24249 "is_pov": false
24250 }
24251 ],
24252 "word_bit_width": 16
24253 },
24254 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024255 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024256 "records": [
24257 {
24258 "position_offset": 58,
24259 "field_name": "ig_intr_md.ingress_port",
24260 "field_msb": 15,
24261 "field_lsb": 0,
24262 "field_width": 2,
24263 "phv_msb": 8,
24264 "phv_lsb": 0,
24265 "is_compiler_generated": false,
24266 "is_pov": false
24267 }
24268 ],
24269 "word_bit_width": 16
24270 },
24271 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024272 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024273 "records": [
24274 {
24275 "position_offset": 31,
24276 "field_name": "fabric_metadata.l4_src_port",
24277 "field_msb": 15,
24278 "field_lsb": 0,
24279 "field_width": 2,
24280 "phv_msb": 15,
24281 "phv_lsb": 0,
24282 "is_compiler_generated": false,
24283 "is_pov": false
24284 }
24285 ],
24286 "word_bit_width": 16
24287 },
24288 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024289 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024290 "records": [
24291 {
24292 "position_offset": 18,
24293 "field_name": "ethernet.ether_type",
24294 "field_msb": 15,
24295 "field_lsb": 0,
24296 "field_width": 2,
24297 "phv_msb": 15,
24298 "phv_lsb": 0,
24299 "is_compiler_generated": false,
24300 "is_pov": false
24301 }
24302 ],
24303 "word_bit_width": 16
24304 },
24305 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024306 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024307 "records": [
24308 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024309 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024310 "field_name": "vlan_tag.ether_type",
24311 "field_msb": 15,
24312 "field_lsb": 0,
24313 "field_width": 2,
24314 "phv_msb": 15,
24315 "phv_lsb": 0,
24316 "is_compiler_generated": false,
24317 "is_pov": false
24318 }
24319 ],
24320 "word_bit_width": 16
24321 },
24322 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024323 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024324 "records": [
24325 {
24326 "position_offset": 12,
24327 "field_name": "ethernet.dst_addr",
24328 "field_msb": 15,
24329 "field_lsb": 0,
24330 "field_width": 6,
24331 "phv_msb": 15,
24332 "phv_lsb": 0,
24333 "is_compiler_generated": false,
24334 "is_pov": false
24335 }
24336 ],
24337 "word_bit_width": 16
24338 },
24339 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024340 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024341 "records": [
24342 {
24343 "position_offset": 20,
24344 "field_name": "ethernet.src_addr",
24345 "field_msb": 15,
24346 "field_lsb": 0,
24347 "field_width": 6,
24348 "phv_msb": 15,
24349 "phv_lsb": 0,
24350 "is_compiler_generated": false,
24351 "is_pov": false
24352 }
24353 ],
24354 "word_bit_width": 16
24355 },
24356 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024357 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024358 "records": [
24359 {
24360 "position_offset": 29,
24361 "field_name": "fabric_metadata.l4_dst_port",
24362 "field_msb": 15,
24363 "field_lsb": 0,
24364 "field_width": 2,
24365 "phv_msb": 15,
24366 "phv_lsb": 0,
24367 "is_compiler_generated": false,
24368 "is_pov": false
24369 }
24370 ],
24371 "word_bit_width": 16
24372 },
24373 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024374 "phv_number": 140,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024375 "records": [
24376 {
24377 "position_offset": 37,
24378 "field_name": "fabric_metadata.original_ether_type",
24379 "field_msb": 15,
24380 "field_lsb": 0,
24381 "field_width": 2,
24382 "phv_msb": 15,
24383 "phv_lsb": 0,
24384 "is_compiler_generated": false,
24385 "is_pov": false
24386 }
24387 ],
24388 "word_bit_width": 16
24389 },
24390 {
24391 "phv_number": 260,
24392 "records": [
24393 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024394 "position_offset": 114,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024395 "field_name": "tcp.seq_no",
24396 "field_msb": 31,
24397 "field_lsb": 0,
24398 "field_width": 4,
24399 "phv_msb": 31,
24400 "phv_lsb": 0,
24401 "is_compiler_generated": false,
24402 "is_pov": false
24403 },
24404 {
24405 "position_offset": 50,
24406 "field_name": "icmp.timestamp",
24407 "field_msb": 31,
24408 "field_lsb": 0,
24409 "field_width": 8,
24410 "phv_msb": 31,
24411 "phv_lsb": 0,
24412 "is_compiler_generated": false,
24413 "is_pov": false
24414 }
24415 ],
24416 "word_bit_width": 32
24417 },
24418 {
24419 "phv_number": 261,
24420 "records": [
24421 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024422 "position_offset": 98,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024423 "field_name": "tcp.ack_no",
24424 "field_msb": 31,
24425 "field_lsb": 0,
24426 "field_width": 4,
24427 "phv_msb": 31,
24428 "phv_lsb": 0,
24429 "is_compiler_generated": false,
24430 "is_pov": false
24431 },
24432 {
24433 "position_offset": 50,
24434 "field_name": "icmp.timestamp",
24435 "field_msb": 63,
24436 "field_lsb": 32,
24437 "field_width": 8,
24438 "phv_msb": 31,
24439 "phv_lsb": 0,
24440 "is_compiler_generated": false,
24441 "is_pov": false
24442 }
24443 ],
24444 "word_bit_width": 32
24445 },
24446 {
24447 "phv_number": 292,
24448 "records": [
24449 {
24450 "position_offset": 3,
24451 "field_name": "arp.hw_addr_len",
24452 "field_msb": 7,
24453 "field_lsb": 0,
24454 "field_width": 1,
24455 "phv_msb": 7,
24456 "phv_lsb": 0,
24457 "is_compiler_generated": false,
24458 "is_pov": false
24459 },
24460 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024461 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024462 "field_name": "ipv4.version",
24463 "field_msb": 7,
24464 "field_lsb": 0,
24465 "field_width": 1,
24466 "phv_msb": 7,
24467 "phv_lsb": 4,
24468 "is_compiler_generated": false,
24469 "is_pov": false
24470 },
24471 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024472 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024473 "field_name": "ipv4.ihl",
24474 "field_msb": 7,
24475 "field_lsb": 0,
24476 "field_width": 1,
24477 "phv_msb": 3,
24478 "phv_lsb": 0,
24479 "is_compiler_generated": false,
24480 "is_pov": false
24481 }
24482 ],
24483 "word_bit_width": 8
24484 },
24485 {
24486 "phv_number": 293,
24487 "records": [
24488 {
24489 "position_offset": 8,
24490 "field_name": "arp.proto_addr_len",
24491 "field_msb": 7,
24492 "field_lsb": 0,
24493 "field_width": 1,
24494 "phv_msb": 7,
24495 "phv_lsb": 0,
24496 "is_compiler_generated": false,
24497 "is_pov": false
24498 },
24499 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024500 "position_offset": 67,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024501 "field_name": "ipv4.diffserv",
24502 "field_msb": 7,
24503 "field_lsb": 0,
24504 "field_width": 1,
24505 "phv_msb": 7,
24506 "phv_lsb": 0,
24507 "is_compiler_generated": false,
24508 "is_pov": false
24509 }
24510 ],
24511 "word_bit_width": 8
24512 },
24513 {
24514 "phv_number": 294,
24515 "records": [
24516 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024517 "position_offset": 79,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024518 "field_name": "ipv4.protocol",
24519 "field_msb": 7,
24520 "field_lsb": 0,
24521 "field_width": 1,
24522 "phv_msb": 7,
24523 "phv_lsb": 0,
24524 "is_compiler_generated": false,
24525 "is_pov": false
24526 }
24527 ],
24528 "word_bit_width": 8
24529 },
24530 {
24531 "phv_number": 326,
24532 "records": [
24533 {
24534 "position_offset": 4,
24535 "field_name": "arp.hw_type",
24536 "field_msb": 15,
24537 "field_lsb": 0,
24538 "field_width": 2,
24539 "phv_msb": 15,
24540 "phv_lsb": 0,
24541 "is_compiler_generated": false,
24542 "is_pov": false
24543 },
24544 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024545 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024546 "field_name": "tcp.data_offset",
24547 "field_msb": 15,
24548 "field_lsb": 0,
24549 "field_width": 2,
24550 "phv_msb": 15,
24551 "phv_lsb": 12,
24552 "is_compiler_generated": false,
24553 "is_pov": false
24554 },
24555 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024556 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024557 "field_name": "tcp.res",
24558 "field_msb": 15,
24559 "field_lsb": 0,
24560 "field_width": 2,
24561 "phv_msb": 11,
24562 "phv_lsb": 9,
24563 "is_compiler_generated": false,
24564 "is_pov": false
24565 },
24566 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024567 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024568 "field_name": "tcp.ecn",
24569 "field_msb": 15,
24570 "field_lsb": 0,
24571 "field_width": 2,
24572 "phv_msb": 8,
24573 "phv_lsb": 6,
24574 "is_compiler_generated": false,
24575 "is_pov": false
24576 },
24577 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024578 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024579 "field_name": "tcp.ctrl",
24580 "field_msb": 15,
24581 "field_lsb": 0,
24582 "field_width": 2,
24583 "phv_msb": 5,
24584 "phv_lsb": 0,
24585 "is_compiler_generated": false,
24586 "is_pov": false
24587 },
24588 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024589 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024590 "field_name": "udp.src_port",
24591 "field_msb": 15,
24592 "field_lsb": 0,
24593 "field_width": 2,
24594 "phv_msb": 15,
24595 "phv_lsb": 0,
24596 "is_compiler_generated": false,
24597 "is_pov": false
24598 },
24599 {
24600 "position_offset": 42,
24601 "field_name": "icmp.checksum",
24602 "field_msb": 15,
24603 "field_lsb": 0,
24604 "field_width": 2,
24605 "phv_msb": 15,
24606 "phv_lsb": 0,
24607 "is_compiler_generated": false,
24608 "is_pov": false
24609 }
24610 ],
24611 "word_bit_width": 16
24612 },
24613 {
24614 "phv_number": 327,
24615 "records": [
24616 {
24617 "position_offset": 9,
24618 "field_name": "arp.proto_type",
24619 "field_msb": 15,
24620 "field_lsb": 0,
24621 "field_width": 2,
24622 "phv_msb": 15,
24623 "phv_lsb": 0,
24624 "is_compiler_generated": false,
24625 "is_pov": false
24626 },
24627 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024628 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024629 "field_name": "tcp.src_port",
24630 "field_msb": 15,
24631 "field_lsb": 0,
24632 "field_width": 2,
24633 "phv_msb": 15,
24634 "phv_lsb": 0,
24635 "is_compiler_generated": false,
24636 "is_pov": false
24637 },
24638 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024639 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024640 "field_name": "udp.dst_port",
24641 "field_msb": 15,
24642 "field_lsb": 0,
24643 "field_width": 2,
24644 "phv_msb": 15,
24645 "phv_lsb": 0,
24646 "is_compiler_generated": false,
24647 "is_pov": false
24648 },
24649 {
24650 "position_offset": 46,
24651 "field_name": "icmp.identifier",
24652 "field_msb": 15,
24653 "field_lsb": 0,
24654 "field_width": 2,
24655 "phv_msb": 15,
24656 "phv_lsb": 0,
24657 "is_compiler_generated": false,
24658 "is_pov": false
24659 }
24660 ],
24661 "word_bit_width": 16
24662 },
24663 {
24664 "phv_number": 328,
24665 "records": [
24666 {
24667 "position_offset": 6,
24668 "field_name": "arp.opcode",
24669 "field_msb": 15,
24670 "field_lsb": 0,
24671 "field_width": 2,
24672 "phv_msb": 15,
24673 "phv_lsb": 0,
24674 "is_compiler_generated": false,
24675 "is_pov": false
24676 },
24677 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024678 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024679 "field_name": "ipv4.flags",
24680 "field_msb": 15,
24681 "field_lsb": 0,
24682 "field_width": 2,
24683 "phv_msb": 15,
24684 "phv_lsb": 13,
24685 "is_compiler_generated": false,
24686 "is_pov": false
24687 },
24688 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024689 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024690 "field_name": "ipv4.frag_offset",
24691 "field_msb": 15,
24692 "field_lsb": 0,
24693 "field_width": 2,
24694 "phv_msb": 12,
24695 "phv_lsb": 0,
24696 "is_compiler_generated": false,
24697 "is_pov": false
24698 }
24699 ],
24700 "word_bit_width": 16
24701 },
24702 {
24703 "phv_number": 329,
24704 "records": [
24705 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024706 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024707 "field_name": "ipv4.total_len",
24708 "field_msb": 15,
24709 "field_lsb": 0,
24710 "field_width": 2,
24711 "phv_msb": 15,
24712 "phv_lsb": 0,
24713 "is_compiler_generated": false,
24714 "is_pov": false
24715 }
24716 ],
24717 "word_bit_width": 16
24718 },
24719 {
24720 "phv_number": 330,
24721 "records": [
24722 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024723 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024724 "field_name": "ipv4.identification",
24725 "field_msb": 15,
24726 "field_lsb": 0,
24727 "field_width": 2,
24728 "phv_msb": 15,
24729 "phv_lsb": 0,
24730 "is_compiler_generated": false,
24731 "is_pov": false
24732 }
24733 ],
24734 "word_bit_width": 16
24735 },
24736 {
24737 "phv_number": 331,
24738 "records": [
24739 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024740 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024741 "field_name": "tcp.dst_port",
24742 "field_msb": 15,
24743 "field_lsb": 0,
24744 "field_width": 2,
24745 "phv_msb": 15,
24746 "phv_lsb": 0,
24747 "is_compiler_generated": false,
24748 "is_pov": false
24749 },
24750 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024751 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024752 "field_name": "udp.len",
24753 "field_msb": 15,
24754 "field_lsb": 0,
24755 "field_width": 2,
24756 "phv_msb": 15,
24757 "phv_lsb": 0,
24758 "is_compiler_generated": false,
24759 "is_pov": false
24760 },
24761 {
24762 "position_offset": 48,
24763 "field_name": "icmp.sequence_number",
24764 "field_msb": 15,
24765 "field_lsb": 0,
24766 "field_width": 2,
24767 "phv_msb": 15,
24768 "phv_lsb": 0,
24769 "is_compiler_generated": false,
24770 "is_pov": false
24771 }
24772 ],
24773 "word_bit_width": 16
24774 },
24775 {
24776 "phv_number": 338,
24777 "records": [
24778 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024779 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024780 "field_name": "tcp.window",
24781 "field_msb": 15,
24782 "field_lsb": 0,
24783 "field_width": 2,
24784 "phv_msb": 15,
24785 "phv_lsb": 0,
24786 "is_compiler_generated": false,
24787 "is_pov": false
24788 },
24789 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024790 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024791 "field_name": "udp.checksum",
24792 "field_msb": 15,
24793 "field_lsb": 0,
24794 "field_width": 2,
24795 "phv_msb": 15,
24796 "phv_lsb": 0,
24797 "is_compiler_generated": false,
24798 "is_pov": false
24799 }
24800 ],
24801 "word_bit_width": 16
24802 },
24803 {
24804 "phv_number": 339,
24805 "records": [
24806 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024807 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024808 "field_name": "tcp.checksum",
24809 "field_msb": 15,
24810 "field_lsb": 0,
24811 "field_width": 2,
24812 "phv_msb": 15,
24813 "phv_lsb": 0,
24814 "is_compiler_generated": false,
24815 "is_pov": false
24816 }
24817 ],
24818 "word_bit_width": 16
24819 },
24820 {
24821 "phv_number": 340,
24822 "records": [
24823 {
Carmelo Cascone04c783b2018-02-14 14:09:46 -080024824 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024825 "field_name": "tcp.urgent_ptr",
24826 "field_msb": 15,
24827 "field_lsb": 0,
24828 "field_width": 2,
24829 "phv_msb": 15,
24830 "phv_lsb": 0,
24831 "is_compiler_generated": false,
24832 "is_pov": false
24833 }
24834 ],
24835 "word_bit_width": 16
24836 }
24837 ],
24838 "egress": [
24839 {
24840 "phv_number": 80,
24841 "records": [
24842 {
24843 "position_offset": 0,
24844 "field_name": "POV",
24845 "field_msb": 7,
24846 "field_lsb": 0,
24847 "field_width": 0,
24848 "phv_msb": 0,
24849 "phv_lsb": 0,
24850 "is_compiler_generated": false,
24851 "is_pov": true,
24852 "pov_headers": [
24853 {
24854 "bit_index": 0,
24855 "position_offset": 0,
24856 "header_name": "arp",
24857 "hidden": false
24858 }
24859 ]
24860 },
24861 {
24862 "position_offset": 0,
24863 "field_name": "POV",
24864 "field_msb": 7,
24865 "field_lsb": 0,
24866 "field_width": 0,
24867 "phv_msb": 2,
24868 "phv_lsb": 2,
24869 "is_compiler_generated": false,
24870 "is_pov": true,
24871 "pov_headers": [
24872 {
24873 "bit_index": 2,
24874 "position_offset": 11,
24875 "header_name": "ethernet",
24876 "hidden": false
24877 }
24878 ]
24879 },
24880 {
24881 "position_offset": 0,
24882 "field_name": "POV",
24883 "field_msb": 7,
24884 "field_lsb": 0,
24885 "field_width": 0,
24886 "phv_msb": 3,
24887 "phv_lsb": 3,
24888 "is_compiler_generated": false,
24889 "is_pov": true,
24890 "pov_headers": [
24891 {
24892 "bit_index": 3,
24893 "position_offset": 26,
24894 "header_name": "icmp",
24895 "hidden": false
24896 }
24897 ]
24898 },
24899 {
24900 "position_offset": 0,
24901 "field_name": "POV",
24902 "field_msb": 7,
24903 "field_lsb": 0,
24904 "field_width": 0,
24905 "phv_msb": 5,
24906 "phv_lsb": 5,
24907 "is_compiler_generated": false,
24908 "is_pov": true,
24909 "pov_headers": [
24910 {
24911 "bit_index": 5,
24912 "position_offset": 45,
24913 "header_name": "ipv4",
24914 "hidden": false
24915 }
24916 ]
24917 },
24918 {
24919 "position_offset": 0,
24920 "field_name": "POV",
24921 "field_msb": 7,
24922 "field_lsb": 0,
24923 "field_width": 0,
24924 "phv_msb": 6,
24925 "phv_lsb": 6,
24926 "is_compiler_generated": false,
24927 "is_pov": true,
24928 "pov_headers": [
24929 {
24930 "bit_index": 6,
24931 "position_offset": 67,
24932 "header_name": "mpls",
24933 "hidden": false
24934 }
24935 ]
24936 },
24937 {
24938 "position_offset": 0,
24939 "field_name": "POV",
24940 "field_msb": 7,
24941 "field_lsb": 0,
24942 "field_width": 0,
24943 "phv_msb": 7,
24944 "phv_lsb": 7,
24945 "is_compiler_generated": false,
24946 "is_pov": true,
24947 "pov_headers": [
24948 {
24949 "bit_index": 7,
24950 "position_offset": 73,
24951 "header_name": "packet_in",
24952 "hidden": false
24953 }
24954 ]
24955 }
24956 ],
24957 "word_bit_width": 8
24958 },
24959 {
24960 "phv_number": 81,
24961 "records": [
24962 {
24963 "position_offset": 0,
24964 "field_name": "POV",
24965 "field_msb": 7,
24966 "field_lsb": 0,
24967 "field_width": 0,
24968 "phv_msb": 0,
24969 "phv_lsb": 0,
24970 "is_compiler_generated": false,
24971 "is_pov": true,
24972 "pov_headers": [
24973 {
24974 "bit_index": 0,
24975 "position_offset": 78,
24976 "header_name": "tcp",
24977 "hidden": false
24978 }
24979 ]
24980 },
24981 {
24982 "position_offset": 0,
24983 "field_name": "POV",
24984 "field_msb": 7,
24985 "field_lsb": 0,
24986 "field_width": 0,
24987 "phv_msb": 1,
24988 "phv_lsb": 1,
24989 "is_compiler_generated": false,
24990 "is_pov": true,
24991 "pov_headers": [
24992 {
24993 "bit_index": 1,
24994 "position_offset": 105,
24995 "header_name": "udp",
24996 "hidden": false
24997 }
24998 ]
24999 },
25000 {
25001 "position_offset": 0,
25002 "field_name": "POV",
25003 "field_msb": 7,
25004 "field_lsb": 0,
25005 "field_width": 0,
25006 "phv_msb": 2,
25007 "phv_lsb": 2,
25008 "is_compiler_generated": false,
25009 "is_pov": true,
25010 "pov_headers": [
25011 {
25012 "bit_index": 2,
25013 "position_offset": 114,
25014 "header_name": "vlan_tag",
25015 "hidden": false
25016 }
25017 ]
25018 }
25019 ],
25020 "word_bit_width": 8
25021 },
25022 {
25023 "phv_number": 144,
25024 "records": [
25025 {
25026 "position_offset": 9,
25027 "field_name": "eg_intr_md.egress_port",
25028 "field_msb": 15,
25029 "field_lsb": 0,
25030 "field_width": 2,
25031 "phv_msb": 8,
25032 "phv_lsb": 0,
25033 "is_compiler_generated": false,
25034 "is_pov": false
25035 }
25036 ],
25037 "word_bit_width": 16
25038 },
25039 {
25040 "phv_number": 145,
25041 "records": [
25042 {
25043 "position_offset": 76,
25044 "field_name": "packet_in.ingress_port",
25045 "field_msb": 15,
25046 "field_lsb": 0,
25047 "field_width": 2,
25048 "phv_msb": 15,
25049 "phv_lsb": 7,
25050 "is_compiler_generated": false,
25051 "is_pov": false
25052 },
25053 {
25054 "position_offset": 74,
25055 "field_name": "packet_in._pad",
25056 "field_msb": 15,
25057 "field_lsb": 0,
25058 "field_width": 2,
25059 "phv_msb": 6,
25060 "phv_lsb": 0,
25061 "is_compiler_generated": false,
25062 "is_pov": false
25063 }
25064 ],
25065 "word_bit_width": 16
25066 },
25067 {
25068 "phv_number": 146,
25069 "records": [
25070 {
25071 "position_offset": 43,
25072 "field_name": "ig_intr_md.ingress_port",
25073 "field_msb": 15,
25074 "field_lsb": 0,
25075 "field_width": 2,
25076 "phv_msb": 8,
25077 "phv_lsb": 0,
25078 "is_compiler_generated": false,
25079 "is_pov": false
25080 }
25081 ],
25082 "word_bit_width": 16
25083 },
25084 {
25085 "phv_number": 256,
25086 "records": [
25087 {
25088 "position_offset": 12,
25089 "field_name": "ethernet.dst_addr",
25090 "field_msb": 47,
25091 "field_lsb": 16,
25092 "field_width": 6,
25093 "phv_msb": 31,
25094 "phv_lsb": 0,
25095 "is_compiler_generated": false,
25096 "is_pov": false
25097 }
25098 ],
25099 "word_bit_width": 32
25100 },
25101 {
25102 "phv_number": 257,
25103 "records": [
25104 {
25105 "position_offset": 20,
25106 "field_name": "ethernet.src_addr",
25107 "field_msb": 47,
25108 "field_lsb": 16,
25109 "field_width": 6,
25110 "phv_msb": 31,
25111 "phv_lsb": 0,
25112 "is_compiler_generated": false,
25113 "is_pov": false
25114 }
25115 ],
25116 "word_bit_width": 32
25117 },
25118 {
25119 "phv_number": 258,
25120 "records": [
25121 {
25122 "position_offset": 59,
25123 "field_name": "ipv4.src_addr",
25124 "field_msb": 31,
25125 "field_lsb": 0,
25126 "field_width": 4,
25127 "phv_msb": 31,
25128 "phv_lsb": 0,
25129 "is_compiler_generated": false,
25130 "is_pov": false
25131 }
25132 ],
25133 "word_bit_width": 32
25134 },
25135 {
25136 "phv_number": 259,
25137 "records": [
25138 {
25139 "position_offset": 47,
25140 "field_name": "ipv4.dst_addr",
25141 "field_msb": 31,
25142 "field_lsb": 0,
25143 "field_width": 4,
25144 "phv_msb": 31,
25145 "phv_lsb": 0,
25146 "is_compiler_generated": false,
25147 "is_pov": false
25148 }
25149 ],
25150 "word_bit_width": 32
25151 },
25152 {
25153 "phv_number": 264,
25154 "records": [
25155 {
25156 "position_offset": 95,
25157 "field_name": "tcp.seq_no",
25158 "field_msb": 31,
25159 "field_lsb": 0,
25160 "field_width": 4,
25161 "phv_msb": 31,
25162 "phv_lsb": 0,
25163 "is_compiler_generated": false,
25164 "is_pov": false
25165 },
25166 {
25167 "position_offset": 35,
25168 "field_name": "icmp.timestamp",
25169 "field_msb": 31,
25170 "field_lsb": 0,
25171 "field_width": 8,
25172 "phv_msb": 31,
25173 "phv_lsb": 0,
25174 "is_compiler_generated": false,
25175 "is_pov": false
25176 }
25177 ],
25178 "word_bit_width": 32
25179 },
25180 {
25181 "phv_number": 265,
25182 "records": [
25183 {
25184 "position_offset": 79,
25185 "field_name": "tcp.ack_no",
25186 "field_msb": 31,
25187 "field_lsb": 0,
25188 "field_width": 4,
25189 "phv_msb": 31,
25190 "phv_lsb": 0,
25191 "is_compiler_generated": false,
25192 "is_pov": false
25193 },
25194 {
25195 "position_offset": 35,
25196 "field_name": "icmp.timestamp",
25197 "field_msb": 63,
25198 "field_lsb": 32,
25199 "field_width": 8,
25200 "phv_msb": 31,
25201 "phv_lsb": 0,
25202 "is_compiler_generated": false,
25203 "is_pov": false
25204 }
25205 ],
25206 "word_bit_width": 32
25207 },
25208 {
25209 "phv_number": 288,
25210 "records": [
25211 {
25212 "position_offset": 1,
25213 "field_name": "arp.hw_addr_len",
25214 "field_msb": 7,
25215 "field_lsb": 0,
25216 "field_width": 1,
25217 "phv_msb": 7,
25218 "phv_lsb": 0,
25219 "is_compiler_generated": false,
25220 "is_pov": false
25221 },
25222 {
25223 "position_offset": 66,
25224 "field_name": "ipv4.version",
25225 "field_msb": 7,
25226 "field_lsb": 0,
25227 "field_width": 1,
25228 "phv_msb": 7,
25229 "phv_lsb": 4,
25230 "is_compiler_generated": false,
25231 "is_pov": false
25232 },
25233 {
25234 "position_offset": 57,
25235 "field_name": "ipv4.ihl",
25236 "field_msb": 7,
25237 "field_lsb": 0,
25238 "field_width": 1,
25239 "phv_msb": 3,
25240 "phv_lsb": 0,
25241 "is_compiler_generated": false,
25242 "is_pov": false
25243 }
25244 ],
25245 "word_bit_width": 8
25246 },
25247 {
25248 "phv_number": 289,
25249 "records": [
25250 {
25251 "position_offset": 6,
25252 "field_name": "arp.proto_addr_len",
25253 "field_msb": 7,
25254 "field_lsb": 0,
25255 "field_width": 1,
25256 "phv_msb": 7,
25257 "phv_lsb": 0,
25258 "is_compiler_generated": false,
25259 "is_pov": false
25260 },
25261 {
25262 "position_offset": 30,
25263 "field_name": "icmp.icmp_type",
25264 "field_msb": 7,
25265 "field_lsb": 0,
25266 "field_width": 1,
25267 "phv_msb": 7,
25268 "phv_lsb": 0,
25269 "is_compiler_generated": false,
25270 "is_pov": false
25271 }
25272 ],
25273 "word_bit_width": 8
25274 },
25275 {
25276 "phv_number": 290,
25277 "records": [
25278 {
25279 "position_offset": 46,
25280 "field_name": "ipv4.diffserv",
25281 "field_msb": 7,
25282 "field_lsb": 0,
25283 "field_width": 1,
25284 "phv_msb": 7,
25285 "phv_lsb": 0,
25286 "is_compiler_generated": false,
25287 "is_pov": false
25288 }
25289 ],
25290 "word_bit_width": 8
25291 },
25292 {
25293 "phv_number": 291,
25294 "records": [
25295 {
25296 "position_offset": 29,
25297 "field_name": "icmp.icmp_code",
25298 "field_msb": 7,
25299 "field_lsb": 0,
25300 "field_width": 1,
25301 "phv_msb": 7,
25302 "phv_lsb": 0,
25303 "is_compiler_generated": false,
25304 "is_pov": false
25305 }
25306 ],
25307 "word_bit_width": 8
25308 },
25309 {
25310 "phv_number": 296,
25311 "records": [
25312 {
25313 "position_offset": 69,
25314 "field_name": "mpls.label",
25315 "field_msb": 3,
25316 "field_lsb": 0,
25317 "field_width": 2,
25318 "phv_msb": 7,
25319 "phv_lsb": 4,
25320 "is_compiler_generated": false,
25321 "is_pov": false
25322 },
25323 {
25324 "position_offset": 71,
25325 "field_name": "mpls.tc",
25326 "field_msb": 7,
25327 "field_lsb": 0,
25328 "field_width": 1,
25329 "phv_msb": 3,
25330 "phv_lsb": 1,
25331 "is_compiler_generated": false,
25332 "is_pov": false
25333 },
25334 {
25335 "position_offset": 68,
25336 "field_name": "mpls.bos",
25337 "field_msb": 7,
25338 "field_lsb": 0,
25339 "field_width": 1,
25340 "phv_msb": 0,
25341 "phv_lsb": 0,
25342 "is_compiler_generated": false,
25343 "is_pov": false
25344 }
25345 ],
25346 "word_bit_width": 8
25347 },
25348 {
25349 "phv_number": 297,
25350 "records": [
25351 {
25352 "position_offset": 65,
25353 "field_name": "ipv4.ttl",
25354 "field_msb": 7,
25355 "field_lsb": 0,
25356 "field_width": 1,
25357 "phv_msb": 7,
25358 "phv_lsb": 0,
25359 "is_compiler_generated": false,
25360 "is_pov": false
25361 }
25362 ],
25363 "word_bit_width": 8
25364 },
25365 {
25366 "phv_number": 298,
25367 "records": [
25368 {
25369 "position_offset": 58,
25370 "field_name": "ipv4.protocol",
25371 "field_msb": 7,
25372 "field_lsb": 0,
25373 "field_width": 1,
25374 "phv_msb": 7,
25375 "phv_lsb": 0,
25376 "is_compiler_generated": false,
25377 "is_pov": false
25378 }
25379 ],
25380 "word_bit_width": 8
25381 },
25382 {
25383 "phv_number": 299,
25384 "records": [
25385 {
25386 "position_offset": 72,
25387 "field_name": "mpls.ttl",
25388 "field_msb": 7,
25389 "field_lsb": 0,
25390 "field_width": 1,
25391 "phv_msb": 7,
25392 "phv_lsb": 0,
25393 "is_compiler_generated": false,
25394 "is_pov": false
25395 }
25396 ],
25397 "word_bit_width": 8
25398 },
25399 {
25400 "phv_number": 320,
25401 "records": [
25402 {
25403 "position_offset": 119,
25404 "field_name": "vlan_tag.pri",
25405 "field_msb": 15,
25406 "field_lsb": 0,
25407 "field_width": 2,
25408 "phv_msb": 15,
25409 "phv_lsb": 13,
25410 "is_compiler_generated": false,
25411 "is_pov": false
25412 },
25413 {
25414 "position_offset": 115,
25415 "field_name": "vlan_tag.cfi",
25416 "field_msb": 15,
25417 "field_lsb": 0,
25418 "field_width": 2,
25419 "phv_msb": 12,
25420 "phv_lsb": 12,
25421 "is_compiler_generated": false,
25422 "is_pov": false
25423 },
25424 {
25425 "position_offset": 121,
25426 "field_name": "vlan_tag.vlan_id",
25427 "field_msb": 15,
25428 "field_lsb": 0,
25429 "field_width": 2,
25430 "phv_msb": 11,
25431 "phv_lsb": 0,
25432 "is_compiler_generated": false,
25433 "is_pov": false
25434 }
25435 ],
25436 "word_bit_width": 16
25437 },
25438 {
25439 "phv_number": 321,
25440 "records": [
25441 {
25442 "position_offset": 2,
25443 "field_name": "arp.hw_type",
25444 "field_msb": 15,
25445 "field_lsb": 0,
25446 "field_width": 2,
25447 "phv_msb": 15,
25448 "phv_lsb": 0,
25449 "is_compiler_generated": false,
25450 "is_pov": false
25451 },
25452 {
25453 "position_offset": 99,
25454 "field_name": "tcp.src_port",
25455 "field_msb": 15,
25456 "field_lsb": 0,
25457 "field_width": 2,
25458 "phv_msb": 15,
25459 "phv_lsb": 0,
25460 "is_compiler_generated": false,
25461 "is_pov": false
25462 },
25463 {
25464 "position_offset": 112,
25465 "field_name": "udp.src_port",
25466 "field_msb": 15,
25467 "field_lsb": 0,
25468 "field_width": 2,
25469 "phv_msb": 15,
25470 "phv_lsb": 0,
25471 "is_compiler_generated": false,
25472 "is_pov": false
25473 },
25474 {
25475 "position_offset": 27,
25476 "field_name": "icmp.checksum",
25477 "field_msb": 15,
25478 "field_lsb": 0,
25479 "field_width": 2,
25480 "phv_msb": 15,
25481 "phv_lsb": 0,
25482 "is_compiler_generated": false,
25483 "is_pov": false
25484 }
25485 ],
25486 "word_bit_width": 16
25487 },
25488 {
25489 "phv_number": 322,
25490 "records": [
25491 {
25492 "position_offset": 7,
25493 "field_name": "arp.proto_type",
25494 "field_msb": 15,
25495 "field_lsb": 0,
25496 "field_width": 2,
25497 "phv_msb": 15,
25498 "phv_lsb": 0,
25499 "is_compiler_generated": false,
25500 "is_pov": false
25501 },
25502 {
25503 "position_offset": 69,
25504 "field_name": "mpls.label",
25505 "field_msb": 19,
25506 "field_lsb": 4,
25507 "field_width": 2,
25508 "phv_msb": 15,
25509 "phv_lsb": 0,
25510 "is_compiler_generated": false,
25511 "is_pov": false
25512 }
25513 ],
25514 "word_bit_width": 16
25515 },
25516 {
25517 "phv_number": 323,
25518 "records": [
25519 {
25520 "position_offset": 4,
25521 "field_name": "arp.opcode",
25522 "field_msb": 15,
25523 "field_lsb": 0,
25524 "field_width": 2,
25525 "phv_msb": 15,
25526 "phv_lsb": 0,
25527 "is_compiler_generated": false,
25528 "is_pov": false
25529 },
25530 {
25531 "position_offset": 87,
25532 "field_name": "tcp.data_offset",
25533 "field_msb": 15,
25534 "field_lsb": 0,
25535 "field_width": 2,
25536 "phv_msb": 15,
25537 "phv_lsb": 12,
25538 "is_compiler_generated": false,
25539 "is_pov": false
25540 },
25541 {
25542 "position_offset": 93,
25543 "field_name": "tcp.res",
25544 "field_msb": 15,
25545 "field_lsb": 0,
25546 "field_width": 2,
25547 "phv_msb": 11,
25548 "phv_lsb": 9,
25549 "is_compiler_generated": false,
25550 "is_pov": false
25551 },
25552 {
25553 "position_offset": 91,
25554 "field_name": "tcp.ecn",
25555 "field_msb": 15,
25556 "field_lsb": 0,
25557 "field_width": 2,
25558 "phv_msb": 8,
25559 "phv_lsb": 6,
25560 "is_compiler_generated": false,
25561 "is_pov": false
25562 },
25563 {
25564 "position_offset": 85,
25565 "field_name": "tcp.ctrl",
25566 "field_msb": 15,
25567 "field_lsb": 0,
25568 "field_width": 2,
25569 "phv_msb": 5,
25570 "phv_lsb": 0,
25571 "is_compiler_generated": false,
25572 "is_pov": false
25573 },
25574 {
25575 "position_offset": 108,
25576 "field_name": "udp.dst_port",
25577 "field_msb": 15,
25578 "field_lsb": 0,
25579 "field_width": 2,
25580 "phv_msb": 15,
25581 "phv_lsb": 0,
25582 "is_compiler_generated": false,
25583 "is_pov": false
25584 },
25585 {
25586 "position_offset": 31,
25587 "field_name": "icmp.identifier",
25588 "field_msb": 15,
25589 "field_lsb": 0,
25590 "field_width": 2,
25591 "phv_msb": 15,
25592 "phv_lsb": 0,
25593 "is_compiler_generated": false,
25594 "is_pov": false
25595 }
25596 ],
25597 "word_bit_width": 16
25598 },
25599 {
25600 "phv_number": 324,
25601 "records": [
25602 {
25603 "position_offset": 51,
25604 "field_name": "ipv4.flags",
25605 "field_msb": 15,
25606 "field_lsb": 0,
25607 "field_width": 2,
25608 "phv_msb": 15,
25609 "phv_lsb": 13,
25610 "is_compiler_generated": false,
25611 "is_pov": false
25612 },
25613 {
25614 "position_offset": 53,
25615 "field_name": "ipv4.frag_offset",
25616 "field_msb": 15,
25617 "field_lsb": 0,
25618 "field_width": 2,
25619 "phv_msb": 12,
25620 "phv_lsb": 0,
25621 "is_compiler_generated": false,
25622 "is_pov": false
25623 }
25624 ],
25625 "word_bit_width": 16
25626 },
25627 {
25628 "phv_number": 325,
25629 "records": [
25630 {
25631 "position_offset": 12,
25632 "field_name": "ethernet.dst_addr",
25633 "field_msb": 15,
25634 "field_lsb": 0,
25635 "field_width": 6,
25636 "phv_msb": 15,
25637 "phv_lsb": 0,
25638 "is_compiler_generated": false,
25639 "is_pov": false
25640 }
25641 ],
25642 "word_bit_width": 16
25643 },
25644 {
25645 "phv_number": 332,
25646 "records": [
25647 {
25648 "position_offset": 20,
25649 "field_name": "ethernet.src_addr",
25650 "field_msb": 15,
25651 "field_lsb": 0,
25652 "field_width": 6,
25653 "phv_msb": 15,
25654 "phv_lsb": 0,
25655 "is_compiler_generated": false,
25656 "is_pov": false
25657 }
25658 ],
25659 "word_bit_width": 16
25660 },
25661 {
25662 "phv_number": 333,
25663 "records": [
25664 {
25665 "position_offset": 18,
25666 "field_name": "ethernet.ether_type",
25667 "field_msb": 15,
25668 "field_lsb": 0,
25669 "field_width": 2,
25670 "phv_msb": 15,
25671 "phv_lsb": 0,
25672 "is_compiler_generated": false,
25673 "is_pov": false
25674 }
25675 ],
25676 "word_bit_width": 16
25677 },
25678 {
25679 "phv_number": 334,
25680 "records": [
25681 {
25682 "position_offset": 117,
25683 "field_name": "vlan_tag.ether_type",
25684 "field_msb": 15,
25685 "field_lsb": 0,
25686 "field_width": 2,
25687 "phv_msb": 15,
25688 "phv_lsb": 0,
25689 "is_compiler_generated": false,
25690 "is_pov": false
25691 }
25692 ],
25693 "word_bit_width": 16
25694 },
25695 {
25696 "phv_number": 335,
25697 "records": [
25698 {
25699 "position_offset": 63,
25700 "field_name": "ipv4.total_len",
25701 "field_msb": 15,
25702 "field_lsb": 0,
25703 "field_width": 2,
25704 "phv_msb": 15,
25705 "phv_lsb": 0,
25706 "is_compiler_generated": false,
25707 "is_pov": false
25708 }
25709 ],
25710 "word_bit_width": 16
25711 },
25712 {
25713 "phv_number": 336,
25714 "records": [
25715 {
25716 "position_offset": 55,
25717 "field_name": "ipv4.identification",
25718 "field_msb": 15,
25719 "field_lsb": 0,
25720 "field_width": 2,
25721 "phv_msb": 15,
25722 "phv_lsb": 0,
25723 "is_compiler_generated": false,
25724 "is_pov": false
25725 }
25726 ],
25727 "word_bit_width": 16
25728 },
25729 {
25730 "phv_number": 337,
25731 "records": [
25732 {
25733 "position_offset": 89,
25734 "field_name": "tcp.dst_port",
25735 "field_msb": 15,
25736 "field_lsb": 0,
25737 "field_width": 2,
25738 "phv_msb": 15,
25739 "phv_lsb": 0,
25740 "is_compiler_generated": false,
25741 "is_pov": false
25742 },
25743 {
25744 "position_offset": 110,
25745 "field_name": "udp.len",
25746 "field_msb": 15,
25747 "field_lsb": 0,
25748 "field_width": 2,
25749 "phv_msb": 15,
25750 "phv_lsb": 0,
25751 "is_compiler_generated": false,
25752 "is_pov": false
25753 },
25754 {
25755 "position_offset": 33,
25756 "field_name": "icmp.sequence_number",
25757 "field_msb": 15,
25758 "field_lsb": 0,
25759 "field_width": 2,
25760 "phv_msb": 15,
25761 "phv_lsb": 0,
25762 "is_compiler_generated": false,
25763 "is_pov": false
25764 }
25765 ],
25766 "word_bit_width": 16
25767 },
25768 {
25769 "phv_number": 344,
25770 "records": [
25771 {
25772 "position_offset": 103,
25773 "field_name": "tcp.window",
25774 "field_msb": 15,
25775 "field_lsb": 0,
25776 "field_width": 2,
25777 "phv_msb": 15,
25778 "phv_lsb": 0,
25779 "is_compiler_generated": false,
25780 "is_pov": false
25781 },
25782 {
25783 "position_offset": 106,
25784 "field_name": "udp.checksum",
25785 "field_msb": 15,
25786 "field_lsb": 0,
25787 "field_width": 2,
25788 "phv_msb": 15,
25789 "phv_lsb": 0,
25790 "is_compiler_generated": false,
25791 "is_pov": false
25792 }
25793 ],
25794 "word_bit_width": 16
25795 },
25796 {
25797 "phv_number": 345,
25798 "records": [
25799 {
25800 "position_offset": 83,
25801 "field_name": "tcp.checksum",
25802 "field_msb": 15,
25803 "field_lsb": 0,
25804 "field_width": 2,
25805 "phv_msb": 15,
25806 "phv_lsb": 0,
25807 "is_compiler_generated": false,
25808 "is_pov": false
25809 }
25810 ],
25811 "word_bit_width": 16
25812 },
25813 {
25814 "phv_number": 346,
25815 "records": [
25816 {
25817 "position_offset": 101,
25818 "field_name": "tcp.urgent_ptr",
25819 "field_msb": 15,
25820 "field_lsb": 0,
25821 "field_width": 2,
25822 "phv_msb": 15,
25823 "phv_lsb": 0,
25824 "is_compiler_generated": false,
25825 "is_pov": false
25826 }
25827 ],
25828 "word_bit_width": 16
25829 }
25830 ],
25831 "stage_number": 11
25832 }
25833 ],
25834 "tables": [
25835 {
25836 "direction": "ingress",
25837 "handle": 16777217,
25838 "name": "tbl_act",
25839 "table_type": "match",
25840 "size": 1,
25841 "preferred_match_type": "exact",
25842 "match_attributes": {
25843 "stage_tables": [
25844 {
25845 "stage_number": 0,
25846 "size": 1,
25847 "stage_table_type": "match_with_no_key",
25848 "logical_table_id": 0,
25849 "has_attached_gateway": true,
25850 "memory_resource_allocation": null,
25851 "default_next_table": 255,
25852 "pack_format": [
25853 {
25854 "table_word_width": 0,
25855 "memory_word_width": 0,
25856 "entries_per_table_word": 1,
25857 "number_memory_units_per_table_word": 0
25858 }
25859 ],
25860 "result_physical_buses": [ 1 ],
25861 "action_format": [
25862 {
25863 "action_name": "act_0",
25864 "action_handle": 536870914,
25865 "table_name": "tbl_act_8",
25866 "next_table": 0,
25867 "next_table_full": 16,
25868 "vliw_instruction": 1,
25869 "vliw_instruction_full": 64,
25870 "immediate_fields": []
25871 }
25872 ],
25873 "hash_functions": []
25874 }
25875 ],
25876 "match_type": "match_with_no_key",
25877 "uses_dynamic_key_masks": false
25878 },
25879 "actions": [
25880 {
25881 "name": "act_0",
25882 "handle": 536870914,
25883 "indirect_resources": [],
25884 "allowed_as_default_action": true,
25885 "disallowed_as_default_action_reason": "",
25886 "p4_parameters": [],
25887 "override_meter_addr": false,
25888 "override_meter_addr_pfe": false,
25889 "override_meter_full_addr": 0,
25890 "override_stat_addr": false,
25891 "override_stat_addr_pfe": false,
25892 "override_stat_full_addr": 0,
25893 "override_stateful_addr": false,
25894 "override_stateful_addr_pfe": false,
25895 "override_stateful_full_addr": 0,
25896 "is_action_meter_color_aware": false,
25897 "primitives": [
25898 {
25899 "name": "ModifyFieldPrimitive",
25900 "dest": { "type": "phv", "name": "hasExited_0" },
25901 "src": [
25902 { "type": "immmediate", "name": "0" },
25903 { "type": "phv", "name": "B7" }
25904 ]
25905 }
25906 ]
25907 }
25908 ],
25909 "default_action_handle": 536870914,
25910 "action_profile": "",
25911 "default_next_table_mask": 0,
25912 "ap_bind_indirect_res_to_match": [],
25913 "is_resource_controllable": true,
25914 "uses_range": false,
25915 "match_key_fields": [],
25916 "performs_hash_action": false,
25917 "action_data_table_refs": [],
25918 "selection_table_refs": [],
25919 "meter_table_refs": [],
25920 "statistics_table_refs": [],
25921 "stateful_table_refs": []
25922 },
25923 {
25924 "direction": "egress",
25925 "handle": 16777218,
25926 "name": "tbl_act_6",
25927 "table_type": "match",
25928 "size": 1,
25929 "preferred_match_type": "exact",
25930 "match_attributes": {
25931 "stage_tables": [
25932 {
25933 "stage_number": 0,
25934 "size": 1,
25935 "stage_table_type": "match_with_no_key",
25936 "logical_table_id": 1,
25937 "has_attached_gateway": true,
25938 "memory_resource_allocation": null,
25939 "default_next_table": 255,
25940 "pack_format": [
25941 {
25942 "table_word_width": 0,
25943 "memory_word_width": 0,
25944 "entries_per_table_word": 1,
25945 "number_memory_units_per_table_word": 0
25946 }
25947 ],
25948 "result_physical_buses": [ 0 ],
25949 "action_format": [
25950 {
25951 "action_name": "act_6",
25952 "action_handle": 536870915,
25953 "table_name": "--END_OF_PIPELINE--",
25954 "next_table": 0,
25955 "next_table_full": 255,
25956 "vliw_instruction": 1,
25957 "vliw_instruction_full": 64,
25958 "immediate_fields": []
25959 }
25960 ],
25961 "hash_functions": []
25962 }
25963 ],
25964 "match_type": "match_with_no_key",
25965 "uses_dynamic_key_masks": false
25966 },
25967 "actions": [
25968 {
25969 "name": "act_6",
25970 "handle": 536870915,
25971 "indirect_resources": [],
25972 "allowed_as_default_action": true,
25973 "disallowed_as_default_action_reason": "",
25974 "p4_parameters": [],
25975 "override_meter_addr": false,
25976 "override_meter_addr_pfe": false,
25977 "override_meter_full_addr": 0,
25978 "override_stat_addr": false,
25979 "override_stat_addr_pfe": false,
25980 "override_stat_full_addr": 0,
25981 "override_stateful_addr": false,
25982 "override_stateful_addr_pfe": false,
25983 "override_stateful_full_addr": 0,
25984 "is_action_meter_color_aware": false,
25985 "primitives": [
25986 {
25987 "name": "ModifyFieldPrimitive",
25988 "dest": { "type": "phv", "name": "packet_in.$valid" },
25989 "src": [
25990 { "type": "immmediate", "name": "1" },
25991 { "type": "phv", "name": "B16" }
25992 ]
25993 },
25994 {
25995 "name": "ModifyFieldPrimitive",
25996 "dest": { "type": "phv", "name": "packet_in.ingress_port" },
25997 "src": [
25998 { "type": "phv", "name": "H18" },
25999 { "type": "phv", "name": "H17" }
26000 ]
26001 }
26002 ]
26003 }
26004 ],
26005 "default_action_handle": 536870915,
26006 "action_profile": "",
26007 "default_next_table_mask": 0,
26008 "ap_bind_indirect_res_to_match": [],
26009 "is_resource_controllable": true,
26010 "uses_range": false,
26011 "match_key_fields": [],
26012 "performs_hash_action": false,
26013 "action_data_table_refs": [],
26014 "selection_table_refs": [],
26015 "meter_table_refs": [],
26016 "statistics_table_refs": [],
26017 "stateful_table_refs": []
26018 },
26019 {
26020 "direction": "ingress",
26021 "handle": 16777219,
26022 "name": "tbl_act_0",
26023 "table_type": "match",
26024 "size": 1,
26025 "preferred_match_type": "exact",
26026 "match_attributes": {
26027 "stage_tables": [
26028 {
26029 "stage_number": 1,
26030 "size": 1,
26031 "stage_table_type": "match_with_no_key",
26032 "logical_table_id": 0,
26033 "has_attached_gateway": true,
26034 "memory_resource_allocation": null,
26035 "default_next_table": 255,
26036 "pack_format": [
26037 {
26038 "table_word_width": 0,
26039 "memory_word_width": 0,
26040 "entries_per_table_word": 1,
26041 "number_memory_units_per_table_word": 0
26042 }
26043 ],
26044 "result_physical_buses": [ 0 ],
26045 "action_format": [
26046 {
26047 "action_name": "act",
26048 "action_handle": 536870916,
26049 "table_name": "filtering_ingress_port_vlan",
26050 "next_table": 0,
26051 "next_table_full": 32,
26052 "vliw_instruction": 1,
26053 "vliw_instruction_full": 64,
26054 "immediate_fields": []
26055 }
26056 ],
26057 "hash_functions": []
26058 }
26059 ],
26060 "match_type": "match_with_no_key",
26061 "uses_dynamic_key_masks": false
26062 },
26063 "actions": [
26064 {
26065 "name": "act",
26066 "handle": 536870916,
26067 "indirect_resources": [],
26068 "allowed_as_default_action": true,
26069 "disallowed_as_default_action_reason": "",
26070 "p4_parameters": [],
26071 "override_meter_addr": false,
26072 "override_meter_addr_pfe": false,
26073 "override_meter_full_addr": 0,
26074 "override_stat_addr": false,
26075 "override_stat_addr_pfe": false,
26076 "override_stat_full_addr": 0,
26077 "override_stateful_addr": false,
26078 "override_stateful_addr_pfe": false,
26079 "override_stateful_full_addr": 0,
26080 "is_action_meter_color_aware": false,
26081 "primitives": [
26082 {
26083 "name": "ModifyFieldPrimitive",
26084 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
26085 "src": [
Carmelo Cascone04c783b2018-02-14 14:09:46 -080026086 { "type": "phv", "name": "H2" },
26087 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080026088 ]
26089 },
26090 {
26091 "name": "ModifyFieldPrimitive",
26092 "dest": { "type": "phv", "name": "hasExited_0" },
26093 "src": [
26094 { "type": "immmediate", "name": "1" },
26095 { "type": "phv", "name": "B7" }
26096 ]
26097 }
26098 ]
26099 }
26100 ],
26101 "default_action_handle": 536870916,
26102 "action_profile": "",
26103 "default_next_table_mask": 0,
26104 "ap_bind_indirect_res_to_match": [],
26105 "is_resource_controllable": true,
26106 "uses_range": false,
26107 "match_key_fields": [],
26108 "performs_hash_action": false,
26109 "action_data_table_refs": [],
26110 "selection_table_refs": [],
26111 "meter_table_refs": [],
26112 "statistics_table_refs": [],
26113 "stateful_table_refs": []
26114 },
26115 {
26116 "direction": "ingress",
26117 "handle": 16777220,
26118 "name": "filtering.ingress_port_vlan",
26119 "table_type": "match",
26120 "size": 512,
26121 "match_attributes": {
26122 "stage_tables": [
26123 {
26124 "stage_number": 2,
26125 "size": 512,
26126 "stage_table_type": "ternary_match",
26127 "logical_table_id": 0,
26128 "has_attached_gateway": true,
26129 "pack_format": [
26130 {
26131 "table_word_width": 47,
26132 "memory_word_width": 47,
26133 "entries_per_table_word": 1,
26134 "number_memory_units_per_table_word": 1,
26135 "entries": [
26136 {
26137 "entry_number": 0,
26138 "fields": [
26139 {
26140 "field_name": "--tcam_payload_0--",
26141 "lsb_mem_word_offset": 0,
26142 "lsb_mem_word_idx": 0,
26143 "msb_mem_word_idx": 0,
26144 "source": "payload",
26145 "start_bit": 0,
26146 "field_width": 1
26147 },
26148 {
26149 "field_name": "--version--",
26150 "lsb_mem_word_offset": 43,
26151 "lsb_mem_word_idx": 0,
26152 "msb_mem_word_idx": 0,
26153 "source": "version",
26154 "start_bit": 0,
26155 "field_width": 2
26156 },
26157 {
26158 "field_name": "--tcam_parity_0--",
26159 "lsb_mem_word_offset": 45,
26160 "lsb_mem_word_idx": 0,
26161 "msb_mem_word_idx": 0,
26162 "source": "parity",
26163 "start_bit": 0,
26164 "field_width": 2
26165 },
26166 {
26167 "field_name": "ig_intr_md.ingress_port",
26168 "lsb_mem_word_offset": 1,
26169 "lsb_mem_word_idx": 0,
26170 "msb_mem_word_idx": 0,
26171 "source": "spec",
26172 "start_bit": 0,
26173 "field_width": 9
26174 },
26175 {
26176 "field_name": "vlan_tag.vlan_id",
26177 "lsb_mem_word_offset": 17,
26178 "lsb_mem_word_idx": 0,
26179 "msb_mem_word_idx": 0,
26180 "source": "spec",
26181 "start_bit": 0,
26182 "field_width": 12
26183 },
26184 {
26185 "field_name": "vlan_tag",
26186 "lsb_mem_word_offset": 35,
26187 "lsb_mem_word_idx": 0,
26188 "msb_mem_word_idx": 0,
26189 "source": "spec",
26190 "start_bit": 0,
26191 "field_width": 1
26192 }
26193 ]
26194 }
26195 ]
26196 }
26197 ],
26198 "memory_resource_allocation": {
26199 "memory_type": "tcam",
26200 "memory_units_and_vpns": [ { "memory_units": [ 0 ], "vpns": [ 0 ] } ],
26201 "spare_bank_memory_unit": 0
26202 },
26203 "default_next_table": 1,
26204 "result_physical_buses": [ 0 ],
26205 "ternary_indirection_stage_table": {
26206 "stage_number": 2,
26207 "stage_table_type": "ternary_indirection",
26208 "size": 4096,
26209 "pack_format": [
26210 {
26211 "memory_word_width": 128,
26212 "table_word_width": 128,
26213 "entries_per_table_word": 4,
26214 "number_memory_units_per_table_word": 1,
26215 "entries": [
26216 {
26217 "entry_number": 3,
26218 "fields": [
26219 {
26220 "start_bit": 0,
26221 "enable_pfe": false,
26222 "field_width": 3,
26223 "lsb_mem_word_idx": 0,
26224 "msb_mem_word_idx": 0,
26225 "source": "instr",
26226 "lsb_mem_word_offset": 96,
26227 "field_name": "action"
26228 },
26229 {
26230 "start_bit": 0,
26231 "enable_pfe": false,
26232 "field_width": 20,
26233 "lsb_mem_word_idx": 0,
26234 "msb_mem_word_idx": 0,
26235 "source": "immediate",
26236 "lsb_mem_word_offset": 99,
26237 "field_name": "immediate"
26238 },
26239 {
26240 "start_bit": 0,
26241 "enable_pfe": false,
26242 "field_width": 9,
26243 "lsb_mem_word_idx": 0,
26244 "msb_mem_word_idx": 0,
26245 "source": "zero",
26246 "lsb_mem_word_offset": 119,
26247 "field_name": "--padding_23_31--"
26248 }
26249 ]
26250 },
26251 {
26252 "entry_number": 2,
26253 "fields": [
26254 {
26255 "start_bit": 0,
26256 "enable_pfe": false,
26257 "field_width": 3,
26258 "lsb_mem_word_idx": 0,
26259 "msb_mem_word_idx": 0,
26260 "source": "instr",
26261 "lsb_mem_word_offset": 64,
26262 "field_name": "action"
26263 },
26264 {
26265 "start_bit": 0,
26266 "enable_pfe": false,
26267 "field_width": 20,
26268 "lsb_mem_word_idx": 0,
26269 "msb_mem_word_idx": 0,
26270 "source": "immediate",
26271 "lsb_mem_word_offset": 67,
26272 "field_name": "immediate"
26273 },
26274 {
26275 "start_bit": 0,
26276 "enable_pfe": false,
26277 "field_width": 9,
26278 "lsb_mem_word_idx": 0,
26279 "msb_mem_word_idx": 0,
26280 "source": "zero",
26281 "lsb_mem_word_offset": 87,
26282 "field_name": "--padding_23_31--"
26283 }
26284 ]
26285 },
26286 {
26287 "entry_number": 1,
26288 "fields": [
26289 {
26290 "start_bit": 0,
26291 "enable_pfe": false,
26292 "field_width": 3,
26293 "lsb_mem_word_idx": 0,
26294 "msb_mem_word_idx": 0,
26295 "source": "instr",
26296 "lsb_mem_word_offset": 32,
26297 "field_name": "action"
26298 },
26299 {
26300 "start_bit": 0,
26301 "enable_pfe": false,
26302 "field_width": 20,
26303 "lsb_mem_word_idx": 0,
26304 "msb_mem_word_idx": 0,
26305 "source": "immediate",
26306 "lsb_mem_word_offset": 35,
26307 "field_name": "immediate"
26308 },
26309 {
26310 "start_bit": 0,
26311 "enable_pfe": false,
26312 "field_width": 9,
26313 "lsb_mem_word_idx": 0,
26314 "msb_mem_word_idx": 0,
26315 "source": "zero",
26316 "lsb_mem_word_offset": 55,
26317 "field_name": "--padding_23_31--"
26318 }
26319 ]
26320 },
26321 {
26322 "entry_number": 0,
26323 "fields": [
26324 {
26325 "start_bit": 0,
26326 "enable_pfe": false,
26327 "field_width": 3,
26328 "lsb_mem_word_idx": 0,
26329 "msb_mem_word_idx": 0,
26330 "source": "instr",
26331 "lsb_mem_word_offset": 0,
26332 "field_name": "action"
26333 },
26334 {
26335 "start_bit": 0,
26336 "enable_pfe": false,
26337 "field_width": 20,
26338 "lsb_mem_word_idx": 0,
26339 "msb_mem_word_idx": 0,
26340 "source": "immediate",
26341 "lsb_mem_word_offset": 3,
26342 "field_name": "immediate"
26343 },
26344 {
26345 "start_bit": 0,
26346 "enable_pfe": false,
26347 "field_width": 9,
26348 "lsb_mem_word_idx": 0,
26349 "msb_mem_word_idx": 0,
26350 "source": "zero",
26351 "lsb_mem_word_offset": 23,
26352 "field_name": "--padding_23_31--"
26353 }
26354 ]
26355 }
26356 ]
26357 }
26358 ],
26359 "memory_resource_allocation": {
26360 "memory_type": "sram",
26361 "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
26362 "spare_bank_memory_unit": 2
26363 },
26364 "action_format": [
26365 {
26366 "action_name": "nop",
26367 "action_handle": 536870919,
26368 "table_name": "tbl_act_12",
26369 "next_table": 0,
26370 "next_table_full": 33,
26371 "vliw_instruction": 0,
26372 "vliw_instruction_full": 65,
26373 "immediate_fields": []
26374 },
26375 {
26376 "action_name": "filtering.push_internal_vlan",
26377 "action_handle": 536870917,
26378 "table_name": "tbl_act_12",
26379 "next_table": 0,
26380 "next_table_full": 33,
26381 "vliw_instruction": 1,
26382 "vliw_instruction_full": 64,
26383 "immediate_fields": [
26384 {
26385 "param_name": "constant_1",
26386 "param_type": "constant",
26387 "const_value": 1,
26388 "param_shift": 0,
26389 "dest_start": 18,
26390 "dest_width": 1
26391 },
26392 {
26393 "param_name": "constant_1",
26394 "param_type": "constant",
26395 "const_value": 1,
26396 "param_shift": 0,
26397 "dest_start": 19,
26398 "dest_width": 1
26399 },
26400 {
26401 "param_name": "constant_0",
26402 "param_type": "constant",
26403 "const_value": 0,
26404 "param_shift": 0,
26405 "dest_start": 12,
26406 "dest_width": 1
26407 },
26408 {
26409 "param_name": "constant_0",
26410 "param_type": "constant",
26411 "const_value": 0,
26412 "param_shift": 0,
26413 "dest_start": 13,
26414 "dest_width": 3
26415 },
26416 {
26417 "param_name": "new_vlan_id",
26418 "param_type": "parameter",
26419 "param_shift": 0,
26420 "dest_start": 0,
26421 "dest_width": 12
26422 }
26423 ]
26424 },
26425 {
26426 "action_name": "filtering.set_vlan",
26427 "action_handle": 536870918,
26428 "table_name": "tbl_act_12",
26429 "next_table": 0,
26430 "next_table_full": 33,
26431 "vliw_instruction": 2,
26432 "vliw_instruction_full": 66,
26433 "immediate_fields": [
26434 {
26435 "param_name": "new_vlan_id",
26436 "param_type": "parameter",
26437 "param_shift": 0,
26438 "dest_start": 0,
26439 "dest_width": 12
26440 }
26441 ]
26442 },
26443 {
26444 "action_name": "filtering.drop",
26445 "action_handle": 536870920,
26446 "table_name": "tbl_act_12",
26447 "next_table": 0,
26448 "next_table_full": 33,
26449 "vliw_instruction": 3,
26450 "vliw_instruction_full": 67,
26451 "immediate_fields": []
26452 }
26453 ]
26454 }
26455 }
26456 ],
26457 "match_type": "ternary"
26458 },
26459 "action_data_table_refs": [],
26460 "selection_table_refs": [],
26461 "meter_table_refs": [],
26462 "statistics_table_refs": [
26463 {
26464 "how_referenced": "direct",
26465 "handle": 67108865,
26466 "name": "filtering.ingress_port_vlan_counter"
26467 }
26468 ],
26469 "stateful_table_refs": [],
26470 "actions": [
26471 {
26472 "name": "nop",
26473 "handle": 536870919,
26474 "indirect_resources": [],
26475 "allowed_as_default_action": true,
26476 "disallowed_as_default_action_reason": "",
26477 "p4_parameters": [],
26478 "override_meter_addr": false,
26479 "override_meter_addr_pfe": false,
26480 "override_meter_full_addr": 0,
26481 "override_stat_addr": false,
26482 "override_stat_addr_pfe": false,
26483 "override_stat_full_addr": 0,
26484 "override_stateful_addr": false,
26485 "override_stateful_addr_pfe": false,
26486 "override_stateful_full_addr": 0,
26487 "is_action_meter_color_aware": false,
26488 "primitives": []
26489 },
26490 {
26491 "name": "filtering.push_internal_vlan",
26492 "handle": 536870917,
26493 "indirect_resources": [],
26494 "allowed_as_default_action": true,
26495 "disallowed_as_default_action_reason": "",
26496 "p4_parameters": [
26497 {
26498 "name": "new_vlan_id",
26499 "start_bit": 0,
26500 "position": 0,
26501 "bit_width": 12
26502 }
26503 ],
26504 "override_meter_addr": false,
26505 "override_meter_addr_pfe": false,
26506 "override_meter_full_addr": 0,
26507 "override_stat_addr": false,
26508 "override_stat_addr_pfe": false,
26509 "override_stat_full_addr": 0,
26510 "override_stateful_addr": false,
26511 "override_stateful_addr_pfe": false,
26512 "override_stateful_full_addr": 0,
26513 "is_action_meter_color_aware": false,
26514 "primitives": [
26515 {
26516 "name": "ModifyFieldPrimitive",
26517 "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080026518 "src": [ { "type": "phv", "name": "H7" } ]
Carmelo Cascone04098db2018-01-30 18:10:32 -080026519 },
26520 {
26521 "name": "ModifyFieldPrimitive",
26522 "dest": { "type": "phv", "name": "ethernet.ether_type" },
26523 "src": [ { "immediate": "33024" } ]
26524 },
26525 {
26526 "name": "ModifyFieldPrimitive",
26527 "dest": { "type": "phv", "name": "B8" },
26528 "src": [
26529 { "type": "immediate", "name": "$data1" },
26530 { "type": "phv", "name": "B8" }
26531 ]
26532 },
26533 {
26534 "name": "ModifyFieldPrimitive",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080026535 "dest": { "type": "phv", "name": "H3" },
Carmelo Cascone04098db2018-01-30 18:10:32 -080026536 "src": [ { "type": "immediate", "name": "$data0" } ]
26537 }
26538 ]
26539 },
26540 {
26541 "name": "filtering.set_vlan",
26542 "handle": 536870918,
26543 "indirect_resources": [],
26544 "allowed_as_default_action": true,
26545 "disallowed_as_default_action_reason": "",
26546 "p4_parameters": [
26547 {
26548 "name": "new_vlan_id",
26549 "start_bit": 0,
26550 "position": 0,
26551 "bit_width": 12
26552 }
26553 ],
26554 "override_meter_addr": false,
26555 "override_meter_addr_pfe": false,
26556 "override_meter_full_addr": 0,
26557 "override_stat_addr": false,
26558 "override_stat_addr_pfe": false,
26559 "override_stat_full_addr": 0,
26560 "override_stateful_addr": false,
26561 "override_stateful_addr_pfe": false,
26562 "override_stateful_full_addr": 0,
26563 "is_action_meter_color_aware": false,
26564 "primitives": [
26565 {
26566 "name": "ModifyFieldPrimitive",
26567 "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
26568 "src": [
26569 { "type": "immediate", "name": "new_vlan_id" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080026570 { "type": "phv", "name": "H3" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080026571 ]
26572 }
26573 ]
26574 },
26575 {
26576 "name": "filtering.drop",
26577 "handle": 536870920,
26578 "indirect_resources": [],
26579 "allowed_as_default_action": true,
26580 "disallowed_as_default_action_reason": "",
26581 "p4_parameters": [],
26582 "override_meter_addr": false,
26583 "override_meter_addr_pfe": false,
26584 "override_meter_full_addr": 0,
26585 "override_stat_addr": false,
26586 "override_stat_addr_pfe": false,
26587 "override_stat_full_addr": 0,
26588 "override_stateful_addr": false,
26589 "override_stateful_addr_pfe": false,
26590 "override_stateful_full_addr": 0,
26591 "is_action_meter_color_aware": false,
26592 "primitives": [
26593 {
26594 "name": "ModifyFieldPrimitive",
26595 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
26596 "src": [
26597 { "type": "immmediate", "name": "1" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080026598 { "type": "phv", "name": "H2" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080026599 ]
26600 }
26601 ]
26602 }
26603 ],
26604 "default_action_handle": 536870919,
26605 "action_profile": "",
26606 "default_next_table_mask": 0,
26607 "ap_bind_indirect_res_to_match": [],
26608 "is_resource_controllable": true,
26609 "uses_range": false,
26610 "match_key_fields": [
26611 {
26612 "name": "ig_intr_md.ingress_port",
26613 "position": 0,
26614 "match_type": "exact",
26615 "start_bit": 0,
26616 "bit_width": 9,
26617 "bit_width_full": 9,
26618 "is_valid": false,
26619 "instance_name": "ig_intr_md",
26620 "field_name": "ingress_port"
26621 },
26622 {
26623 "name": "vlan_tag",
26624 "position": 1,
26625 "match_type": "exact",
26626 "start_bit": 0,
26627 "bit_width": 1,
26628 "bit_width_full": 1,
26629 "is_valid": true,
26630 "instance_name": "vlan_tag",
26631 "field_name": ""
26632 },
26633 {
26634 "name": "vlan_tag.vlan_id",
26635 "position": 2,
26636 "match_type": "ternary",
26637 "start_bit": 0,
26638 "bit_width": 12,
26639 "bit_width_full": 12,
26640 "is_valid": false,
26641 "instance_name": "vlan_tag",
26642 "field_name": "vlan_id"
26643 }
26644 ]
26645 },
26646 {
26647 "direction": "ingress",
26648 "handle": 67108865,
26649 "name": "filtering.ingress_port_vlan_counter",
26650 "table_type": "statistics",
26651 "size": 0,
26652 "stage_tables": [
26653 {
26654 "stage_number": 2,
26655 "size": 2048,
26656 "stage_table_type": "statistics",
26657 "logical_table_id": 0,
26658 "pack_format": [
26659 {
26660 "table_word_width": 128,
26661 "memory_word_width": 128,
26662 "entries_per_table_word": 2,
26663 "number_memory_units_per_table_word": 1
26664 }
26665 ],
26666 "memory_resource_allocation": {
26667 "memory_type": "sram",
26668 "memory_units_and_vpns": [
26669 { "memory_units": [ 78 ], "vpns": [ 0 ] },
26670 { "memory_units": [ 79 ], "vpns": [ 1 ] }
26671 ],
26672 "spare_bank_memory_unit": 79
26673 },
26674 "stats_alu_index": 3
26675 }
26676 ],
26677 "how_referenced": "direct",
26678 "enable_pfe": false,
26679 "pfe_bit_position": 0,
26680 "byte_counter_resolution": 36,
26681 "packet_counter_resolution": 28,
26682 "statistics_type": "packets_and_bytes"
26683 },
26684 {
26685 "direction": "ingress",
26686 "handle": 16777221,
26687 "name": "tbl_act_4",
26688 "table_type": "match",
26689 "size": 512,
26690 "preferred_match_type": "exact",
26691 "match_attributes": {
26692 "stage_tables": [
26693 {
26694 "stage_number": 2,
26695 "size": 1,
26696 "stage_table_type": "match_with_no_key",
26697 "logical_table_id": 1,
26698 "has_attached_gateway": true,
26699 "memory_resource_allocation": null,
26700 "default_next_table": 255,
26701 "pack_format": [
26702 {
26703 "table_word_width": 0,
26704 "memory_word_width": 0,
26705 "entries_per_table_word": 0,
26706 "number_memory_units_per_table_word": 0
26707 }
26708 ],
26709 "result_physical_buses": [ 1 ],
26710 "action_format": [
26711 {
26712 "action_name": "act_4",
26713 "action_handle": 536870921,
26714 "table_name": "filtering_fwd_classifier",
26715 "next_table": 0,
26716 "next_table_full": 48,
26717 "vliw_instruction": 0,
26718 "vliw_instruction_full": 65,
26719 "immediate_fields": []
26720 }
26721 ],
26722 "hash_functions": []
26723 }
26724 ],
26725 "match_type": "match_with_no_key",
26726 "uses_dynamic_key_masks": false
26727 },
26728 "actions": [
26729 {
26730 "name": "act_4",
26731 "handle": 536870921,
26732 "indirect_resources": [],
26733 "allowed_as_default_action": true,
26734 "disallowed_as_default_action_reason": "",
26735 "p4_parameters": [],
26736 "override_meter_addr": false,
26737 "override_meter_addr_pfe": false,
26738 "override_meter_full_addr": 0,
26739 "override_stat_addr": false,
26740 "override_stat_addr_pfe": false,
26741 "override_stat_full_addr": 0,
26742 "override_stateful_addr": false,
26743 "override_stateful_addr_pfe": false,
26744 "override_stateful_full_addr": 0,
26745 "is_action_meter_color_aware": false,
26746 "primitives": []
26747 }
26748 ],
26749 "default_action_handle": 536870921,
26750 "action_profile": "",
26751 "default_next_table_mask": 0,
26752 "ap_bind_indirect_res_to_match": [],
26753 "is_resource_controllable": true,
26754 "uses_range": false,
26755 "match_key_fields": [],
26756 "performs_hash_action": true,
26757 "action_data_table_refs": [],
26758 "selection_table_refs": [],
26759 "meter_table_refs": [],
26760 "statistics_table_refs": [
26761 {
26762 "how_referenced": "indirect",
26763 "handle": 67108866,
26764 "name": "port_counters_control.ingress_port_counter"
26765 }
26766 ],
26767 "stateful_table_refs": []
26768 },
26769 {
26770 "direction": "ingress",
26771 "handle": 67108866,
26772 "name": "port_counters_control.ingress_port_counter",
26773 "table_type": "statistics",
26774 "size": 511,
26775 "stage_tables": [
26776 {
26777 "stage_number": 2,
Carmelo Cascone8ac4fc82018-02-01 13:27:50 -080026778 "size": 2048,
Carmelo Cascone04098db2018-01-30 18:10:32 -080026779 "stage_table_type": "statistics",
26780 "logical_table_id": 1,
26781 "pack_format": [
26782 {
26783 "table_word_width": 128,
26784 "memory_word_width": 128,
Carmelo Cascone8ac4fc82018-02-01 13:27:50 -080026785 "entries_per_table_word": 2,
Carmelo Cascone04098db2018-01-30 18:10:32 -080026786 "number_memory_units_per_table_word": 1
26787 }
26788 ],
26789 "memory_resource_allocation": {
26790 "memory_type": "sram",
26791 "memory_units_and_vpns": [
26792 { "memory_units": [ 54 ], "vpns": [ 0 ] },
26793 { "memory_units": [ 55 ], "vpns": [ 1 ] }
26794 ],
26795 "spare_bank_memory_unit": 55
26796 },
26797 "stats_alu_index": 2
26798 }
26799 ],
26800 "how_referenced": "indirect",
26801 "enable_pfe": false,
26802 "pfe_bit_position": 0,
Carmelo Cascone8ac4fc82018-02-01 13:27:50 -080026803 "byte_counter_resolution": 36,
26804 "packet_counter_resolution": 28,
26805 "statistics_type": "packets_and_bytes"
Carmelo Cascone04098db2018-01-30 18:10:32 -080026806 },
26807 {
26808 "direction": "ingress",
26809 "handle": 16777222,
26810 "name": "filtering.fwd_classifier",
26811 "table_type": "match",
26812 "size": 3072,
26813 "action_data_table_refs": [],
26814 "selection_table_refs": [],
26815 "meter_table_refs": [],
26816 "statistics_table_refs": [
26817 {
26818 "how_referenced": "direct",
26819 "handle": 67108867,
26820 "name": "filtering.fwd_classifier_counter"
26821 }
26822 ],
26823 "stateful_table_refs": [],
26824 "default_action_handle": 536870922,
26825 "action_profile": "",
26826 "default_next_table_mask": 0,
26827 "ap_bind_indirect_res_to_match": [],
26828 "is_resource_controllable": true,
26829 "uses_range": false,
26830 "match_key_fields": [
26831 {
26832 "name": "ig_intr_md.ingress_port",
26833 "position": 0,
26834 "match_type": "exact",
26835 "start_bit": 0,
26836 "bit_width": 9,
26837 "bit_width_full": 9,
26838 "is_valid": false,
26839 "instance_name": "ig_intr_md",
26840 "field_name": "ingress_port"
26841 },
26842 {
26843 "name": "ethernet.dst_addr",
26844 "position": 1,
26845 "match_type": "exact",
26846 "start_bit": 0,
26847 "bit_width": 48,
26848 "bit_width_full": 48,
26849 "is_valid": false,
26850 "instance_name": "ethernet",
26851 "field_name": "dst_addr"
26852 },
26853 {
26854 "name": "fabric_metadata.original_ether_type",
26855 "position": 2,
26856 "match_type": "exact",
26857 "start_bit": 0,
26858 "bit_width": 16,
26859 "bit_width_full": 16,
26860 "is_valid": false,
26861 "instance_name": "fabric_metadata",
26862 "field_name": "original_ether_type"
26863 }
26864 ],
26865 "match_attributes": {
26866 "stage_tables": [
26867 {
26868 "stage_number": 3,
26869 "size": 3072,
26870 "stage_table_type": "hash_match",
26871 "logical_table_id": 0,
26872 "has_attached_gateway": false,
26873 "hash_functions": [
26874 {
26875 "hash_bits": [
26876 {
26877 "hash_bit": 0,
26878 "seed": 0,
26879 "bits_to_xor": [
26880 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
26881 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
26882 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
26883 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
26884 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
26885 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
26886 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
26887 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
26888 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
26889 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
26890 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
26891 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
26892 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
26893 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
26894 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
26895 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
26896 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
26897 { "field_bit": 0, "field_name": "ethernet.dst_addr" },
26898 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
26899 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
26900 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
26901 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
26902 {
26903 "field_bit": 1,
26904 "field_name": "fabric_metadata.original_ether_type"
26905 },
26906 {
26907 "field_bit": 2,
26908 "field_name": "fabric_metadata.original_ether_type"
26909 },
26910 {
26911 "field_bit": 3,
26912 "field_name": "fabric_metadata.original_ether_type"
26913 },
26914 {
26915 "field_bit": 4,
26916 "field_name": "fabric_metadata.original_ether_type"
26917 },
26918 {
26919 "field_bit": 6,
26920 "field_name": "fabric_metadata.original_ether_type"
26921 },
26922 {
26923 "field_bit": 9,
26924 "field_name": "fabric_metadata.original_ether_type"
26925 },
26926 {
26927 "field_bit": 11,
26928 "field_name": "fabric_metadata.original_ether_type"
26929 },
26930 {
26931 "field_bit": 13,
26932 "field_name": "fabric_metadata.original_ether_type"
26933 },
26934 {
26935 "field_bit": 2,
26936 "field_name": "ig_intr_md.ingress_port"
26937 },
26938 {
26939 "field_bit": 3,
26940 "field_name": "ig_intr_md.ingress_port"
26941 },
26942 {
26943 "field_bit": 5,
26944 "field_name": "ig_intr_md.ingress_port"
26945 },
26946 {
26947 "field_bit": 6,
26948 "field_name": "ig_intr_md.ingress_port"
26949 },
26950 {
26951 "field_bit": 7,
26952 "field_name": "ig_intr_md.ingress_port"
26953 },
26954 {
26955 "field_bit": 8,
26956 "field_name": "ig_intr_md.ingress_port"
26957 }
26958 ]
26959 },
26960 {
26961 "hash_bit": 1,
26962 "seed": 0,
26963 "bits_to_xor": [
26964 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
26965 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
26966 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
26967 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
26968 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
26969 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
26970 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
26971 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
26972 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
26973 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
26974 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
26975 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
26976 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
26977 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
26978 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
26979 { "field_bit": 1, "field_name": "ethernet.dst_addr" },
26980 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
26981 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
26982 {
26983 "field_bit": 0,
26984 "field_name": "fabric_metadata.original_ether_type"
26985 },
26986 {
26987 "field_bit": 5,
26988 "field_name": "fabric_metadata.original_ether_type"
26989 },
26990 {
26991 "field_bit": 6,
26992 "field_name": "fabric_metadata.original_ether_type"
26993 },
26994 {
26995 "field_bit": 10,
26996 "field_name": "fabric_metadata.original_ether_type"
26997 },
26998 {
26999 "field_bit": 11,
27000 "field_name": "fabric_metadata.original_ether_type"
27001 },
27002 {
27003 "field_bit": 12,
27004 "field_name": "fabric_metadata.original_ether_type"
27005 },
27006 {
27007 "field_bit": 14,
27008 "field_name": "fabric_metadata.original_ether_type"
27009 },
27010 {
27011 "field_bit": 0,
27012 "field_name": "ig_intr_md.ingress_port"
27013 },
27014 {
27015 "field_bit": 1,
27016 "field_name": "ig_intr_md.ingress_port"
27017 },
27018 {
27019 "field_bit": 3,
27020 "field_name": "ig_intr_md.ingress_port"
27021 },
27022 {
27023 "field_bit": 4,
27024 "field_name": "ig_intr_md.ingress_port"
27025 },
27026 {
27027 "field_bit": 5,
27028 "field_name": "ig_intr_md.ingress_port"
27029 },
27030 {
27031 "field_bit": 6,
27032 "field_name": "ig_intr_md.ingress_port"
27033 },
27034 {
27035 "field_bit": 7,
27036 "field_name": "ig_intr_md.ingress_port"
27037 }
27038 ]
27039 },
27040 {
27041 "hash_bit": 2,
27042 "seed": 0,
27043 "bits_to_xor": [
27044 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
27045 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
27046 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
27047 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
27048 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
27049 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
27050 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
27051 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27052 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
27053 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
27054 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27055 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
27056 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
27057 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
27058 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
27059 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27060 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
27061 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27062 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
27063 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
27064 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27065 { "field_bit": 2, "field_name": "ethernet.dst_addr" },
27066 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
27067 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
27068 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
27069 {
27070 "field_bit": 0,
27071 "field_name": "fabric_metadata.original_ether_type"
27072 },
27073 {
27074 "field_bit": 2,
27075 "field_name": "fabric_metadata.original_ether_type"
27076 },
27077 {
27078 "field_bit": 4,
27079 "field_name": "fabric_metadata.original_ether_type"
27080 },
27081 {
27082 "field_bit": 6,
27083 "field_name": "fabric_metadata.original_ether_type"
27084 },
27085 {
27086 "field_bit": 8,
27087 "field_name": "fabric_metadata.original_ether_type"
27088 },
27089 {
27090 "field_bit": 9,
27091 "field_name": "fabric_metadata.original_ether_type"
27092 },
27093 {
27094 "field_bit": 10,
27095 "field_name": "fabric_metadata.original_ether_type"
27096 },
27097 {
27098 "field_bit": 11,
27099 "field_name": "fabric_metadata.original_ether_type"
27100 },
27101 {
27102 "field_bit": 15,
27103 "field_name": "fabric_metadata.original_ether_type"
27104 },
27105 {
27106 "field_bit": 0,
27107 "field_name": "ig_intr_md.ingress_port"
27108 },
27109 {
27110 "field_bit": 3,
27111 "field_name": "ig_intr_md.ingress_port"
27112 },
27113 {
27114 "field_bit": 5,
27115 "field_name": "ig_intr_md.ingress_port"
27116 },
27117 {
27118 "field_bit": 7,
27119 "field_name": "ig_intr_md.ingress_port"
27120 }
27121 ]
27122 },
27123 {
27124 "hash_bit": 3,
27125 "seed": 0,
27126 "bits_to_xor": [
27127 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
27128 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
27129 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
27130 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
27131 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
27132 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
27133 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27134 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27135 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
27136 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
27137 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
27138 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27139 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
27140 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27141 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
27142 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
27143 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
27144 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27145 { "field_bit": 3, "field_name": "ethernet.dst_addr" },
27146 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
27147 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
27148 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
27149 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
27150 {
27151 "field_bit": 0,
27152 "field_name": "fabric_metadata.original_ether_type"
27153 },
27154 {
27155 "field_bit": 8,
27156 "field_name": "fabric_metadata.original_ether_type"
27157 },
27158 {
27159 "field_bit": 9,
27160 "field_name": "fabric_metadata.original_ether_type"
27161 },
27162 {
27163 "field_bit": 10,
27164 "field_name": "fabric_metadata.original_ether_type"
27165 },
27166 {
27167 "field_bit": 13,
27168 "field_name": "fabric_metadata.original_ether_type"
27169 },
27170 {
27171 "field_bit": 15,
27172 "field_name": "fabric_metadata.original_ether_type"
27173 },
27174 {
27175 "field_bit": 1,
27176 "field_name": "ig_intr_md.ingress_port"
27177 },
27178 {
27179 "field_bit": 2,
27180 "field_name": "ig_intr_md.ingress_port"
27181 },
27182 {
27183 "field_bit": 3,
27184 "field_name": "ig_intr_md.ingress_port"
27185 },
27186 {
27187 "field_bit": 4,
27188 "field_name": "ig_intr_md.ingress_port"
27189 },
27190 {
27191 "field_bit": 6,
27192 "field_name": "ig_intr_md.ingress_port"
27193 },
27194 {
27195 "field_bit": 7,
27196 "field_name": "ig_intr_md.ingress_port"
27197 }
27198 ]
27199 },
27200 {
27201 "hash_bit": 4,
27202 "seed": 0,
27203 "bits_to_xor": [
27204 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
27205 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27206 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
27207 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
27208 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
27209 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
27210 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
27211 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27212 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
27213 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27214 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
27215 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
27216 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
27217 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27218 { "field_bit": 4, "field_name": "ethernet.dst_addr" },
27219 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
27220 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
27221 {
27222 "field_bit": 2,
27223 "field_name": "fabric_metadata.original_ether_type"
27224 },
27225 {
27226 "field_bit": 8,
27227 "field_name": "fabric_metadata.original_ether_type"
27228 },
27229 {
27230 "field_bit": 14,
27231 "field_name": "fabric_metadata.original_ether_type"
27232 },
27233 {
27234 "field_bit": 15,
27235 "field_name": "fabric_metadata.original_ether_type"
27236 },
27237 {
27238 "field_bit": 0,
27239 "field_name": "ig_intr_md.ingress_port"
27240 },
27241 {
27242 "field_bit": 3,
27243 "field_name": "ig_intr_md.ingress_port"
27244 },
27245 {
27246 "field_bit": 4,
27247 "field_name": "ig_intr_md.ingress_port"
27248 }
27249 ]
27250 },
27251 {
27252 "hash_bit": 5,
27253 "seed": 0,
27254 "bits_to_xor": [
27255 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
27256 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27257 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
27258 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
27259 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
27260 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
27261 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
27262 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
27263 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27264 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
27265 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27266 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
27267 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
27268 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
27269 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27270 { "field_bit": 5, "field_name": "ethernet.dst_addr" },
27271 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
27272 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
27273 {
27274 "field_bit": 0,
27275 "field_name": "fabric_metadata.original_ether_type"
27276 },
27277 {
27278 "field_bit": 1,
27279 "field_name": "fabric_metadata.original_ether_type"
27280 },
27281 {
27282 "field_bit": 5,
27283 "field_name": "fabric_metadata.original_ether_type"
27284 },
27285 {
27286 "field_bit": 7,
27287 "field_name": "fabric_metadata.original_ether_type"
27288 },
27289 {
27290 "field_bit": 8,
27291 "field_name": "fabric_metadata.original_ether_type"
27292 },
27293 {
27294 "field_bit": 10,
27295 "field_name": "fabric_metadata.original_ether_type"
27296 },
27297 {
27298 "field_bit": 11,
27299 "field_name": "fabric_metadata.original_ether_type"
27300 },
27301 {
27302 "field_bit": 12,
27303 "field_name": "fabric_metadata.original_ether_type"
27304 },
27305 {
27306 "field_bit": 13,
27307 "field_name": "fabric_metadata.original_ether_type"
27308 },
27309 {
27310 "field_bit": 14,
27311 "field_name": "fabric_metadata.original_ether_type"
27312 },
27313 {
27314 "field_bit": 0,
27315 "field_name": "ig_intr_md.ingress_port"
27316 },
27317 {
27318 "field_bit": 2,
27319 "field_name": "ig_intr_md.ingress_port"
27320 },
27321 {
27322 "field_bit": 3,
27323 "field_name": "ig_intr_md.ingress_port"
27324 },
27325 {
27326 "field_bit": 5,
27327 "field_name": "ig_intr_md.ingress_port"
27328 },
27329 {
27330 "field_bit": 7,
27331 "field_name": "ig_intr_md.ingress_port"
27332 }
27333 ]
27334 },
27335 {
27336 "hash_bit": 6,
27337 "seed": 0,
27338 "bits_to_xor": [
27339 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
27340 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
27341 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27342 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
27343 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
27344 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27345 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
27346 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27347 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
27348 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27349 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
27350 { "field_bit": 6, "field_name": "ethernet.dst_addr" },
27351 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
27352 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
27353 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
27354 {
27355 "field_bit": 0,
27356 "field_name": "fabric_metadata.original_ether_type"
27357 },
27358 {
27359 "field_bit": 3,
27360 "field_name": "fabric_metadata.original_ether_type"
27361 },
27362 {
27363 "field_bit": 4,
27364 "field_name": "fabric_metadata.original_ether_type"
27365 },
27366 {
27367 "field_bit": 5,
27368 "field_name": "fabric_metadata.original_ether_type"
27369 },
27370 {
27371 "field_bit": 8,
27372 "field_name": "fabric_metadata.original_ether_type"
27373 },
27374 {
27375 "field_bit": 11,
27376 "field_name": "fabric_metadata.original_ether_type"
27377 },
27378 {
27379 "field_bit": 13,
27380 "field_name": "fabric_metadata.original_ether_type"
27381 },
27382 {
27383 "field_bit": 14,
27384 "field_name": "fabric_metadata.original_ether_type"
27385 },
27386 {
27387 "field_bit": 15,
27388 "field_name": "fabric_metadata.original_ether_type"
27389 },
27390 {
27391 "field_bit": 0,
27392 "field_name": "ig_intr_md.ingress_port"
27393 },
27394 {
27395 "field_bit": 2,
27396 "field_name": "ig_intr_md.ingress_port"
27397 },
27398 {
27399 "field_bit": 4,
27400 "field_name": "ig_intr_md.ingress_port"
27401 },
27402 {
27403 "field_bit": 5,
27404 "field_name": "ig_intr_md.ingress_port"
27405 },
27406 {
27407 "field_bit": 6,
27408 "field_name": "ig_intr_md.ingress_port"
27409 }
27410 ]
27411 },
27412 {
27413 "hash_bit": 7,
27414 "seed": 0,
27415 "bits_to_xor": [
27416 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
27417 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
27418 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27419 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
27420 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
27421 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27422 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
27423 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27424 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
27425 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
27426 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27427 { "field_bit": 7, "field_name": "ethernet.dst_addr" },
27428 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
27429 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
27430 {
27431 "field_bit": 0,
27432 "field_name": "fabric_metadata.original_ether_type"
27433 },
27434 {
27435 "field_bit": 2,
27436 "field_name": "fabric_metadata.original_ether_type"
27437 },
27438 {
27439 "field_bit": 3,
27440 "field_name": "fabric_metadata.original_ether_type"
27441 },
27442 {
27443 "field_bit": 4,
27444 "field_name": "fabric_metadata.original_ether_type"
27445 },
27446 {
27447 "field_bit": 5,
27448 "field_name": "fabric_metadata.original_ether_type"
27449 },
27450 {
27451 "field_bit": 6,
27452 "field_name": "fabric_metadata.original_ether_type"
27453 },
27454 {
27455 "field_bit": 9,
27456 "field_name": "fabric_metadata.original_ether_type"
27457 },
27458 {
27459 "field_bit": 12,
27460 "field_name": "fabric_metadata.original_ether_type"
27461 },
27462 {
27463 "field_bit": 14,
27464 "field_name": "fabric_metadata.original_ether_type"
27465 },
27466 {
27467 "field_bit": 15,
27468 "field_name": "fabric_metadata.original_ether_type"
27469 },
27470 {
27471 "field_bit": 1,
27472 "field_name": "ig_intr_md.ingress_port"
27473 },
27474 {
27475 "field_bit": 2,
27476 "field_name": "ig_intr_md.ingress_port"
27477 },
27478 {
27479 "field_bit": 3,
27480 "field_name": "ig_intr_md.ingress_port"
27481 },
27482 {
27483 "field_bit": 4,
27484 "field_name": "ig_intr_md.ingress_port"
27485 }
27486 ]
27487 },
27488 {
27489 "hash_bit": 8,
27490 "seed": 0,
27491 "bits_to_xor": [
27492 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27493 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
27494 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27495 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
27496 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
27497 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27498 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
27499 { "field_bit": 37, "field_name": "ethernet.dst_addr" },
27500 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27501 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
27502 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27503 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
27504 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
27505 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
27506 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27507 { "field_bit": 8, "field_name": "ethernet.dst_addr" },
27508 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
27509 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
27510 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
27511 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
27512 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
27513 {
27514 "field_bit": 0,
27515 "field_name": "fabric_metadata.original_ether_type"
27516 },
27517 {
27518 "field_bit": 1,
27519 "field_name": "fabric_metadata.original_ether_type"
27520 },
27521 {
27522 "field_bit": 4,
27523 "field_name": "fabric_metadata.original_ether_type"
27524 },
27525 {
27526 "field_bit": 5,
27527 "field_name": "fabric_metadata.original_ether_type"
27528 },
27529 {
27530 "field_bit": 6,
27531 "field_name": "fabric_metadata.original_ether_type"
27532 },
27533 {
27534 "field_bit": 7,
27535 "field_name": "fabric_metadata.original_ether_type"
27536 },
27537 {
27538 "field_bit": 10,
27539 "field_name": "fabric_metadata.original_ether_type"
27540 },
27541 {
27542 "field_bit": 11,
27543 "field_name": "fabric_metadata.original_ether_type"
27544 },
27545 {
27546 "field_bit": 13,
27547 "field_name": "fabric_metadata.original_ether_type"
27548 },
27549 {
27550 "field_bit": 0,
27551 "field_name": "ig_intr_md.ingress_port"
27552 },
27553 {
27554 "field_bit": 1,
27555 "field_name": "ig_intr_md.ingress_port"
27556 },
27557 {
27558 "field_bit": 2,
27559 "field_name": "ig_intr_md.ingress_port"
27560 },
27561 {
27562 "field_bit": 4,
27563 "field_name": "ig_intr_md.ingress_port"
27564 },
27565 {
27566 "field_bit": 6,
27567 "field_name": "ig_intr_md.ingress_port"
27568 }
27569 ]
27570 },
27571 {
27572 "hash_bit": 9,
27573 "seed": 0,
27574 "bits_to_xor": [
27575 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
27576 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
27577 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
27578 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
27579 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
27580 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
27581 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
27582 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
27583 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
27584 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27585 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
27586 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27587 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27588 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
27589 {
27590 "field_bit": 0,
27591 "field_name": "fabric_metadata.original_ether_type"
27592 },
27593 {
27594 "field_bit": 2,
27595 "field_name": "fabric_metadata.original_ether_type"
27596 },
27597 {
27598 "field_bit": 4,
27599 "field_name": "fabric_metadata.original_ether_type"
27600 },
27601 {
27602 "field_bit": 5,
27603 "field_name": "fabric_metadata.original_ether_type"
27604 },
27605 {
27606 "field_bit": 6,
27607 "field_name": "fabric_metadata.original_ether_type"
27608 },
27609 {
27610 "field_bit": 7,
27611 "field_name": "fabric_metadata.original_ether_type"
27612 },
27613 {
27614 "field_bit": 11,
27615 "field_name": "fabric_metadata.original_ether_type"
27616 },
27617 {
27618 "field_bit": 15,
27619 "field_name": "fabric_metadata.original_ether_type"
27620 },
27621 {
27622 "field_bit": 2,
27623 "field_name": "ig_intr_md.ingress_port"
27624 },
27625 {
27626 "field_bit": 4,
27627 "field_name": "ig_intr_md.ingress_port"
27628 },
27629 {
27630 "field_bit": 5,
27631 "field_name": "ig_intr_md.ingress_port"
27632 },
27633 {
27634 "field_bit": 7,
27635 "field_name": "ig_intr_md.ingress_port"
27636 }
27637 ]
27638 },
27639 {
27640 "hash_bit": 10,
27641 "seed": 0,
27642 "bits_to_xor": [
27643 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
27644 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
27645 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
27646 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
27647 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
27648 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
27649 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
27650 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
27651 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
27652 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
27653 { "field_bit": 37, "field_name": "ethernet.dst_addr" },
27654 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27655 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
27656 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27657 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
27658 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
27659 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
27660 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
27661 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27662 { "field_bit": 0, "field_name": "ethernet.dst_addr" },
27663 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
27664 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
27665 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
27666 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
27667 {
27668 "field_bit": 0,
27669 "field_name": "fabric_metadata.original_ether_type"
27670 },
27671 {
27672 "field_bit": 3,
27673 "field_name": "fabric_metadata.original_ether_type"
27674 },
27675 {
27676 "field_bit": 6,
27677 "field_name": "fabric_metadata.original_ether_type"
27678 },
27679 {
27680 "field_bit": 7,
27681 "field_name": "fabric_metadata.original_ether_type"
27682 },
27683 {
27684 "field_bit": 8,
27685 "field_name": "fabric_metadata.original_ether_type"
27686 },
27687 {
27688 "field_bit": 9,
27689 "field_name": "fabric_metadata.original_ether_type"
27690 },
27691 {
27692 "field_bit": 12,
27693 "field_name": "fabric_metadata.original_ether_type"
27694 },
27695 {
27696 "field_bit": 13,
27697 "field_name": "fabric_metadata.original_ether_type"
27698 },
27699 {
27700 "field_bit": 14,
27701 "field_name": "fabric_metadata.original_ether_type"
27702 },
27703 {
27704 "field_bit": 15,
27705 "field_name": "fabric_metadata.original_ether_type"
27706 },
27707 {
27708 "field_bit": 1,
27709 "field_name": "ig_intr_md.ingress_port"
27710 },
27711 {
27712 "field_bit": 2,
27713 "field_name": "ig_intr_md.ingress_port"
27714 },
27715 {
27716 "field_bit": 3,
27717 "field_name": "ig_intr_md.ingress_port"
27718 },
27719 {
27720 "field_bit": 6,
27721 "field_name": "ig_intr_md.ingress_port"
27722 },
27723 {
27724 "field_bit": 8,
27725 "field_name": "ig_intr_md.ingress_port"
27726 }
27727 ]
27728 },
27729 {
27730 "hash_bit": 11,
27731 "seed": 0,
27732 "bits_to_xor": [
27733 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
27734 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27735 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
27736 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
27737 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
27738 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
27739 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
27740 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27741 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
27742 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27743 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
27744 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
27745 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
27746 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
27747 { "field_bit": 37, "field_name": "ethernet.dst_addr" },
27748 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
27749 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
27750 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27751 { "field_bit": 1, "field_name": "ethernet.dst_addr" },
27752 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
27753 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
27754 {
27755 "field_bit": 3,
27756 "field_name": "fabric_metadata.original_ether_type"
27757 },
27758 {
27759 "field_bit": 4,
27760 "field_name": "fabric_metadata.original_ether_type"
27761 },
27762 {
27763 "field_bit": 5,
27764 "field_name": "fabric_metadata.original_ether_type"
27765 },
27766 {
27767 "field_bit": 9,
27768 "field_name": "fabric_metadata.original_ether_type"
27769 },
27770 {
27771 "field_bit": 10,
27772 "field_name": "fabric_metadata.original_ether_type"
27773 },
27774 {
27775 "field_bit": 11,
27776 "field_name": "fabric_metadata.original_ether_type"
27777 },
27778 {
27779 "field_bit": 12,
27780 "field_name": "fabric_metadata.original_ether_type"
27781 },
27782 {
27783 "field_bit": 14,
27784 "field_name": "fabric_metadata.original_ether_type"
27785 },
27786 {
27787 "field_bit": 15,
27788 "field_name": "fabric_metadata.original_ether_type"
27789 },
27790 {
27791 "field_bit": 0,
27792 "field_name": "ig_intr_md.ingress_port"
27793 },
27794 {
27795 "field_bit": 3,
27796 "field_name": "ig_intr_md.ingress_port"
27797 },
27798 {
27799 "field_bit": 4,
27800 "field_name": "ig_intr_md.ingress_port"
27801 },
27802 {
27803 "field_bit": 6,
27804 "field_name": "ig_intr_md.ingress_port"
27805 }
27806 ]
27807 },
27808 {
27809 "hash_bit": 12,
27810 "seed": 0,
27811 "bits_to_xor": [
27812 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
27813 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
27814 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
27815 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
27816 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
27817 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
27818 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
27819 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27820 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
27821 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27822 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
27823 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
27824 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
27825 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
27826 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
27827 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27828 { "field_bit": 2, "field_name": "ethernet.dst_addr" },
27829 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
27830 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
27831 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
27832 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
27833 {
27834 "field_bit": 0,
27835 "field_name": "fabric_metadata.original_ether_type"
27836 },
27837 {
27838 "field_bit": 2,
27839 "field_name": "fabric_metadata.original_ether_type"
27840 },
27841 {
27842 "field_bit": 6,
27843 "field_name": "fabric_metadata.original_ether_type"
27844 },
27845 {
27846 "field_bit": 8,
27847 "field_name": "fabric_metadata.original_ether_type"
27848 },
27849 {
27850 "field_bit": 9,
27851 "field_name": "fabric_metadata.original_ether_type"
27852 },
27853 {
27854 "field_bit": 10,
27855 "field_name": "fabric_metadata.original_ether_type"
27856 },
27857 {
27858 "field_bit": 11,
27859 "field_name": "fabric_metadata.original_ether_type"
27860 },
27861 {
27862 "field_bit": 12,
27863 "field_name": "fabric_metadata.original_ether_type"
27864 },
27865 {
27866 "field_bit": 13,
27867 "field_name": "fabric_metadata.original_ether_type"
27868 },
27869 {
27870 "field_bit": 15,
27871 "field_name": "fabric_metadata.original_ether_type"
27872 },
27873 {
27874 "field_bit": 0,
27875 "field_name": "ig_intr_md.ingress_port"
27876 },
27877 {
27878 "field_bit": 1,
27879 "field_name": "ig_intr_md.ingress_port"
27880 },
27881 {
27882 "field_bit": 4,
27883 "field_name": "ig_intr_md.ingress_port"
27884 },
27885 {
27886 "field_bit": 5,
27887 "field_name": "ig_intr_md.ingress_port"
27888 },
27889 {
27890 "field_bit": 6,
27891 "field_name": "ig_intr_md.ingress_port"
27892 },
27893 {
27894 "field_bit": 7,
27895 "field_name": "ig_intr_md.ingress_port"
27896 }
27897 ]
27898 },
27899 {
27900 "hash_bit": 13,
27901 "seed": 0,
27902 "bits_to_xor": [
27903 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
27904 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27905 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
27906 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
27907 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
27908 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
27909 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27910 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
27911 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
27912 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27913 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
27914 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
27915 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27916 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
27917 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27918 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
27919 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
27920 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
27921 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27922 { "field_bit": 3, "field_name": "ethernet.dst_addr" },
27923 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
27924 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
27925 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
27926 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
27927 {
27928 "field_bit": 2,
27929 "field_name": "fabric_metadata.original_ether_type"
27930 },
27931 {
27932 "field_bit": 6,
27933 "field_name": "fabric_metadata.original_ether_type"
27934 },
27935 {
27936 "field_bit": 7,
27937 "field_name": "fabric_metadata.original_ether_type"
27938 },
27939 {
27940 "field_bit": 11,
27941 "field_name": "fabric_metadata.original_ether_type"
27942 },
27943 {
27944 "field_bit": 14,
27945 "field_name": "fabric_metadata.original_ether_type"
27946 },
27947 {
27948 "field_bit": 3,
27949 "field_name": "ig_intr_md.ingress_port"
27950 }
27951 ]
27952 },
27953 {
27954 "hash_bit": 14,
27955 "seed": 0,
27956 "bits_to_xor": [
27957 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
27958 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27959 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
27960 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
27961 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
27962 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27963 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
27964 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27965 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27966 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
27967 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
27968 { "field_bit": 4, "field_name": "ethernet.dst_addr" },
27969 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
27970 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
27971 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
27972 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
27973 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
27974 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
27975 {
27976 "field_bit": 1,
27977 "field_name": "fabric_metadata.original_ether_type"
27978 },
27979 {
27980 "field_bit": 3,
27981 "field_name": "fabric_metadata.original_ether_type"
27982 },
27983 {
27984 "field_bit": 4,
27985 "field_name": "fabric_metadata.original_ether_type"
27986 },
27987 {
27988 "field_bit": 5,
27989 "field_name": "fabric_metadata.original_ether_type"
27990 },
27991 {
27992 "field_bit": 6,
27993 "field_name": "fabric_metadata.original_ether_type"
27994 },
27995 {
27996 "field_bit": 7,
27997 "field_name": "fabric_metadata.original_ether_type"
27998 },
27999 {
28000 "field_bit": 8,
28001 "field_name": "fabric_metadata.original_ether_type"
28002 },
28003 {
28004 "field_bit": 11,
28005 "field_name": "fabric_metadata.original_ether_type"
28006 },
28007 {
28008 "field_bit": 0,
28009 "field_name": "ig_intr_md.ingress_port"
28010 },
28011 {
28012 "field_bit": 1,
28013 "field_name": "ig_intr_md.ingress_port"
28014 },
28015 {
28016 "field_bit": 2,
28017 "field_name": "ig_intr_md.ingress_port"
28018 },
28019 {
28020 "field_bit": 3,
28021 "field_name": "ig_intr_md.ingress_port"
28022 },
28023 {
28024 "field_bit": 5,
28025 "field_name": "ig_intr_md.ingress_port"
28026 },
28027 {
28028 "field_bit": 6,
28029 "field_name": "ig_intr_md.ingress_port"
28030 },
28031 {
28032 "field_bit": 7,
28033 "field_name": "ig_intr_md.ingress_port"
28034 }
28035 ]
28036 },
28037 {
28038 "hash_bit": 15,
28039 "seed": 0,
28040 "bits_to_xor": [
28041 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
28042 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28043 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
28044 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
28045 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
28046 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
28047 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28048 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28049 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
28050 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28051 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
28052 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
28053 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
28054 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
28055 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28056 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
28057 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
28058 { "field_bit": 5, "field_name": "ethernet.dst_addr" },
28059 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28060 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
28061 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
28062 {
28063 "field_bit": 0,
28064 "field_name": "fabric_metadata.original_ether_type"
28065 },
28066 {
28067 "field_bit": 1,
28068 "field_name": "fabric_metadata.original_ether_type"
28069 },
28070 {
28071 "field_bit": 3,
28072 "field_name": "fabric_metadata.original_ether_type"
28073 },
28074 {
28075 "field_bit": 4,
28076 "field_name": "fabric_metadata.original_ether_type"
28077 },
28078 {
28079 "field_bit": 5,
28080 "field_name": "fabric_metadata.original_ether_type"
28081 },
28082 {
28083 "field_bit": 7,
28084 "field_name": "fabric_metadata.original_ether_type"
28085 },
28086 {
28087 "field_bit": 9,
28088 "field_name": "fabric_metadata.original_ether_type"
28089 },
28090 {
28091 "field_bit": 10,
28092 "field_name": "fabric_metadata.original_ether_type"
28093 },
28094 {
28095 "field_bit": 11,
28096 "field_name": "fabric_metadata.original_ether_type"
28097 },
28098 {
28099 "field_bit": 13,
28100 "field_name": "fabric_metadata.original_ether_type"
28101 },
28102 {
28103 "field_bit": 0,
28104 "field_name": "ig_intr_md.ingress_port"
28105 },
28106 {
28107 "field_bit": 1,
28108 "field_name": "ig_intr_md.ingress_port"
28109 },
28110 {
28111 "field_bit": 7,
28112 "field_name": "ig_intr_md.ingress_port"
28113 }
28114 ]
28115 },
28116 {
28117 "hash_bit": 16,
28118 "seed": 0,
28119 "bits_to_xor": [
28120 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
28121 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
28122 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
28123 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
28124 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
28125 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
28126 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
28127 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
28128 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28129 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28130 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
28131 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28132 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
28133 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
28134 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28135 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
28136 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28137 { "field_bit": 6, "field_name": "ethernet.dst_addr" },
28138 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
28139 {
28140 "field_bit": 0,
28141 "field_name": "fabric_metadata.original_ether_type"
28142 },
28143 {
28144 "field_bit": 2,
28145 "field_name": "fabric_metadata.original_ether_type"
28146 },
28147 {
28148 "field_bit": 3,
28149 "field_name": "fabric_metadata.original_ether_type"
28150 },
28151 {
28152 "field_bit": 8,
28153 "field_name": "fabric_metadata.original_ether_type"
28154 },
28155 {
28156 "field_bit": 9,
28157 "field_name": "fabric_metadata.original_ether_type"
28158 },
28159 {
28160 "field_bit": 12,
28161 "field_name": "fabric_metadata.original_ether_type"
28162 },
28163 {
28164 "field_bit": 14,
28165 "field_name": "fabric_metadata.original_ether_type"
28166 },
28167 {
28168 "field_bit": 0,
28169 "field_name": "ig_intr_md.ingress_port"
28170 },
28171 {
28172 "field_bit": 1,
28173 "field_name": "ig_intr_md.ingress_port"
28174 },
28175 {
28176 "field_bit": 5,
28177 "field_name": "ig_intr_md.ingress_port"
28178 },
28179 {
28180 "field_bit": 6,
28181 "field_name": "ig_intr_md.ingress_port"
28182 }
28183 ]
28184 },
28185 {
28186 "hash_bit": 17,
28187 "seed": 0,
28188 "bits_to_xor": [
28189 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
28190 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
28191 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
28192 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28193 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
28194 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
28195 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
28196 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
28197 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
28198 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28199 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
28200 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
28201 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28202 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
28203 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
28204 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28205 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
28206 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28207 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
28208 { "field_bit": 7, "field_name": "ethernet.dst_addr" },
28209 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28210 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
28211 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
28212 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28213 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
28214 {
28215 "field_bit": 3,
28216 "field_name": "fabric_metadata.original_ether_type"
28217 },
28218 {
28219 "field_bit": 5,
28220 "field_name": "fabric_metadata.original_ether_type"
28221 },
28222 {
28223 "field_bit": 11,
28224 "field_name": "fabric_metadata.original_ether_type"
28225 },
28226 {
28227 "field_bit": 13,
28228 "field_name": "fabric_metadata.original_ether_type"
28229 },
28230 {
28231 "field_bit": 14,
28232 "field_name": "fabric_metadata.original_ether_type"
28233 },
28234 {
28235 "field_bit": 0,
28236 "field_name": "ig_intr_md.ingress_port"
28237 },
28238 {
28239 "field_bit": 1,
28240 "field_name": "ig_intr_md.ingress_port"
28241 },
28242 {
28243 "field_bit": 3,
28244 "field_name": "ig_intr_md.ingress_port"
28245 },
28246 {
28247 "field_bit": 4,
28248 "field_name": "ig_intr_md.ingress_port"
28249 },
28250 {
28251 "field_bit": 6,
28252 "field_name": "ig_intr_md.ingress_port"
28253 }
28254 ]
28255 },
28256 {
28257 "hash_bit": 18,
28258 "seed": 0,
28259 "bits_to_xor": [
28260 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
28261 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
28262 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28263 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
28264 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
28265 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
28266 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
28267 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
28268 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28269 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
28270 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
28271 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28272 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28273 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
28274 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
28275 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
28276 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
28277 { "field_bit": 8, "field_name": "ethernet.dst_addr" },
28278 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28279 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
28280 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28281 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
28282 {
28283 "field_bit": 1,
28284 "field_name": "fabric_metadata.original_ether_type"
28285 },
28286 {
28287 "field_bit": 2,
28288 "field_name": "fabric_metadata.original_ether_type"
28289 },
28290 {
28291 "field_bit": 3,
28292 "field_name": "fabric_metadata.original_ether_type"
28293 },
28294 {
28295 "field_bit": 5,
28296 "field_name": "fabric_metadata.original_ether_type"
28297 },
28298 {
28299 "field_bit": 7,
28300 "field_name": "fabric_metadata.original_ether_type"
28301 },
28302 {
28303 "field_bit": 10,
28304 "field_name": "fabric_metadata.original_ether_type"
28305 },
28306 {
28307 "field_bit": 13,
28308 "field_name": "fabric_metadata.original_ether_type"
28309 },
28310 {
28311 "field_bit": 14,
28312 "field_name": "fabric_metadata.original_ether_type"
28313 },
28314 {
28315 "field_bit": 15,
28316 "field_name": "fabric_metadata.original_ether_type"
28317 },
28318 {
28319 "field_bit": 1,
28320 "field_name": "ig_intr_md.ingress_port"
28321 },
28322 {
28323 "field_bit": 2,
28324 "field_name": "ig_intr_md.ingress_port"
28325 },
28326 {
28327 "field_bit": 5,
28328 "field_name": "ig_intr_md.ingress_port"
28329 },
28330 {
28331 "field_bit": 6,
28332 "field_name": "ig_intr_md.ingress_port"
28333 },
28334 {
28335 "field_bit": 7,
28336 "field_name": "ig_intr_md.ingress_port"
28337 }
28338 ]
28339 },
28340 {
28341 "hash_bit": 19,
28342 "seed": 0,
28343 "bits_to_xor": [
28344 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
28345 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
28346 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
28347 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
28348 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
28349 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
28350 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28351 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
28352 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
28353 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28354 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
28355 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28356 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
28357 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28358 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
28359 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
28360 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
28361 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28362 {
28363 "field_bit": 0,
28364 "field_name": "fabric_metadata.original_ether_type"
28365 },
28366 {
28367 "field_bit": 1,
28368 "field_name": "fabric_metadata.original_ether_type"
28369 },
28370 {
28371 "field_bit": 2,
28372 "field_name": "fabric_metadata.original_ether_type"
28373 },
28374 {
28375 "field_bit": 3,
28376 "field_name": "fabric_metadata.original_ether_type"
28377 },
28378 {
28379 "field_bit": 5,
28380 "field_name": "fabric_metadata.original_ether_type"
28381 },
28382 {
28383 "field_bit": 7,
28384 "field_name": "fabric_metadata.original_ether_type"
28385 },
28386 {
28387 "field_bit": 8,
28388 "field_name": "fabric_metadata.original_ether_type"
28389 },
28390 {
28391 "field_bit": 9,
28392 "field_name": "fabric_metadata.original_ether_type"
28393 },
28394 {
28395 "field_bit": 10,
28396 "field_name": "fabric_metadata.original_ether_type"
28397 },
28398 {
28399 "field_bit": 12,
28400 "field_name": "fabric_metadata.original_ether_type"
28401 },
28402 {
28403 "field_bit": 13,
28404 "field_name": "fabric_metadata.original_ether_type"
28405 },
28406 {
28407 "field_bit": 14,
28408 "field_name": "fabric_metadata.original_ether_type"
28409 },
28410 {
28411 "field_bit": 15,
28412 "field_name": "fabric_metadata.original_ether_type"
28413 },
28414 {
28415 "field_bit": 7,
28416 "field_name": "ig_intr_md.ingress_port"
28417 }
28418 ]
28419 },
28420 {
28421 "hash_bit": 20,
28422 "seed": 0,
28423 "bits_to_xor": [
28424 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
28425 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28426 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
28427 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
28428 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
28429 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
28430 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
28431 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28432 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
28433 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
28434 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
28435 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
28436 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
28437 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
28438 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28439 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
28440 { "field_bit": 0, "field_name": "ethernet.dst_addr" },
28441 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28442 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
28443 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
28444 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28445 {
28446 "field_bit": 0,
28447 "field_name": "fabric_metadata.original_ether_type"
28448 },
28449 {
28450 "field_bit": 1,
28451 "field_name": "fabric_metadata.original_ether_type"
28452 },
28453 {
28454 "field_bit": 4,
28455 "field_name": "fabric_metadata.original_ether_type"
28456 },
28457 {
28458 "field_bit": 7,
28459 "field_name": "fabric_metadata.original_ether_type"
28460 },
28461 {
28462 "field_bit": 10,
28463 "field_name": "fabric_metadata.original_ether_type"
28464 },
28465 {
28466 "field_bit": 13,
28467 "field_name": "fabric_metadata.original_ether_type"
28468 },
28469 {
28470 "field_bit": 14,
28471 "field_name": "fabric_metadata.original_ether_type"
28472 },
28473 {
28474 "field_bit": 15,
28475 "field_name": "fabric_metadata.original_ether_type"
28476 },
28477 {
28478 "field_bit": 0,
28479 "field_name": "ig_intr_md.ingress_port"
28480 },
28481 {
28482 "field_bit": 2,
28483 "field_name": "ig_intr_md.ingress_port"
28484 },
28485 {
28486 "field_bit": 4,
28487 "field_name": "ig_intr_md.ingress_port"
28488 },
28489 {
28490 "field_bit": 8,
28491 "field_name": "ig_intr_md.ingress_port"
28492 }
28493 ]
28494 },
28495 {
28496 "hash_bit": 21,
28497 "seed": 0,
28498 "bits_to_xor": [
28499 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
28500 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
28501 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28502 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
28503 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
28504 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
28505 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
28506 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28507 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
28508 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28509 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28510 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
28511 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
28512 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28513 { "field_bit": 1, "field_name": "ethernet.dst_addr" },
28514 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28515 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
28516 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
28517 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
28518 {
28519 "field_bit": 0,
28520 "field_name": "fabric_metadata.original_ether_type"
28521 },
28522 {
28523 "field_bit": 1,
28524 "field_name": "fabric_metadata.original_ether_type"
28525 },
28526 {
28527 "field_bit": 4,
28528 "field_name": "fabric_metadata.original_ether_type"
28529 },
28530 {
28531 "field_bit": 6,
28532 "field_name": "fabric_metadata.original_ether_type"
28533 },
28534 {
28535 "field_bit": 7,
28536 "field_name": "fabric_metadata.original_ether_type"
28537 },
28538 {
28539 "field_bit": 10,
28540 "field_name": "fabric_metadata.original_ether_type"
28541 },
28542 {
28543 "field_bit": 11,
28544 "field_name": "fabric_metadata.original_ether_type"
28545 },
28546 {
28547 "field_bit": 12,
28548 "field_name": "fabric_metadata.original_ether_type"
28549 },
28550 {
28551 "field_bit": 13,
28552 "field_name": "fabric_metadata.original_ether_type"
28553 },
28554 {
28555 "field_bit": 15,
28556 "field_name": "fabric_metadata.original_ether_type"
28557 },
28558 {
28559 "field_bit": 3,
28560 "field_name": "ig_intr_md.ingress_port"
28561 },
28562 {
28563 "field_bit": 4,
28564 "field_name": "ig_intr_md.ingress_port"
28565 },
28566 {
28567 "field_bit": 5,
28568 "field_name": "ig_intr_md.ingress_port"
28569 },
28570 {
28571 "field_bit": 7,
28572 "field_name": "ig_intr_md.ingress_port"
28573 }
28574 ]
28575 },
28576 {
28577 "hash_bit": 22,
28578 "seed": 0,
28579 "bits_to_xor": [
28580 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
28581 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
28582 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
28583 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
28584 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
28585 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
28586 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
28587 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28588 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
28589 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28590 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
28591 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28592 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
28593 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
28594 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
28595 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28596 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
28597 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28598 { "field_bit": 2, "field_name": "ethernet.dst_addr" },
28599 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28600 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
28601 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
28602 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
28603 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28604 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
28605 {
28606 "field_bit": 4,
28607 "field_name": "fabric_metadata.original_ether_type"
28608 },
28609 {
28610 "field_bit": 5,
28611 "field_name": "fabric_metadata.original_ether_type"
28612 },
28613 {
28614 "field_bit": 6,
28615 "field_name": "fabric_metadata.original_ether_type"
28616 },
28617 {
28618 "field_bit": 8,
28619 "field_name": "fabric_metadata.original_ether_type"
28620 },
28621 {
28622 "field_bit": 10,
28623 "field_name": "fabric_metadata.original_ether_type"
28624 },
28625 {
28626 "field_bit": 11,
28627 "field_name": "fabric_metadata.original_ether_type"
28628 },
28629 {
28630 "field_bit": 13,
28631 "field_name": "fabric_metadata.original_ether_type"
28632 },
28633 {
28634 "field_bit": 14,
28635 "field_name": "fabric_metadata.original_ether_type"
28636 },
28637 {
28638 "field_bit": 1,
28639 "field_name": "ig_intr_md.ingress_port"
28640 },
28641 {
28642 "field_bit": 2,
28643 "field_name": "ig_intr_md.ingress_port"
28644 },
28645 {
28646 "field_bit": 7,
28647 "field_name": "ig_intr_md.ingress_port"
28648 }
28649 ]
28650 },
28651 {
28652 "hash_bit": 23,
28653 "seed": 0,
28654 "bits_to_xor": [
28655 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
28656 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
28657 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
28658 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
28659 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28660 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
28661 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
28662 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
28663 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
28664 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
28665 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
28666 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28667 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
28668 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28669 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
28670 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
28671 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
28672 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
28673 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28674 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28675 { "field_bit": 3, "field_name": "ethernet.dst_addr" },
28676 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28677 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
28678 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
28679 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
28680 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28681 {
28682 "field_bit": 0,
28683 "field_name": "fabric_metadata.original_ether_type"
28684 },
28685 {
28686 "field_bit": 6,
28687 "field_name": "fabric_metadata.original_ether_type"
28688 },
28689 {
28690 "field_bit": 8,
28691 "field_name": "fabric_metadata.original_ether_type"
28692 },
28693 {
28694 "field_bit": 10,
28695 "field_name": "fabric_metadata.original_ether_type"
28696 },
28697 {
28698 "field_bit": 2,
28699 "field_name": "ig_intr_md.ingress_port"
28700 },
28701 {
28702 "field_bit": 5,
28703 "field_name": "ig_intr_md.ingress_port"
28704 },
28705 {
28706 "field_bit": 6,
28707 "field_name": "ig_intr_md.ingress_port"
28708 }
28709 ]
28710 },
28711 {
28712 "hash_bit": 24,
28713 "seed": 0,
28714 "bits_to_xor": [
28715 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
28716 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
28717 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
28718 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28719 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
28720 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
28721 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
28722 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
28723 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
28724 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
28725 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28726 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
28727 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28728 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
28729 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28730 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
28731 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
28732 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
28733 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
28734 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
28735 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
28736 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28737 { "field_bit": 4, "field_name": "ethernet.dst_addr" },
28738 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28739 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
28740 {
28741 "field_bit": 1,
28742 "field_name": "fabric_metadata.original_ether_type"
28743 },
28744 {
28745 "field_bit": 5,
28746 "field_name": "fabric_metadata.original_ether_type"
28747 },
28748 {
28749 "field_bit": 6,
28750 "field_name": "fabric_metadata.original_ether_type"
28751 },
28752 {
28753 "field_bit": 8,
28754 "field_name": "fabric_metadata.original_ether_type"
28755 },
28756 {
28757 "field_bit": 9,
28758 "field_name": "fabric_metadata.original_ether_type"
28759 },
28760 {
28761 "field_bit": 10,
28762 "field_name": "fabric_metadata.original_ether_type"
28763 },
28764 {
28765 "field_bit": 13,
28766 "field_name": "fabric_metadata.original_ether_type"
28767 },
28768 {
28769 "field_bit": 15,
28770 "field_name": "fabric_metadata.original_ether_type"
28771 },
28772 {
28773 "field_bit": 0,
28774 "field_name": "ig_intr_md.ingress_port"
28775 },
28776 {
28777 "field_bit": 4,
28778 "field_name": "ig_intr_md.ingress_port"
28779 },
28780 {
28781 "field_bit": 6,
28782 "field_name": "ig_intr_md.ingress_port"
28783 },
28784 {
28785 "field_bit": 7,
28786 "field_name": "ig_intr_md.ingress_port"
28787 }
28788 ]
28789 },
28790 {
28791 "hash_bit": 25,
28792 "seed": 0,
28793 "bits_to_xor": [
28794 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
28795 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
28796 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28797 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
28798 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
28799 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
28800 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
28801 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
28802 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28803 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
28804 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
28805 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
28806 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
28807 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
28808 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28809 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28810 { "field_bit": 5, "field_name": "ethernet.dst_addr" },
28811 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
28812 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28813 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
28814 {
28815 "field_bit": 0,
28816 "field_name": "fabric_metadata.original_ether_type"
28817 },
28818 {
28819 "field_bit": 6,
28820 "field_name": "fabric_metadata.original_ether_type"
28821 },
28822 {
28823 "field_bit": 8,
28824 "field_name": "fabric_metadata.original_ether_type"
28825 },
28826 {
28827 "field_bit": 9,
28828 "field_name": "fabric_metadata.original_ether_type"
28829 },
28830 {
28831 "field_bit": 10,
28832 "field_name": "fabric_metadata.original_ether_type"
28833 },
28834 {
28835 "field_bit": 12,
28836 "field_name": "fabric_metadata.original_ether_type"
28837 },
28838 {
28839 "field_bit": 13,
28840 "field_name": "fabric_metadata.original_ether_type"
28841 },
28842 {
28843 "field_bit": 14,
28844 "field_name": "fabric_metadata.original_ether_type"
28845 },
28846 {
28847 "field_bit": 0,
28848 "field_name": "ig_intr_md.ingress_port"
28849 },
28850 {
28851 "field_bit": 1,
28852 "field_name": "ig_intr_md.ingress_port"
28853 },
28854 {
28855 "field_bit": 6,
28856 "field_name": "ig_intr_md.ingress_port"
28857 },
28858 {
28859 "field_bit": 7,
28860 "field_name": "ig_intr_md.ingress_port"
28861 }
28862 ]
28863 },
28864 {
28865 "hash_bit": 26,
28866 "seed": 0,
28867 "bits_to_xor": [
28868 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
28869 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28870 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
28871 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
28872 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
28873 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
28874 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28875 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28876 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
28877 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28878 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
28879 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
28880 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
28881 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28882 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
28883 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
28884 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28885 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
28886 { "field_bit": 6, "field_name": "ethernet.dst_addr" },
28887 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
28888 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
28889 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
28890 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
28891 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28892 {
28893 "field_bit": 0,
28894 "field_name": "fabric_metadata.original_ether_type"
28895 },
28896 {
28897 "field_bit": 2,
28898 "field_name": "fabric_metadata.original_ether_type"
28899 },
28900 {
28901 "field_bit": 3,
28902 "field_name": "fabric_metadata.original_ether_type"
28903 },
28904 {
28905 "field_bit": 4,
28906 "field_name": "fabric_metadata.original_ether_type"
28907 },
28908 {
28909 "field_bit": 5,
28910 "field_name": "fabric_metadata.original_ether_type"
28911 },
28912 {
28913 "field_bit": 7,
28914 "field_name": "fabric_metadata.original_ether_type"
28915 },
28916 {
28917 "field_bit": 8,
28918 "field_name": "fabric_metadata.original_ether_type"
28919 },
28920 {
28921 "field_bit": 9,
28922 "field_name": "fabric_metadata.original_ether_type"
28923 },
28924 {
28925 "field_bit": 2,
28926 "field_name": "ig_intr_md.ingress_port"
28927 },
28928 {
28929 "field_bit": 5,
28930 "field_name": "ig_intr_md.ingress_port"
28931 },
28932 {
28933 "field_bit": 6,
28934 "field_name": "ig_intr_md.ingress_port"
28935 },
28936 {
28937 "field_bit": 7,
28938 "field_name": "ig_intr_md.ingress_port"
28939 }
28940 ]
28941 },
28942 {
28943 "hash_bit": 27,
28944 "seed": 0,
28945 "bits_to_xor": [
28946 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
28947 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
28948 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
28949 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
28950 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
28951 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
28952 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28953 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28954 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
28955 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
28956 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28957 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
28958 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28959 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
28960 { "field_bit": 7, "field_name": "ethernet.dst_addr" },
28961 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28962 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
28963 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
28964 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28965 {
28966 "field_bit": 1,
28967 "field_name": "fabric_metadata.original_ether_type"
28968 },
28969 {
28970 "field_bit": 2,
28971 "field_name": "fabric_metadata.original_ether_type"
28972 },
28973 {
28974 "field_bit": 5,
28975 "field_name": "fabric_metadata.original_ether_type"
28976 },
28977 {
28978 "field_bit": 6,
28979 "field_name": "fabric_metadata.original_ether_type"
28980 },
28981 {
28982 "field_bit": 7,
28983 "field_name": "fabric_metadata.original_ether_type"
28984 },
28985 {
28986 "field_bit": 8,
28987 "field_name": "fabric_metadata.original_ether_type"
28988 },
28989 {
28990 "field_bit": 10,
28991 "field_name": "fabric_metadata.original_ether_type"
28992 },
28993 {
28994 "field_bit": 12,
28995 "field_name": "fabric_metadata.original_ether_type"
28996 },
28997 {
28998 "field_bit": 13,
28999 "field_name": "fabric_metadata.original_ether_type"
29000 },
29001 {
29002 "field_bit": 15,
29003 "field_name": "fabric_metadata.original_ether_type"
29004 },
29005 {
29006 "field_bit": 0,
29007 "field_name": "ig_intr_md.ingress_port"
29008 },
29009 {
29010 "field_bit": 1,
29011 "field_name": "ig_intr_md.ingress_port"
29012 },
29013 {
29014 "field_bit": 2,
29015 "field_name": "ig_intr_md.ingress_port"
29016 },
29017 {
29018 "field_bit": 5,
29019 "field_name": "ig_intr_md.ingress_port"
29020 }
29021 ]
29022 },
29023 {
29024 "hash_bit": 28,
29025 "seed": 0,
29026 "bits_to_xor": [
29027 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
29028 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
29029 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
29030 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
29031 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
29032 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
29033 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
29034 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
29035 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
29036 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
29037 { "field_bit": 37, "field_name": "ethernet.dst_addr" },
29038 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
29039 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
29040 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
29041 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
29042 { "field_bit": 8, "field_name": "ethernet.dst_addr" },
29043 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
29044 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
29045 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
29046 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
29047 {
29048 "field_bit": 6,
29049 "field_name": "fabric_metadata.original_ether_type"
29050 },
29051 {
29052 "field_bit": 8,
29053 "field_name": "fabric_metadata.original_ether_type"
29054 },
29055 {
29056 "field_bit": 12,
29057 "field_name": "fabric_metadata.original_ether_type"
29058 },
29059 {
29060 "field_bit": 14,
29061 "field_name": "fabric_metadata.original_ether_type"
29062 },
29063 {
29064 "field_bit": 0,
29065 "field_name": "ig_intr_md.ingress_port"
29066 },
29067 {
29068 "field_bit": 5,
29069 "field_name": "ig_intr_md.ingress_port"
29070 },
29071 {
29072 "field_bit": 6,
29073 "field_name": "ig_intr_md.ingress_port"
29074 },
29075 {
29076 "field_bit": 7,
29077 "field_name": "ig_intr_md.ingress_port"
29078 }
29079 ]
29080 },
29081 {
29082 "hash_bit": 29,
29083 "seed": 0,
29084 "bits_to_xor": [
29085 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
29086 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
29087 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
29088 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
29089 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
29090 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
29091 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
29092 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
29093 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
29094 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
29095 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
29096 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
29097 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
29098 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
29099 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
29100 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
29101 {
29102 "field_bit": 0,
29103 "field_name": "fabric_metadata.original_ether_type"
29104 },
29105 {
29106 "field_bit": 2,
29107 "field_name": "fabric_metadata.original_ether_type"
29108 },
29109 {
29110 "field_bit": 3,
29111 "field_name": "fabric_metadata.original_ether_type"
29112 },
29113 {
29114 "field_bit": 8,
29115 "field_name": "fabric_metadata.original_ether_type"
29116 },
29117 {
29118 "field_bit": 9,
29119 "field_name": "fabric_metadata.original_ether_type"
29120 },
29121 {
29122 "field_bit": 10,
29123 "field_name": "fabric_metadata.original_ether_type"
29124 },
29125 {
29126 "field_bit": 13,
29127 "field_name": "fabric_metadata.original_ether_type"
29128 },
29129 {
29130 "field_bit": 14,
29131 "field_name": "fabric_metadata.original_ether_type"
29132 },
29133 {
29134 "field_bit": 2,
29135 "field_name": "ig_intr_md.ingress_port"
29136 },
29137 {
29138 "field_bit": 3,
29139 "field_name": "ig_intr_md.ingress_port"
29140 }
29141 ]
29142 }
29143 ]
29144 }
29145 ],
29146 "action_format": [
29147 {
29148 "action_name": "filtering.set_forwarding_type",
29149 "action_handle": 536870922,
29150 "table_name": "forwarding_bridging",
29151 "next_table": 0,
29152 "next_table_full": 64,
29153 "vliw_instruction": 0,
29154 "vliw_instruction_full": 64,
29155 "immediate_fields": [
29156 {
29157 "param_name": "fwd_type",
29158 "param_type": "parameter",
29159 "param_shift": 0,
29160 "dest_start": 3,
29161 "dest_width": 3
29162 }
29163 ]
29164 }
29165 ],
29166 "result_physical_buses": [ 14 ],
29167 "pack_format": [
29168 {
29169 "memory_word_width": 128,
29170 "table_word_width": 128,
29171 "entries_per_table_word": 1,
29172 "number_memory_units_per_table_word": 1
29173 }
29174 ],
29175 "memory_resource_allocation": null,
29176 "ways": [
29177 {
29178 "stage_number": 3,
29179 "way_number": 0,
29180 "stage_table_type": "hash_way",
29181 "size": 1024,
29182 "pack_format": [
29183 {
29184 "memory_word_width": 128,
29185 "table_word_width": 128,
29186 "entries_per_table_word": 1,
29187 "number_memory_units_per_table_word": 1,
29188 "entries": [
29189 {
29190 "entry_number": 0,
29191 "fields": [
29192 {
29193 "start_bit": 0,
29194 "enable_pfe": false,
29195 "field_width": 6,
29196 "lsb_mem_word_idx": 0,
29197 "msb_mem_word_idx": 0,
29198 "source": "immediate",
29199 "lsb_mem_word_offset": 0,
29200 "field_name": "immediate",
29201 "match_mode": "unused"
29202 },
29203 {
29204 "start_bit": 0,
29205 "enable_pfe": false,
29206 "field_width": 4,
29207 "lsb_mem_word_idx": 0,
29208 "msb_mem_word_idx": 0,
29209 "source": "version",
29210 "lsb_mem_word_offset": 112,
29211 "field_name": "version",
29212 "match_mode": "s1q0"
29213 },
29214 {
29215 "field_name": "ethernet.dst_addr",
29216 "source": "spec",
29217 "lsb_mem_word_offset": 65,
29218 "start_bit": 9,
29219 "immediate_name": "",
29220 "lsb_mem_word_idx": 0,
29221 "msb_mem_word_idx": 0,
29222 "match_mode": "unused",
29223 "enable_pfe": false,
29224 "field_width": 7
29225 },
29226 {
29227 "field_name": "ethernet.dst_addr",
29228 "source": "spec",
29229 "lsb_mem_word_offset": 8,
29230 "start_bit": 16,
29231 "immediate_name": "",
29232 "lsb_mem_word_idx": 0,
29233 "msb_mem_word_idx": 0,
29234 "match_mode": "unused",
29235 "enable_pfe": false,
29236 "field_width": 8
29237 },
29238 {
29239 "field_name": "ethernet.dst_addr",
29240 "source": "spec",
29241 "lsb_mem_word_offset": 16,
29242 "start_bit": 24,
29243 "immediate_name": "",
29244 "lsb_mem_word_idx": 0,
29245 "msb_mem_word_idx": 0,
29246 "match_mode": "unused",
29247 "enable_pfe": false,
29248 "field_width": 8
29249 },
29250 {
29251 "field_name": "ethernet.dst_addr",
29252 "source": "spec",
29253 "lsb_mem_word_offset": 24,
29254 "start_bit": 32,
29255 "immediate_name": "",
29256 "lsb_mem_word_idx": 0,
29257 "msb_mem_word_idx": 0,
29258 "match_mode": "unused",
29259 "enable_pfe": false,
29260 "field_width": 8
29261 },
29262 {
29263 "field_name": "ethernet.dst_addr",
29264 "source": "spec",
29265 "lsb_mem_word_offset": 32,
29266 "start_bit": 40,
29267 "immediate_name": "",
29268 "lsb_mem_word_idx": 0,
29269 "msb_mem_word_idx": 0,
29270 "match_mode": "unused",
29271 "enable_pfe": false,
29272 "field_width": 8
29273 },
29274 {
29275 "field_name": "fabric_metadata.original_ether_type",
29276 "source": "spec",
29277 "lsb_mem_word_offset": 40,
29278 "start_bit": 0,
29279 "immediate_name": "",
29280 "lsb_mem_word_idx": 0,
29281 "msb_mem_word_idx": 0,
29282 "match_mode": "unused",
29283 "enable_pfe": false,
29284 "field_width": 8
29285 },
29286 {
29287 "field_name": "fabric_metadata.original_ether_type",
29288 "source": "spec",
29289 "lsb_mem_word_offset": 48,
29290 "start_bit": 8,
29291 "immediate_name": "",
29292 "lsb_mem_word_idx": 0,
29293 "msb_mem_word_idx": 0,
29294 "match_mode": "unused",
29295 "enable_pfe": false,
29296 "field_width": 8
29297 },
29298 {
29299 "field_name": "ig_intr_md.ingress_port",
29300 "source": "spec",
29301 "lsb_mem_word_offset": 56,
29302 "start_bit": 0,
29303 "immediate_name": "",
29304 "lsb_mem_word_idx": 0,
29305 "msb_mem_word_idx": 0,
29306 "match_mode": "unused",
29307 "enable_pfe": false,
29308 "field_width": 8
29309 },
29310 {
29311 "start_bit": 0,
29312 "enable_pfe": false,
29313 "field_width": 2,
29314 "lsb_mem_word_idx": 0,
29315 "msb_mem_word_idx": 0,
29316 "source": "zero",
29317 "lsb_mem_word_offset": 6,
29318 "field_name": "--padding_6_7--",
29319 "match_mode": "unused"
29320 },
29321 {
29322 "start_bit": 0,
29323 "enable_pfe": false,
29324 "field_width": 1,
29325 "lsb_mem_word_idx": 0,
29326 "msb_mem_word_idx": 0,
29327 "source": "zero",
29328 "lsb_mem_word_offset": 64,
29329 "field_name": "--padding_64_64--",
29330 "match_mode": "unused"
29331 },
29332 {
29333 "start_bit": 0,
29334 "enable_pfe": false,
29335 "field_width": 40,
29336 "lsb_mem_word_idx": 0,
29337 "msb_mem_word_idx": 0,
29338 "source": "zero",
29339 "lsb_mem_word_offset": 72,
29340 "field_name": "--padding_72_111--",
29341 "match_mode": "unused"
29342 },
29343 {
29344 "start_bit": 0,
29345 "enable_pfe": false,
29346 "field_width": 12,
29347 "lsb_mem_word_idx": 0,
29348 "msb_mem_word_idx": 0,
29349 "source": "zero",
29350 "lsb_mem_word_offset": 116,
29351 "field_name": "--padding_116_127--",
29352 "match_mode": "unused"
29353 }
29354 ]
29355 }
29356 ]
29357 }
29358 ],
29359 "memory_resource_allocation": {
29360 "hash_function_id": 0,
29361 "hash_entry_bit_lo": 0,
29362 "hash_entry_bit_hi": 9,
29363 "number_entry_bits": 10,
29364 "hash_select_bit_hi": 40,
29365 "hash_select_bit_lo": 40,
29366 "number_select_bits": 0,
29367 "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
29368 }
29369 },
29370 {
29371 "stage_number": 3,
29372 "way_number": 1,
29373 "stage_table_type": "hash_way",
29374 "size": 1024,
29375 "pack_format": [
29376 {
29377 "memory_word_width": 128,
29378 "table_word_width": 128,
29379 "entries_per_table_word": 1,
29380 "number_memory_units_per_table_word": 1,
29381 "entries": [
29382 {
29383 "entry_number": 0,
29384 "fields": [
29385 {
29386 "start_bit": 0,
29387 "enable_pfe": false,
29388 "field_width": 6,
29389 "lsb_mem_word_idx": 0,
29390 "msb_mem_word_idx": 0,
29391 "source": "immediate",
29392 "lsb_mem_word_offset": 0,
29393 "field_name": "immediate",
29394 "match_mode": "unused"
29395 },
29396 {
29397 "start_bit": 0,
29398 "enable_pfe": false,
29399 "field_width": 4,
29400 "lsb_mem_word_idx": 0,
29401 "msb_mem_word_idx": 0,
29402 "source": "version",
29403 "lsb_mem_word_offset": 112,
29404 "field_name": "version",
29405 "match_mode": "s1q0"
29406 },
29407 {
29408 "field_name": "ethernet.dst_addr",
29409 "source": "spec",
29410 "lsb_mem_word_offset": 65,
29411 "start_bit": 9,
29412 "immediate_name": "",
29413 "lsb_mem_word_idx": 0,
29414 "msb_mem_word_idx": 0,
29415 "match_mode": "unused",
29416 "enable_pfe": false,
29417 "field_width": 7
29418 },
29419 {
29420 "field_name": "ethernet.dst_addr",
29421 "source": "spec",
29422 "lsb_mem_word_offset": 8,
29423 "start_bit": 16,
29424 "immediate_name": "",
29425 "lsb_mem_word_idx": 0,
29426 "msb_mem_word_idx": 0,
29427 "match_mode": "unused",
29428 "enable_pfe": false,
29429 "field_width": 8
29430 },
29431 {
29432 "field_name": "ethernet.dst_addr",
29433 "source": "spec",
29434 "lsb_mem_word_offset": 16,
29435 "start_bit": 24,
29436 "immediate_name": "",
29437 "lsb_mem_word_idx": 0,
29438 "msb_mem_word_idx": 0,
29439 "match_mode": "unused",
29440 "enable_pfe": false,
29441 "field_width": 8
29442 },
29443 {
29444 "field_name": "ethernet.dst_addr",
29445 "source": "spec",
29446 "lsb_mem_word_offset": 24,
29447 "start_bit": 32,
29448 "immediate_name": "",
29449 "lsb_mem_word_idx": 0,
29450 "msb_mem_word_idx": 0,
29451 "match_mode": "unused",
29452 "enable_pfe": false,
29453 "field_width": 8
29454 },
29455 {
29456 "field_name": "ethernet.dst_addr",
29457 "source": "spec",
29458 "lsb_mem_word_offset": 32,
29459 "start_bit": 40,
29460 "immediate_name": "",
29461 "lsb_mem_word_idx": 0,
29462 "msb_mem_word_idx": 0,
29463 "match_mode": "unused",
29464 "enable_pfe": false,
29465 "field_width": 8
29466 },
29467 {
29468 "field_name": "fabric_metadata.original_ether_type",
29469 "source": "spec",
29470 "lsb_mem_word_offset": 40,
29471 "start_bit": 0,
29472 "immediate_name": "",
29473 "lsb_mem_word_idx": 0,
29474 "msb_mem_word_idx": 0,
29475 "match_mode": "unused",
29476 "enable_pfe": false,
29477 "field_width": 8
29478 },
29479 {
29480 "field_name": "fabric_metadata.original_ether_type",
29481 "source": "spec",
29482 "lsb_mem_word_offset": 48,
29483 "start_bit": 8,
29484 "immediate_name": "",
29485 "lsb_mem_word_idx": 0,
29486 "msb_mem_word_idx": 0,
29487 "match_mode": "unused",
29488 "enable_pfe": false,
29489 "field_width": 8
29490 },
29491 {
29492 "field_name": "ig_intr_md.ingress_port",
29493 "source": "spec",
29494 "lsb_mem_word_offset": 56,
29495 "start_bit": 0,
29496 "immediate_name": "",
29497 "lsb_mem_word_idx": 0,
29498 "msb_mem_word_idx": 0,
29499 "match_mode": "unused",
29500 "enable_pfe": false,
29501 "field_width": 8
29502 },
29503 {
29504 "start_bit": 0,
29505 "enable_pfe": false,
29506 "field_width": 2,
29507 "lsb_mem_word_idx": 0,
29508 "msb_mem_word_idx": 0,
29509 "source": "zero",
29510 "lsb_mem_word_offset": 6,
29511 "field_name": "--padding_6_7--",
29512 "match_mode": "unused"
29513 },
29514 {
29515 "start_bit": 0,
29516 "enable_pfe": false,
29517 "field_width": 1,
29518 "lsb_mem_word_idx": 0,
29519 "msb_mem_word_idx": 0,
29520 "source": "zero",
29521 "lsb_mem_word_offset": 64,
29522 "field_name": "--padding_64_64--",
29523 "match_mode": "unused"
29524 },
29525 {
29526 "start_bit": 0,
29527 "enable_pfe": false,
29528 "field_width": 40,
29529 "lsb_mem_word_idx": 0,
29530 "msb_mem_word_idx": 0,
29531 "source": "zero",
29532 "lsb_mem_word_offset": 72,
29533 "field_name": "--padding_72_111--",
29534 "match_mode": "unused"
29535 },
29536 {
29537 "start_bit": 0,
29538 "enable_pfe": false,
29539 "field_width": 12,
29540 "lsb_mem_word_idx": 0,
29541 "msb_mem_word_idx": 0,
29542 "source": "zero",
29543 "lsb_mem_word_offset": 116,
29544 "field_name": "--padding_116_127--",
29545 "match_mode": "unused"
29546 }
29547 ]
29548 }
29549 ]
29550 }
29551 ],
29552 "memory_resource_allocation": {
29553 "hash_function_id": 0,
29554 "hash_entry_bit_lo": 10,
29555 "hash_entry_bit_hi": 19,
29556 "number_entry_bits": 10,
29557 "hash_select_bit_hi": 40,
29558 "hash_select_bit_lo": 40,
29559 "number_select_bits": 0,
29560 "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
29561 }
29562 },
29563 {
29564 "stage_number": 3,
29565 "way_number": 2,
29566 "stage_table_type": "hash_way",
29567 "size": 1024,
29568 "pack_format": [
29569 {
29570 "memory_word_width": 128,
29571 "table_word_width": 128,
29572 "entries_per_table_word": 1,
29573 "number_memory_units_per_table_word": 1,
29574 "entries": [
29575 {
29576 "entry_number": 0,
29577 "fields": [
29578 {
29579 "start_bit": 0,
29580 "enable_pfe": false,
29581 "field_width": 6,
29582 "lsb_mem_word_idx": 0,
29583 "msb_mem_word_idx": 0,
29584 "source": "immediate",
29585 "lsb_mem_word_offset": 0,
29586 "field_name": "immediate",
29587 "match_mode": "unused"
29588 },
29589 {
29590 "start_bit": 0,
29591 "enable_pfe": false,
29592 "field_width": 4,
29593 "lsb_mem_word_idx": 0,
29594 "msb_mem_word_idx": 0,
29595 "source": "version",
29596 "lsb_mem_word_offset": 112,
29597 "field_name": "version",
29598 "match_mode": "s1q0"
29599 },
29600 {
29601 "field_name": "ethernet.dst_addr",
29602 "source": "spec",
29603 "lsb_mem_word_offset": 65,
29604 "start_bit": 9,
29605 "immediate_name": "",
29606 "lsb_mem_word_idx": 0,
29607 "msb_mem_word_idx": 0,
29608 "match_mode": "unused",
29609 "enable_pfe": false,
29610 "field_width": 7
29611 },
29612 {
29613 "field_name": "ethernet.dst_addr",
29614 "source": "spec",
29615 "lsb_mem_word_offset": 8,
29616 "start_bit": 16,
29617 "immediate_name": "",
29618 "lsb_mem_word_idx": 0,
29619 "msb_mem_word_idx": 0,
29620 "match_mode": "unused",
29621 "enable_pfe": false,
29622 "field_width": 8
29623 },
29624 {
29625 "field_name": "ethernet.dst_addr",
29626 "source": "spec",
29627 "lsb_mem_word_offset": 16,
29628 "start_bit": 24,
29629 "immediate_name": "",
29630 "lsb_mem_word_idx": 0,
29631 "msb_mem_word_idx": 0,
29632 "match_mode": "unused",
29633 "enable_pfe": false,
29634 "field_width": 8
29635 },
29636 {
29637 "field_name": "ethernet.dst_addr",
29638 "source": "spec",
29639 "lsb_mem_word_offset": 24,
29640 "start_bit": 32,
29641 "immediate_name": "",
29642 "lsb_mem_word_idx": 0,
29643 "msb_mem_word_idx": 0,
29644 "match_mode": "unused",
29645 "enable_pfe": false,
29646 "field_width": 8
29647 },
29648 {
29649 "field_name": "ethernet.dst_addr",
29650 "source": "spec",
29651 "lsb_mem_word_offset": 32,
29652 "start_bit": 40,
29653 "immediate_name": "",
29654 "lsb_mem_word_idx": 0,
29655 "msb_mem_word_idx": 0,
29656 "match_mode": "unused",
29657 "enable_pfe": false,
29658 "field_width": 8
29659 },
29660 {
29661 "field_name": "fabric_metadata.original_ether_type",
29662 "source": "spec",
29663 "lsb_mem_word_offset": 40,
29664 "start_bit": 0,
29665 "immediate_name": "",
29666 "lsb_mem_word_idx": 0,
29667 "msb_mem_word_idx": 0,
29668 "match_mode": "unused",
29669 "enable_pfe": false,
29670 "field_width": 8
29671 },
29672 {
29673 "field_name": "fabric_metadata.original_ether_type",
29674 "source": "spec",
29675 "lsb_mem_word_offset": 48,
29676 "start_bit": 8,
29677 "immediate_name": "",
29678 "lsb_mem_word_idx": 0,
29679 "msb_mem_word_idx": 0,
29680 "match_mode": "unused",
29681 "enable_pfe": false,
29682 "field_width": 8
29683 },
29684 {
29685 "field_name": "ig_intr_md.ingress_port",
29686 "source": "spec",
29687 "lsb_mem_word_offset": 56,
29688 "start_bit": 0,
29689 "immediate_name": "",
29690 "lsb_mem_word_idx": 0,
29691 "msb_mem_word_idx": 0,
29692 "match_mode": "unused",
29693 "enable_pfe": false,
29694 "field_width": 8
29695 },
29696 {
29697 "start_bit": 0,
29698 "enable_pfe": false,
29699 "field_width": 2,
29700 "lsb_mem_word_idx": 0,
29701 "msb_mem_word_idx": 0,
29702 "source": "zero",
29703 "lsb_mem_word_offset": 6,
29704 "field_name": "--padding_6_7--",
29705 "match_mode": "unused"
29706 },
29707 {
29708 "start_bit": 0,
29709 "enable_pfe": false,
29710 "field_width": 1,
29711 "lsb_mem_word_idx": 0,
29712 "msb_mem_word_idx": 0,
29713 "source": "zero",
29714 "lsb_mem_word_offset": 64,
29715 "field_name": "--padding_64_64--",
29716 "match_mode": "unused"
29717 },
29718 {
29719 "start_bit": 0,
29720 "enable_pfe": false,
29721 "field_width": 40,
29722 "lsb_mem_word_idx": 0,
29723 "msb_mem_word_idx": 0,
29724 "source": "zero",
29725 "lsb_mem_word_offset": 72,
29726 "field_name": "--padding_72_111--",
29727 "match_mode": "unused"
29728 },
29729 {
29730 "start_bit": 0,
29731 "enable_pfe": false,
29732 "field_width": 12,
29733 "lsb_mem_word_idx": 0,
29734 "msb_mem_word_idx": 0,
29735 "source": "zero",
29736 "lsb_mem_word_offset": 116,
29737 "field_name": "--padding_116_127--",
29738 "match_mode": "unused"
29739 }
29740 ]
29741 }
29742 ]
29743 }
29744 ],
29745 "memory_resource_allocation": {
29746 "hash_function_id": 0,
29747 "hash_entry_bit_lo": 20,
29748 "hash_entry_bit_hi": 29,
29749 "number_entry_bits": 10,
29750 "hash_select_bit_hi": 40,
29751 "hash_select_bit_lo": 40,
29752 "number_select_bits": 0,
29753 "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
29754 }
29755 }
29756 ]
29757 }
29758 ],
29759 "match_type": "exact",
29760 "uses_dynamic_key_masks": false
29761 },
29762 "actions": [
29763 {
29764 "name": "filtering.set_forwarding_type",
29765 "handle": 536870922,
29766 "indirect_resources": [],
29767 "allowed_as_default_action": true,
29768 "p4_parameters": [
29769 {
29770 "name": "fwd_type",
29771 "start_bit": 0,
29772 "position": 0,
29773 "default_value": 0,
29774 "bit_width": 3
29775 }
29776 ],
29777 "override_meter_addr": false,
29778 "override_meter_addr_pfe": false,
29779 "override_meter_full_addr": 0,
29780 "override_stat_addr": false,
29781 "override_stat_addr_pfe": false,
29782 "override_stat_full_addr": 0,
29783 "override_stateful_addr": false,
29784 "override_stateful_addr_pfe": false,
29785 "override_stateful_full_addr": 0,
29786 "is_action_meter_color_aware": false,
29787 "primitives": [
29788 {
29789 "name": "ModifyFieldPrimitive",
29790 "dest": { "type": "phv", "name": "fabric_metadata.fwd_type" },
29791 "src": [
29792 { "type": "immediate", "name": "fwd_type" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080029793 { "type": "phv", "name": "H2" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080029794 ]
29795 }
29796 ]
29797 }
29798 ]
29799 },
29800 {
29801 "direction": "ingress",
29802 "handle": 67108867,
29803 "name": "filtering.fwd_classifier_counter",
29804 "table_type": "statistics",
29805 "size": 0,
29806 "stage_tables": [
29807 {
29808 "stage_number": 3,
29809 "size": 4096,
29810 "stage_table_type": "statistics",
29811 "logical_table_id": 0,
29812 "pack_format": [
29813 {
29814 "table_word_width": 128,
29815 "memory_word_width": 128,
29816 "entries_per_table_word": 2,
29817 "number_memory_units_per_table_word": 1
29818 }
29819 ],
29820 "memory_resource_allocation": {
29821 "memory_type": "sram",
29822 "memory_units_and_vpns": [
29823 { "memory_units": [ 78 ], "vpns": [ 0 ] },
29824 { "memory_units": [ 79 ], "vpns": [ 1 ] },
29825 { "memory_units": [ 80 ], "vpns": [ 2 ] }
29826 ],
29827 "spare_bank_memory_unit": 80
29828 },
29829 "stats_alu_index": 3
29830 }
29831 ],
29832 "how_referenced": "direct",
29833 "enable_pfe": false,
29834 "pfe_bit_position": 0,
29835 "byte_counter_resolution": 36,
29836 "packet_counter_resolution": 28,
29837 "statistics_type": "packets_and_bytes"
29838 },
29839 {
29840 "direction": "ingress",
29841 "handle": 16777223,
29842 "name": "forwarding.bridging",
29843 "table_type": "match",
29844 "size": 512,
29845 "match_attributes": {
29846 "stage_tables": [
29847 {
29848 "stage_number": 4,
29849 "size": 512,
29850 "stage_table_type": "ternary_match",
29851 "logical_table_id": 0,
29852 "has_attached_gateway": true,
29853 "pack_format": [
29854 {
29855 "table_word_width": 94,
29856 "memory_word_width": 47,
29857 "entries_per_table_word": 1,
29858 "number_memory_units_per_table_word": 2,
29859 "entries": [
29860 {
29861 "entry_number": 0,
29862 "fields": [
29863 {
29864 "field_name": "--tcam_payload_1--",
29865 "lsb_mem_word_offset": 0,
29866 "lsb_mem_word_idx": 1,
29867 "msb_mem_word_idx": 1,
29868 "source": "payload",
29869 "start_bit": 0,
29870 "field_width": 1
29871 },
29872 {
29873 "field_name": "--tcam_parity_1--",
29874 "lsb_mem_word_offset": 45,
29875 "lsb_mem_word_idx": 1,
29876 "msb_mem_word_idx": 1,
29877 "source": "parity",
29878 "start_bit": 0,
29879 "field_width": 2
29880 },
29881 {
29882 "field_name": "ethernet.dst_addr",
29883 "lsb_mem_word_offset": 1,
29884 "lsb_mem_word_idx": 1,
29885 "msb_mem_word_idx": 1,
29886 "source": "spec",
29887 "start_bit": 16,
29888 "field_width": 32
29889 },
29890 {
29891 "field_name": "ethernet.dst_addr",
29892 "lsb_mem_word_offset": 33,
29893 "lsb_mem_word_idx": 1,
29894 "msb_mem_word_idx": 1,
29895 "source": "spec",
29896 "start_bit": 0,
29897 "field_width": 8
29898 },
29899 {
29900 "field_name": "--tcam_payload_0--",
29901 "lsb_mem_word_offset": 0,
29902 "lsb_mem_word_idx": 0,
29903 "msb_mem_word_idx": 0,
29904 "source": "payload",
29905 "start_bit": 0,
29906 "field_width": 1
29907 },
29908 {
29909 "field_name": "--version--",
29910 "lsb_mem_word_offset": 43,
29911 "lsb_mem_word_idx": 0,
29912 "msb_mem_word_idx": 0,
29913 "source": "version",
29914 "start_bit": 0,
29915 "field_width": 2
29916 },
29917 {
29918 "field_name": "--tcam_parity_0--",
29919 "lsb_mem_word_offset": 45,
29920 "lsb_mem_word_idx": 0,
29921 "msb_mem_word_idx": 0,
29922 "source": "parity",
29923 "start_bit": 0,
29924 "field_width": 2
29925 },
29926 {
29927 "field_name": "vlan_tag.vlan_id",
29928 "lsb_mem_word_offset": 1,
29929 "lsb_mem_word_idx": 0,
29930 "msb_mem_word_idx": 0,
29931 "source": "spec",
29932 "start_bit": 0,
29933 "field_width": 8
29934 },
29935 {
29936 "field_name": "ethernet.dst_addr",
29937 "lsb_mem_word_offset": 9,
29938 "lsb_mem_word_idx": 0,
29939 "msb_mem_word_idx": 0,
29940 "source": "spec",
29941 "start_bit": 8,
29942 "field_width": 8
29943 },
29944 {
29945 "field_name": "vlan_tag.vlan_id",
29946 "lsb_mem_word_offset": 25,
29947 "lsb_mem_word_idx": 0,
29948 "msb_mem_word_idx": 0,
29949 "source": "spec",
29950 "start_bit": 8,
29951 "field_width": 4
29952 }
29953 ]
29954 }
29955 ]
29956 }
29957 ],
29958 "memory_resource_allocation": {
29959 "memory_type": "tcam",
29960 "memory_units_and_vpns": [ { "memory_units": [ 0, 1 ], "vpns": [ 0 ] } ],
29961 "spare_bank_memory_unit": 1
29962 },
29963 "default_next_table": 0,
29964 "result_physical_buses": [ 0, 2 ],
29965 "ternary_indirection_stage_table": {
29966 "stage_number": 4,
29967 "stage_table_type": "ternary_indirection",
29968 "size": 2048,
29969 "pack_format": [
29970 {
29971 "memory_word_width": 128,
29972 "table_word_width": 128,
29973 "entries_per_table_word": 2,
29974 "number_memory_units_per_table_word": 1,
29975 "entries": [
29976 {
29977 "entry_number": 1,
29978 "fields": [
29979 {
29980 "start_bit": 0,
29981 "enable_pfe": false,
29982 "field_width": 2,
29983 "lsb_mem_word_idx": 0,
29984 "msb_mem_word_idx": 0,
29985 "source": "instr",
29986 "lsb_mem_word_offset": 64,
29987 "field_name": "action"
29988 },
29989 {
29990 "start_bit": 0,
29991 "enable_pfe": false,
29992 "field_width": 32,
29993 "lsb_mem_word_idx": 0,
29994 "msb_mem_word_idx": 0,
29995 "source": "immediate",
29996 "lsb_mem_word_offset": 66,
29997 "field_name": "immediate"
29998 },
29999 {
30000 "start_bit": 0,
30001 "enable_pfe": false,
30002 "field_width": 30,
30003 "lsb_mem_word_idx": 0,
30004 "msb_mem_word_idx": 0,
30005 "source": "zero",
30006 "lsb_mem_word_offset": 98,
30007 "field_name": "--padding_34_63--"
30008 }
30009 ]
30010 },
30011 {
30012 "entry_number": 0,
30013 "fields": [
30014 {
30015 "start_bit": 0,
30016 "enable_pfe": false,
30017 "field_width": 2,
30018 "lsb_mem_word_idx": 0,
30019 "msb_mem_word_idx": 0,
30020 "source": "instr",
30021 "lsb_mem_word_offset": 0,
30022 "field_name": "action"
30023 },
30024 {
30025 "start_bit": 0,
30026 "enable_pfe": false,
30027 "field_width": 32,
30028 "lsb_mem_word_idx": 0,
30029 "msb_mem_word_idx": 0,
30030 "source": "immediate",
30031 "lsb_mem_word_offset": 2,
30032 "field_name": "immediate"
30033 },
30034 {
30035 "start_bit": 0,
30036 "enable_pfe": false,
30037 "field_width": 30,
30038 "lsb_mem_word_idx": 0,
30039 "msb_mem_word_idx": 0,
30040 "source": "zero",
30041 "lsb_mem_word_offset": 34,
30042 "field_name": "--padding_34_63--"
30043 }
30044 ]
30045 }
30046 ]
30047 }
30048 ],
30049 "memory_resource_allocation": {
30050 "memory_type": "sram",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080030051 "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
30052 "spare_bank_memory_unit": 2
Carmelo Cascone04098db2018-01-30 18:10:32 -080030053 },
30054 "action_format": [
30055 {
30056 "action_name": "NoAction",
30057 "action_handle": 536870924,
30058 "table_name": "forwarding_acl",
30059 "next_table": 0,
30060 "next_table_full": 80,
30061 "vliw_instruction": 0,
30062 "vliw_instruction_full": 65,
30063 "immediate_fields": []
30064 },
30065 {
30066 "action_name": "forwarding.set_next_id",
30067 "action_handle": 536870923,
30068 "table_name": "forwarding_acl",
30069 "next_table": 0,
30070 "next_table_full": 80,
30071 "vliw_instruction": 1,
30072 "vliw_instruction_full": 64,
30073 "immediate_fields": [
30074 {
30075 "param_name": "next_id",
30076 "param_type": "parameter",
30077 "param_shift": 0,
30078 "dest_start": 0,
30079 "dest_width": 32
30080 }
30081 ]
30082 }
30083 ]
30084 }
30085 }
30086 ],
30087 "match_type": "ternary"
30088 },
30089 "action_data_table_refs": [],
30090 "selection_table_refs": [],
30091 "meter_table_refs": [],
30092 "statistics_table_refs": [
30093 {
30094 "how_referenced": "direct",
30095 "handle": 67108868,
30096 "name": "forwarding.bridging_counter"
30097 }
30098 ],
30099 "stateful_table_refs": [],
30100 "actions": [
30101 {
30102 "name": "NoAction",
30103 "handle": 536870924,
30104 "indirect_resources": [],
30105 "allowed_as_default_action": true,
30106 "disallowed_as_default_action_reason": "",
30107 "p4_parameters": [],
30108 "override_meter_addr": false,
30109 "override_meter_addr_pfe": false,
30110 "override_meter_full_addr": 0,
30111 "override_stat_addr": false,
30112 "override_stat_addr_pfe": false,
30113 "override_stat_full_addr": 0,
30114 "override_stateful_addr": false,
30115 "override_stateful_addr_pfe": false,
30116 "override_stateful_full_addr": 0,
30117 "is_action_meter_color_aware": false,
30118 "primitives": []
30119 },
30120 {
30121 "name": "forwarding.set_next_id",
30122 "handle": 536870923,
30123 "indirect_resources": [],
30124 "allowed_as_default_action": true,
30125 "disallowed_as_default_action_reason": "",
30126 "p4_parameters": [
30127 {
30128 "name": "next_id",
30129 "start_bit": 0,
30130 "position": 0,
30131 "bit_width": 32
30132 }
30133 ],
30134 "override_meter_addr": false,
30135 "override_meter_addr_pfe": false,
30136 "override_meter_full_addr": 0,
30137 "override_stat_addr": false,
30138 "override_stat_addr_pfe": false,
30139 "override_stat_full_addr": 0,
30140 "override_stateful_addr": false,
30141 "override_stateful_addr_pfe": false,
30142 "override_stateful_full_addr": 0,
30143 "is_action_meter_color_aware": false,
30144 "primitives": [
30145 {
30146 "name": "ModifyFieldPrimitive",
30147 "dest": { "type": "phv", "name": "fabric_metadata.next_id" },
30148 "src": [ { "type": "immediate", "name": "next_id" } ]
30149 }
30150 ]
30151 }
30152 ],
30153 "default_action_handle": 536870924,
30154 "action_profile": "",
30155 "default_next_table_mask": 0,
30156 "ap_bind_indirect_res_to_match": [],
30157 "is_resource_controllable": true,
30158 "uses_range": false,
30159 "match_key_fields": [
30160 {
30161 "name": "vlan_tag.vlan_id",
30162 "position": 0,
30163 "match_type": "exact",
30164 "start_bit": 0,
30165 "bit_width": 12,
30166 "bit_width_full": 12,
30167 "is_valid": false,
30168 "instance_name": "vlan_tag",
30169 "field_name": "vlan_id"
30170 },
30171 {
30172 "name": "ethernet.dst_addr",
30173 "position": 1,
30174 "match_type": "ternary",
30175 "start_bit": 0,
30176 "bit_width": 48,
30177 "bit_width_full": 48,
30178 "is_valid": false,
30179 "instance_name": "ethernet",
30180 "field_name": "dst_addr"
30181 }
30182 ]
30183 },
30184 {
30185 "direction": "ingress",
30186 "handle": 67108868,
30187 "name": "forwarding.bridging_counter",
30188 "table_type": "statistics",
30189 "size": 0,
30190 "stage_tables": [
30191 {
30192 "stage_number": 4,
30193 "size": 2048,
30194 "stage_table_type": "statistics",
30195 "logical_table_id": 0,
30196 "pack_format": [
30197 {
30198 "table_word_width": 128,
30199 "memory_word_width": 128,
30200 "entries_per_table_word": 2,
30201 "number_memory_units_per_table_word": 1
30202 }
30203 ],
30204 "memory_resource_allocation": {
30205 "memory_type": "sram",
30206 "memory_units_and_vpns": [
Carmelo Cascone04c783b2018-02-14 14:09:46 -080030207 { "memory_units": [ 6 ], "vpns": [ 0 ] },
30208 { "memory_units": [ 7 ], "vpns": [ 1 ] }
Carmelo Cascone04098db2018-01-30 18:10:32 -080030209 ],
Carmelo Cascone04c783b2018-02-14 14:09:46 -080030210 "spare_bank_memory_unit": 7
Carmelo Cascone04098db2018-01-30 18:10:32 -080030211 },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080030212 "stats_alu_index": 0
Carmelo Cascone04098db2018-01-30 18:10:32 -080030213 }
30214 ],
30215 "how_referenced": "direct",
30216 "enable_pfe": false,
30217 "pfe_bit_position": 0,
30218 "byte_counter_resolution": 36,
30219 "packet_counter_resolution": 28,
30220 "statistics_type": "packets_and_bytes"
30221 },
30222 {
30223 "direction": "ingress",
30224 "handle": 16777224,
30225 "name": "forwarding.mpls",
30226 "table_type": "match",
30227 "size": 3072,
30228 "action_data_table_refs": [],
30229 "selection_table_refs": [],
30230 "meter_table_refs": [],
30231 "statistics_table_refs": [
30232 {
30233 "how_referenced": "direct",
30234 "handle": 67108869,
30235 "name": "forwarding.mpls_counter"
30236 }
30237 ],
30238 "stateful_table_refs": [],
30239 "default_action_handle": 536870926,
30240 "action_profile": "",
30241 "default_next_table_mask": 0,
30242 "ap_bind_indirect_res_to_match": [],
30243 "is_resource_controllable": true,
30244 "uses_range": false,
30245 "match_key_fields": [
30246 {
30247 "name": "mpls.label",
30248 "position": 0,
30249 "match_type": "exact",
30250 "start_bit": 0,
30251 "bit_width": 20,
30252 "bit_width_full": 20,
30253 "is_valid": false,
30254 "instance_name": "mpls",
30255 "field_name": "label"
30256 }
30257 ],
30258 "match_attributes": {
30259 "stage_tables": [
30260 {
30261 "stage_number": 4,
30262 "size": 3072,
30263 "stage_table_type": "hash_match",
30264 "logical_table_id": 1,
30265 "has_attached_gateway": true,
30266 "hash_functions": [
30267 {
30268 "hash_bits": [
30269 {
30270 "hash_bit": 0,
30271 "seed": 0,
30272 "bits_to_xor": [
30273 { "field_bit": 13, "field_name": "mpls.label" },
30274 { "field_bit": 14, "field_name": "mpls.label" },
30275 { "field_bit": 15, "field_name": "mpls.label" },
30276 { "field_bit": 16, "field_name": "mpls.label" },
30277 { "field_bit": 4, "field_name": "mpls.label" },
30278 { "field_bit": 10, "field_name": "mpls.label" },
30279 { "field_bit": 11, "field_name": "mpls.label" }
30280 ]
30281 },
30282 {
30283 "hash_bit": 1,
30284 "seed": 0,
30285 "bits_to_xor": [
30286 { "field_bit": 5, "field_name": "mpls.label" },
30287 { "field_bit": 11, "field_name": "mpls.label" }
30288 ]
30289 },
30290 {
30291 "hash_bit": 2,
30292 "seed": 0,
30293 "bits_to_xor": [
30294 { "field_bit": 18, "field_name": "mpls.label" },
30295 { "field_bit": 6, "field_name": "mpls.label" },
30296 { "field_bit": 11, "field_name": "mpls.label" }
30297 ]
30298 },
30299 {
30300 "hash_bit": 3,
30301 "seed": 0,
30302 "bits_to_xor": [
30303 { "field_bit": 12, "field_name": "mpls.label" },
30304 { "field_bit": 13, "field_name": "mpls.label" },
30305 { "field_bit": 14, "field_name": "mpls.label" },
30306 { "field_bit": 7, "field_name": "mpls.label" }
30307 ]
30308 },
30309 {
30310 "hash_bit": 4,
30311 "seed": 0,
30312 "bits_to_xor": [
30313 { "field_bit": 12, "field_name": "mpls.label" },
30314 { "field_bit": 13, "field_name": "mpls.label" },
30315 { "field_bit": 16, "field_name": "mpls.label" },
30316 { "field_bit": 8, "field_name": "mpls.label" }
30317 ]
30318 },
30319 {
30320 "hash_bit": 5,
30321 "seed": 0,
30322 "bits_to_xor": [
30323 { "field_bit": 12, "field_name": "mpls.label" },
30324 { "field_bit": 15, "field_name": "mpls.label" },
30325 { "field_bit": 16, "field_name": "mpls.label" },
30326 { "field_bit": 18, "field_name": "mpls.label" },
30327 { "field_bit": 9, "field_name": "mpls.label" },
30328 { "field_bit": 10, "field_name": "mpls.label" }
30329 ]
30330 },
30331 {
30332 "hash_bit": 6,
30333 "seed": 0,
30334 "bits_to_xor": [
30335 { "field_bit": 14, "field_name": "mpls.label" },
30336 { "field_bit": 15, "field_name": "mpls.label" },
30337 { "field_bit": 17, "field_name": "mpls.label" },
30338 { "field_bit": 18, "field_name": "mpls.label" },
30339 { "field_bit": 10, "field_name": "mpls.label" },
30340 { "field_bit": 11, "field_name": "mpls.label" },
30341 { "field_bit": 0, "field_name": "mpls.label" }
30342 ]
30343 },
30344 {
30345 "hash_bit": 7,
30346 "seed": 0,
30347 "bits_to_xor": [
30348 { "field_bit": 11, "field_name": "mpls.label" },
30349 { "field_bit": 1, "field_name": "mpls.label" }
30350 ]
30351 },
30352 {
30353 "hash_bit": 8,
30354 "seed": 0,
30355 "bits_to_xor": [
30356 { "field_bit": 12, "field_name": "mpls.label" },
30357 { "field_bit": 13, "field_name": "mpls.label" },
30358 { "field_bit": 14, "field_name": "mpls.label" },
30359 { "field_bit": 15, "field_name": "mpls.label" },
30360 { "field_bit": 10, "field_name": "mpls.label" },
30361 { "field_bit": 11, "field_name": "mpls.label" },
30362 { "field_bit": 2, "field_name": "mpls.label" }
30363 ]
30364 },
30365 {
30366 "hash_bit": 9,
30367 "seed": 0,
30368 "bits_to_xor": [
30369 { "field_bit": 13, "field_name": "mpls.label" },
30370 { "field_bit": 14, "field_name": "mpls.label" },
30371 { "field_bit": 15, "field_name": "mpls.label" },
30372 { "field_bit": 17, "field_name": "mpls.label" },
30373 { "field_bit": 19, "field_name": "mpls.label" },
30374 { "field_bit": 10, "field_name": "mpls.label" },
30375 { "field_bit": 11, "field_name": "mpls.label" },
30376 { "field_bit": 3, "field_name": "mpls.label" }
30377 ]
30378 },
30379 {
30380 "hash_bit": 10,
30381 "seed": 0,
30382 "bits_to_xor": [
30383 { "field_bit": 14, "field_name": "mpls.label" },
30384 { "field_bit": 15, "field_name": "mpls.label" },
30385 { "field_bit": 18, "field_name": "mpls.label" },
30386 { "field_bit": 19, "field_name": "mpls.label" },
30387 { "field_bit": 4, "field_name": "mpls.label" },
30388 { "field_bit": 11, "field_name": "mpls.label" }
30389 ]
30390 },
30391 {
30392 "hash_bit": 11,
30393 "seed": 0,
30394 "bits_to_xor": [
30395 { "field_bit": 13, "field_name": "mpls.label" },
30396 { "field_bit": 15, "field_name": "mpls.label" },
30397 { "field_bit": 16, "field_name": "mpls.label" },
30398 { "field_bit": 19, "field_name": "mpls.label" },
30399 { "field_bit": 5, "field_name": "mpls.label" },
30400 { "field_bit": 11, "field_name": "mpls.label" }
30401 ]
30402 },
30403 {
30404 "hash_bit": 12,
30405 "seed": 0,
30406 "bits_to_xor": [
30407 { "field_bit": 15, "field_name": "mpls.label" },
30408 { "field_bit": 16, "field_name": "mpls.label" },
30409 { "field_bit": 19, "field_name": "mpls.label" },
30410 { "field_bit": 6, "field_name": "mpls.label" },
30411 { "field_bit": 10, "field_name": "mpls.label" },
30412 { "field_bit": 11, "field_name": "mpls.label" }
30413 ]
30414 },
30415 {
30416 "hash_bit": 13,
30417 "seed": 0,
30418 "bits_to_xor": [
30419 { "field_bit": 13, "field_name": "mpls.label" },
30420 { "field_bit": 14, "field_name": "mpls.label" },
30421 { "field_bit": 19, "field_name": "mpls.label" },
30422 { "field_bit": 7, "field_name": "mpls.label" },
30423 { "field_bit": 10, "field_name": "mpls.label" }
30424 ]
30425 },
30426 {
30427 "hash_bit": 14,
30428 "seed": 0,
30429 "bits_to_xor": [
30430 { "field_bit": 13, "field_name": "mpls.label" },
30431 { "field_bit": 17, "field_name": "mpls.label" },
30432 { "field_bit": 18, "field_name": "mpls.label" },
30433 { "field_bit": 8, "field_name": "mpls.label" },
30434 { "field_bit": 11, "field_name": "mpls.label" }
30435 ]
30436 },
30437 {
30438 "hash_bit": 15,
30439 "seed": 0,
30440 "bits_to_xor": [
30441 { "field_bit": 12, "field_name": "mpls.label" },
30442 { "field_bit": 15, "field_name": "mpls.label" },
30443 { "field_bit": 16, "field_name": "mpls.label" },
30444 { "field_bit": 17, "field_name": "mpls.label" },
30445 { "field_bit": 18, "field_name": "mpls.label" },
30446 { "field_bit": 19, "field_name": "mpls.label" },
30447 { "field_bit": 9, "field_name": "mpls.label" },
30448 { "field_bit": 10, "field_name": "mpls.label" }
30449 ]
30450 },
30451 {
30452 "hash_bit": 16,
30453 "seed": 0,
30454 "bits_to_xor": [
30455 { "field_bit": 13, "field_name": "mpls.label" },
30456 { "field_bit": 16, "field_name": "mpls.label" },
30457 { "field_bit": 19, "field_name": "mpls.label" },
30458 { "field_bit": 11, "field_name": "mpls.label" },
30459 { "field_bit": 0, "field_name": "mpls.label" }
30460 ]
30461 },
30462 {
30463 "hash_bit": 17,
30464 "seed": 0,
30465 "bits_to_xor": [
30466 { "field_bit": 16, "field_name": "mpls.label" },
30467 { "field_bit": 18, "field_name": "mpls.label" },
30468 { "field_bit": 10, "field_name": "mpls.label" },
30469 { "field_bit": 11, "field_name": "mpls.label" },
30470 { "field_bit": 1, "field_name": "mpls.label" }
30471 ]
30472 },
30473 {
30474 "hash_bit": 18,
30475 "seed": 0,
30476 "bits_to_xor": [
30477 { "field_bit": 12, "field_name": "mpls.label" },
30478 { "field_bit": 14, "field_name": "mpls.label" },
30479 { "field_bit": 15, "field_name": "mpls.label" },
30480 { "field_bit": 18, "field_name": "mpls.label" },
30481 { "field_bit": 19, "field_name": "mpls.label" },
30482 { "field_bit": 10, "field_name": "mpls.label" },
30483 { "field_bit": 2, "field_name": "mpls.label" }
30484 ]
30485 },
30486 {
30487 "hash_bit": 19,
30488 "seed": 0,
30489 "bits_to_xor": [
30490 { "field_bit": 13, "field_name": "mpls.label" },
30491 { "field_bit": 14, "field_name": "mpls.label" },
30492 { "field_bit": 16, "field_name": "mpls.label" },
30493 { "field_bit": 17, "field_name": "mpls.label" },
30494 { "field_bit": 19, "field_name": "mpls.label" },
30495 { "field_bit": 3, "field_name": "mpls.label" }
30496 ]
30497 },
30498 {
30499 "hash_bit": 20,
30500 "seed": 0,
30501 "bits_to_xor": [
30502 { "field_bit": 14, "field_name": "mpls.label" },
30503 { "field_bit": 18, "field_name": "mpls.label" },
30504 { "field_bit": 19, "field_name": "mpls.label" },
30505 { "field_bit": 4, "field_name": "mpls.label" }
30506 ]
30507 },
30508 {
30509 "hash_bit": 21,
30510 "seed": 0,
30511 "bits_to_xor": [
30512 { "field_bit": 13, "field_name": "mpls.label" },
30513 { "field_bit": 15, "field_name": "mpls.label" },
30514 { "field_bit": 16, "field_name": "mpls.label" },
30515 { "field_bit": 18, "field_name": "mpls.label" },
30516 { "field_bit": 5, "field_name": "mpls.label" }
30517 ]
30518 },
30519 {
30520 "hash_bit": 22,
30521 "seed": 0,
30522 "bits_to_xor": [
30523 { "field_bit": 15, "field_name": "mpls.label" },
30524 { "field_bit": 17, "field_name": "mpls.label" },
30525 { "field_bit": 6, "field_name": "mpls.label" },
30526 { "field_bit": 10, "field_name": "mpls.label" },
30527 { "field_bit": 11, "field_name": "mpls.label" }
30528 ]
30529 },
30530 {
30531 "hash_bit": 23,
30532 "seed": 0,
30533 "bits_to_xor": [
30534 { "field_bit": 12, "field_name": "mpls.label" },
30535 { "field_bit": 13, "field_name": "mpls.label" },
30536 { "field_bit": 14, "field_name": "mpls.label" },
30537 { "field_bit": 19, "field_name": "mpls.label" },
30538 { "field_bit": 7, "field_name": "mpls.label" },
30539 { "field_bit": 10, "field_name": "mpls.label" }
30540 ]
30541 },
30542 {
30543 "hash_bit": 24,
30544 "seed": 0,
30545 "bits_to_xor": [
30546 { "field_bit": 12, "field_name": "mpls.label" },
30547 { "field_bit": 14, "field_name": "mpls.label" },
30548 { "field_bit": 15, "field_name": "mpls.label" },
30549 { "field_bit": 16, "field_name": "mpls.label" },
30550 { "field_bit": 19, "field_name": "mpls.label" },
30551 { "field_bit": 8, "field_name": "mpls.label" }
30552 ]
30553 },
30554 {
30555 "hash_bit": 25,
30556 "seed": 0,
30557 "bits_to_xor": [
30558 { "field_bit": 12, "field_name": "mpls.label" },
30559 { "field_bit": 15, "field_name": "mpls.label" },
30560 { "field_bit": 18, "field_name": "mpls.label" },
30561 { "field_bit": 9, "field_name": "mpls.label" }
30562 ]
30563 },
30564 {
30565 "hash_bit": 26,
30566 "seed": 0,
30567 "bits_to_xor": [
30568 { "field_bit": 12, "field_name": "mpls.label" },
30569 { "field_bit": 13, "field_name": "mpls.label" },
30570 { "field_bit": 14, "field_name": "mpls.label" },
30571 { "field_bit": 15, "field_name": "mpls.label" },
30572 { "field_bit": 16, "field_name": "mpls.label" },
30573 { "field_bit": 17, "field_name": "mpls.label" },
30574 { "field_bit": 18, "field_name": "mpls.label" },
30575 { "field_bit": 19, "field_name": "mpls.label" },
30576 { "field_bit": 0, "field_name": "mpls.label" }
30577 ]
30578 },
30579 {
30580 "hash_bit": 27,
30581 "seed": 0,
30582 "bits_to_xor": [
30583 { "field_bit": 12, "field_name": "mpls.label" },
30584 { "field_bit": 13, "field_name": "mpls.label" },
30585 { "field_bit": 15, "field_name": "mpls.label" },
30586 { "field_bit": 16, "field_name": "mpls.label" },
30587 { "field_bit": 18, "field_name": "mpls.label" },
30588 { "field_bit": 19, "field_name": "mpls.label" },
30589 { "field_bit": 10, "field_name": "mpls.label" },
30590 { "field_bit": 1, "field_name": "mpls.label" }
30591 ]
30592 },
30593 {
30594 "hash_bit": 28,
30595 "seed": 0,
30596 "bits_to_xor": [
30597 { "field_bit": 12, "field_name": "mpls.label" },
30598 { "field_bit": 15, "field_name": "mpls.label" },
30599 { "field_bit": 18, "field_name": "mpls.label" },
30600 { "field_bit": 19, "field_name": "mpls.label" },
30601 { "field_bit": 10, "field_name": "mpls.label" },
30602 { "field_bit": 11, "field_name": "mpls.label" },
30603 { "field_bit": 2, "field_name": "mpls.label" }
30604 ]
30605 },
30606 {
30607 "hash_bit": 29,
30608 "seed": 0,
30609 "bits_to_xor": [
30610 { "field_bit": 12, "field_name": "mpls.label" },
30611 { "field_bit": 14, "field_name": "mpls.label" },
30612 { "field_bit": 16, "field_name": "mpls.label" },
30613 { "field_bit": 3, "field_name": "mpls.label" }
30614 ]
30615 }
30616 ]
30617 }
30618 ],
30619 "action_format": [
30620 {
30621 "action_name": "NoAction",
30622 "action_handle": 536870926,
30623 "table_name": "tbl_act_9",
30624 "next_table": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080030625 "next_table_full": 68,
Carmelo Cascone04098db2018-01-30 18:10:32 -080030626 "vliw_instruction": 0,
30627 "vliw_instruction_full": 65,
30628 "immediate_fields": []
30629 },
30630 {
30631 "action_name": "forwarding.pop_mpls_and_next",
30632 "action_handle": 536870925,
30633 "table_name": "tbl_act_9",
30634 "next_table": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080030635 "next_table_full": 68,
Carmelo Cascone04098db2018-01-30 18:10:32 -080030636 "vliw_instruction": 1,
30637 "vliw_instruction_full": 66,
30638 "immediate_fields": [
30639 {
30640 "param_name": "next_id",
30641 "param_type": "parameter",
30642 "param_shift": 0,
30643 "dest_start": 0,
30644 "dest_width": 32
30645 }
30646 ]
30647 }
30648 ],
Carmelo Cascone04c783b2018-02-14 14:09:46 -080030649 "result_physical_buses": [ 14 ],
Carmelo Cascone04098db2018-01-30 18:10:32 -080030650 "pack_format": [
30651 {
30652 "memory_word_width": 128,
30653 "table_word_width": 128,
30654 "entries_per_table_word": 1,
30655 "number_memory_units_per_table_word": 1
30656 }
30657 ],
30658 "memory_resource_allocation": null,
30659 "ways": [
30660 {
30661 "stage_number": 4,
30662 "way_number": 0,
30663 "stage_table_type": "hash_way",
30664 "size": 1024,
30665 "pack_format": [
30666 {
30667 "memory_word_width": 128,
30668 "table_word_width": 128,
30669 "entries_per_table_word": 1,
30670 "number_memory_units_per_table_word": 1,
30671 "entries": [
30672 {
30673 "entry_number": 0,
30674 "fields": [
30675 {
30676 "start_bit": 0,
30677 "enable_pfe": false,
30678 "field_width": 2,
30679 "lsb_mem_word_idx": 0,
30680 "msb_mem_word_idx": 0,
30681 "source": "instr",
30682 "lsb_mem_word_offset": 0,
30683 "field_name": "action",
30684 "match_mode": "unused"
30685 },
30686 {
30687 "start_bit": 0,
30688 "enable_pfe": false,
30689 "field_width": 32,
30690 "lsb_mem_word_idx": 0,
30691 "msb_mem_word_idx": 0,
30692 "source": "immediate",
30693 "lsb_mem_word_offset": 2,
30694 "field_name": "immediate",
30695 "match_mode": "unused"
30696 },
30697 {
30698 "start_bit": 0,
30699 "enable_pfe": false,
30700 "field_width": 4,
30701 "lsb_mem_word_idx": 0,
30702 "msb_mem_word_idx": 0,
30703 "source": "version",
30704 "lsb_mem_word_offset": 112,
30705 "field_name": "version",
30706 "match_mode": "s1q0"
30707 },
30708 {
30709 "field_name": "mpls.label",
30710 "source": "spec",
30711 "lsb_mem_word_offset": 38,
30712 "start_bit": 10,
30713 "immediate_name": "",
30714 "lsb_mem_word_idx": 0,
30715 "msb_mem_word_idx": 0,
30716 "match_mode": "unused",
30717 "enable_pfe": false,
30718 "field_width": 2
30719 },
30720 {
30721 "field_name": "mpls.label",
30722 "source": "spec",
30723 "lsb_mem_word_offset": 40,
30724 "start_bit": 12,
30725 "immediate_name": "",
30726 "lsb_mem_word_idx": 0,
30727 "msb_mem_word_idx": 0,
30728 "match_mode": "unused",
30729 "enable_pfe": false,
30730 "field_width": 8
30731 },
30732 {
30733 "start_bit": 0,
30734 "enable_pfe": false,
30735 "field_width": 4,
30736 "lsb_mem_word_idx": 0,
30737 "msb_mem_word_idx": 0,
30738 "source": "zero",
30739 "lsb_mem_word_offset": 34,
30740 "field_name": "--padding_34_37--",
30741 "match_mode": "unused"
30742 },
30743 {
30744 "start_bit": 0,
30745 "enable_pfe": false,
30746 "field_width": 64,
30747 "lsb_mem_word_idx": 0,
30748 "msb_mem_word_idx": 0,
30749 "source": "zero",
30750 "lsb_mem_word_offset": 48,
30751 "field_name": "--padding_48_111--",
30752 "match_mode": "unused"
30753 },
30754 {
30755 "start_bit": 0,
30756 "enable_pfe": false,
30757 "field_width": 12,
30758 "lsb_mem_word_idx": 0,
30759 "msb_mem_word_idx": 0,
30760 "source": "zero",
30761 "lsb_mem_word_offset": 116,
30762 "field_name": "--padding_116_127--",
30763 "match_mode": "unused"
30764 }
30765 ]
30766 }
30767 ]
30768 }
30769 ],
30770 "memory_resource_allocation": {
30771 "hash_function_id": 0,
30772 "hash_entry_bit_lo": 0,
30773 "hash_entry_bit_hi": 9,
30774 "number_entry_bits": 10,
30775 "hash_select_bit_hi": 40,
30776 "hash_select_bit_lo": 40,
30777 "number_select_bits": 0,
30778 "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
30779 }
30780 },
30781 {
30782 "stage_number": 4,
30783 "way_number": 1,
30784 "stage_table_type": "hash_way",
30785 "size": 1024,
30786 "pack_format": [
30787 {
30788 "memory_word_width": 128,
30789 "table_word_width": 128,
30790 "entries_per_table_word": 1,
30791 "number_memory_units_per_table_word": 1,
30792 "entries": [
30793 {
30794 "entry_number": 0,
30795 "fields": [
30796 {
30797 "start_bit": 0,
30798 "enable_pfe": false,
30799 "field_width": 2,
30800 "lsb_mem_word_idx": 0,
30801 "msb_mem_word_idx": 0,
30802 "source": "instr",
30803 "lsb_mem_word_offset": 0,
30804 "field_name": "action",
30805 "match_mode": "unused"
30806 },
30807 {
30808 "start_bit": 0,
30809 "enable_pfe": false,
30810 "field_width": 32,
30811 "lsb_mem_word_idx": 0,
30812 "msb_mem_word_idx": 0,
30813 "source": "immediate",
30814 "lsb_mem_word_offset": 2,
30815 "field_name": "immediate",
30816 "match_mode": "unused"
30817 },
30818 {
30819 "start_bit": 0,
30820 "enable_pfe": false,
30821 "field_width": 4,
30822 "lsb_mem_word_idx": 0,
30823 "msb_mem_word_idx": 0,
30824 "source": "version",
30825 "lsb_mem_word_offset": 112,
30826 "field_name": "version",
30827 "match_mode": "s1q0"
30828 },
30829 {
30830 "field_name": "mpls.label",
30831 "source": "spec",
30832 "lsb_mem_word_offset": 38,
30833 "start_bit": 10,
30834 "immediate_name": "",
30835 "lsb_mem_word_idx": 0,
30836 "msb_mem_word_idx": 0,
30837 "match_mode": "unused",
30838 "enable_pfe": false,
30839 "field_width": 2
30840 },
30841 {
30842 "field_name": "mpls.label",
30843 "source": "spec",
30844 "lsb_mem_word_offset": 40,
30845 "start_bit": 12,
30846 "immediate_name": "",
30847 "lsb_mem_word_idx": 0,
30848 "msb_mem_word_idx": 0,
30849 "match_mode": "unused",
30850 "enable_pfe": false,
30851 "field_width": 8
30852 },
30853 {
30854 "start_bit": 0,
30855 "enable_pfe": false,
30856 "field_width": 4,
30857 "lsb_mem_word_idx": 0,
30858 "msb_mem_word_idx": 0,
30859 "source": "zero",
30860 "lsb_mem_word_offset": 34,
30861 "field_name": "--padding_34_37--",
30862 "match_mode": "unused"
30863 },
30864 {
30865 "start_bit": 0,
30866 "enable_pfe": false,
30867 "field_width": 64,
30868 "lsb_mem_word_idx": 0,
30869 "msb_mem_word_idx": 0,
30870 "source": "zero",
30871 "lsb_mem_word_offset": 48,
30872 "field_name": "--padding_48_111--",
30873 "match_mode": "unused"
30874 },
30875 {
30876 "start_bit": 0,
30877 "enable_pfe": false,
30878 "field_width": 12,
30879 "lsb_mem_word_idx": 0,
30880 "msb_mem_word_idx": 0,
30881 "source": "zero",
30882 "lsb_mem_word_offset": 116,
30883 "field_name": "--padding_116_127--",
30884 "match_mode": "unused"
30885 }
30886 ]
30887 }
30888 ]
30889 }
30890 ],
30891 "memory_resource_allocation": {
30892 "hash_function_id": 0,
30893 "hash_entry_bit_lo": 10,
30894 "hash_entry_bit_hi": 19,
30895 "number_entry_bits": 10,
30896 "hash_select_bit_hi": 40,
30897 "hash_select_bit_lo": 40,
30898 "number_select_bits": 0,
30899 "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
30900 }
30901 },
30902 {
30903 "stage_number": 4,
30904 "way_number": 2,
30905 "stage_table_type": "hash_way",
30906 "size": 1024,
30907 "pack_format": [
30908 {
30909 "memory_word_width": 128,
30910 "table_word_width": 128,
30911 "entries_per_table_word": 1,
30912 "number_memory_units_per_table_word": 1,
30913 "entries": [
30914 {
30915 "entry_number": 0,
30916 "fields": [
30917 {
30918 "start_bit": 0,
30919 "enable_pfe": false,
30920 "field_width": 2,
30921 "lsb_mem_word_idx": 0,
30922 "msb_mem_word_idx": 0,
30923 "source": "instr",
30924 "lsb_mem_word_offset": 0,
30925 "field_name": "action",
30926 "match_mode": "unused"
30927 },
30928 {
30929 "start_bit": 0,
30930 "enable_pfe": false,
30931 "field_width": 32,
30932 "lsb_mem_word_idx": 0,
30933 "msb_mem_word_idx": 0,
30934 "source": "immediate",
30935 "lsb_mem_word_offset": 2,
30936 "field_name": "immediate",
30937 "match_mode": "unused"
30938 },
30939 {
30940 "start_bit": 0,
30941 "enable_pfe": false,
30942 "field_width": 4,
30943 "lsb_mem_word_idx": 0,
30944 "msb_mem_word_idx": 0,
30945 "source": "version",
30946 "lsb_mem_word_offset": 112,
30947 "field_name": "version",
30948 "match_mode": "s1q0"
30949 },
30950 {
30951 "field_name": "mpls.label",
30952 "source": "spec",
30953 "lsb_mem_word_offset": 38,
30954 "start_bit": 10,
30955 "immediate_name": "",
30956 "lsb_mem_word_idx": 0,
30957 "msb_mem_word_idx": 0,
30958 "match_mode": "unused",
30959 "enable_pfe": false,
30960 "field_width": 2
30961 },
30962 {
30963 "field_name": "mpls.label",
30964 "source": "spec",
30965 "lsb_mem_word_offset": 40,
30966 "start_bit": 12,
30967 "immediate_name": "",
30968 "lsb_mem_word_idx": 0,
30969 "msb_mem_word_idx": 0,
30970 "match_mode": "unused",
30971 "enable_pfe": false,
30972 "field_width": 8
30973 },
30974 {
30975 "start_bit": 0,
30976 "enable_pfe": false,
30977 "field_width": 4,
30978 "lsb_mem_word_idx": 0,
30979 "msb_mem_word_idx": 0,
30980 "source": "zero",
30981 "lsb_mem_word_offset": 34,
30982 "field_name": "--padding_34_37--",
30983 "match_mode": "unused"
30984 },
30985 {
30986 "start_bit": 0,
30987 "enable_pfe": false,
30988 "field_width": 64,
30989 "lsb_mem_word_idx": 0,
30990 "msb_mem_word_idx": 0,
30991 "source": "zero",
30992 "lsb_mem_word_offset": 48,
30993 "field_name": "--padding_48_111--",
30994 "match_mode": "unused"
30995 },
30996 {
30997 "start_bit": 0,
30998 "enable_pfe": false,
30999 "field_width": 12,
31000 "lsb_mem_word_idx": 0,
31001 "msb_mem_word_idx": 0,
31002 "source": "zero",
31003 "lsb_mem_word_offset": 116,
31004 "field_name": "--padding_116_127--",
31005 "match_mode": "unused"
31006 }
31007 ]
31008 }
31009 ]
31010 }
31011 ],
31012 "memory_resource_allocation": {
31013 "hash_function_id": 0,
31014 "hash_entry_bit_lo": 20,
31015 "hash_entry_bit_hi": 29,
31016 "number_entry_bits": 10,
31017 "hash_select_bit_hi": 40,
31018 "hash_select_bit_lo": 40,
31019 "number_select_bits": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080031020 "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
Carmelo Cascone04098db2018-01-30 18:10:32 -080031021 }
31022 }
31023 ]
31024 }
31025 ],
31026 "match_type": "exact",
31027 "uses_dynamic_key_masks": false
31028 },
31029 "actions": [
31030 {
31031 "name": "NoAction",
31032 "handle": 536870926,
31033 "indirect_resources": [],
31034 "allowed_as_default_action": true,
31035 "p4_parameters": [],
31036 "override_meter_addr": false,
31037 "override_meter_addr_pfe": false,
31038 "override_meter_full_addr": 0,
31039 "override_stat_addr": false,
31040 "override_stat_addr_pfe": false,
31041 "override_stat_full_addr": 0,
31042 "override_stateful_addr": false,
31043 "override_stateful_addr_pfe": false,
31044 "override_stateful_full_addr": 0,
31045 "is_action_meter_color_aware": false,
31046 "primitives": []
31047 },
31048 {
31049 "name": "forwarding.pop_mpls_and_next",
31050 "handle": 536870925,
31051 "indirect_resources": [],
31052 "allowed_as_default_action": true,
31053 "p4_parameters": [
31054 {
31055 "name": "next_id",
31056 "start_bit": 0,
31057 "position": 0,
31058 "bit_width": 32
31059 }
31060 ],
31061 "override_meter_addr": false,
31062 "override_meter_addr_pfe": false,
31063 "override_meter_full_addr": 0,
31064 "override_stat_addr": false,
31065 "override_stat_addr_pfe": false,
31066 "override_stat_full_addr": 0,
31067 "override_stateful_addr": false,
31068 "override_stateful_addr_pfe": false,
31069 "override_stateful_full_addr": 0,
31070 "is_action_meter_color_aware": false,
31071 "primitives": [
31072 {
31073 "name": "ModifyFieldPrimitive",
31074 "dest": { "type": "phv", "name": "mpls.$valid" },
31075 "src": [
31076 { "type": "immmediate", "name": "0" },
31077 { "type": "phv", "name": "B7" }
31078 ]
31079 },
31080 {
31081 "name": "ModifyFieldPrimitive",
31082 "dest": { "type": "phv", "name": "fabric_metadata.next_id" },
31083 "src": [ { "type": "immediate", "name": "next_id" } ]
31084 }
31085 ]
31086 }
31087 ]
31088 },
31089 {
31090 "direction": "ingress",
31091 "handle": 67108869,
31092 "name": "forwarding.mpls_counter",
31093 "table_type": "statistics",
31094 "size": 0,
31095 "stage_tables": [
31096 {
31097 "stage_number": 4,
31098 "size": 4096,
31099 "stage_table_type": "statistics",
31100 "logical_table_id": 1,
31101 "pack_format": [
31102 {
31103 "table_word_width": 128,
31104 "memory_word_width": 128,
31105 "entries_per_table_word": 2,
31106 "number_memory_units_per_table_word": 1
31107 }
31108 ],
31109 "memory_resource_allocation": {
31110 "memory_type": "sram",
31111 "memory_units_and_vpns": [
31112 { "memory_units": [ 78 ], "vpns": [ 0 ] },
31113 { "memory_units": [ 79 ], "vpns": [ 1 ] },
31114 { "memory_units": [ 80 ], "vpns": [ 2 ] }
31115 ],
31116 "spare_bank_memory_unit": 80
31117 },
31118 "stats_alu_index": 3
31119 }
31120 ],
31121 "how_referenced": "direct",
31122 "enable_pfe": false,
31123 "pfe_bit_position": 0,
31124 "byte_counter_resolution": 36,
31125 "packet_counter_resolution": 28,
31126 "statistics_type": "packets_and_bytes"
31127 },
31128 {
31129 "direction": "ingress",
31130 "handle": 16777225,
31131 "name": "tbl_act_1",
31132 "table_type": "match",
31133 "size": 1,
31134 "preferred_match_type": "exact",
31135 "match_attributes": {
31136 "stage_tables": [
31137 {
31138 "stage_number": 4,
31139 "size": 1,
31140 "stage_table_type": "match_with_no_key",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080031141 "logical_table_id": 4,
Carmelo Cascone04098db2018-01-30 18:10:32 -080031142 "has_attached_gateway": true,
31143 "memory_resource_allocation": null,
31144 "default_next_table": 255,
31145 "pack_format": [
31146 {
31147 "table_word_width": 0,
31148 "memory_word_width": 0,
31149 "entries_per_table_word": 1,
31150 "number_memory_units_per_table_word": 0
31151 }
31152 ],
31153 "result_physical_buses": [ 0 ],
31154 "action_format": [
31155 {
31156 "action_name": "act_1",
31157 "action_handle": 536870927,
31158 "table_name": "forwarding_acl",
31159 "next_table": 0,
31160 "next_table_full": 80,
31161 "vliw_instruction": 1,
31162 "vliw_instruction_full": 67,
31163 "immediate_fields": []
31164 }
31165 ],
31166 "hash_functions": []
31167 }
31168 ],
31169 "match_type": "match_with_no_key",
31170 "uses_dynamic_key_masks": false
31171 },
31172 "actions": [
31173 {
31174 "name": "act_1",
31175 "handle": 536870927,
31176 "indirect_resources": [],
31177 "allowed_as_default_action": true,
31178 "disallowed_as_default_action_reason": "",
31179 "p4_parameters": [],
31180 "override_meter_addr": false,
31181 "override_meter_addr_pfe": false,
31182 "override_meter_full_addr": 0,
31183 "override_stat_addr": false,
31184 "override_stat_addr_pfe": false,
31185 "override_stat_full_addr": 0,
31186 "override_stateful_addr": false,
31187 "override_stateful_addr_pfe": false,
31188 "override_stateful_full_addr": 0,
31189 "is_action_meter_color_aware": false,
31190 "primitives": [
31191 {
31192 "name": "ModifyFieldPrimitive",
31193 "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
31194 "src": [ { "immediate": "2048" } ]
31195 },
31196 {
31197 "name": "ModifyFieldPrimitive",
31198 "dest": { "type": "phv", "name": "fabric_metadata.original_ether_type" },
31199 "src": [ { "immediate": "2048" } ]
31200 }
31201 ]
31202 }
31203 ],
31204 "default_action_handle": 536870927,
31205 "action_profile": "",
31206 "default_next_table_mask": 0,
31207 "ap_bind_indirect_res_to_match": [],
31208 "is_resource_controllable": true,
31209 "uses_range": false,
31210 "match_key_fields": [],
31211 "performs_hash_action": false,
31212 "action_data_table_refs": [],
31213 "selection_table_refs": [],
31214 "meter_table_refs": [],
31215 "statistics_table_refs": [],
31216 "stateful_table_refs": []
31217 },
31218 {
31219 "direction": "ingress",
31220 "handle": 16777226,
31221 "name": "forwarding.unicast_v4",
31222 "table_type": "match",
31223 "size": 512,
31224 "match_attributes": {
31225 "stage_tables": [
31226 {
31227 "stage_number": 4,
31228 "size": 512,
31229 "stage_table_type": "ternary_match",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080031230 "logical_table_id": 2,
Carmelo Cascone04098db2018-01-30 18:10:32 -080031231 "has_attached_gateway": true,
31232 "pack_format": [
31233 {
31234 "table_word_width": 47,
31235 "memory_word_width": 47,
31236 "entries_per_table_word": 1,
31237 "number_memory_units_per_table_word": 1,
31238 "entries": [
31239 {
31240 "entry_number": 0,
31241 "fields": [
31242 {
31243 "field_name": "--tcam_payload_0--",
31244 "lsb_mem_word_offset": 0,
31245 "lsb_mem_word_idx": 0,
31246 "msb_mem_word_idx": 0,
31247 "source": "payload",
31248 "start_bit": 0,
31249 "field_width": 1
31250 },
31251 {
31252 "field_name": "--version--",
31253 "lsb_mem_word_offset": 43,
31254 "lsb_mem_word_idx": 0,
31255 "msb_mem_word_idx": 0,
31256 "source": "version",
31257 "start_bit": 0,
31258 "field_width": 2
31259 },
31260 {
31261 "field_name": "--tcam_parity_0--",
31262 "lsb_mem_word_offset": 45,
31263 "lsb_mem_word_idx": 0,
31264 "msb_mem_word_idx": 0,
31265 "source": "parity",
31266 "start_bit": 0,
31267 "field_width": 2
31268 },
31269 {
31270 "field_name": "ipv4.dst_addr",
31271 "lsb_mem_word_offset": 1,
31272 "lsb_mem_word_idx": 0,
31273 "msb_mem_word_idx": 0,
31274 "source": "spec",
31275 "start_bit": 24,
31276 "field_width": 8
31277 },
31278 {
31279 "field_name": "ipv4.dst_addr",
31280 "lsb_mem_word_offset": 9,
31281 "lsb_mem_word_idx": 0,
31282 "msb_mem_word_idx": 0,
31283 "source": "spec",
31284 "start_bit": 0,
31285 "field_width": 24
31286 }
31287 ]
31288 }
31289 ]
31290 }
31291 ],
31292 "memory_resource_allocation": {
31293 "memory_type": "tcam",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080031294 "memory_units_and_vpns": [ { "memory_units": [ 5 ], "vpns": [ 0 ] } ],
31295 "spare_bank_memory_unit": 5
Carmelo Cascone04098db2018-01-30 18:10:32 -080031296 },
31297 "default_next_table": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080031298 "result_physical_buses": [ 10 ],
Carmelo Cascone04098db2018-01-30 18:10:32 -080031299 "ternary_indirection_stage_table": {
31300 "stage_number": 4,
31301 "stage_table_type": "ternary_indirection",
31302 "size": 2048,
31303 "pack_format": [
31304 {
31305 "memory_word_width": 128,
31306 "table_word_width": 128,
31307 "entries_per_table_word": 2,
31308 "number_memory_units_per_table_word": 1,
31309 "entries": [
31310 {
31311 "entry_number": 1,
31312 "fields": [
31313 {
31314 "start_bit": 0,
31315 "enable_pfe": false,
31316 "field_width": 2,
31317 "lsb_mem_word_idx": 0,
31318 "msb_mem_word_idx": 0,
31319 "source": "instr",
31320 "lsb_mem_word_offset": 64,
31321 "field_name": "action"
31322 },
31323 {
31324 "start_bit": 0,
31325 "enable_pfe": false,
31326 "field_width": 32,
31327 "lsb_mem_word_idx": 0,
31328 "msb_mem_word_idx": 0,
31329 "source": "immediate",
31330 "lsb_mem_word_offset": 66,
31331 "field_name": "immediate"
31332 },
31333 {
31334 "start_bit": 0,
31335 "enable_pfe": false,
31336 "field_width": 30,
31337 "lsb_mem_word_idx": 0,
31338 "msb_mem_word_idx": 0,
31339 "source": "zero",
31340 "lsb_mem_word_offset": 98,
31341 "field_name": "--padding_34_63--"
31342 }
31343 ]
31344 },
31345 {
31346 "entry_number": 0,
31347 "fields": [
31348 {
31349 "start_bit": 0,
31350 "enable_pfe": false,
31351 "field_width": 2,
31352 "lsb_mem_word_idx": 0,
31353 "msb_mem_word_idx": 0,
31354 "source": "instr",
31355 "lsb_mem_word_offset": 0,
31356 "field_name": "action"
31357 },
31358 {
31359 "start_bit": 0,
31360 "enable_pfe": false,
31361 "field_width": 32,
31362 "lsb_mem_word_idx": 0,
31363 "msb_mem_word_idx": 0,
31364 "source": "immediate",
31365 "lsb_mem_word_offset": 2,
31366 "field_name": "immediate"
31367 },
31368 {
31369 "start_bit": 0,
31370 "enable_pfe": false,
31371 "field_width": 30,
31372 "lsb_mem_word_idx": 0,
31373 "msb_mem_word_idx": 0,
31374 "source": "zero",
31375 "lsb_mem_word_offset": 34,
31376 "field_name": "--padding_34_63--"
31377 }
31378 ]
31379 }
31380 ]
31381 }
31382 ],
31383 "memory_resource_allocation": {
31384 "memory_type": "sram",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080031385 "memory_units_and_vpns": [ { "memory_units": [ 14 ], "vpns": [ 0 ] } ],
31386 "spare_bank_memory_unit": 14
Carmelo Cascone04098db2018-01-30 18:10:32 -080031387 },
31388 "action_format": [
31389 {
31390 "action_name": "NoAction",
31391 "action_handle": 536870929,
31392 "table_name": "forwarding_acl",
31393 "next_table": 0,
31394 "next_table_full": 80,
31395 "vliw_instruction": 0,
31396 "vliw_instruction_full": 65,
31397 "immediate_fields": []
31398 },
31399 {
31400 "action_name": "forwarding.set_next_id",
31401 "action_handle": 536870928,
31402 "table_name": "forwarding_acl",
31403 "next_table": 0,
31404 "next_table_full": 80,
31405 "vliw_instruction": 1,
31406 "vliw_instruction_full": 68,
31407 "immediate_fields": [
31408 {
31409 "param_name": "next_id",
31410 "param_type": "parameter",
31411 "param_shift": 0,
31412 "dest_start": 0,
31413 "dest_width": 32
31414 }
31415 ]
31416 }
31417 ]
31418 }
31419 }
31420 ],
31421 "match_type": "ternary"
31422 },
31423 "action_data_table_refs": [],
31424 "selection_table_refs": [],
31425 "meter_table_refs": [],
31426 "statistics_table_refs": [
31427 {
31428 "how_referenced": "direct",
31429 "handle": 67108870,
31430 "name": "forwarding.unicast_v4_counter"
31431 }
31432 ],
31433 "stateful_table_refs": [],
31434 "actions": [
31435 {
31436 "name": "NoAction",
31437 "handle": 536870929,
31438 "indirect_resources": [],
31439 "allowed_as_default_action": true,
31440 "disallowed_as_default_action_reason": "",
31441 "p4_parameters": [],
31442 "override_meter_addr": false,
31443 "override_meter_addr_pfe": false,
31444 "override_meter_full_addr": 0,
31445 "override_stat_addr": false,
31446 "override_stat_addr_pfe": false,
31447 "override_stat_full_addr": 0,
31448 "override_stateful_addr": false,
31449 "override_stateful_addr_pfe": false,
31450 "override_stateful_full_addr": 0,
31451 "is_action_meter_color_aware": false,
31452 "primitives": []
31453 },
31454 {
31455 "name": "forwarding.set_next_id",
31456 "handle": 536870928,
31457 "indirect_resources": [],
31458 "allowed_as_default_action": true,
31459 "disallowed_as_default_action_reason": "",
31460 "p4_parameters": [
31461 {
31462 "name": "next_id",
31463 "start_bit": 0,
31464 "position": 0,
31465 "bit_width": 32
31466 }
31467 ],
31468 "override_meter_addr": false,
31469 "override_meter_addr_pfe": false,
31470 "override_meter_full_addr": 0,
31471 "override_stat_addr": false,
31472 "override_stat_addr_pfe": false,
31473 "override_stat_full_addr": 0,
31474 "override_stateful_addr": false,
31475 "override_stateful_addr_pfe": false,
31476 "override_stateful_full_addr": 0,
31477 "is_action_meter_color_aware": false,
31478 "primitives": [
31479 {
31480 "name": "ModifyFieldPrimitive",
31481 "dest": { "type": "phv", "name": "fabric_metadata.next_id" },
31482 "src": [ { "type": "immediate", "name": "next_id" } ]
31483 }
31484 ]
31485 }
31486 ],
31487 "default_action_handle": 536870929,
31488 "action_profile": "",
31489 "default_next_table_mask": 0,
31490 "ap_bind_indirect_res_to_match": [],
31491 "is_resource_controllable": true,
31492 "uses_range": false,
31493 "match_key_fields": [
31494 {
31495 "name": "ipv4.dst_addr",
31496 "position": 0,
31497 "match_type": "lpm",
31498 "start_bit": 0,
31499 "bit_width": 32,
31500 "bit_width_full": 32,
31501 "is_valid": false,
31502 "instance_name": "ipv4",
31503 "field_name": "dst_addr"
31504 }
31505 ]
31506 },
31507 {
31508 "direction": "ingress",
31509 "handle": 67108870,
31510 "name": "forwarding.unicast_v4_counter",
31511 "table_type": "statistics",
31512 "size": 0,
31513 "stage_tables": [
31514 {
31515 "stage_number": 4,
31516 "size": 2048,
31517 "stage_table_type": "statistics",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080031518 "logical_table_id": 2,
Carmelo Cascone04098db2018-01-30 18:10:32 -080031519 "pack_format": [
31520 {
31521 "table_word_width": 128,
31522 "memory_word_width": 128,
31523 "entries_per_table_word": 2,
31524 "number_memory_units_per_table_word": 1
31525 }
31526 ],
31527 "memory_resource_allocation": {
31528 "memory_type": "sram",
31529 "memory_units_and_vpns": [
31530 { "memory_units": [ 30 ], "vpns": [ 0 ] },
31531 { "memory_units": [ 31 ], "vpns": [ 1 ] }
31532 ],
31533 "spare_bank_memory_unit": 31
31534 },
31535 "stats_alu_index": 1
31536 }
31537 ],
31538 "how_referenced": "direct",
31539 "enable_pfe": false,
31540 "pfe_bit_position": 0,
31541 "byte_counter_resolution": 36,
31542 "packet_counter_resolution": 28,
31543 "statistics_type": "packets_and_bytes"
31544 },
31545 {
31546 "direction": "ingress",
31547 "handle": 16777227,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080031548 "name": "forwarding.multicast_v4",
31549 "table_type": "match",
31550 "size": 512,
31551 "match_attributes": {
31552 "stage_tables": [
31553 {
31554 "stage_number": 4,
31555 "size": 512,
31556 "stage_table_type": "ternary_match",
31557 "logical_table_id": 3,
31558 "has_attached_gateway": true,
31559 "pack_format": [
31560 {
31561 "table_word_width": 141,
31562 "memory_word_width": 47,
31563 "entries_per_table_word": 1,
31564 "number_memory_units_per_table_word": 3,
31565 "entries": [
31566 {
31567 "entry_number": 0,
31568 "fields": [
31569 {
31570 "field_name": "--tcam_payload_2--",
31571 "lsb_mem_word_offset": 0,
31572 "lsb_mem_word_idx": 2,
31573 "msb_mem_word_idx": 2,
31574 "source": "payload",
31575 "start_bit": 0,
31576 "field_width": 1
31577 },
31578 {
31579 "field_name": "--tcam_parity_2--",
31580 "lsb_mem_word_offset": 45,
31581 "lsb_mem_word_idx": 2,
31582 "msb_mem_word_idx": 2,
31583 "source": "parity",
31584 "start_bit": 0,
31585 "field_width": 2
31586 },
31587 {
31588 "field_name": "vlan_tag.vlan_id",
31589 "lsb_mem_word_offset": 17,
31590 "lsb_mem_word_idx": 2,
31591 "msb_mem_word_idx": 2,
31592 "source": "spec",
31593 "start_bit": 0,
31594 "field_width": 8
31595 },
31596 {
31597 "field_name": "--tcam_payload_1--",
31598 "lsb_mem_word_offset": 0,
31599 "lsb_mem_word_idx": 1,
31600 "msb_mem_word_idx": 1,
31601 "source": "payload",
31602 "start_bit": 0,
31603 "field_width": 1
31604 },
31605 {
31606 "field_name": "--tcam_parity_1--",
31607 "lsb_mem_word_offset": 45,
31608 "lsb_mem_word_idx": 1,
31609 "msb_mem_word_idx": 1,
31610 "source": "parity",
31611 "start_bit": 0,
31612 "field_width": 2
31613 },
31614 {
31615 "field_name": "ipv4.dst_addr",
31616 "lsb_mem_word_offset": 33,
31617 "lsb_mem_word_idx": 1,
31618 "msb_mem_word_idx": 1,
31619 "source": "spec",
31620 "start_bit": 24,
31621 "field_width": 8
31622 },
31623 {
31624 "field_name": "--tcam_payload_0--",
31625 "lsb_mem_word_offset": 0,
31626 "lsb_mem_word_idx": 0,
31627 "msb_mem_word_idx": 0,
31628 "source": "payload",
31629 "start_bit": 0,
31630 "field_width": 1
31631 },
31632 {
31633 "field_name": "--version--",
31634 "lsb_mem_word_offset": 43,
31635 "lsb_mem_word_idx": 0,
31636 "msb_mem_word_idx": 0,
31637 "source": "version",
31638 "start_bit": 0,
31639 "field_width": 2
31640 },
31641 {
31642 "field_name": "--tcam_parity_0--",
31643 "lsb_mem_word_offset": 45,
31644 "lsb_mem_word_idx": 0,
31645 "msb_mem_word_idx": 0,
31646 "source": "parity",
31647 "start_bit": 0,
31648 "field_width": 2
31649 },
31650 {
31651 "field_name": "ipv4.dst_addr",
31652 "lsb_mem_word_offset": 1,
31653 "lsb_mem_word_idx": 0,
31654 "msb_mem_word_idx": 0,
31655 "source": "spec",
31656 "start_bit": 8,
31657 "field_width": 16
31658 },
31659 {
31660 "field_name": "vlan_tag.vlan_id",
31661 "lsb_mem_word_offset": 17,
31662 "lsb_mem_word_idx": 0,
31663 "msb_mem_word_idx": 0,
31664 "source": "spec",
31665 "start_bit": 8,
31666 "field_width": 4
31667 },
31668 {
31669 "field_name": "ipv4.dst_addr",
31670 "lsb_mem_word_offset": 25,
31671 "lsb_mem_word_idx": 0,
31672 "msb_mem_word_idx": 0,
31673 "source": "spec",
31674 "start_bit": 0,
31675 "field_width": 8
31676 }
31677 ]
31678 }
31679 ]
31680 }
31681 ],
31682 "memory_resource_allocation": {
31683 "memory_type": "tcam",
31684 "memory_units_and_vpns": [ { "memory_units": [ 2, 3, 4 ], "vpns": [ 0 ] } ],
31685 "spare_bank_memory_unit": 4
31686 },
31687 "default_next_table": 0,
31688 "result_physical_buses": [ 4, 6, 8 ],
31689 "ternary_indirection_stage_table": {
31690 "stage_number": 4,
31691 "stage_table_type": "ternary_indirection",
31692 "size": 2048,
31693 "pack_format": [
31694 {
31695 "memory_word_width": 128,
31696 "table_word_width": 128,
31697 "entries_per_table_word": 2,
31698 "number_memory_units_per_table_word": 1,
31699 "entries": [
31700 {
31701 "entry_number": 1,
31702 "fields": [
31703 {
31704 "start_bit": 0,
31705 "enable_pfe": false,
31706 "field_width": 2,
31707 "lsb_mem_word_idx": 0,
31708 "msb_mem_word_idx": 0,
31709 "source": "instr",
31710 "lsb_mem_word_offset": 64,
31711 "field_name": "action"
31712 },
31713 {
31714 "start_bit": 0,
31715 "enable_pfe": false,
31716 "field_width": 32,
31717 "lsb_mem_word_idx": 0,
31718 "msb_mem_word_idx": 0,
31719 "source": "immediate",
31720 "lsb_mem_word_offset": 66,
31721 "field_name": "immediate"
31722 },
31723 {
31724 "start_bit": 0,
31725 "enable_pfe": false,
31726 "field_width": 30,
31727 "lsb_mem_word_idx": 0,
31728 "msb_mem_word_idx": 0,
31729 "source": "zero",
31730 "lsb_mem_word_offset": 98,
31731 "field_name": "--padding_34_63--"
31732 }
31733 ]
31734 },
31735 {
31736 "entry_number": 0,
31737 "fields": [
31738 {
31739 "start_bit": 0,
31740 "enable_pfe": false,
31741 "field_width": 2,
31742 "lsb_mem_word_idx": 0,
31743 "msb_mem_word_idx": 0,
31744 "source": "instr",
31745 "lsb_mem_word_offset": 0,
31746 "field_name": "action"
31747 },
31748 {
31749 "start_bit": 0,
31750 "enable_pfe": false,
31751 "field_width": 32,
31752 "lsb_mem_word_idx": 0,
31753 "msb_mem_word_idx": 0,
31754 "source": "immediate",
31755 "lsb_mem_word_offset": 2,
31756 "field_name": "immediate"
31757 },
31758 {
31759 "start_bit": 0,
31760 "enable_pfe": false,
31761 "field_width": 30,
31762 "lsb_mem_word_idx": 0,
31763 "msb_mem_word_idx": 0,
31764 "source": "zero",
31765 "lsb_mem_word_offset": 34,
31766 "field_name": "--padding_34_63--"
31767 }
31768 ]
31769 }
31770 ]
31771 }
31772 ],
31773 "memory_resource_allocation": {
31774 "memory_type": "sram",
31775 "memory_units_and_vpns": [ { "memory_units": [ 26 ], "vpns": [ 0 ] } ],
31776 "spare_bank_memory_unit": 26
31777 },
31778 "action_format": [
31779 {
31780 "action_name": "NoAction",
31781 "action_handle": 536870931,
31782 "table_name": "forwarding_acl",
31783 "next_table": 0,
31784 "next_table_full": 80,
31785 "vliw_instruction": 0,
31786 "vliw_instruction_full": 65,
31787 "immediate_fields": []
31788 },
31789 {
31790 "action_name": "forwarding.set_next_id",
31791 "action_handle": 536870930,
31792 "table_name": "forwarding_acl",
31793 "next_table": 0,
31794 "next_table_full": 80,
31795 "vliw_instruction": 1,
31796 "vliw_instruction_full": 70,
31797 "immediate_fields": [
31798 {
31799 "param_name": "next_id",
31800 "param_type": "parameter",
31801 "param_shift": 0,
31802 "dest_start": 0,
31803 "dest_width": 32
31804 }
31805 ]
31806 }
31807 ]
31808 }
31809 }
31810 ],
31811 "match_type": "ternary"
31812 },
31813 "action_data_table_refs": [],
31814 "selection_table_refs": [],
31815 "meter_table_refs": [],
31816 "statistics_table_refs": [
31817 {
31818 "how_referenced": "direct",
31819 "handle": 67108871,
31820 "name": "forwarding.multicast_v4_counter"
31821 }
31822 ],
31823 "stateful_table_refs": [],
31824 "actions": [
31825 {
31826 "name": "NoAction",
31827 "handle": 536870931,
31828 "indirect_resources": [],
31829 "allowed_as_default_action": true,
31830 "disallowed_as_default_action_reason": "",
31831 "p4_parameters": [],
31832 "override_meter_addr": false,
31833 "override_meter_addr_pfe": false,
31834 "override_meter_full_addr": 0,
31835 "override_stat_addr": false,
31836 "override_stat_addr_pfe": false,
31837 "override_stat_full_addr": 0,
31838 "override_stateful_addr": false,
31839 "override_stateful_addr_pfe": false,
31840 "override_stateful_full_addr": 0,
31841 "is_action_meter_color_aware": false,
31842 "primitives": []
31843 },
31844 {
31845 "name": "forwarding.set_next_id",
31846 "handle": 536870930,
31847 "indirect_resources": [],
31848 "allowed_as_default_action": true,
31849 "disallowed_as_default_action_reason": "",
31850 "p4_parameters": [
31851 {
31852 "name": "next_id",
31853 "start_bit": 0,
31854 "position": 0,
31855 "bit_width": 32
31856 }
31857 ],
31858 "override_meter_addr": false,
31859 "override_meter_addr_pfe": false,
31860 "override_meter_full_addr": 0,
31861 "override_stat_addr": false,
31862 "override_stat_addr_pfe": false,
31863 "override_stat_full_addr": 0,
31864 "override_stateful_addr": false,
31865 "override_stateful_addr_pfe": false,
31866 "override_stateful_full_addr": 0,
31867 "is_action_meter_color_aware": false,
31868 "primitives": [
31869 {
31870 "name": "ModifyFieldPrimitive",
31871 "dest": { "type": "phv", "name": "fabric_metadata.next_id" },
31872 "src": [ { "type": "immediate", "name": "next_id" } ]
31873 }
31874 ]
31875 }
31876 ],
31877 "default_action_handle": 536870931,
31878 "action_profile": "",
31879 "default_next_table_mask": 0,
31880 "ap_bind_indirect_res_to_match": [],
31881 "is_resource_controllable": true,
31882 "uses_range": false,
31883 "match_key_fields": [
31884 {
31885 "name": "vlan_tag.vlan_id",
31886 "position": 0,
31887 "match_type": "exact",
31888 "start_bit": 0,
31889 "bit_width": 12,
31890 "bit_width_full": 12,
31891 "is_valid": false,
31892 "instance_name": "vlan_tag",
31893 "field_name": "vlan_id"
31894 },
31895 {
31896 "name": "ipv4.dst_addr",
31897 "position": 1,
31898 "match_type": "lpm",
31899 "start_bit": 0,
31900 "bit_width": 32,
31901 "bit_width_full": 32,
31902 "is_valid": false,
31903 "instance_name": "ipv4",
31904 "field_name": "dst_addr"
31905 }
31906 ]
31907 },
31908 {
31909 "direction": "ingress",
31910 "handle": 67108871,
31911 "name": "forwarding.multicast_v4_counter",
31912 "table_type": "statistics",
31913 "size": 0,
31914 "stage_tables": [
31915 {
31916 "stage_number": 4,
31917 "size": 2048,
31918 "stage_table_type": "statistics",
31919 "logical_table_id": 3,
31920 "pack_format": [
31921 {
31922 "table_word_width": 128,
31923 "memory_word_width": 128,
31924 "entries_per_table_word": 2,
31925 "number_memory_units_per_table_word": 1
31926 }
31927 ],
31928 "memory_resource_allocation": {
31929 "memory_type": "sram",
31930 "memory_units_and_vpns": [
31931 { "memory_units": [ 54 ], "vpns": [ 0 ] },
31932 { "memory_units": [ 55 ], "vpns": [ 1 ] }
31933 ],
31934 "spare_bank_memory_unit": 55
31935 },
31936 "stats_alu_index": 2
31937 }
31938 ],
31939 "how_referenced": "direct",
31940 "enable_pfe": false,
31941 "pfe_bit_position": 0,
31942 "byte_counter_resolution": 36,
31943 "packet_counter_resolution": 28,
31944 "statistics_type": "packets_and_bytes"
31945 },
31946 {
31947 "direction": "ingress",
31948 "handle": 16777228,
Carmelo Cascone04098db2018-01-30 18:10:32 -080031949 "name": "forwarding.acl",
31950 "table_type": "match",
31951 "size": 256,
31952 "match_attributes": {
31953 "stage_tables": [
31954 {
31955 "stage_number": 5,
31956 "size": 512,
31957 "stage_table_type": "ternary_match",
31958 "logical_table_id": 0,
31959 "has_attached_gateway": false,
31960 "pack_format": [
31961 {
31962 "table_word_width": 282,
31963 "memory_word_width": 47,
31964 "entries_per_table_word": 1,
31965 "number_memory_units_per_table_word": 6,
31966 "entries": [
31967 {
31968 "entry_number": 0,
31969 "fields": [
31970 {
31971 "field_name": "--tcam_payload_5--",
31972 "lsb_mem_word_offset": 0,
31973 "lsb_mem_word_idx": 5,
31974 "msb_mem_word_idx": 5,
31975 "source": "payload",
31976 "start_bit": 0,
31977 "field_width": 1
31978 },
31979 {
31980 "field_name": "--tcam_parity_5--",
31981 "lsb_mem_word_offset": 45,
31982 "lsb_mem_word_idx": 5,
31983 "msb_mem_word_idx": 5,
31984 "source": "parity",
31985 "start_bit": 0,
31986 "field_width": 2
31987 },
31988 {
31989 "field_name": "ethernet.dst_addr",
31990 "lsb_mem_word_offset": 1,
31991 "lsb_mem_word_idx": 5,
31992 "msb_mem_word_idx": 5,
31993 "source": "spec",
31994 "start_bit": 16,
31995 "field_width": 32
31996 },
31997 {
31998 "field_name": "ethernet.src_addr",
31999 "lsb_mem_word_offset": 33,
32000 "lsb_mem_word_idx": 5,
32001 "msb_mem_word_idx": 5,
32002 "source": "spec",
32003 "start_bit": 16,
32004 "field_width": 8
32005 },
32006 {
32007 "field_name": "ig_intr_md.ingress_port",
32008 "lsb_mem_word_offset": 41,
32009 "lsb_mem_word_idx": 5,
32010 "msb_mem_word_idx": 5,
32011 "source": "spec",
32012 "start_bit": 8,
32013 "field_width": 1
32014 },
32015 {
32016 "field_name": "--tcam_payload_4--",
32017 "lsb_mem_word_offset": 0,
32018 "lsb_mem_word_idx": 4,
32019 "msb_mem_word_idx": 4,
32020 "source": "payload",
32021 "start_bit": 0,
32022 "field_width": 1
32023 },
32024 {
32025 "field_name": "--version--",
32026 "lsb_mem_word_offset": 43,
32027 "lsb_mem_word_idx": 4,
32028 "msb_mem_word_idx": 4,
32029 "source": "version",
32030 "start_bit": 0,
32031 "field_width": 2
32032 },
32033 {
32034 "field_name": "--tcam_parity_4--",
32035 "lsb_mem_word_offset": 45,
32036 "lsb_mem_word_idx": 4,
32037 "msb_mem_word_idx": 4,
32038 "source": "parity",
32039 "start_bit": 0,
32040 "field_width": 2
32041 },
32042 {
32043 "field_name": "ethernet.src_addr",
32044 "lsb_mem_word_offset": 1,
32045 "lsb_mem_word_idx": 4,
32046 "msb_mem_word_idx": 4,
32047 "source": "spec",
32048 "start_bit": 32,
32049 "field_width": 16
32050 },
32051 {
32052 "field_name": "ipv4.dst_addr",
32053 "lsb_mem_word_offset": 17,
32054 "lsb_mem_word_idx": 4,
32055 "msb_mem_word_idx": 4,
32056 "source": "spec",
32057 "start_bit": 0,
32058 "field_width": 8
32059 },
32060 {
32061 "field_name": "ethernet.src_addr",
32062 "lsb_mem_word_offset": 25,
32063 "lsb_mem_word_idx": 4,
32064 "msb_mem_word_idx": 4,
32065 "source": "spec",
32066 "start_bit": 24,
32067 "field_width": 8
32068 },
32069 {
32070 "field_name": "ipv4.dst_addr",
32071 "lsb_mem_word_offset": 33,
32072 "lsb_mem_word_idx": 4,
32073 "msb_mem_word_idx": 4,
32074 "source": "spec",
32075 "start_bit": 16,
32076 "field_width": 8
32077 },
32078 {
32079 "field_name": "--tcam_payload_3--",
32080 "lsb_mem_word_offset": 0,
32081 "lsb_mem_word_idx": 3,
32082 "msb_mem_word_idx": 3,
32083 "source": "payload",
32084 "start_bit": 0,
32085 "field_width": 1
32086 },
32087 {
32088 "field_name": "--tcam_parity_3--",
32089 "lsb_mem_word_offset": 45,
32090 "lsb_mem_word_idx": 3,
32091 "msb_mem_word_idx": 3,
32092 "source": "parity",
32093 "start_bit": 0,
32094 "field_width": 2
32095 },
32096 {
32097 "field_name": "ipv4.dst_addr",
32098 "lsb_mem_word_offset": 1,
32099 "lsb_mem_word_idx": 3,
32100 "msb_mem_word_idx": 3,
32101 "source": "spec",
32102 "start_bit": 24,
32103 "field_width": 8
32104 },
32105 {
32106 "field_name": "ipv4.src_addr",
32107 "lsb_mem_word_offset": 9,
32108 "lsb_mem_word_idx": 3,
32109 "msb_mem_word_idx": 3,
32110 "source": "spec",
32111 "start_bit": 0,
32112 "field_width": 8
32113 },
32114 {
32115 "field_name": "ipv4.dst_addr",
32116 "lsb_mem_word_offset": 17,
32117 "lsb_mem_word_idx": 3,
32118 "msb_mem_word_idx": 3,
32119 "source": "spec",
32120 "start_bit": 8,
32121 "field_width": 8
32122 },
32123 {
32124 "field_name": "ipv4.src_addr",
32125 "lsb_mem_word_offset": 25,
32126 "lsb_mem_word_idx": 3,
32127 "msb_mem_word_idx": 3,
32128 "source": "spec",
32129 "start_bit": 16,
32130 "field_width": 16
32131 },
32132 {
32133 "field_name": "fabric_metadata.l4_dst_port",
32134 "lsb_mem_word_offset": 41,
32135 "lsb_mem_word_idx": 3,
32136 "msb_mem_word_idx": 3,
32137 "source": "spec",
32138 "start_bit": 0,
32139 "field_width": 4
32140 },
32141 {
32142 "field_name": "fabric_metadata.l4_dst_port",
32143 "lsb_mem_word_offset": 41,
32144 "lsb_mem_word_idx": 2,
32145 "msb_mem_word_idx": 2,
32146 "source": "spec",
32147 "start_bit": 4,
32148 "field_width": 4
32149 },
32150 {
32151 "field_name": "--tcam_payload_2--",
32152 "lsb_mem_word_offset": 0,
32153 "lsb_mem_word_idx": 2,
32154 "msb_mem_word_idx": 2,
32155 "source": "payload",
32156 "start_bit": 0,
32157 "field_width": 1
32158 },
32159 {
32160 "field_name": "--tcam_parity_2--",
32161 "lsb_mem_word_offset": 45,
32162 "lsb_mem_word_idx": 2,
32163 "msb_mem_word_idx": 2,
32164 "source": "parity",
32165 "start_bit": 0,
32166 "field_width": 2
32167 },
32168 {
32169 "field_name": "ipv4.src_addr",
32170 "lsb_mem_word_offset": 1,
32171 "lsb_mem_word_idx": 2,
32172 "msb_mem_word_idx": 2,
32173 "source": "spec",
32174 "start_bit": 8,
32175 "field_width": 8
32176 },
32177 {
32178 "field_name": "ethernet.dst_addr",
32179 "lsb_mem_word_offset": 9,
32180 "lsb_mem_word_idx": 2,
32181 "msb_mem_word_idx": 2,
32182 "source": "spec",
32183 "start_bit": 0,
32184 "field_width": 16
32185 },
32186 {
32187 "field_name": "ethernet.src_addr",
32188 "lsb_mem_word_offset": 25,
32189 "lsb_mem_word_idx": 2,
32190 "msb_mem_word_idx": 2,
32191 "source": "spec",
32192 "start_bit": 0,
32193 "field_width": 16
32194 },
32195 {
32196 "field_name": "--tcam_payload_1--",
32197 "lsb_mem_word_offset": 0,
32198 "lsb_mem_word_idx": 1,
32199 "msb_mem_word_idx": 1,
32200 "source": "payload",
32201 "start_bit": 0,
32202 "field_width": 1
32203 },
32204 {
32205 "field_name": "--tcam_parity_1--",
32206 "lsb_mem_word_offset": 45,
32207 "lsb_mem_word_idx": 1,
32208 "msb_mem_word_idx": 1,
32209 "source": "parity",
32210 "start_bit": 0,
32211 "field_width": 2
32212 },
32213 {
32214 "field_name": "fabric_metadata.l4_src_port",
32215 "lsb_mem_word_offset": 1,
32216 "lsb_mem_word_idx": 1,
32217 "msb_mem_word_idx": 1,
32218 "source": "spec",
32219 "start_bit": 0,
32220 "field_width": 8
32221 },
32222 {
32223 "field_name": "fabric_metadata.l4_dst_port",
32224 "lsb_mem_word_offset": 9,
32225 "lsb_mem_word_idx": 1,
32226 "msb_mem_word_idx": 1,
32227 "source": "spec",
32228 "start_bit": 8,
32229 "field_width": 8
32230 },
32231 {
32232 "field_name": "fabric_metadata.original_ether_type",
32233 "lsb_mem_word_offset": 17,
32234 "lsb_mem_word_idx": 1,
32235 "msb_mem_word_idx": 1,
32236 "source": "spec",
32237 "start_bit": 0,
32238 "field_width": 8
32239 },
32240 {
32241 "field_name": "fabric_metadata.l4_src_port",
32242 "lsb_mem_word_offset": 25,
32243 "lsb_mem_word_idx": 1,
32244 "msb_mem_word_idx": 1,
32245 "source": "spec",
32246 "start_bit": 8,
32247 "field_width": 8
32248 },
32249 {
32250 "field_name": "ig_intr_md.ingress_port",
32251 "lsb_mem_word_offset": 33,
32252 "lsb_mem_word_idx": 1,
32253 "msb_mem_word_idx": 1,
32254 "source": "spec",
32255 "start_bit": 0,
32256 "field_width": 8
32257 },
32258 {
32259 "field_name": "icmp.icmp_type",
32260 "lsb_mem_word_offset": 41,
32261 "lsb_mem_word_idx": 1,
32262 "msb_mem_word_idx": 1,
32263 "source": "spec",
32264 "start_bit": 0,
32265 "field_width": 4
32266 },
32267 {
32268 "field_name": "icmp.icmp_type",
32269 "lsb_mem_word_offset": 41,
32270 "lsb_mem_word_idx": 0,
32271 "msb_mem_word_idx": 0,
32272 "source": "spec",
32273 "start_bit": 4,
32274 "field_width": 4
32275 },
32276 {
32277 "field_name": "--tcam_payload_0--",
32278 "lsb_mem_word_offset": 0,
32279 "lsb_mem_word_idx": 0,
32280 "msb_mem_word_idx": 0,
32281 "source": "payload",
32282 "start_bit": 0,
32283 "field_width": 1
32284 },
32285 {
32286 "field_name": "--tcam_parity_0--",
32287 "lsb_mem_word_offset": 45,
32288 "lsb_mem_word_idx": 0,
32289 "msb_mem_word_idx": 0,
32290 "source": "parity",
32291 "start_bit": 0,
32292 "field_width": 2
32293 },
32294 {
32295 "field_name": "vlan_tag.vlan_id",
32296 "lsb_mem_word_offset": 1,
32297 "lsb_mem_word_idx": 0,
32298 "msb_mem_word_idx": 0,
32299 "source": "spec",
32300 "start_bit": 0,
32301 "field_width": 8
32302 },
32303 {
32304 "field_name": "fabric_metadata.original_ether_type",
32305 "lsb_mem_word_offset": 9,
32306 "lsb_mem_word_idx": 0,
32307 "msb_mem_word_idx": 0,
32308 "source": "spec",
32309 "start_bit": 8,
32310 "field_width": 8
32311 },
32312 {
32313 "field_name": "fabric_metadata.ip_proto",
32314 "lsb_mem_word_offset": 17,
32315 "lsb_mem_word_idx": 0,
32316 "msb_mem_word_idx": 0,
32317 "source": "spec",
32318 "start_bit": 0,
32319 "field_width": 8
32320 },
32321 {
32322 "field_name": "vlan_tag.vlan_id",
32323 "lsb_mem_word_offset": 25,
32324 "lsb_mem_word_idx": 0,
32325 "msb_mem_word_idx": 0,
32326 "source": "spec",
32327 "start_bit": 8,
32328 "field_width": 4
32329 },
32330 {
32331 "field_name": "icmp.icmp_code",
32332 "lsb_mem_word_offset": 33,
32333 "lsb_mem_word_idx": 0,
32334 "msb_mem_word_idx": 0,
32335 "source": "spec",
32336 "start_bit": 0,
32337 "field_width": 8
32338 }
32339 ]
32340 }
32341 ]
32342 }
32343 ],
32344 "memory_resource_allocation": {
32345 "memory_type": "tcam",
32346 "memory_units_and_vpns": [ { "memory_units": [ 0, 1, 2, 3, 4, 5 ], "vpns": [ 0 ] } ],
32347 "spare_bank_memory_unit": 5
32348 },
32349 "default_next_table": 0,
32350 "result_physical_buses": [ 0, 2, 4, 6, 8, 10 ],
32351 "ternary_indirection_stage_table": {
32352 "stage_number": 5,
32353 "stage_table_type": "ternary_indirection",
32354 "size": 2048,
32355 "pack_format": [
32356 {
32357 "memory_word_width": 128,
32358 "table_word_width": 128,
32359 "entries_per_table_word": 2,
32360 "number_memory_units_per_table_word": 1,
32361 "entries": [
32362 {
32363 "entry_number": 1,
32364 "fields": [
32365 {
32366 "start_bit": 0,
32367 "enable_pfe": false,
32368 "field_width": 2,
32369 "lsb_mem_word_idx": 0,
32370 "msb_mem_word_idx": 0,
32371 "source": "instr",
32372 "lsb_mem_word_offset": 64,
32373 "field_name": "action"
32374 },
32375 {
32376 "start_bit": 0,
32377 "enable_pfe": false,
32378 "field_width": 32,
32379 "lsb_mem_word_idx": 0,
32380 "msb_mem_word_idx": 0,
32381 "source": "immediate",
32382 "lsb_mem_word_offset": 66,
32383 "field_name": "immediate"
32384 },
32385 {
32386 "start_bit": 0,
32387 "enable_pfe": false,
32388 "field_width": 30,
32389 "lsb_mem_word_idx": 0,
32390 "msb_mem_word_idx": 0,
32391 "source": "zero",
32392 "lsb_mem_word_offset": 98,
32393 "field_name": "--padding_34_63--"
32394 }
32395 ]
32396 },
32397 {
32398 "entry_number": 0,
32399 "fields": [
32400 {
32401 "start_bit": 0,
32402 "enable_pfe": false,
32403 "field_width": 2,
32404 "lsb_mem_word_idx": 0,
32405 "msb_mem_word_idx": 0,
32406 "source": "instr",
32407 "lsb_mem_word_offset": 0,
32408 "field_name": "action"
32409 },
32410 {
32411 "start_bit": 0,
32412 "enable_pfe": false,
32413 "field_width": 32,
32414 "lsb_mem_word_idx": 0,
32415 "msb_mem_word_idx": 0,
32416 "source": "immediate",
32417 "lsb_mem_word_offset": 2,
32418 "field_name": "immediate"
32419 },
32420 {
32421 "start_bit": 0,
32422 "enable_pfe": false,
32423 "field_width": 30,
32424 "lsb_mem_word_idx": 0,
32425 "msb_mem_word_idx": 0,
32426 "source": "zero",
32427 "lsb_mem_word_offset": 34,
32428 "field_name": "--padding_34_63--"
32429 }
32430 ]
32431 }
32432 ]
32433 }
32434 ],
32435 "memory_resource_allocation": {
32436 "memory_type": "sram",
32437 "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
32438 "spare_bank_memory_unit": 2
32439 },
32440 "action_format": [
32441 {
32442 "action_name": "nop",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080032443 "action_handle": 536870935,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032444 "table_name": "next_simple",
32445 "next_table": 0,
32446 "next_table_full": 96,
32447 "vliw_instruction": 0,
32448 "vliw_instruction_full": 67,
32449 "immediate_fields": []
32450 },
32451 {
32452 "action_name": "forwarding.set_next_id",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080032453 "action_handle": 536870932,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032454 "table_name": "next_simple",
32455 "next_table": 0,
32456 "next_table_full": 96,
32457 "vliw_instruction": 1,
32458 "vliw_instruction_full": 64,
32459 "immediate_fields": [
32460 {
32461 "param_name": "next_id",
32462 "param_type": "parameter",
32463 "param_shift": 0,
32464 "dest_start": 0,
32465 "dest_width": 32
32466 }
32467 ]
32468 },
32469 {
32470 "action_name": "forwarding.duplicate_to_controller",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080032471 "action_handle": 536870933,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032472 "table_name": "next_simple",
32473 "next_table": 0,
32474 "next_table_full": 96,
32475 "vliw_instruction": 2,
32476 "vliw_instruction_full": 65,
32477 "immediate_fields": [
32478 {
32479 "param_name": "constant_192",
32480 "param_type": "constant",
32481 "const_value": 192,
32482 "param_shift": 0,
32483 "dest_start": 0,
32484 "dest_width": 9
32485 }
32486 ]
32487 },
32488 {
32489 "action_name": "forwarding.drop",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080032490 "action_handle": 536870934,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032491 "table_name": "next_simple",
32492 "next_table": 0,
32493 "next_table_full": 96,
32494 "vliw_instruction": 3,
32495 "vliw_instruction_full": 66,
32496 "immediate_fields": []
32497 }
32498 ]
32499 }
32500 }
32501 ],
32502 "match_type": "ternary"
32503 },
32504 "action_data_table_refs": [],
32505 "selection_table_refs": [],
32506 "meter_table_refs": [],
32507 "statistics_table_refs": [
32508 {
32509 "how_referenced": "direct",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080032510 "handle": 67108872,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032511 "name": "forwarding.acl_counter"
32512 }
32513 ],
32514 "stateful_table_refs": [],
32515 "actions": [
32516 {
32517 "name": "nop",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080032518 "handle": 536870935,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032519 "indirect_resources": [],
32520 "allowed_as_default_action": true,
32521 "disallowed_as_default_action_reason": "",
32522 "p4_parameters": [],
32523 "override_meter_addr": false,
32524 "override_meter_addr_pfe": false,
32525 "override_meter_full_addr": 0,
32526 "override_stat_addr": false,
32527 "override_stat_addr_pfe": false,
32528 "override_stat_full_addr": 0,
32529 "override_stateful_addr": false,
32530 "override_stateful_addr_pfe": false,
32531 "override_stateful_full_addr": 0,
32532 "is_action_meter_color_aware": false,
32533 "primitives": []
32534 },
32535 {
32536 "name": "forwarding.set_next_id",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080032537 "handle": 536870932,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032538 "indirect_resources": [],
32539 "allowed_as_default_action": true,
32540 "disallowed_as_default_action_reason": "",
32541 "p4_parameters": [
32542 {
32543 "name": "next_id",
32544 "start_bit": 0,
32545 "position": 0,
32546 "bit_width": 32
32547 }
32548 ],
32549 "override_meter_addr": false,
32550 "override_meter_addr_pfe": false,
32551 "override_meter_full_addr": 0,
32552 "override_stat_addr": false,
32553 "override_stat_addr_pfe": false,
32554 "override_stat_full_addr": 0,
32555 "override_stateful_addr": false,
32556 "override_stateful_addr_pfe": false,
32557 "override_stateful_full_addr": 0,
32558 "is_action_meter_color_aware": false,
32559 "primitives": [
32560 {
32561 "name": "ModifyFieldPrimitive",
32562 "dest": { "type": "phv", "name": "fabric_metadata.next_id" },
32563 "src": [ { "type": "immediate", "name": "next_id" } ]
32564 }
32565 ]
32566 },
32567 {
32568 "name": "forwarding.duplicate_to_controller",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080032569 "handle": 536870933,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032570 "indirect_resources": [],
32571 "allowed_as_default_action": true,
32572 "disallowed_as_default_action_reason": "",
32573 "p4_parameters": [],
32574 "override_meter_addr": false,
32575 "override_meter_addr_pfe": false,
32576 "override_meter_full_addr": 0,
32577 "override_stat_addr": false,
32578 "override_stat_addr_pfe": false,
32579 "override_stat_full_addr": 0,
32580 "override_stateful_addr": false,
32581 "override_stateful_addr_pfe": false,
32582 "override_stateful_full_addr": 0,
32583 "is_action_meter_color_aware": false,
32584 "primitives": [
32585 {
32586 "name": "ModifyFieldPrimitive",
32587 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
32588 "src": [
32589 { "type": "immediate", "name": "$constant0" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080032590 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080032591 ]
32592 }
32593 ]
32594 },
32595 {
32596 "name": "forwarding.drop",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080032597 "handle": 536870934,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032598 "indirect_resources": [],
32599 "allowed_as_default_action": true,
32600 "disallowed_as_default_action_reason": "",
32601 "p4_parameters": [],
32602 "override_meter_addr": false,
32603 "override_meter_addr_pfe": false,
32604 "override_meter_full_addr": 0,
32605 "override_stat_addr": false,
32606 "override_stat_addr_pfe": false,
32607 "override_stat_full_addr": 0,
32608 "override_stateful_addr": false,
32609 "override_stateful_addr_pfe": false,
32610 "override_stateful_full_addr": 0,
32611 "is_action_meter_color_aware": false,
32612 "primitives": [
32613 {
32614 "name": "ModifyFieldPrimitive",
32615 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
32616 "src": [
32617 { "type": "immmediate", "name": "1" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080032618 { "type": "phv", "name": "H2" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080032619 ]
32620 }
32621 ]
32622 }
32623 ],
Carmelo Cascone04c783b2018-02-14 14:09:46 -080032624 "default_action_handle": 536870935,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032625 "action_profile": "",
32626 "default_next_table_mask": 0,
32627 "ap_bind_indirect_res_to_match": [],
32628 "is_resource_controllable": true,
32629 "uses_range": false,
32630 "match_key_fields": [
32631 {
32632 "name": "ig_intr_md.ingress_port",
32633 "position": 0,
32634 "match_type": "ternary",
32635 "start_bit": 0,
32636 "bit_width": 9,
32637 "bit_width_full": 9,
32638 "is_valid": false,
32639 "instance_name": "ig_intr_md",
32640 "field_name": "ingress_port"
32641 },
32642 {
32643 "name": "fabric_metadata.ip_proto",
32644 "position": 1,
32645 "match_type": "ternary",
32646 "start_bit": 0,
32647 "bit_width": 8,
32648 "bit_width_full": 8,
32649 "is_valid": false,
32650 "instance_name": "fabric_metadata",
32651 "field_name": "ip_proto"
32652 },
32653 {
32654 "name": "fabric_metadata.l4_src_port",
32655 "position": 2,
32656 "match_type": "ternary",
32657 "start_bit": 0,
32658 "bit_width": 16,
32659 "bit_width_full": 16,
32660 "is_valid": false,
32661 "instance_name": "fabric_metadata",
32662 "field_name": "l4_src_port"
32663 },
32664 {
32665 "name": "fabric_metadata.l4_dst_port",
32666 "position": 3,
32667 "match_type": "ternary",
32668 "start_bit": 0,
32669 "bit_width": 16,
32670 "bit_width_full": 16,
32671 "is_valid": false,
32672 "instance_name": "fabric_metadata",
32673 "field_name": "l4_dst_port"
32674 },
32675 {
32676 "name": "fabric_metadata.original_ether_type",
32677 "position": 4,
32678 "match_type": "ternary",
32679 "start_bit": 0,
32680 "bit_width": 16,
32681 "bit_width_full": 16,
32682 "is_valid": false,
32683 "instance_name": "fabric_metadata",
32684 "field_name": "original_ether_type"
32685 },
32686 {
32687 "name": "ethernet.dst_addr",
32688 "position": 5,
32689 "match_type": "ternary",
32690 "start_bit": 0,
32691 "bit_width": 48,
32692 "bit_width_full": 48,
32693 "is_valid": false,
32694 "instance_name": "ethernet",
32695 "field_name": "dst_addr"
32696 },
32697 {
32698 "name": "ethernet.src_addr",
32699 "position": 6,
32700 "match_type": "ternary",
32701 "start_bit": 0,
32702 "bit_width": 48,
32703 "bit_width_full": 48,
32704 "is_valid": false,
32705 "instance_name": "ethernet",
32706 "field_name": "src_addr"
32707 },
32708 {
32709 "name": "vlan_tag.vlan_id",
32710 "position": 7,
32711 "match_type": "ternary",
32712 "start_bit": 0,
32713 "bit_width": 12,
32714 "bit_width_full": 12,
32715 "is_valid": false,
32716 "instance_name": "vlan_tag",
32717 "field_name": "vlan_id"
32718 },
32719 {
32720 "name": "ipv4.src_addr",
32721 "position": 8,
32722 "match_type": "ternary",
32723 "start_bit": 0,
32724 "bit_width": 32,
32725 "bit_width_full": 32,
32726 "is_valid": false,
32727 "instance_name": "ipv4",
32728 "field_name": "src_addr"
32729 },
32730 {
32731 "name": "ipv4.dst_addr",
32732 "position": 9,
32733 "match_type": "ternary",
32734 "start_bit": 0,
32735 "bit_width": 32,
32736 "bit_width_full": 32,
32737 "is_valid": false,
32738 "instance_name": "ipv4",
32739 "field_name": "dst_addr"
32740 },
32741 {
32742 "name": "icmp.icmp_type",
32743 "position": 10,
32744 "match_type": "ternary",
32745 "start_bit": 0,
32746 "bit_width": 8,
32747 "bit_width_full": 8,
32748 "is_valid": false,
32749 "instance_name": "icmp",
32750 "field_name": "icmp_type"
32751 },
32752 {
32753 "name": "icmp.icmp_code",
32754 "position": 11,
32755 "match_type": "ternary",
32756 "start_bit": 0,
32757 "bit_width": 8,
32758 "bit_width_full": 8,
32759 "is_valid": false,
32760 "instance_name": "icmp",
32761 "field_name": "icmp_code"
32762 }
32763 ]
32764 },
32765 {
32766 "direction": "ingress",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080032767 "handle": 67108872,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032768 "name": "forwarding.acl_counter",
32769 "table_type": "statistics",
32770 "size": 0,
32771 "stage_tables": [
32772 {
32773 "stage_number": 5,
32774 "size": 2048,
32775 "stage_table_type": "statistics",
32776 "logical_table_id": 0,
32777 "pack_format": [
32778 {
32779 "table_word_width": 128,
32780 "memory_word_width": 128,
32781 "entries_per_table_word": 2,
32782 "number_memory_units_per_table_word": 1
32783 }
32784 ],
32785 "memory_resource_allocation": {
32786 "memory_type": "sram",
32787 "memory_units_and_vpns": [
32788 { "memory_units": [ 78 ], "vpns": [ 0 ] },
32789 { "memory_units": [ 79 ], "vpns": [ 1 ] }
32790 ],
32791 "spare_bank_memory_unit": 79
32792 },
32793 "stats_alu_index": 3
32794 }
32795 ],
32796 "how_referenced": "direct",
32797 "enable_pfe": false,
32798 "pfe_bit_position": 0,
32799 "byte_counter_resolution": 36,
32800 "packet_counter_resolution": 28,
32801 "statistics_type": "packets_and_bytes"
32802 },
32803 {
32804 "direction": "ingress",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080032805 "handle": 16777229,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032806 "name": "next.simple",
32807 "table_type": "match",
32808 "size": 3072,
32809 "action_data_table_refs": [
32810 {
32811 "how_referenced": "direct",
32812 "handle": 33554433,
32813 "name": "next_simple$action"
32814 }
32815 ],
32816 "selection_table_refs": [],
32817 "meter_table_refs": [],
32818 "statistics_table_refs": [
32819 {
32820 "how_referenced": "direct",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080032821 "handle": 67108873,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032822 "name": "next.simple_counter"
32823 }
32824 ],
32825 "stateful_table_refs": [],
Carmelo Cascone04c783b2018-02-14 14:09:46 -080032826 "default_action_handle": 536870940,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032827 "action_profile": "",
32828 "default_next_table_mask": 0,
32829 "ap_bind_indirect_res_to_match": [],
32830 "is_resource_controllable": true,
32831 "uses_range": false,
32832 "match_key_fields": [
32833 {
32834 "name": "fabric_metadata.next_id",
32835 "position": 0,
32836 "match_type": "exact",
32837 "start_bit": 0,
32838 "bit_width": 32,
32839 "bit_width_full": 32,
32840 "is_valid": false,
32841 "instance_name": "fabric_metadata",
32842 "field_name": "next_id"
32843 }
32844 ],
32845 "match_attributes": {
32846 "stage_tables": [
32847 {
32848 "stage_number": 6,
32849 "size": 3072,
32850 "stage_table_type": "hash_match",
32851 "logical_table_id": 0,
32852 "has_attached_gateway": false,
32853 "hash_functions": [
32854 {
32855 "hash_bits": [
32856 {
32857 "hash_bit": 0,
32858 "seed": 0,
32859 "bits_to_xor": [
32860 {
32861 "field_bit": 0,
32862 "field_name": "fabric_metadata.next_id"
32863 },
32864 {
32865 "field_bit": 10,
32866 "field_name": "fabric_metadata.next_id"
32867 },
32868 {
32869 "field_bit": 11,
32870 "field_name": "fabric_metadata.next_id"
32871 },
32872 {
32873 "field_bit": 13,
32874 "field_name": "fabric_metadata.next_id"
32875 },
32876 {
32877 "field_bit": 15,
32878 "field_name": "fabric_metadata.next_id"
32879 },
32880 {
32881 "field_bit": 16,
32882 "field_name": "fabric_metadata.next_id"
32883 },
32884 {
32885 "field_bit": 21,
32886 "field_name": "fabric_metadata.next_id"
32887 },
32888 {
32889 "field_bit": 22,
32890 "field_name": "fabric_metadata.next_id"
32891 },
32892 {
32893 "field_bit": 25,
32894 "field_name": "fabric_metadata.next_id"
32895 },
32896 {
32897 "field_bit": 26,
32898 "field_name": "fabric_metadata.next_id"
32899 },
32900 {
32901 "field_bit": 27,
32902 "field_name": "fabric_metadata.next_id"
32903 },
32904 {
32905 "field_bit": 31,
32906 "field_name": "fabric_metadata.next_id"
32907 }
32908 ]
32909 },
32910 {
32911 "hash_bit": 1,
32912 "seed": 0,
32913 "bits_to_xor": [
32914 {
32915 "field_bit": 1,
32916 "field_name": "fabric_metadata.next_id"
32917 },
32918 {
32919 "field_bit": 11,
32920 "field_name": "fabric_metadata.next_id"
32921 },
32922 {
32923 "field_bit": 12,
32924 "field_name": "fabric_metadata.next_id"
32925 },
32926 {
32927 "field_bit": 15,
32928 "field_name": "fabric_metadata.next_id"
32929 },
32930 {
32931 "field_bit": 19,
32932 "field_name": "fabric_metadata.next_id"
32933 },
32934 {
32935 "field_bit": 20,
32936 "field_name": "fabric_metadata.next_id"
32937 },
32938 {
32939 "field_bit": 22,
32940 "field_name": "fabric_metadata.next_id"
32941 },
32942 {
32943 "field_bit": 24,
32944 "field_name": "fabric_metadata.next_id"
32945 },
32946 {
32947 "field_bit": 27,
32948 "field_name": "fabric_metadata.next_id"
32949 },
32950 {
32951 "field_bit": 28,
32952 "field_name": "fabric_metadata.next_id"
32953 }
32954 ]
32955 },
32956 {
32957 "hash_bit": 2,
32958 "seed": 0,
32959 "bits_to_xor": [
32960 {
32961 "field_bit": 2,
32962 "field_name": "fabric_metadata.next_id"
32963 },
32964 {
32965 "field_bit": 12,
32966 "field_name": "fabric_metadata.next_id"
32967 },
32968 {
32969 "field_bit": 13,
32970 "field_name": "fabric_metadata.next_id"
32971 },
32972 {
32973 "field_bit": 14,
32974 "field_name": "fabric_metadata.next_id"
32975 },
32976 {
32977 "field_bit": 15,
32978 "field_name": "fabric_metadata.next_id"
32979 },
32980 {
32981 "field_bit": 16,
32982 "field_name": "fabric_metadata.next_id"
32983 },
32984 {
32985 "field_bit": 17,
32986 "field_name": "fabric_metadata.next_id"
32987 },
32988 {
32989 "field_bit": 20,
32990 "field_name": "fabric_metadata.next_id"
32991 },
32992 {
32993 "field_bit": 21,
32994 "field_name": "fabric_metadata.next_id"
32995 },
32996 {
32997 "field_bit": 23,
32998 "field_name": "fabric_metadata.next_id"
32999 },
33000 {
33001 "field_bit": 24,
33002 "field_name": "fabric_metadata.next_id"
33003 },
33004 {
33005 "field_bit": 26,
33006 "field_name": "fabric_metadata.next_id"
33007 },
33008 {
33009 "field_bit": 27,
33010 "field_name": "fabric_metadata.next_id"
33011 },
33012 {
33013 "field_bit": 30,
33014 "field_name": "fabric_metadata.next_id"
33015 },
33016 {
33017 "field_bit": 31,
33018 "field_name": "fabric_metadata.next_id"
33019 }
33020 ]
33021 },
33022 {
33023 "hash_bit": 3,
33024 "seed": 0,
33025 "bits_to_xor": [
33026 {
33027 "field_bit": 3,
33028 "field_name": "fabric_metadata.next_id"
33029 },
33030 {
33031 "field_bit": 12,
33032 "field_name": "fabric_metadata.next_id"
33033 },
33034 {
33035 "field_bit": 14,
33036 "field_name": "fabric_metadata.next_id"
33037 },
33038 {
33039 "field_bit": 17,
33040 "field_name": "fabric_metadata.next_id"
33041 },
33042 {
33043 "field_bit": 19,
33044 "field_name": "fabric_metadata.next_id"
33045 },
33046 {
33047 "field_bit": 20,
33048 "field_name": "fabric_metadata.next_id"
33049 },
33050 {
33051 "field_bit": 21,
33052 "field_name": "fabric_metadata.next_id"
33053 },
33054 {
33055 "field_bit": 26,
33056 "field_name": "fabric_metadata.next_id"
33057 }
33058 ]
33059 },
33060 {
33061 "hash_bit": 4,
33062 "seed": 0,
33063 "bits_to_xor": [
33064 {
33065 "field_bit": 4,
33066 "field_name": "fabric_metadata.next_id"
33067 },
33068 {
33069 "field_bit": 10,
33070 "field_name": "fabric_metadata.next_id"
33071 },
33072 {
33073 "field_bit": 11,
33074 "field_name": "fabric_metadata.next_id"
33075 },
33076 {
33077 "field_bit": 16,
33078 "field_name": "fabric_metadata.next_id"
33079 },
33080 {
33081 "field_bit": 17,
33082 "field_name": "fabric_metadata.next_id"
33083 },
33084 {
33085 "field_bit": 18,
33086 "field_name": "fabric_metadata.next_id"
33087 },
33088 {
33089 "field_bit": 19,
33090 "field_name": "fabric_metadata.next_id"
33091 },
33092 {
33093 "field_bit": 20,
33094 "field_name": "fabric_metadata.next_id"
33095 },
33096 {
33097 "field_bit": 21,
33098 "field_name": "fabric_metadata.next_id"
33099 },
33100 {
33101 "field_bit": 24,
33102 "field_name": "fabric_metadata.next_id"
33103 },
33104 {
33105 "field_bit": 26,
33106 "field_name": "fabric_metadata.next_id"
33107 },
33108 {
33109 "field_bit": 28,
33110 "field_name": "fabric_metadata.next_id"
33111 },
33112 {
33113 "field_bit": 30,
33114 "field_name": "fabric_metadata.next_id"
33115 }
33116 ]
33117 },
33118 {
33119 "hash_bit": 5,
33120 "seed": 0,
33121 "bits_to_xor": [
33122 {
33123 "field_bit": 5,
33124 "field_name": "fabric_metadata.next_id"
33125 },
33126 {
33127 "field_bit": 13,
33128 "field_name": "fabric_metadata.next_id"
33129 },
33130 {
33131 "field_bit": 19,
33132 "field_name": "fabric_metadata.next_id"
33133 },
33134 {
33135 "field_bit": 20,
33136 "field_name": "fabric_metadata.next_id"
33137 },
33138 {
33139 "field_bit": 23,
33140 "field_name": "fabric_metadata.next_id"
33141 },
33142 {
33143 "field_bit": 24,
33144 "field_name": "fabric_metadata.next_id"
33145 },
33146 {
33147 "field_bit": 25,
33148 "field_name": "fabric_metadata.next_id"
33149 },
33150 {
33151 "field_bit": 29,
33152 "field_name": "fabric_metadata.next_id"
33153 },
33154 {
33155 "field_bit": 30,
33156 "field_name": "fabric_metadata.next_id"
33157 }
33158 ]
33159 },
33160 {
33161 "hash_bit": 6,
33162 "seed": 0,
33163 "bits_to_xor": [
33164 {
33165 "field_bit": 6,
33166 "field_name": "fabric_metadata.next_id"
33167 },
33168 {
33169 "field_bit": 10,
33170 "field_name": "fabric_metadata.next_id"
33171 },
33172 {
33173 "field_bit": 11,
33174 "field_name": "fabric_metadata.next_id"
33175 },
33176 {
33177 "field_bit": 12,
33178 "field_name": "fabric_metadata.next_id"
33179 },
33180 {
33181 "field_bit": 14,
33182 "field_name": "fabric_metadata.next_id"
33183 },
33184 {
33185 "field_bit": 23,
33186 "field_name": "fabric_metadata.next_id"
33187 },
33188 {
33189 "field_bit": 26,
33190 "field_name": "fabric_metadata.next_id"
33191 },
33192 {
33193 "field_bit": 28,
33194 "field_name": "fabric_metadata.next_id"
33195 },
33196 {
33197 "field_bit": 29,
33198 "field_name": "fabric_metadata.next_id"
33199 },
33200 {
33201 "field_bit": 30,
33202 "field_name": "fabric_metadata.next_id"
33203 },
33204 {
33205 "field_bit": 31,
33206 "field_name": "fabric_metadata.next_id"
33207 }
33208 ]
33209 },
33210 {
33211 "hash_bit": 7,
33212 "seed": 0,
33213 "bits_to_xor": [
33214 {
33215 "field_bit": 7,
33216 "field_name": "fabric_metadata.next_id"
33217 },
33218 {
33219 "field_bit": 13,
33220 "field_name": "fabric_metadata.next_id"
33221 },
33222 {
33223 "field_bit": 15,
33224 "field_name": "fabric_metadata.next_id"
33225 },
33226 {
33227 "field_bit": 18,
33228 "field_name": "fabric_metadata.next_id"
33229 },
33230 {
33231 "field_bit": 20,
33232 "field_name": "fabric_metadata.next_id"
33233 },
33234 {
33235 "field_bit": 24,
33236 "field_name": "fabric_metadata.next_id"
33237 },
33238 {
33239 "field_bit": 25,
33240 "field_name": "fabric_metadata.next_id"
33241 },
33242 {
33243 "field_bit": 27,
33244 "field_name": "fabric_metadata.next_id"
33245 },
33246 {
33247 "field_bit": 28,
33248 "field_name": "fabric_metadata.next_id"
33249 },
33250 {
33251 "field_bit": 29,
33252 "field_name": "fabric_metadata.next_id"
33253 },
33254 {
33255 "field_bit": 31,
33256 "field_name": "fabric_metadata.next_id"
33257 }
33258 ]
33259 },
33260 {
33261 "hash_bit": 8,
33262 "seed": 0,
33263 "bits_to_xor": [
33264 {
33265 "field_bit": 8,
33266 "field_name": "fabric_metadata.next_id"
33267 },
33268 {
33269 "field_bit": 12,
33270 "field_name": "fabric_metadata.next_id"
33271 },
33272 {
33273 "field_bit": 13,
33274 "field_name": "fabric_metadata.next_id"
33275 },
33276 {
33277 "field_bit": 14,
33278 "field_name": "fabric_metadata.next_id"
33279 },
33280 {
33281 "field_bit": 15,
33282 "field_name": "fabric_metadata.next_id"
33283 },
33284 {
33285 "field_bit": 19,
33286 "field_name": "fabric_metadata.next_id"
33287 },
33288 {
33289 "field_bit": 21,
33290 "field_name": "fabric_metadata.next_id"
33291 },
33292 {
33293 "field_bit": 27,
33294 "field_name": "fabric_metadata.next_id"
33295 },
33296 {
33297 "field_bit": 29,
33298 "field_name": "fabric_metadata.next_id"
33299 },
33300 {
33301 "field_bit": 31,
33302 "field_name": "fabric_metadata.next_id"
33303 }
33304 ]
33305 },
33306 {
33307 "hash_bit": 9,
33308 "seed": 0,
33309 "bits_to_xor": [
33310 {
33311 "field_bit": 9,
33312 "field_name": "fabric_metadata.next_id"
33313 },
33314 {
33315 "field_bit": 10,
33316 "field_name": "fabric_metadata.next_id"
33317 },
33318 {
33319 "field_bit": 11,
33320 "field_name": "fabric_metadata.next_id"
33321 },
33322 {
33323 "field_bit": 15,
33324 "field_name": "fabric_metadata.next_id"
33325 },
33326 {
33327 "field_bit": 16,
33328 "field_name": "fabric_metadata.next_id"
33329 },
33330 {
33331 "field_bit": 18,
33332 "field_name": "fabric_metadata.next_id"
33333 },
33334 {
33335 "field_bit": 19,
33336 "field_name": "fabric_metadata.next_id"
33337 },
33338 {
33339 "field_bit": 20,
33340 "field_name": "fabric_metadata.next_id"
33341 },
33342 {
33343 "field_bit": 24,
33344 "field_name": "fabric_metadata.next_id"
33345 },
33346 {
33347 "field_bit": 25,
33348 "field_name": "fabric_metadata.next_id"
33349 },
33350 {
33351 "field_bit": 30,
33352 "field_name": "fabric_metadata.next_id"
33353 }
33354 ]
33355 },
33356 {
33357 "hash_bit": 10,
33358 "seed": 0,
33359 "bits_to_xor": [
33360 {
33361 "field_bit": 0,
33362 "field_name": "fabric_metadata.next_id"
33363 },
33364 {
33365 "field_bit": 11,
33366 "field_name": "fabric_metadata.next_id"
33367 },
33368 {
33369 "field_bit": 13,
33370 "field_name": "fabric_metadata.next_id"
33371 },
33372 {
33373 "field_bit": 15,
33374 "field_name": "fabric_metadata.next_id"
33375 },
33376 {
33377 "field_bit": 20,
33378 "field_name": "fabric_metadata.next_id"
33379 },
33380 {
33381 "field_bit": 24,
33382 "field_name": "fabric_metadata.next_id"
33383 },
33384 {
33385 "field_bit": 25,
33386 "field_name": "fabric_metadata.next_id"
33387 },
33388 {
33389 "field_bit": 29,
33390 "field_name": "fabric_metadata.next_id"
33391 },
33392 {
33393 "field_bit": 30,
33394 "field_name": "fabric_metadata.next_id"
33395 }
33396 ]
33397 },
33398 {
33399 "hash_bit": 11,
33400 "seed": 0,
33401 "bits_to_xor": [
33402 {
33403 "field_bit": 1,
33404 "field_name": "fabric_metadata.next_id"
33405 },
33406 {
33407 "field_bit": 10,
33408 "field_name": "fabric_metadata.next_id"
33409 },
33410 {
33411 "field_bit": 12,
33412 "field_name": "fabric_metadata.next_id"
33413 },
33414 {
33415 "field_bit": 13,
33416 "field_name": "fabric_metadata.next_id"
33417 },
33418 {
33419 "field_bit": 15,
33420 "field_name": "fabric_metadata.next_id"
33421 },
33422 {
33423 "field_bit": 16,
33424 "field_name": "fabric_metadata.next_id"
33425 },
33426 {
33427 "field_bit": 17,
33428 "field_name": "fabric_metadata.next_id"
33429 },
33430 {
33431 "field_bit": 18,
33432 "field_name": "fabric_metadata.next_id"
33433 },
33434 {
33435 "field_bit": 22,
33436 "field_name": "fabric_metadata.next_id"
33437 },
33438 {
33439 "field_bit": 23,
33440 "field_name": "fabric_metadata.next_id"
33441 },
33442 {
33443 "field_bit": 24,
33444 "field_name": "fabric_metadata.next_id"
33445 },
33446 {
33447 "field_bit": 25,
33448 "field_name": "fabric_metadata.next_id"
33449 },
33450 {
33451 "field_bit": 26,
33452 "field_name": "fabric_metadata.next_id"
33453 },
33454 {
33455 "field_bit": 27,
33456 "field_name": "fabric_metadata.next_id"
33457 },
33458 {
33459 "field_bit": 28,
33460 "field_name": "fabric_metadata.next_id"
33461 },
33462 {
33463 "field_bit": 29,
33464 "field_name": "fabric_metadata.next_id"
33465 },
33466 {
33467 "field_bit": 30,
33468 "field_name": "fabric_metadata.next_id"
33469 },
33470 {
33471 "field_bit": 31,
33472 "field_name": "fabric_metadata.next_id"
33473 }
33474 ]
33475 },
33476 {
33477 "hash_bit": 12,
33478 "seed": 0,
33479 "bits_to_xor": [
33480 {
33481 "field_bit": 2,
33482 "field_name": "fabric_metadata.next_id"
33483 },
33484 {
33485 "field_bit": 10,
33486 "field_name": "fabric_metadata.next_id"
33487 },
33488 {
33489 "field_bit": 13,
33490 "field_name": "fabric_metadata.next_id"
33491 },
33492 {
33493 "field_bit": 14,
33494 "field_name": "fabric_metadata.next_id"
33495 },
33496 {
33497 "field_bit": 16,
33498 "field_name": "fabric_metadata.next_id"
33499 },
33500 {
33501 "field_bit": 18,
33502 "field_name": "fabric_metadata.next_id"
33503 },
33504 {
33505 "field_bit": 23,
33506 "field_name": "fabric_metadata.next_id"
33507 },
33508 {
33509 "field_bit": 25,
33510 "field_name": "fabric_metadata.next_id"
33511 },
33512 {
33513 "field_bit": 27,
33514 "field_name": "fabric_metadata.next_id"
33515 },
33516 {
33517 "field_bit": 28,
33518 "field_name": "fabric_metadata.next_id"
33519 },
33520 {
33521 "field_bit": 29,
33522 "field_name": "fabric_metadata.next_id"
33523 },
33524 {
33525 "field_bit": 30,
33526 "field_name": "fabric_metadata.next_id"
33527 }
33528 ]
33529 },
33530 {
33531 "hash_bit": 13,
33532 "seed": 0,
33533 "bits_to_xor": [
33534 {
33535 "field_bit": 3,
33536 "field_name": "fabric_metadata.next_id"
33537 },
33538 {
33539 "field_bit": 13,
33540 "field_name": "fabric_metadata.next_id"
33541 },
33542 {
33543 "field_bit": 14,
33544 "field_name": "fabric_metadata.next_id"
33545 },
33546 {
33547 "field_bit": 15,
33548 "field_name": "fabric_metadata.next_id"
33549 },
33550 {
33551 "field_bit": 18,
33552 "field_name": "fabric_metadata.next_id"
33553 },
33554 {
33555 "field_bit": 19,
33556 "field_name": "fabric_metadata.next_id"
33557 },
33558 {
33559 "field_bit": 20,
33560 "field_name": "fabric_metadata.next_id"
33561 },
33562 {
33563 "field_bit": 21,
33564 "field_name": "fabric_metadata.next_id"
33565 },
33566 {
33567 "field_bit": 22,
33568 "field_name": "fabric_metadata.next_id"
33569 },
33570 {
33571 "field_bit": 27,
33572 "field_name": "fabric_metadata.next_id"
33573 },
33574 {
33575 "field_bit": 30,
33576 "field_name": "fabric_metadata.next_id"
33577 }
33578 ]
33579 },
33580 {
33581 "hash_bit": 14,
33582 "seed": 0,
33583 "bits_to_xor": [
33584 {
33585 "field_bit": 4,
33586 "field_name": "fabric_metadata.next_id"
33587 },
33588 {
33589 "field_bit": 10,
33590 "field_name": "fabric_metadata.next_id"
33591 },
33592 {
33593 "field_bit": 11,
33594 "field_name": "fabric_metadata.next_id"
33595 },
33596 {
33597 "field_bit": 14,
33598 "field_name": "fabric_metadata.next_id"
33599 },
33600 {
33601 "field_bit": 15,
33602 "field_name": "fabric_metadata.next_id"
33603 },
33604 {
33605 "field_bit": 16,
33606 "field_name": "fabric_metadata.next_id"
33607 },
33608 {
33609 "field_bit": 19,
33610 "field_name": "fabric_metadata.next_id"
33611 },
33612 {
33613 "field_bit": 20,
33614 "field_name": "fabric_metadata.next_id"
33615 },
33616 {
33617 "field_bit": 24,
33618 "field_name": "fabric_metadata.next_id"
33619 },
33620 {
33621 "field_bit": 25,
33622 "field_name": "fabric_metadata.next_id"
33623 },
33624 {
33625 "field_bit": 26,
33626 "field_name": "fabric_metadata.next_id"
33627 },
33628 {
33629 "field_bit": 31,
33630 "field_name": "fabric_metadata.next_id"
33631 }
33632 ]
33633 },
33634 {
33635 "hash_bit": 15,
33636 "seed": 0,
33637 "bits_to_xor": [
33638 {
33639 "field_bit": 5,
33640 "field_name": "fabric_metadata.next_id"
33641 },
33642 {
33643 "field_bit": 12,
33644 "field_name": "fabric_metadata.next_id"
33645 },
33646 {
33647 "field_bit": 14,
33648 "field_name": "fabric_metadata.next_id"
33649 },
33650 {
33651 "field_bit": 23,
33652 "field_name": "fabric_metadata.next_id"
33653 },
33654 {
33655 "field_bit": 25,
33656 "field_name": "fabric_metadata.next_id"
33657 },
33658 {
33659 "field_bit": 26,
33660 "field_name": "fabric_metadata.next_id"
33661 }
33662 ]
33663 },
33664 {
33665 "hash_bit": 16,
33666 "seed": 0,
33667 "bits_to_xor": [
33668 {
33669 "field_bit": 6,
33670 "field_name": "fabric_metadata.next_id"
33671 },
33672 {
33673 "field_bit": 10,
33674 "field_name": "fabric_metadata.next_id"
33675 },
33676 {
33677 "field_bit": 11,
33678 "field_name": "fabric_metadata.next_id"
33679 },
33680 {
33681 "field_bit": 12,
33682 "field_name": "fabric_metadata.next_id"
33683 },
33684 {
33685 "field_bit": 18,
33686 "field_name": "fabric_metadata.next_id"
33687 },
33688 {
33689 "field_bit": 21,
33690 "field_name": "fabric_metadata.next_id"
33691 },
33692 {
33693 "field_bit": 23,
33694 "field_name": "fabric_metadata.next_id"
33695 },
33696 {
33697 "field_bit": 24,
33698 "field_name": "fabric_metadata.next_id"
33699 },
33700 {
33701 "field_bit": 26,
33702 "field_name": "fabric_metadata.next_id"
33703 },
33704 {
33705 "field_bit": 27,
33706 "field_name": "fabric_metadata.next_id"
33707 },
33708 {
33709 "field_bit": 29,
33710 "field_name": "fabric_metadata.next_id"
33711 }
33712 ]
33713 },
33714 {
33715 "hash_bit": 17,
33716 "seed": 0,
33717 "bits_to_xor": [
33718 {
33719 "field_bit": 7,
33720 "field_name": "fabric_metadata.next_id"
33721 },
33722 {
33723 "field_bit": 12,
33724 "field_name": "fabric_metadata.next_id"
33725 },
33726 {
33727 "field_bit": 15,
33728 "field_name": "fabric_metadata.next_id"
33729 },
33730 {
33731 "field_bit": 19,
33732 "field_name": "fabric_metadata.next_id"
33733 },
33734 {
33735 "field_bit": 20,
33736 "field_name": "fabric_metadata.next_id"
33737 },
33738 {
33739 "field_bit": 21,
33740 "field_name": "fabric_metadata.next_id"
33741 },
33742 {
33743 "field_bit": 22,
33744 "field_name": "fabric_metadata.next_id"
33745 },
33746 {
33747 "field_bit": 23,
33748 "field_name": "fabric_metadata.next_id"
33749 },
33750 {
33751 "field_bit": 24,
33752 "field_name": "fabric_metadata.next_id"
33753 },
33754 {
33755 "field_bit": 25,
33756 "field_name": "fabric_metadata.next_id"
33757 },
33758 {
33759 "field_bit": 26,
33760 "field_name": "fabric_metadata.next_id"
33761 },
33762 {
33763 "field_bit": 27,
33764 "field_name": "fabric_metadata.next_id"
33765 },
33766 {
33767 "field_bit": 28,
33768 "field_name": "fabric_metadata.next_id"
33769 },
33770 {
33771 "field_bit": 29,
33772 "field_name": "fabric_metadata.next_id"
33773 },
33774 {
33775 "field_bit": 31,
33776 "field_name": "fabric_metadata.next_id"
33777 }
33778 ]
33779 },
33780 {
33781 "hash_bit": 18,
33782 "seed": 0,
33783 "bits_to_xor": [
33784 {
33785 "field_bit": 8,
33786 "field_name": "fabric_metadata.next_id"
33787 },
33788 {
33789 "field_bit": 11,
33790 "field_name": "fabric_metadata.next_id"
33791 },
33792 {
33793 "field_bit": 16,
33794 "field_name": "fabric_metadata.next_id"
33795 },
33796 {
33797 "field_bit": 18,
33798 "field_name": "fabric_metadata.next_id"
33799 },
33800 {
33801 "field_bit": 30,
33802 "field_name": "fabric_metadata.next_id"
33803 },
33804 {
33805 "field_bit": 31,
33806 "field_name": "fabric_metadata.next_id"
33807 }
33808 ]
33809 },
33810 {
33811 "hash_bit": 19,
33812 "seed": 0,
33813 "bits_to_xor": [
33814 {
33815 "field_bit": 9,
33816 "field_name": "fabric_metadata.next_id"
33817 },
33818 {
33819 "field_bit": 10,
33820 "field_name": "fabric_metadata.next_id"
33821 },
33822 {
33823 "field_bit": 11,
33824 "field_name": "fabric_metadata.next_id"
33825 },
33826 {
33827 "field_bit": 12,
33828 "field_name": "fabric_metadata.next_id"
33829 },
33830 {
33831 "field_bit": 13,
33832 "field_name": "fabric_metadata.next_id"
33833 },
33834 {
33835 "field_bit": 19,
33836 "field_name": "fabric_metadata.next_id"
33837 },
33838 {
33839 "field_bit": 20,
33840 "field_name": "fabric_metadata.next_id"
33841 },
33842 {
33843 "field_bit": 22,
33844 "field_name": "fabric_metadata.next_id"
33845 },
33846 {
33847 "field_bit": 23,
33848 "field_name": "fabric_metadata.next_id"
33849 },
33850 {
33851 "field_bit": 27,
33852 "field_name": "fabric_metadata.next_id"
33853 }
33854 ]
33855 },
33856 {
33857 "hash_bit": 20,
33858 "seed": 0,
33859 "bits_to_xor": [
33860 {
33861 "field_bit": 0,
33862 "field_name": "fabric_metadata.next_id"
33863 },
33864 {
33865 "field_bit": 10,
33866 "field_name": "fabric_metadata.next_id"
33867 },
33868 {
33869 "field_bit": 12,
33870 "field_name": "fabric_metadata.next_id"
33871 },
33872 {
33873 "field_bit": 13,
33874 "field_name": "fabric_metadata.next_id"
33875 },
33876 {
33877 "field_bit": 15,
33878 "field_name": "fabric_metadata.next_id"
33879 },
33880 {
33881 "field_bit": 16,
33882 "field_name": "fabric_metadata.next_id"
33883 },
33884 {
33885 "field_bit": 17,
33886 "field_name": "fabric_metadata.next_id"
33887 },
33888 {
33889 "field_bit": 19,
33890 "field_name": "fabric_metadata.next_id"
33891 },
33892 {
33893 "field_bit": 21,
33894 "field_name": "fabric_metadata.next_id"
33895 },
33896 {
33897 "field_bit": 28,
33898 "field_name": "fabric_metadata.next_id"
33899 },
33900 {
33901 "field_bit": 29,
33902 "field_name": "fabric_metadata.next_id"
33903 }
33904 ]
33905 },
33906 {
33907 "hash_bit": 21,
33908 "seed": 0,
33909 "bits_to_xor": [
33910 {
33911 "field_bit": 1,
33912 "field_name": "fabric_metadata.next_id"
33913 },
33914 {
33915 "field_bit": 10,
33916 "field_name": "fabric_metadata.next_id"
33917 },
33918 {
33919 "field_bit": 12,
33920 "field_name": "fabric_metadata.next_id"
33921 },
33922 {
33923 "field_bit": 13,
33924 "field_name": "fabric_metadata.next_id"
33925 },
33926 {
33927 "field_bit": 15,
33928 "field_name": "fabric_metadata.next_id"
33929 },
33930 {
33931 "field_bit": 16,
33932 "field_name": "fabric_metadata.next_id"
33933 },
33934 {
33935 "field_bit": 21,
33936 "field_name": "fabric_metadata.next_id"
33937 },
33938 {
33939 "field_bit": 25,
33940 "field_name": "fabric_metadata.next_id"
33941 },
33942 {
33943 "field_bit": 26,
33944 "field_name": "fabric_metadata.next_id"
33945 }
33946 ]
33947 },
33948 {
33949 "hash_bit": 22,
33950 "seed": 0,
33951 "bits_to_xor": [
33952 {
33953 "field_bit": 2,
33954 "field_name": "fabric_metadata.next_id"
33955 },
33956 {
33957 "field_bit": 12,
33958 "field_name": "fabric_metadata.next_id"
33959 },
33960 {
33961 "field_bit": 13,
33962 "field_name": "fabric_metadata.next_id"
33963 },
33964 {
33965 "field_bit": 18,
33966 "field_name": "fabric_metadata.next_id"
33967 },
33968 {
33969 "field_bit": 19,
33970 "field_name": "fabric_metadata.next_id"
33971 },
33972 {
33973 "field_bit": 24,
33974 "field_name": "fabric_metadata.next_id"
33975 },
33976 {
33977 "field_bit": 27,
33978 "field_name": "fabric_metadata.next_id"
33979 }
33980 ]
33981 },
33982 {
33983 "hash_bit": 23,
33984 "seed": 0,
33985 "bits_to_xor": [
33986 {
33987 "field_bit": 3,
33988 "field_name": "fabric_metadata.next_id"
33989 },
33990 {
33991 "field_bit": 14,
33992 "field_name": "fabric_metadata.next_id"
33993 },
33994 {
33995 "field_bit": 17,
33996 "field_name": "fabric_metadata.next_id"
33997 },
33998 {
33999 "field_bit": 18,
34000 "field_name": "fabric_metadata.next_id"
34001 },
34002 {
34003 "field_bit": 20,
34004 "field_name": "fabric_metadata.next_id"
34005 },
34006 {
34007 "field_bit": 22,
34008 "field_name": "fabric_metadata.next_id"
34009 },
34010 {
34011 "field_bit": 23,
34012 "field_name": "fabric_metadata.next_id"
34013 },
34014 {
34015 "field_bit": 26,
34016 "field_name": "fabric_metadata.next_id"
34017 },
34018 {
34019 "field_bit": 27,
34020 "field_name": "fabric_metadata.next_id"
34021 },
34022 {
34023 "field_bit": 28,
34024 "field_name": "fabric_metadata.next_id"
34025 },
34026 {
34027 "field_bit": 29,
34028 "field_name": "fabric_metadata.next_id"
34029 },
34030 {
34031 "field_bit": 30,
34032 "field_name": "fabric_metadata.next_id"
34033 }
34034 ]
34035 },
34036 {
34037 "hash_bit": 24,
34038 "seed": 0,
34039 "bits_to_xor": [
34040 {
34041 "field_bit": 4,
34042 "field_name": "fabric_metadata.next_id"
34043 },
34044 {
34045 "field_bit": 11,
34046 "field_name": "fabric_metadata.next_id"
34047 },
34048 {
34049 "field_bit": 16,
34050 "field_name": "fabric_metadata.next_id"
34051 },
34052 {
34053 "field_bit": 17,
34054 "field_name": "fabric_metadata.next_id"
34055 },
34056 {
34057 "field_bit": 18,
34058 "field_name": "fabric_metadata.next_id"
34059 },
34060 {
34061 "field_bit": 19,
34062 "field_name": "fabric_metadata.next_id"
34063 },
34064 {
34065 "field_bit": 20,
34066 "field_name": "fabric_metadata.next_id"
34067 },
34068 {
34069 "field_bit": 21,
34070 "field_name": "fabric_metadata.next_id"
34071 },
34072 {
34073 "field_bit": 22,
34074 "field_name": "fabric_metadata.next_id"
34075 },
34076 {
34077 "field_bit": 24,
34078 "field_name": "fabric_metadata.next_id"
34079 },
34080 {
34081 "field_bit": 25,
34082 "field_name": "fabric_metadata.next_id"
34083 },
34084 {
34085 "field_bit": 26,
34086 "field_name": "fabric_metadata.next_id"
34087 },
34088 {
34089 "field_bit": 31,
34090 "field_name": "fabric_metadata.next_id"
34091 }
34092 ]
34093 },
34094 {
34095 "hash_bit": 25,
34096 "seed": 0,
34097 "bits_to_xor": [
34098 {
34099 "field_bit": 5,
34100 "field_name": "fabric_metadata.next_id"
34101 },
34102 {
34103 "field_bit": 10,
34104 "field_name": "fabric_metadata.next_id"
34105 },
34106 {
34107 "field_bit": 11,
34108 "field_name": "fabric_metadata.next_id"
34109 },
34110 {
34111 "field_bit": 12,
34112 "field_name": "fabric_metadata.next_id"
34113 },
34114 {
34115 "field_bit": 15,
34116 "field_name": "fabric_metadata.next_id"
34117 },
34118 {
34119 "field_bit": 18,
34120 "field_name": "fabric_metadata.next_id"
34121 },
34122 {
34123 "field_bit": 20,
34124 "field_name": "fabric_metadata.next_id"
34125 },
34126 {
34127 "field_bit": 21,
34128 "field_name": "fabric_metadata.next_id"
34129 },
34130 {
34131 "field_bit": 23,
34132 "field_name": "fabric_metadata.next_id"
34133 },
34134 {
34135 "field_bit": 24,
34136 "field_name": "fabric_metadata.next_id"
34137 },
34138 {
34139 "field_bit": 25,
34140 "field_name": "fabric_metadata.next_id"
34141 },
34142 {
34143 "field_bit": 28,
34144 "field_name": "fabric_metadata.next_id"
34145 },
34146 {
34147 "field_bit": 30,
34148 "field_name": "fabric_metadata.next_id"
34149 }
34150 ]
34151 },
34152 {
34153 "hash_bit": 26,
34154 "seed": 0,
34155 "bits_to_xor": [
34156 {
34157 "field_bit": 6,
34158 "field_name": "fabric_metadata.next_id"
34159 },
34160 {
34161 "field_bit": 11,
34162 "field_name": "fabric_metadata.next_id"
34163 },
34164 {
34165 "field_bit": 14,
34166 "field_name": "fabric_metadata.next_id"
34167 },
34168 {
34169 "field_bit": 18,
34170 "field_name": "fabric_metadata.next_id"
34171 },
34172 {
34173 "field_bit": 20,
34174 "field_name": "fabric_metadata.next_id"
34175 },
34176 {
34177 "field_bit": 21,
34178 "field_name": "fabric_metadata.next_id"
34179 },
34180 {
34181 "field_bit": 23,
34182 "field_name": "fabric_metadata.next_id"
34183 },
34184 {
34185 "field_bit": 26,
34186 "field_name": "fabric_metadata.next_id"
34187 },
34188 {
34189 "field_bit": 27,
34190 "field_name": "fabric_metadata.next_id"
34191 },
34192 {
34193 "field_bit": 31,
34194 "field_name": "fabric_metadata.next_id"
34195 }
34196 ]
34197 },
34198 {
34199 "hash_bit": 27,
34200 "seed": 0,
34201 "bits_to_xor": [
34202 {
34203 "field_bit": 7,
34204 "field_name": "fabric_metadata.next_id"
34205 },
34206 {
34207 "field_bit": 11,
34208 "field_name": "fabric_metadata.next_id"
34209 },
34210 {
34211 "field_bit": 15,
34212 "field_name": "fabric_metadata.next_id"
34213 },
34214 {
34215 "field_bit": 17,
34216 "field_name": "fabric_metadata.next_id"
34217 },
34218 {
34219 "field_bit": 19,
34220 "field_name": "fabric_metadata.next_id"
34221 },
34222 {
34223 "field_bit": 22,
34224 "field_name": "fabric_metadata.next_id"
34225 },
34226 {
34227 "field_bit": 25,
34228 "field_name": "fabric_metadata.next_id"
34229 },
34230 {
34231 "field_bit": 27,
34232 "field_name": "fabric_metadata.next_id"
34233 },
34234 {
34235 "field_bit": 28,
34236 "field_name": "fabric_metadata.next_id"
34237 },
34238 {
34239 "field_bit": 29,
34240 "field_name": "fabric_metadata.next_id"
34241 }
34242 ]
34243 },
34244 {
34245 "hash_bit": 28,
34246 "seed": 0,
34247 "bits_to_xor": [
34248 {
34249 "field_bit": 8,
34250 "field_name": "fabric_metadata.next_id"
34251 },
34252 {
34253 "field_bit": 14,
34254 "field_name": "fabric_metadata.next_id"
34255 },
34256 {
34257 "field_bit": 15,
34258 "field_name": "fabric_metadata.next_id"
34259 },
34260 {
34261 "field_bit": 17,
34262 "field_name": "fabric_metadata.next_id"
34263 },
34264 {
34265 "field_bit": 20,
34266 "field_name": "fabric_metadata.next_id"
34267 },
34268 {
34269 "field_bit": 22,
34270 "field_name": "fabric_metadata.next_id"
34271 },
34272 {
34273 "field_bit": 23,
34274 "field_name": "fabric_metadata.next_id"
34275 },
34276 {
34277 "field_bit": 25,
34278 "field_name": "fabric_metadata.next_id"
34279 },
34280 {
34281 "field_bit": 29,
34282 "field_name": "fabric_metadata.next_id"
34283 },
34284 {
34285 "field_bit": 31,
34286 "field_name": "fabric_metadata.next_id"
34287 }
34288 ]
34289 },
34290 {
34291 "hash_bit": 29,
34292 "seed": 0,
34293 "bits_to_xor": [
34294 {
34295 "field_bit": 9,
34296 "field_name": "fabric_metadata.next_id"
34297 },
34298 {
34299 "field_bit": 10,
34300 "field_name": "fabric_metadata.next_id"
34301 },
34302 {
34303 "field_bit": 12,
34304 "field_name": "fabric_metadata.next_id"
34305 },
34306 {
34307 "field_bit": 13,
34308 "field_name": "fabric_metadata.next_id"
34309 },
34310 {
34311 "field_bit": 14,
34312 "field_name": "fabric_metadata.next_id"
34313 },
34314 {
34315 "field_bit": 21,
34316 "field_name": "fabric_metadata.next_id"
34317 },
34318 {
34319 "field_bit": 25,
34320 "field_name": "fabric_metadata.next_id"
34321 },
34322 {
34323 "field_bit": 26,
34324 "field_name": "fabric_metadata.next_id"
34325 },
34326 {
34327 "field_bit": 28,
34328 "field_name": "fabric_metadata.next_id"
34329 }
34330 ]
34331 }
34332 ]
34333 }
34334 ],
34335 "action_format": [
34336 {
34337 "action_name": "NoAction",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080034338 "action_handle": 536870940,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034339 "table_name": "next_hashed",
34340 "next_table": 0,
34341 "next_table_full": 114,
34342 "vliw_instruction": 0,
34343 "vliw_instruction_full": 65,
34344 "immediate_fields": []
34345 },
34346 {
34347 "action_name": "next.output",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080034348 "action_handle": 536870936,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034349 "table_name": "next_hashed",
34350 "next_table": 1,
34351 "next_table_full": 114,
34352 "vliw_instruction": 1,
34353 "vliw_instruction_full": 64,
34354 "immediate_fields": []
34355 },
34356 {
34357 "action_name": "next.set_vlan_output",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080034358 "action_handle": 536870937,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034359 "table_name": "next_hashed",
34360 "next_table": 2,
34361 "next_table_full": 114,
34362 "vliw_instruction": 2,
34363 "vliw_instruction_full": 66,
34364 "immediate_fields": []
34365 },
34366 {
34367 "action_name": "next.l3_routing",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080034368 "action_handle": 536870938,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034369 "table_name": "next_hashed",
34370 "next_table": 3,
34371 "next_table_full": 114,
34372 "vliw_instruction": 3,
34373 "vliw_instruction_full": 68,
34374 "immediate_fields": []
34375 },
34376 {
34377 "action_name": "next.mpls_routing_v4",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080034378 "action_handle": 536870939,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034379 "table_name": "next_hashed",
34380 "next_table": 4,
34381 "next_table_full": 114,
34382 "vliw_instruction": 4,
34383 "vliw_instruction_full": 70,
34384 "immediate_fields": [
34385 {
34386 "param_name": "constant_0",
34387 "param_type": "constant",
34388 "const_value": 0,
34389 "param_shift": 0,
34390 "dest_start": 1,
34391 "dest_width": 3
34392 },
34393 {
34394 "param_name": "constant_1",
34395 "param_type": "constant",
34396 "const_value": 1,
34397 "param_shift": 0,
34398 "dest_start": 0,
34399 "dest_width": 1
34400 },
34401 {
34402 "param_name": "label",
34403 "param_type": "parameter",
34404 "param_shift": 0,
34405 "dest_start": 4,
34406 "dest_width": 4
34407 }
34408 ]
34409 }
34410 ],
34411 "result_physical_buses": [ 14 ],
34412 "pack_format": [
34413 {
34414 "memory_word_width": 128,
34415 "table_word_width": 128,
34416 "entries_per_table_word": 1,
34417 "number_memory_units_per_table_word": 1
34418 }
34419 ],
34420 "memory_resource_allocation": null,
34421 "ways": [
34422 {
34423 "stage_number": 6,
34424 "way_number": 0,
34425 "stage_table_type": "hash_way",
34426 "size": 1024,
34427 "pack_format": [
34428 {
34429 "memory_word_width": 128,
34430 "table_word_width": 128,
34431 "entries_per_table_word": 1,
34432 "number_memory_units_per_table_word": 1,
34433 "entries": [
34434 {
34435 "entry_number": 0,
34436 "fields": [
34437 {
34438 "start_bit": 0,
34439 "enable_pfe": false,
34440 "field_width": 3,
34441 "lsb_mem_word_idx": 0,
34442 "msb_mem_word_idx": 0,
34443 "source": "instr",
34444 "lsb_mem_word_offset": 0,
34445 "field_name": "action",
34446 "match_mode": "unused"
34447 },
34448 {
34449 "start_bit": 0,
34450 "enable_pfe": false,
34451 "field_width": 8,
34452 "lsb_mem_word_idx": 0,
34453 "msb_mem_word_idx": 0,
34454 "source": "immediate",
34455 "lsb_mem_word_offset": 3,
34456 "field_name": "immediate",
34457 "match_mode": "unused"
34458 },
34459 {
34460 "start_bit": 0,
34461 "enable_pfe": false,
34462 "field_width": 4,
34463 "lsb_mem_word_idx": 0,
34464 "msb_mem_word_idx": 0,
34465 "source": "version",
34466 "lsb_mem_word_offset": 12,
34467 "field_name": "version",
34468 "match_mode": "s1q0"
34469 },
34470 {
34471 "field_name": "fabric_metadata.next_id",
34472 "source": "spec",
34473 "lsb_mem_word_offset": 34,
34474 "start_bit": 10,
34475 "immediate_name": "",
34476 "lsb_mem_word_idx": 0,
34477 "msb_mem_word_idx": 0,
34478 "match_mode": "unused",
34479 "enable_pfe": false,
34480 "field_width": 6
34481 },
34482 {
34483 "field_name": "fabric_metadata.next_id",
34484 "source": "spec",
34485 "lsb_mem_word_offset": 16,
34486 "start_bit": 16,
34487 "immediate_name": "",
34488 "lsb_mem_word_idx": 0,
34489 "msb_mem_word_idx": 0,
34490 "match_mode": "unused",
34491 "enable_pfe": false,
34492 "field_width": 8
34493 },
34494 {
34495 "field_name": "fabric_metadata.next_id",
34496 "source": "spec",
34497 "lsb_mem_word_offset": 24,
34498 "start_bit": 24,
34499 "immediate_name": "",
34500 "lsb_mem_word_idx": 0,
34501 "msb_mem_word_idx": 0,
34502 "match_mode": "unused",
34503 "enable_pfe": false,
34504 "field_width": 8
34505 },
34506 {
34507 "start_bit": 0,
34508 "enable_pfe": false,
34509 "field_width": 1,
34510 "lsb_mem_word_idx": 0,
34511 "msb_mem_word_idx": 0,
34512 "source": "zero",
34513 "lsb_mem_word_offset": 11,
34514 "field_name": "--padding_11_11--",
34515 "match_mode": "unused"
34516 },
34517 {
34518 "start_bit": 0,
34519 "enable_pfe": false,
34520 "field_width": 2,
34521 "lsb_mem_word_idx": 0,
34522 "msb_mem_word_idx": 0,
34523 "source": "zero",
34524 "lsb_mem_word_offset": 32,
34525 "field_name": "--padding_32_33--",
34526 "match_mode": "unused"
34527 },
34528 {
34529 "start_bit": 0,
34530 "enable_pfe": false,
34531 "field_width": 88,
34532 "lsb_mem_word_idx": 0,
34533 "msb_mem_word_idx": 0,
34534 "source": "zero",
34535 "lsb_mem_word_offset": 40,
34536 "field_name": "--padding_40_127--",
34537 "match_mode": "unused"
34538 }
34539 ]
34540 }
34541 ]
34542 }
34543 ],
34544 "memory_resource_allocation": {
34545 "hash_function_id": 0,
34546 "hash_entry_bit_lo": 0,
34547 "hash_entry_bit_hi": 9,
34548 "number_entry_bits": 10,
34549 "hash_select_bit_hi": 40,
34550 "hash_select_bit_lo": 40,
34551 "number_select_bits": 0,
34552 "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
34553 }
34554 },
34555 {
34556 "stage_number": 6,
34557 "way_number": 1,
34558 "stage_table_type": "hash_way",
34559 "size": 1024,
34560 "pack_format": [
34561 {
34562 "memory_word_width": 128,
34563 "table_word_width": 128,
34564 "entries_per_table_word": 1,
34565 "number_memory_units_per_table_word": 1,
34566 "entries": [
34567 {
34568 "entry_number": 0,
34569 "fields": [
34570 {
34571 "start_bit": 0,
34572 "enable_pfe": false,
34573 "field_width": 3,
34574 "lsb_mem_word_idx": 0,
34575 "msb_mem_word_idx": 0,
34576 "source": "instr",
34577 "lsb_mem_word_offset": 0,
34578 "field_name": "action",
34579 "match_mode": "unused"
34580 },
34581 {
34582 "start_bit": 0,
34583 "enable_pfe": false,
34584 "field_width": 8,
34585 "lsb_mem_word_idx": 0,
34586 "msb_mem_word_idx": 0,
34587 "source": "immediate",
34588 "lsb_mem_word_offset": 3,
34589 "field_name": "immediate",
34590 "match_mode": "unused"
34591 },
34592 {
34593 "start_bit": 0,
34594 "enable_pfe": false,
34595 "field_width": 4,
34596 "lsb_mem_word_idx": 0,
34597 "msb_mem_word_idx": 0,
34598 "source": "version",
34599 "lsb_mem_word_offset": 12,
34600 "field_name": "version",
34601 "match_mode": "s1q0"
34602 },
34603 {
34604 "field_name": "fabric_metadata.next_id",
34605 "source": "spec",
34606 "lsb_mem_word_offset": 34,
34607 "start_bit": 10,
34608 "immediate_name": "",
34609 "lsb_mem_word_idx": 0,
34610 "msb_mem_word_idx": 0,
34611 "match_mode": "unused",
34612 "enable_pfe": false,
34613 "field_width": 6
34614 },
34615 {
34616 "field_name": "fabric_metadata.next_id",
34617 "source": "spec",
34618 "lsb_mem_word_offset": 16,
34619 "start_bit": 16,
34620 "immediate_name": "",
34621 "lsb_mem_word_idx": 0,
34622 "msb_mem_word_idx": 0,
34623 "match_mode": "unused",
34624 "enable_pfe": false,
34625 "field_width": 8
34626 },
34627 {
34628 "field_name": "fabric_metadata.next_id",
34629 "source": "spec",
34630 "lsb_mem_word_offset": 24,
34631 "start_bit": 24,
34632 "immediate_name": "",
34633 "lsb_mem_word_idx": 0,
34634 "msb_mem_word_idx": 0,
34635 "match_mode": "unused",
34636 "enable_pfe": false,
34637 "field_width": 8
34638 },
34639 {
34640 "start_bit": 0,
34641 "enable_pfe": false,
34642 "field_width": 1,
34643 "lsb_mem_word_idx": 0,
34644 "msb_mem_word_idx": 0,
34645 "source": "zero",
34646 "lsb_mem_word_offset": 11,
34647 "field_name": "--padding_11_11--",
34648 "match_mode": "unused"
34649 },
34650 {
34651 "start_bit": 0,
34652 "enable_pfe": false,
34653 "field_width": 2,
34654 "lsb_mem_word_idx": 0,
34655 "msb_mem_word_idx": 0,
34656 "source": "zero",
34657 "lsb_mem_word_offset": 32,
34658 "field_name": "--padding_32_33--",
34659 "match_mode": "unused"
34660 },
34661 {
34662 "start_bit": 0,
34663 "enable_pfe": false,
34664 "field_width": 88,
34665 "lsb_mem_word_idx": 0,
34666 "msb_mem_word_idx": 0,
34667 "source": "zero",
34668 "lsb_mem_word_offset": 40,
34669 "field_name": "--padding_40_127--",
34670 "match_mode": "unused"
34671 }
34672 ]
34673 }
34674 ]
34675 }
34676 ],
34677 "memory_resource_allocation": {
34678 "hash_function_id": 0,
34679 "hash_entry_bit_lo": 10,
34680 "hash_entry_bit_hi": 19,
34681 "number_entry_bits": 10,
34682 "hash_select_bit_hi": 40,
34683 "hash_select_bit_lo": 40,
34684 "number_select_bits": 0,
34685 "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
34686 }
34687 },
34688 {
34689 "stage_number": 6,
34690 "way_number": 2,
34691 "stage_table_type": "hash_way",
34692 "size": 1024,
34693 "pack_format": [
34694 {
34695 "memory_word_width": 128,
34696 "table_word_width": 128,
34697 "entries_per_table_word": 1,
34698 "number_memory_units_per_table_word": 1,
34699 "entries": [
34700 {
34701 "entry_number": 0,
34702 "fields": [
34703 {
34704 "start_bit": 0,
34705 "enable_pfe": false,
34706 "field_width": 3,
34707 "lsb_mem_word_idx": 0,
34708 "msb_mem_word_idx": 0,
34709 "source": "instr",
34710 "lsb_mem_word_offset": 0,
34711 "field_name": "action",
34712 "match_mode": "unused"
34713 },
34714 {
34715 "start_bit": 0,
34716 "enable_pfe": false,
34717 "field_width": 8,
34718 "lsb_mem_word_idx": 0,
34719 "msb_mem_word_idx": 0,
34720 "source": "immediate",
34721 "lsb_mem_word_offset": 3,
34722 "field_name": "immediate",
34723 "match_mode": "unused"
34724 },
34725 {
34726 "start_bit": 0,
34727 "enable_pfe": false,
34728 "field_width": 4,
34729 "lsb_mem_word_idx": 0,
34730 "msb_mem_word_idx": 0,
34731 "source": "version",
34732 "lsb_mem_word_offset": 12,
34733 "field_name": "version",
34734 "match_mode": "s1q0"
34735 },
34736 {
34737 "field_name": "fabric_metadata.next_id",
34738 "source": "spec",
34739 "lsb_mem_word_offset": 34,
34740 "start_bit": 10,
34741 "immediate_name": "",
34742 "lsb_mem_word_idx": 0,
34743 "msb_mem_word_idx": 0,
34744 "match_mode": "unused",
34745 "enable_pfe": false,
34746 "field_width": 6
34747 },
34748 {
34749 "field_name": "fabric_metadata.next_id",
34750 "source": "spec",
34751 "lsb_mem_word_offset": 16,
34752 "start_bit": 16,
34753 "immediate_name": "",
34754 "lsb_mem_word_idx": 0,
34755 "msb_mem_word_idx": 0,
34756 "match_mode": "unused",
34757 "enable_pfe": false,
34758 "field_width": 8
34759 },
34760 {
34761 "field_name": "fabric_metadata.next_id",
34762 "source": "spec",
34763 "lsb_mem_word_offset": 24,
34764 "start_bit": 24,
34765 "immediate_name": "",
34766 "lsb_mem_word_idx": 0,
34767 "msb_mem_word_idx": 0,
34768 "match_mode": "unused",
34769 "enable_pfe": false,
34770 "field_width": 8
34771 },
34772 {
34773 "start_bit": 0,
34774 "enable_pfe": false,
34775 "field_width": 1,
34776 "lsb_mem_word_idx": 0,
34777 "msb_mem_word_idx": 0,
34778 "source": "zero",
34779 "lsb_mem_word_offset": 11,
34780 "field_name": "--padding_11_11--",
34781 "match_mode": "unused"
34782 },
34783 {
34784 "start_bit": 0,
34785 "enable_pfe": false,
34786 "field_width": 2,
34787 "lsb_mem_word_idx": 0,
34788 "msb_mem_word_idx": 0,
34789 "source": "zero",
34790 "lsb_mem_word_offset": 32,
34791 "field_name": "--padding_32_33--",
34792 "match_mode": "unused"
34793 },
34794 {
34795 "start_bit": 0,
34796 "enable_pfe": false,
34797 "field_width": 88,
34798 "lsb_mem_word_idx": 0,
34799 "msb_mem_word_idx": 0,
34800 "source": "zero",
34801 "lsb_mem_word_offset": 40,
34802 "field_name": "--padding_40_127--",
34803 "match_mode": "unused"
34804 }
34805 ]
34806 }
34807 ]
34808 }
34809 ],
34810 "memory_resource_allocation": {
34811 "hash_function_id": 0,
34812 "hash_entry_bit_lo": 20,
34813 "hash_entry_bit_hi": 29,
34814 "number_entry_bits": 10,
34815 "hash_select_bit_hi": 40,
34816 "hash_select_bit_lo": 40,
34817 "number_select_bits": 0,
34818 "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
34819 }
34820 }
34821 ]
34822 }
34823 ],
34824 "match_type": "exact",
34825 "uses_dynamic_key_masks": false
34826 },
34827 "actions": [
34828 {
34829 "name": "NoAction",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080034830 "handle": 536870940,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034831 "indirect_resources": [],
34832 "allowed_as_default_action": true,
34833 "disallowed_as_default_action_reason": "",
34834 "p4_parameters": [],
34835 "override_meter_addr": false,
34836 "override_meter_addr_pfe": false,
34837 "override_meter_full_addr": 0,
34838 "override_stat_addr": false,
34839 "override_stat_addr_pfe": false,
34840 "override_stat_full_addr": 0,
34841 "override_stateful_addr": false,
34842 "override_stateful_addr_pfe": false,
34843 "override_stateful_full_addr": 0,
34844 "primitives": []
34845 },
34846 {
34847 "name": "next.output",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080034848 "handle": 536870936,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034849 "indirect_resources": [],
34850 "allowed_as_default_action": true,
34851 "disallowed_as_default_action_reason": "",
34852 "p4_parameters": [
34853 {
34854 "name": "port_num",
34855 "start_bit": 0,
34856 "position": 0,
34857 "bit_width": 9
34858 }
34859 ],
34860 "override_meter_addr": false,
34861 "override_meter_addr_pfe": false,
34862 "override_meter_full_addr": 0,
34863 "override_stat_addr": false,
34864 "override_stat_addr_pfe": false,
34865 "override_stat_full_addr": 0,
34866 "override_stateful_addr": false,
34867 "override_stateful_addr_pfe": false,
34868 "override_stateful_full_addr": 0,
34869 "primitives": [
34870 {
34871 "name": "ModifyFieldPrimitive",
34872 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
34873 "src": [
34874 { "type": "action_param", "name": "port_num" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080034875 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080034876 ]
34877 }
34878 ]
34879 },
34880 {
34881 "name": "next.set_vlan_output",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080034882 "handle": 536870937,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034883 "indirect_resources": [],
34884 "allowed_as_default_action": true,
34885 "disallowed_as_default_action_reason": "",
34886 "p4_parameters": [
34887 {
34888 "name": "new_vlan_id",
34889 "start_bit": 0,
34890 "position": 0,
34891 "bit_width": 12
34892 },
34893 {
34894 "name": "port_num",
34895 "start_bit": 12,
34896 "position": 1,
34897 "bit_width": 9
34898 }
34899 ],
34900 "override_meter_addr": false,
34901 "override_meter_addr_pfe": false,
34902 "override_meter_full_addr": 0,
34903 "override_stat_addr": false,
34904 "override_stat_addr_pfe": false,
34905 "override_stat_full_addr": 0,
34906 "override_stateful_addr": false,
34907 "override_stateful_addr_pfe": false,
34908 "override_stateful_full_addr": 0,
34909 "primitives": [
34910 {
34911 "name": "ModifyFieldPrimitive",
34912 "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
34913 "src": [
34914 { "type": "action_param", "name": "new_vlan_id" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080034915 { "type": "phv", "name": "H3" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080034916 ]
34917 },
34918 {
34919 "name": "ModifyFieldPrimitive",
34920 "dest": { "type": "phv", "name": "fabric_metadata.pop_vlan_at_egress" },
34921 "src": [
34922 { "type": "immmediate", "name": "0" },
34923 { "type": "phv", "name": "B8" }
34924 ]
34925 },
34926 {
34927 "name": "ModifyFieldPrimitive",
34928 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
34929 "src": [
34930 { "type": "action_param", "name": "port_num" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080034931 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080034932 ]
34933 }
34934 ]
34935 },
34936 {
34937 "name": "next.l3_routing",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080034938 "handle": 536870938,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034939 "indirect_resources": [],
34940 "allowed_as_default_action": true,
34941 "disallowed_as_default_action_reason": "",
34942 "p4_parameters": [
34943 {
34944 "name": "port_num",
34945 "start_bit": 0,
34946 "position": 0,
34947 "bit_width": 9
34948 },
34949 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
34950 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 }
34951 ],
34952 "override_meter_addr": false,
34953 "override_meter_addr_pfe": false,
34954 "override_meter_full_addr": 0,
34955 "override_stat_addr": false,
34956 "override_stat_addr_pfe": false,
34957 "override_stat_full_addr": 0,
34958 "override_stateful_addr": false,
34959 "override_stateful_addr_pfe": false,
34960 "override_stateful_full_addr": 0,
34961 "primitives": [
34962 {
34963 "name": "ModifyFieldPrimitive",
34964 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
34965 "src": [
34966 { "type": "action_param", "name": "port_num" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080034967 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080034968 ]
34969 },
34970 {
34971 "name": "ModifyFieldPrimitive",
34972 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
34973 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
34974 },
34975 {
34976 "name": "ModifyFieldPrimitive",
34977 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
34978 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
34979 },
34980 {
34981 "name": "ModifyFieldPrimitive",
34982 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
34983 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
34984 },
34985 {
34986 "name": "ModifyFieldPrimitive",
34987 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
34988 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
34989 }
34990 ]
34991 },
34992 {
34993 "name": "next.mpls_routing_v4",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080034994 "handle": 536870939,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034995 "indirect_resources": [],
34996 "allowed_as_default_action": true,
34997 "disallowed_as_default_action_reason": "",
34998 "p4_parameters": [
34999 {
35000 "name": "port_num",
35001 "start_bit": 0,
35002 "position": 0,
35003 "bit_width": 9
35004 },
35005 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
35006 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 },
35007 {
35008 "name": "label",
35009 "start_bit": 105,
35010 "position": 3,
35011 "bit_width": 20
35012 }
35013 ],
35014 "override_meter_addr": false,
35015 "override_meter_addr_pfe": false,
35016 "override_meter_full_addr": 0,
35017 "override_stat_addr": false,
35018 "override_stat_addr_pfe": false,
35019 "override_stat_full_addr": 0,
35020 "override_stateful_addr": false,
35021 "override_stateful_addr_pfe": false,
35022 "override_stateful_full_addr": 0,
35023 "primitives": [
35024 {
35025 "name": "ModifyFieldPrimitive",
35026 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
35027 "src": [
35028 { "type": "action_param", "name": "port_num" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035029 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080035030 ]
35031 },
35032 {
35033 "name": "ModifyFieldPrimitive",
35034 "dest": { "type": "phv", "name": "mpls.$valid" },
35035 "src": [
35036 { "type": "immmediate", "name": "1" },
35037 { "type": "phv", "name": "B7" }
35038 ]
35039 },
35040 {
35041 "name": "ModifyFieldPrimitive",
35042 "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
35043 "src": [ { "immediate": "34887" } ]
35044 },
35045 {
35046 "name": "ModifyFieldPrimitive",
35047 "dest": { "type": "phv", "name": "mpls.ttl" },
35048 "src": [ { "immediate": "64" } ]
35049 },
35050 {
35051 "name": "ModifyFieldPrimitive",
35052 "dest": { "type": "phv", "name": "mpls.label.4-19" },
35053 "src": [ { "type": "action_param", "name": "label.4-19" } ]
35054 },
35055 {
35056 "name": "ModifyFieldPrimitive",
35057 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
35058 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
35059 },
35060 {
35061 "name": "ModifyFieldPrimitive",
35062 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
35063 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
35064 },
35065 {
35066 "name": "ModifyFieldPrimitive",
35067 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
35068 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
35069 },
35070 {
35071 "name": "ModifyFieldPrimitive",
35072 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
35073 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
35074 },
35075 {
35076 "name": "ModifyFieldPrimitive",
35077 "dest": { "type": "phv", "name": "B2" },
35078 "src": [ { "type": "immediate", "name": "$data0" } ]
35079 }
35080 ]
35081 }
35082 ]
35083 },
35084 {
35085 "direction": "ingress",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035086 "handle": 67108873,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035087 "name": "next.simple_counter",
35088 "table_type": "statistics",
35089 "size": 0,
35090 "stage_tables": [
35091 {
35092 "stage_number": 6,
35093 "size": 4096,
35094 "stage_table_type": "statistics",
35095 "logical_table_id": 0,
35096 "pack_format": [
35097 {
35098 "table_word_width": 128,
35099 "memory_word_width": 128,
35100 "entries_per_table_word": 2,
35101 "number_memory_units_per_table_word": 1
35102 }
35103 ],
35104 "memory_resource_allocation": {
35105 "memory_type": "sram",
35106 "memory_units_and_vpns": [
35107 { "memory_units": [ 78 ], "vpns": [ 0 ] },
35108 { "memory_units": [ 79 ], "vpns": [ 1 ] },
35109 { "memory_units": [ 80 ], "vpns": [ 2 ] }
35110 ],
35111 "spare_bank_memory_unit": 80
35112 },
35113 "stats_alu_index": 3
35114 }
35115 ],
35116 "how_referenced": "direct",
35117 "enable_pfe": false,
35118 "pfe_bit_position": 0,
35119 "byte_counter_resolution": 36,
35120 "packet_counter_resolution": 28,
35121 "statistics_type": "packets_and_bytes"
35122 },
35123 {
35124 "direction": "ingress",
35125 "handle": 33554433,
35126 "name": "next_simple$action",
35127 "table_type": "action",
35128 "size": 3072,
35129 "stage_tables": [
35130 {
35131 "stage_number": 6,
35132 "size": 3072,
35133 "stage_table_type": "action_data",
35134 "logical_table_id": 0,
35135 "pack_format": [
35136 {
35137 "memory_word_width": 128,
35138 "table_word_width": 128,
35139 "entries_per_table_word": 1,
35140 "number_memory_units_per_table_word": 1,
35141 "entries": [
35142 {
35143 "entry_number": 0,
35144 "fields": [
35145 {
35146 "start_bit": 0,
35147 "field_width": 128,
35148 "lsb_mem_word_idx": 0,
35149 "msb_mem_word_idx": 0,
35150 "source": "zero",
35151 "lsb_mem_word_offset": 0,
35152 "field_name": "--padding_0_127--"
35153 }
35154 ]
35155 }
35156 ],
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035157 "action_handle": 536870940
Carmelo Cascone04098db2018-01-30 18:10:32 -080035158 },
35159 {
35160 "memory_word_width": 128,
35161 "table_word_width": 128,
35162 "entries_per_table_word": 1,
35163 "number_memory_units_per_table_word": 1,
35164 "entries": [
35165 {
35166 "entry_number": 0,
35167 "fields": [
35168 {
35169 "start_bit": 0,
35170 "field_width": 9,
35171 "lsb_mem_word_idx": 0,
35172 "msb_mem_word_idx": 0,
35173 "source": "spec",
35174 "lsb_mem_word_offset": 48,
35175 "field_name": "port_num"
35176 },
35177 {
35178 "start_bit": 0,
35179 "field_width": 48,
35180 "lsb_mem_word_idx": 0,
35181 "msb_mem_word_idx": 0,
35182 "source": "zero",
35183 "lsb_mem_word_offset": 0,
35184 "field_name": "--padding_0_47--"
35185 },
35186 {
35187 "start_bit": 0,
35188 "field_width": 71,
35189 "lsb_mem_word_idx": 0,
35190 "msb_mem_word_idx": 0,
35191 "source": "zero",
35192 "lsb_mem_word_offset": 57,
35193 "field_name": "--padding_57_127--"
35194 }
35195 ]
35196 }
35197 ],
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035198 "action_handle": 536870936
Carmelo Cascone04098db2018-01-30 18:10:32 -080035199 },
35200 {
35201 "memory_word_width": 128,
35202 "table_word_width": 128,
35203 "entries_per_table_word": 1,
35204 "number_memory_units_per_table_word": 1,
35205 "entries": [
35206 {
35207 "entry_number": 0,
35208 "fields": [
35209 {
35210 "start_bit": 0,
35211 "field_width": 9,
35212 "lsb_mem_word_idx": 0,
35213 "msb_mem_word_idx": 0,
35214 "source": "spec",
35215 "lsb_mem_word_offset": 32,
35216 "field_name": "port_num"
35217 },
35218 {
35219 "start_bit": 0,
35220 "field_width": 12,
35221 "lsb_mem_word_idx": 0,
35222 "msb_mem_word_idx": 0,
35223 "source": "spec",
35224 "lsb_mem_word_offset": 48,
35225 "field_name": "new_vlan_id"
35226 },
35227 {
35228 "start_bit": 0,
35229 "field_width": 32,
35230 "lsb_mem_word_idx": 0,
35231 "msb_mem_word_idx": 0,
35232 "source": "zero",
35233 "lsb_mem_word_offset": 0,
35234 "field_name": "--padding_0_31--"
35235 },
35236 {
35237 "start_bit": 0,
35238 "field_width": 7,
35239 "lsb_mem_word_idx": 0,
35240 "msb_mem_word_idx": 0,
35241 "source": "zero",
35242 "lsb_mem_word_offset": 41,
35243 "field_name": "--padding_41_47--"
35244 },
35245 {
35246 "start_bit": 0,
35247 "field_width": 68,
35248 "lsb_mem_word_idx": 0,
35249 "msb_mem_word_idx": 0,
35250 "source": "zero",
35251 "lsb_mem_word_offset": 60,
35252 "field_name": "--padding_60_127--"
35253 }
35254 ]
35255 }
35256 ],
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035257 "action_handle": 536870937
Carmelo Cascone04098db2018-01-30 18:10:32 -080035258 },
35259 {
35260 "memory_word_width": 128,
35261 "table_word_width": 128,
35262 "entries_per_table_word": 1,
35263 "number_memory_units_per_table_word": 1,
35264 "entries": [
35265 {
35266 "entry_number": 0,
35267 "fields": [
35268 {
35269 "start_bit": 0,
35270 "field_width": 9,
35271 "lsb_mem_word_idx": 0,
35272 "msb_mem_word_idx": 0,
35273 "source": "spec",
35274 "lsb_mem_word_offset": 16,
35275 "field_name": "port_num"
35276 },
35277 {
35278 "start_bit": 0,
35279 "field_width": 16,
35280 "lsb_mem_word_idx": 0,
35281 "msb_mem_word_idx": 0,
35282 "source": "spec",
35283 "lsb_mem_word_offset": 32,
35284 "field_name": "dmac"
35285 },
35286 {
35287 "start_bit": 0,
35288 "field_width": 16,
35289 "lsb_mem_word_idx": 0,
35290 "msb_mem_word_idx": 0,
35291 "source": "spec",
35292 "lsb_mem_word_offset": 48,
35293 "field_name": "smac"
35294 },
35295 {
35296 "start_bit": 16,
35297 "field_width": 32,
35298 "lsb_mem_word_idx": 0,
35299 "msb_mem_word_idx": 0,
35300 "source": "spec",
35301 "lsb_mem_word_offset": 64,
35302 "field_name": "dmac"
35303 },
35304 {
35305 "start_bit": 16,
35306 "field_width": 32,
35307 "lsb_mem_word_idx": 0,
35308 "msb_mem_word_idx": 0,
35309 "source": "spec",
35310 "lsb_mem_word_offset": 96,
35311 "field_name": "smac"
35312 },
35313 {
35314 "start_bit": 0,
35315 "field_width": 16,
35316 "lsb_mem_word_idx": 0,
35317 "msb_mem_word_idx": 0,
35318 "source": "zero",
35319 "lsb_mem_word_offset": 0,
35320 "field_name": "--padding_0_15--"
35321 },
35322 {
35323 "start_bit": 0,
35324 "field_width": 7,
35325 "lsb_mem_word_idx": 0,
35326 "msb_mem_word_idx": 0,
35327 "source": "zero",
35328 "lsb_mem_word_offset": 25,
35329 "field_name": "--padding_25_31--"
35330 }
35331 ]
35332 }
35333 ],
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035334 "action_handle": 536870938
Carmelo Cascone04098db2018-01-30 18:10:32 -080035335 },
35336 {
35337 "memory_word_width": 128,
35338 "table_word_width": 128,
35339 "entries_per_table_word": 1,
35340 "number_memory_units_per_table_word": 1,
35341 "entries": [
35342 {
35343 "entry_number": 0,
35344 "fields": [
35345 {
35346 "start_bit": 0,
35347 "field_width": 9,
35348 "lsb_mem_word_idx": 0,
35349 "msb_mem_word_idx": 0,
35350 "source": "spec",
35351 "lsb_mem_word_offset": 0,
35352 "field_name": "port_num"
35353 },
35354 {
35355 "start_bit": 4,
35356 "field_width": 16,
35357 "lsb_mem_word_idx": 0,
35358 "msb_mem_word_idx": 0,
35359 "source": "spec",
35360 "lsb_mem_word_offset": 16,
35361 "field_name": "label"
35362 },
35363 {
35364 "start_bit": 0,
35365 "field_width": 16,
35366 "lsb_mem_word_idx": 0,
35367 "msb_mem_word_idx": 0,
35368 "source": "spec",
35369 "lsb_mem_word_offset": 32,
35370 "field_name": "dmac"
35371 },
35372 {
35373 "start_bit": 0,
35374 "field_width": 16,
35375 "lsb_mem_word_idx": 0,
35376 "msb_mem_word_idx": 0,
35377 "source": "spec",
35378 "lsb_mem_word_offset": 48,
35379 "field_name": "smac"
35380 },
35381 {
35382 "start_bit": 16,
35383 "field_width": 32,
35384 "lsb_mem_word_idx": 0,
35385 "msb_mem_word_idx": 0,
35386 "source": "spec",
35387 "lsb_mem_word_offset": 64,
35388 "field_name": "dmac"
35389 },
35390 {
35391 "start_bit": 16,
35392 "field_width": 32,
35393 "lsb_mem_word_idx": 0,
35394 "msb_mem_word_idx": 0,
35395 "source": "spec",
35396 "lsb_mem_word_offset": 96,
35397 "field_name": "smac"
35398 },
35399 {
35400 "start_bit": 0,
35401 "field_width": 7,
35402 "lsb_mem_word_idx": 0,
35403 "msb_mem_word_idx": 0,
35404 "source": "zero",
35405 "lsb_mem_word_offset": 9,
35406 "field_name": "--padding_9_15--"
35407 }
35408 ]
35409 }
35410 ],
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035411 "action_handle": 536870939
Carmelo Cascone04098db2018-01-30 18:10:32 -080035412 }
35413 ],
35414 "memory_resource_allocation": {
35415 "memory_type": "sram",
35416 "memory_units_and_vpns": [
35417 { "memory_units": [ 90 ], "vpns": [ 0 ] },
35418 { "memory_units": [ 91 ], "vpns": [ 1 ] },
35419 { "memory_units": [ 92 ], "vpns": [ 2 ] }
35420 ],
35421 "spare_bank_memory_unit": 92
35422 }
35423 }
35424 ],
35425 "actions": [
35426 {
35427 "name": "NoAction",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035428 "handle": 536870940,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035429 "indirect_resources": [],
35430 "allowed_as_default_action": true,
35431 "disallowed_as_default_action_reason": "",
35432 "p4_parameters": [],
35433 "override_meter_addr": false,
35434 "override_meter_addr_pfe": false,
35435 "override_meter_full_addr": 0,
35436 "override_stat_addr": false,
35437 "override_stat_addr_pfe": false,
35438 "override_stat_full_addr": 0,
35439 "override_stateful_addr": false,
35440 "override_stateful_addr_pfe": false,
35441 "override_stateful_full_addr": 0,
35442 "primitives": []
35443 },
35444 {
35445 "name": "next.output",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035446 "handle": 536870936,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035447 "indirect_resources": [],
35448 "allowed_as_default_action": true,
35449 "disallowed_as_default_action_reason": "",
35450 "p4_parameters": [
35451 {
35452 "name": "port_num",
35453 "start_bit": 0,
35454 "position": 0,
35455 "bit_width": 9
35456 }
35457 ],
35458 "override_meter_addr": false,
35459 "override_meter_addr_pfe": false,
35460 "override_meter_full_addr": 0,
35461 "override_stat_addr": false,
35462 "override_stat_addr_pfe": false,
35463 "override_stat_full_addr": 0,
35464 "override_stateful_addr": false,
35465 "override_stateful_addr_pfe": false,
35466 "override_stateful_full_addr": 0,
35467 "primitives": [
35468 {
35469 "name": "ModifyFieldPrimitive",
35470 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
35471 "src": [
35472 { "type": "action_param", "name": "port_num" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035473 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080035474 ]
35475 }
35476 ]
35477 },
35478 {
35479 "name": "next.set_vlan_output",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035480 "handle": 536870937,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035481 "indirect_resources": [],
35482 "allowed_as_default_action": true,
35483 "disallowed_as_default_action_reason": "",
35484 "p4_parameters": [
35485 {
35486 "name": "new_vlan_id",
35487 "start_bit": 0,
35488 "position": 0,
35489 "bit_width": 12
35490 },
35491 {
35492 "name": "port_num",
35493 "start_bit": 12,
35494 "position": 1,
35495 "bit_width": 9
35496 }
35497 ],
35498 "override_meter_addr": false,
35499 "override_meter_addr_pfe": false,
35500 "override_meter_full_addr": 0,
35501 "override_stat_addr": false,
35502 "override_stat_addr_pfe": false,
35503 "override_stat_full_addr": 0,
35504 "override_stateful_addr": false,
35505 "override_stateful_addr_pfe": false,
35506 "override_stateful_full_addr": 0,
35507 "primitives": [
35508 {
35509 "name": "ModifyFieldPrimitive",
35510 "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
35511 "src": [
35512 { "type": "action_param", "name": "new_vlan_id" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035513 { "type": "phv", "name": "H3" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080035514 ]
35515 },
35516 {
35517 "name": "ModifyFieldPrimitive",
35518 "dest": { "type": "phv", "name": "fabric_metadata.pop_vlan_at_egress" },
35519 "src": [
35520 { "type": "immmediate", "name": "0" },
35521 { "type": "phv", "name": "B8" }
35522 ]
35523 },
35524 {
35525 "name": "ModifyFieldPrimitive",
35526 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
35527 "src": [
35528 { "type": "action_param", "name": "port_num" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035529 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080035530 ]
35531 }
35532 ]
35533 },
35534 {
35535 "name": "next.l3_routing",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035536 "handle": 536870938,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035537 "indirect_resources": [],
35538 "allowed_as_default_action": true,
35539 "disallowed_as_default_action_reason": "",
35540 "p4_parameters": [
35541 {
35542 "name": "port_num",
35543 "start_bit": 0,
35544 "position": 0,
35545 "bit_width": 9
35546 },
35547 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
35548 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 }
35549 ],
35550 "override_meter_addr": false,
35551 "override_meter_addr_pfe": false,
35552 "override_meter_full_addr": 0,
35553 "override_stat_addr": false,
35554 "override_stat_addr_pfe": false,
35555 "override_stat_full_addr": 0,
35556 "override_stateful_addr": false,
35557 "override_stateful_addr_pfe": false,
35558 "override_stateful_full_addr": 0,
35559 "primitives": [
35560 {
35561 "name": "ModifyFieldPrimitive",
35562 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
35563 "src": [
35564 { "type": "action_param", "name": "port_num" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035565 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080035566 ]
35567 },
35568 {
35569 "name": "ModifyFieldPrimitive",
35570 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
35571 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
35572 },
35573 {
35574 "name": "ModifyFieldPrimitive",
35575 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
35576 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
35577 },
35578 {
35579 "name": "ModifyFieldPrimitive",
35580 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
35581 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
35582 },
35583 {
35584 "name": "ModifyFieldPrimitive",
35585 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
35586 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
35587 }
35588 ]
35589 },
35590 {
35591 "name": "next.mpls_routing_v4",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035592 "handle": 536870939,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035593 "indirect_resources": [],
35594 "allowed_as_default_action": true,
35595 "disallowed_as_default_action_reason": "",
35596 "p4_parameters": [
35597 {
35598 "name": "port_num",
35599 "start_bit": 0,
35600 "position": 0,
35601 "bit_width": 9
35602 },
35603 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
35604 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 },
35605 {
35606 "name": "label",
35607 "start_bit": 105,
35608 "position": 3,
35609 "bit_width": 20
35610 }
35611 ],
35612 "override_meter_addr": false,
35613 "override_meter_addr_pfe": false,
35614 "override_meter_full_addr": 0,
35615 "override_stat_addr": false,
35616 "override_stat_addr_pfe": false,
35617 "override_stat_full_addr": 0,
35618 "override_stateful_addr": false,
35619 "override_stateful_addr_pfe": false,
35620 "override_stateful_full_addr": 0,
35621 "primitives": [
35622 {
35623 "name": "ModifyFieldPrimitive",
35624 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
35625 "src": [
35626 { "type": "action_param", "name": "port_num" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035627 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080035628 ]
35629 },
35630 {
35631 "name": "ModifyFieldPrimitive",
35632 "dest": { "type": "phv", "name": "mpls.$valid" },
35633 "src": [
35634 { "type": "immmediate", "name": "1" },
35635 { "type": "phv", "name": "B7" }
35636 ]
35637 },
35638 {
35639 "name": "ModifyFieldPrimitive",
35640 "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
35641 "src": [ { "immediate": "34887" } ]
35642 },
35643 {
35644 "name": "ModifyFieldPrimitive",
35645 "dest": { "type": "phv", "name": "mpls.ttl" },
35646 "src": [ { "immediate": "64" } ]
35647 },
35648 {
35649 "name": "ModifyFieldPrimitive",
35650 "dest": { "type": "phv", "name": "mpls.label.4-19" },
35651 "src": [ { "type": "action_param", "name": "label.4-19" } ]
35652 },
35653 {
35654 "name": "ModifyFieldPrimitive",
35655 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
35656 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
35657 },
35658 {
35659 "name": "ModifyFieldPrimitive",
35660 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
35661 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
35662 },
35663 {
35664 "name": "ModifyFieldPrimitive",
35665 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
35666 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
35667 },
35668 {
35669 "name": "ModifyFieldPrimitive",
35670 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
35671 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
35672 },
35673 {
35674 "name": "ModifyFieldPrimitive",
35675 "dest": { "type": "phv", "name": "B2" },
35676 "src": [ { "type": "immediate", "name": "$data0" } ]
35677 }
35678 ]
35679 }
35680 ],
35681 "how_referenced": "direct"
35682 },
35683 {
35684 "direction": "ingress",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035685 "handle": 16777230,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035686 "name": "tbl_act_2",
35687 "table_type": "match",
35688 "size": 1,
35689 "preferred_match_type": "exact",
35690 "match_attributes": {
35691 "stage_tables": [
35692 {
35693 "stage_number": 7,
35694 "size": 1,
35695 "stage_table_type": "match_with_no_key",
35696 "logical_table_id": 1,
35697 "has_attached_gateway": true,
35698 "memory_resource_allocation": null,
35699 "default_next_table": 255,
35700 "pack_format": [
35701 {
35702 "table_word_width": 0,
35703 "memory_word_width": 0,
35704 "entries_per_table_word": 1,
35705 "number_memory_units_per_table_word": 0
35706 }
35707 ],
35708 "result_physical_buses": [ 0 ],
35709 "action_format": [
35710 {
35711 "action_name": "act_2",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035712 "action_handle": 536870941,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035713 "table_name": "next_hashed",
35714 "next_table": 0,
35715 "next_table_full": 114,
35716 "vliw_instruction": 1,
35717 "vliw_instruction_full": 64,
35718 "immediate_fields": []
35719 }
35720 ],
35721 "hash_functions": []
35722 }
35723 ],
35724 "match_type": "match_with_no_key",
35725 "uses_dynamic_key_masks": false
35726 },
35727 "actions": [
35728 {
35729 "name": "act_2",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035730 "handle": 536870941,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035731 "indirect_resources": [],
35732 "allowed_as_default_action": true,
35733 "disallowed_as_default_action_reason": "",
35734 "p4_parameters": [],
35735 "override_meter_addr": false,
35736 "override_meter_addr_pfe": false,
35737 "override_meter_full_addr": 0,
35738 "override_stat_addr": false,
35739 "override_stat_addr_pfe": false,
35740 "override_stat_full_addr": 0,
35741 "override_stateful_addr": false,
35742 "override_stateful_addr_pfe": false,
35743 "override_stateful_full_addr": 0,
35744 "is_action_meter_color_aware": false,
35745 "primitives": [
35746 {
35747 "name": "DirectAluPrimitive",
35748 "operation": "add",
35749 "dest": { "type": "phv", "name": "ipv4.ttl" },
35750 "src": [
35751 { "type": "immmediate", "name": "255" },
35752 { "type": "phv", "name": "B4" }
35753 ]
35754 }
35755 ]
35756 }
35757 ],
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035758 "default_action_handle": 536870941,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035759 "action_profile": "",
35760 "default_next_table_mask": 0,
35761 "ap_bind_indirect_res_to_match": [],
35762 "is_resource_controllable": true,
35763 "uses_range": false,
35764 "match_key_fields": [],
35765 "performs_hash_action": false,
35766 "action_data_table_refs": [],
35767 "selection_table_refs": [],
35768 "meter_table_refs": [],
35769 "statistics_table_refs": [],
35770 "stateful_table_refs": []
35771 },
35772 {
35773 "direction": "ingress",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035774 "handle": 16777231,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035775 "name": "next.hashed",
35776 "table_type": "match",
35777 "size": 3072,
35778 "action_data_table_refs": [
35779 {
35780 "how_referenced": "indirect",
35781 "handle": 33554434,
35782 "name": "next.ecmp_selector"
35783 }
35784 ],
35785 "selection_table_refs": [
35786 {
35787 "how_referenced": "indirect",
35788 "handle": 50331649,
35789 "name": "next.ecmp_selector"
35790 }
35791 ],
35792 "meter_table_refs": [],
35793 "statistics_table_refs": [
35794 {
35795 "how_referenced": "direct",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035796 "handle": 67108874,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035797 "name": "next.hashed_counter"
35798 }
35799 ],
35800 "stateful_table_refs": [],
35801 "default_selector_mask": 0,
35802 "default_selector_value": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080035803 "default_action_handle": 536870945,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035804 "action_profile": "next.ecmp_selector",
35805 "default_next_table_mask": 0,
35806 "ap_bind_indirect_res_to_match": [],
35807 "is_resource_controllable": true,
35808 "uses_range": false,
35809 "match_key_fields": [
35810 {
35811 "name": "fabric_metadata.next_id",
35812 "position": 0,
35813 "match_type": "exact",
35814 "start_bit": 0,
35815 "bit_width": 32,
35816 "bit_width_full": 32,
35817 "is_valid": false,
35818 "instance_name": "fabric_metadata",
35819 "field_name": "next_id"
35820 }
35821 ],
35822 "match_attributes": {
35823 "stage_tables": [
35824 {
35825 "stage_number": 7,
35826 "size": 3072,
35827 "stage_table_type": "hash_match",
35828 "logical_table_id": 2,
35829 "has_attached_gateway": false,
35830 "hash_functions": [
35831 {
35832 "hash_bits": [
35833 {
35834 "hash_bit": 0,
35835 "seed": 0,
35836 "bits_to_xor": [
35837 {
35838 "field_bit": 16,
35839 "field_name": "fabric_metadata.next_id"
35840 },
35841 {
35842 "field_bit": 22,
35843 "field_name": "fabric_metadata.next_id"
35844 },
35845 {
35846 "field_bit": 27,
35847 "field_name": "fabric_metadata.next_id"
35848 },
35849 {
35850 "field_bit": 28,
35851 "field_name": "fabric_metadata.next_id"
35852 },
35853 {
35854 "field_bit": 30,
35855 "field_name": "fabric_metadata.next_id"
35856 },
35857 {
35858 "field_bit": 31,
35859 "field_name": "fabric_metadata.next_id"
35860 },
35861 {
35862 "field_bit": 0,
35863 "field_name": "fabric_metadata.next_id"
35864 },
35865 {
35866 "field_bit": 12,
35867 "field_name": "fabric_metadata.next_id"
35868 },
35869 {
35870 "field_bit": 14,
35871 "field_name": "fabric_metadata.next_id"
35872 }
35873 ]
35874 },
35875 {
35876 "hash_bit": 1,
35877 "seed": 0,
35878 "bits_to_xor": [
35879 {
35880 "field_bit": 17,
35881 "field_name": "fabric_metadata.next_id"
35882 },
35883 {
35884 "field_bit": 18,
35885 "field_name": "fabric_metadata.next_id"
35886 },
35887 {
35888 "field_bit": 20,
35889 "field_name": "fabric_metadata.next_id"
35890 },
35891 {
35892 "field_bit": 23,
35893 "field_name": "fabric_metadata.next_id"
35894 },
35895 {
35896 "field_bit": 24,
35897 "field_name": "fabric_metadata.next_id"
35898 },
35899 {
35900 "field_bit": 27,
35901 "field_name": "fabric_metadata.next_id"
35902 },
35903 {
35904 "field_bit": 30,
35905 "field_name": "fabric_metadata.next_id"
35906 },
35907 {
35908 "field_bit": 31,
35909 "field_name": "fabric_metadata.next_id"
35910 },
35911 {
35912 "field_bit": 1,
35913 "field_name": "fabric_metadata.next_id"
35914 },
35915 {
35916 "field_bit": 10,
35917 "field_name": "fabric_metadata.next_id"
35918 },
35919 {
35920 "field_bit": 11,
35921 "field_name": "fabric_metadata.next_id"
35922 },
35923 {
35924 "field_bit": 12,
35925 "field_name": "fabric_metadata.next_id"
35926 },
35927 {
35928 "field_bit": 13,
35929 "field_name": "fabric_metadata.next_id"
35930 }
35931 ]
35932 },
35933 {
35934 "hash_bit": 2,
35935 "seed": 0,
35936 "bits_to_xor": [
35937 {
35938 "field_bit": 16,
35939 "field_name": "fabric_metadata.next_id"
35940 },
35941 {
35942 "field_bit": 18,
35943 "field_name": "fabric_metadata.next_id"
35944 },
35945 {
35946 "field_bit": 19,
35947 "field_name": "fabric_metadata.next_id"
35948 },
35949 {
35950 "field_bit": 23,
35951 "field_name": "fabric_metadata.next_id"
35952 },
35953 {
35954 "field_bit": 27,
35955 "field_name": "fabric_metadata.next_id"
35956 },
35957 {
35958 "field_bit": 29,
35959 "field_name": "fabric_metadata.next_id"
35960 },
35961 {
35962 "field_bit": 31,
35963 "field_name": "fabric_metadata.next_id"
35964 },
35965 {
35966 "field_bit": 2,
35967 "field_name": "fabric_metadata.next_id"
35968 },
35969 {
35970 "field_bit": 11,
35971 "field_name": "fabric_metadata.next_id"
35972 },
35973 {
35974 "field_bit": 12,
35975 "field_name": "fabric_metadata.next_id"
35976 },
35977 {
35978 "field_bit": 15,
35979 "field_name": "fabric_metadata.next_id"
35980 }
35981 ]
35982 },
35983 {
35984 "hash_bit": 3,
35985 "seed": 0,
35986 "bits_to_xor": [
35987 {
35988 "field_bit": 16,
35989 "field_name": "fabric_metadata.next_id"
35990 },
35991 {
35992 "field_bit": 17,
35993 "field_name": "fabric_metadata.next_id"
35994 },
35995 {
35996 "field_bit": 20,
35997 "field_name": "fabric_metadata.next_id"
35998 },
35999 {
36000 "field_bit": 21,
36001 "field_name": "fabric_metadata.next_id"
36002 },
36003 {
36004 "field_bit": 22,
36005 "field_name": "fabric_metadata.next_id"
36006 },
36007 {
36008 "field_bit": 23,
36009 "field_name": "fabric_metadata.next_id"
36010 },
36011 {
36012 "field_bit": 24,
36013 "field_name": "fabric_metadata.next_id"
36014 },
36015 {
36016 "field_bit": 25,
36017 "field_name": "fabric_metadata.next_id"
36018 },
36019 {
36020 "field_bit": 26,
36021 "field_name": "fabric_metadata.next_id"
36022 },
36023 {
36024 "field_bit": 29,
36025 "field_name": "fabric_metadata.next_id"
36026 },
36027 {
36028 "field_bit": 3,
36029 "field_name": "fabric_metadata.next_id"
36030 },
36031 {
36032 "field_bit": 11,
36033 "field_name": "fabric_metadata.next_id"
36034 },
36035 {
36036 "field_bit": 12,
36037 "field_name": "fabric_metadata.next_id"
36038 },
36039 {
36040 "field_bit": 15,
36041 "field_name": "fabric_metadata.next_id"
36042 }
36043 ]
36044 },
36045 {
36046 "hash_bit": 4,
36047 "seed": 0,
36048 "bits_to_xor": [
36049 {
36050 "field_bit": 16,
36051 "field_name": "fabric_metadata.next_id"
36052 },
36053 {
36054 "field_bit": 20,
36055 "field_name": "fabric_metadata.next_id"
36056 },
36057 {
36058 "field_bit": 21,
36059 "field_name": "fabric_metadata.next_id"
36060 },
36061 {
36062 "field_bit": 23,
36063 "field_name": "fabric_metadata.next_id"
36064 },
36065 {
36066 "field_bit": 25,
36067 "field_name": "fabric_metadata.next_id"
36068 },
36069 {
36070 "field_bit": 26,
36071 "field_name": "fabric_metadata.next_id"
36072 },
36073 {
36074 "field_bit": 28,
36075 "field_name": "fabric_metadata.next_id"
36076 },
36077 {
36078 "field_bit": 30,
36079 "field_name": "fabric_metadata.next_id"
36080 },
36081 {
36082 "field_bit": 31,
36083 "field_name": "fabric_metadata.next_id"
36084 },
36085 {
36086 "field_bit": 4,
36087 "field_name": "fabric_metadata.next_id"
36088 },
36089 {
36090 "field_bit": 10,
36091 "field_name": "fabric_metadata.next_id"
36092 },
36093 {
36094 "field_bit": 13,
36095 "field_name": "fabric_metadata.next_id"
36096 }
36097 ]
36098 },
36099 {
36100 "hash_bit": 5,
36101 "seed": 0,
36102 "bits_to_xor": [
36103 {
36104 "field_bit": 17,
36105 "field_name": "fabric_metadata.next_id"
36106 },
36107 {
36108 "field_bit": 18,
36109 "field_name": "fabric_metadata.next_id"
36110 },
36111 {
36112 "field_bit": 19,
36113 "field_name": "fabric_metadata.next_id"
36114 },
36115 {
36116 "field_bit": 22,
36117 "field_name": "fabric_metadata.next_id"
36118 },
36119 {
36120 "field_bit": 24,
36121 "field_name": "fabric_metadata.next_id"
36122 },
36123 {
36124 "field_bit": 25,
36125 "field_name": "fabric_metadata.next_id"
36126 },
36127 {
36128 "field_bit": 26,
36129 "field_name": "fabric_metadata.next_id"
36130 },
36131 {
36132 "field_bit": 28,
36133 "field_name": "fabric_metadata.next_id"
36134 },
36135 {
36136 "field_bit": 30,
36137 "field_name": "fabric_metadata.next_id"
36138 },
36139 {
36140 "field_bit": 31,
36141 "field_name": "fabric_metadata.next_id"
36142 },
36143 {
36144 "field_bit": 5,
36145 "field_name": "fabric_metadata.next_id"
36146 },
36147 {
36148 "field_bit": 12,
36149 "field_name": "fabric_metadata.next_id"
36150 },
36151 {
36152 "field_bit": 13,
36153 "field_name": "fabric_metadata.next_id"
36154 }
36155 ]
36156 },
36157 {
36158 "hash_bit": 6,
36159 "seed": 0,
36160 "bits_to_xor": [
36161 {
36162 "field_bit": 16,
36163 "field_name": "fabric_metadata.next_id"
36164 },
36165 {
36166 "field_bit": 18,
36167 "field_name": "fabric_metadata.next_id"
36168 },
36169 {
36170 "field_bit": 21,
36171 "field_name": "fabric_metadata.next_id"
36172 },
36173 {
36174 "field_bit": 22,
36175 "field_name": "fabric_metadata.next_id"
36176 },
36177 {
36178 "field_bit": 23,
36179 "field_name": "fabric_metadata.next_id"
36180 },
36181 {
36182 "field_bit": 27,
36183 "field_name": "fabric_metadata.next_id"
36184 },
36185 {
36186 "field_bit": 28,
36187 "field_name": "fabric_metadata.next_id"
36188 },
36189 {
36190 "field_bit": 30,
36191 "field_name": "fabric_metadata.next_id"
36192 },
36193 {
36194 "field_bit": 6,
36195 "field_name": "fabric_metadata.next_id"
36196 },
36197 {
36198 "field_bit": 12,
36199 "field_name": "fabric_metadata.next_id"
36200 },
36201 {
36202 "field_bit": 13,
36203 "field_name": "fabric_metadata.next_id"
36204 }
36205 ]
36206 },
36207 {
36208 "hash_bit": 7,
36209 "seed": 0,
36210 "bits_to_xor": [
36211 {
36212 "field_bit": 21,
36213 "field_name": "fabric_metadata.next_id"
36214 },
36215 {
36216 "field_bit": 22,
36217 "field_name": "fabric_metadata.next_id"
36218 },
36219 {
36220 "field_bit": 24,
36221 "field_name": "fabric_metadata.next_id"
36222 },
36223 {
36224 "field_bit": 27,
36225 "field_name": "fabric_metadata.next_id"
36226 },
36227 {
36228 "field_bit": 29,
36229 "field_name": "fabric_metadata.next_id"
36230 },
36231 {
36232 "field_bit": 7,
36233 "field_name": "fabric_metadata.next_id"
36234 },
36235 {
36236 "field_bit": 14,
36237 "field_name": "fabric_metadata.next_id"
36238 },
36239 {
36240 "field_bit": 15,
36241 "field_name": "fabric_metadata.next_id"
36242 }
36243 ]
36244 },
36245 {
36246 "hash_bit": 8,
36247 "seed": 0,
36248 "bits_to_xor": [
36249 {
36250 "field_bit": 18,
36251 "field_name": "fabric_metadata.next_id"
36252 },
36253 {
36254 "field_bit": 20,
36255 "field_name": "fabric_metadata.next_id"
36256 },
36257 {
36258 "field_bit": 21,
36259 "field_name": "fabric_metadata.next_id"
36260 },
36261 {
36262 "field_bit": 23,
36263 "field_name": "fabric_metadata.next_id"
36264 },
36265 {
36266 "field_bit": 24,
36267 "field_name": "fabric_metadata.next_id"
36268 },
36269 {
36270 "field_bit": 26,
36271 "field_name": "fabric_metadata.next_id"
36272 },
36273 {
36274 "field_bit": 27,
36275 "field_name": "fabric_metadata.next_id"
36276 },
36277 {
36278 "field_bit": 29,
36279 "field_name": "fabric_metadata.next_id"
36280 },
36281 {
36282 "field_bit": 31,
36283 "field_name": "fabric_metadata.next_id"
36284 },
36285 {
36286 "field_bit": 8,
36287 "field_name": "fabric_metadata.next_id"
36288 },
36289 {
36290 "field_bit": 12,
36291 "field_name": "fabric_metadata.next_id"
36292 },
36293 {
36294 "field_bit": 14,
36295 "field_name": "fabric_metadata.next_id"
36296 },
36297 {
36298 "field_bit": 15,
36299 "field_name": "fabric_metadata.next_id"
36300 }
36301 ]
36302 },
36303 {
36304 "hash_bit": 9,
36305 "seed": 0,
36306 "bits_to_xor": [
36307 {
36308 "field_bit": 16,
36309 "field_name": "fabric_metadata.next_id"
36310 },
36311 {
36312 "field_bit": 17,
36313 "field_name": "fabric_metadata.next_id"
36314 },
36315 {
36316 "field_bit": 18,
36317 "field_name": "fabric_metadata.next_id"
36318 },
36319 {
36320 "field_bit": 19,
36321 "field_name": "fabric_metadata.next_id"
36322 },
36323 {
36324 "field_bit": 21,
36325 "field_name": "fabric_metadata.next_id"
36326 },
36327 {
36328 "field_bit": 22,
36329 "field_name": "fabric_metadata.next_id"
36330 },
36331 {
36332 "field_bit": 23,
36333 "field_name": "fabric_metadata.next_id"
36334 },
36335 {
36336 "field_bit": 25,
36337 "field_name": "fabric_metadata.next_id"
36338 },
36339 {
36340 "field_bit": 29,
36341 "field_name": "fabric_metadata.next_id"
36342 },
36343 {
36344 "field_bit": 30,
36345 "field_name": "fabric_metadata.next_id"
36346 },
36347 {
36348 "field_bit": 9,
36349 "field_name": "fabric_metadata.next_id"
36350 }
36351 ]
36352 },
36353 {
36354 "hash_bit": 10,
36355 "seed": 0,
36356 "bits_to_xor": [
36357 {
36358 "field_bit": 16,
36359 "field_name": "fabric_metadata.next_id"
36360 },
36361 {
36362 "field_bit": 18,
36363 "field_name": "fabric_metadata.next_id"
36364 },
36365 {
36366 "field_bit": 19,
36367 "field_name": "fabric_metadata.next_id"
36368 },
36369 {
36370 "field_bit": 23,
36371 "field_name": "fabric_metadata.next_id"
36372 },
36373 {
36374 "field_bit": 24,
36375 "field_name": "fabric_metadata.next_id"
36376 },
36377 {
36378 "field_bit": 25,
36379 "field_name": "fabric_metadata.next_id"
36380 },
36381 {
36382 "field_bit": 26,
36383 "field_name": "fabric_metadata.next_id"
36384 },
36385 {
36386 "field_bit": 27,
36387 "field_name": "fabric_metadata.next_id"
36388 },
36389 {
36390 "field_bit": 28,
36391 "field_name": "fabric_metadata.next_id"
36392 },
36393 {
36394 "field_bit": 29,
36395 "field_name": "fabric_metadata.next_id"
36396 },
36397 {
36398 "field_bit": 0,
36399 "field_name": "fabric_metadata.next_id"
36400 },
36401 {
36402 "field_bit": 11,
36403 "field_name": "fabric_metadata.next_id"
36404 },
36405 {
36406 "field_bit": 14,
36407 "field_name": "fabric_metadata.next_id"
36408 }
36409 ]
36410 },
36411 {
36412 "hash_bit": 11,
36413 "seed": 0,
36414 "bits_to_xor": [
36415 {
36416 "field_bit": 16,
36417 "field_name": "fabric_metadata.next_id"
36418 },
36419 {
36420 "field_bit": 25,
36421 "field_name": "fabric_metadata.next_id"
36422 },
36423 {
36424 "field_bit": 26,
36425 "field_name": "fabric_metadata.next_id"
36426 },
36427 {
36428 "field_bit": 27,
36429 "field_name": "fabric_metadata.next_id"
36430 },
36431 {
36432 "field_bit": 28,
36433 "field_name": "fabric_metadata.next_id"
36434 },
36435 {
36436 "field_bit": 29,
36437 "field_name": "fabric_metadata.next_id"
36438 },
36439 {
36440 "field_bit": 30,
36441 "field_name": "fabric_metadata.next_id"
36442 },
36443 {
36444 "field_bit": 31,
36445 "field_name": "fabric_metadata.next_id"
36446 },
36447 {
36448 "field_bit": 1,
36449 "field_name": "fabric_metadata.next_id"
36450 },
36451 {
36452 "field_bit": 10,
36453 "field_name": "fabric_metadata.next_id"
36454 },
36455 {
36456 "field_bit": 14,
36457 "field_name": "fabric_metadata.next_id"
36458 },
36459 {
36460 "field_bit": 15,
36461 "field_name": "fabric_metadata.next_id"
36462 }
36463 ]
36464 },
36465 {
36466 "hash_bit": 12,
36467 "seed": 0,
36468 "bits_to_xor": [
36469 {
36470 "field_bit": 16,
36471 "field_name": "fabric_metadata.next_id"
36472 },
36473 {
36474 "field_bit": 19,
36475 "field_name": "fabric_metadata.next_id"
36476 },
36477 {
36478 "field_bit": 20,
36479 "field_name": "fabric_metadata.next_id"
36480 },
36481 {
36482 "field_bit": 25,
36483 "field_name": "fabric_metadata.next_id"
36484 },
36485 {
36486 "field_bit": 28,
36487 "field_name": "fabric_metadata.next_id"
36488 },
36489 {
36490 "field_bit": 31,
36491 "field_name": "fabric_metadata.next_id"
36492 },
36493 {
36494 "field_bit": 2,
36495 "field_name": "fabric_metadata.next_id"
36496 },
36497 {
36498 "field_bit": 10,
36499 "field_name": "fabric_metadata.next_id"
36500 },
36501 {
36502 "field_bit": 12,
36503 "field_name": "fabric_metadata.next_id"
36504 },
36505 {
36506 "field_bit": 14,
36507 "field_name": "fabric_metadata.next_id"
36508 }
36509 ]
36510 },
36511 {
36512 "hash_bit": 13,
36513 "seed": 0,
36514 "bits_to_xor": [
36515 {
36516 "field_bit": 16,
36517 "field_name": "fabric_metadata.next_id"
36518 },
36519 {
36520 "field_bit": 18,
36521 "field_name": "fabric_metadata.next_id"
36522 },
36523 {
36524 "field_bit": 21,
36525 "field_name": "fabric_metadata.next_id"
36526 },
36527 {
36528 "field_bit": 24,
36529 "field_name": "fabric_metadata.next_id"
36530 },
36531 {
36532 "field_bit": 25,
36533 "field_name": "fabric_metadata.next_id"
36534 },
36535 {
36536 "field_bit": 27,
36537 "field_name": "fabric_metadata.next_id"
36538 },
36539 {
36540 "field_bit": 28,
36541 "field_name": "fabric_metadata.next_id"
36542 },
36543 {
36544 "field_bit": 29,
36545 "field_name": "fabric_metadata.next_id"
36546 },
36547 {
36548 "field_bit": 30,
36549 "field_name": "fabric_metadata.next_id"
36550 },
36551 {
36552 "field_bit": 31,
36553 "field_name": "fabric_metadata.next_id"
36554 },
36555 {
36556 "field_bit": 3,
36557 "field_name": "fabric_metadata.next_id"
36558 },
36559 {
36560 "field_bit": 10,
36561 "field_name": "fabric_metadata.next_id"
36562 },
36563 {
36564 "field_bit": 11,
36565 "field_name": "fabric_metadata.next_id"
36566 },
36567 {
36568 "field_bit": 13,
36569 "field_name": "fabric_metadata.next_id"
36570 },
36571 {
36572 "field_bit": 14,
36573 "field_name": "fabric_metadata.next_id"
36574 }
36575 ]
36576 },
36577 {
36578 "hash_bit": 14,
36579 "seed": 0,
36580 "bits_to_xor": [
36581 {
36582 "field_bit": 16,
36583 "field_name": "fabric_metadata.next_id"
36584 },
36585 {
36586 "field_bit": 17,
36587 "field_name": "fabric_metadata.next_id"
36588 },
36589 {
36590 "field_bit": 18,
36591 "field_name": "fabric_metadata.next_id"
36592 },
36593 {
36594 "field_bit": 20,
36595 "field_name": "fabric_metadata.next_id"
36596 },
36597 {
36598 "field_bit": 27,
36599 "field_name": "fabric_metadata.next_id"
36600 },
36601 {
36602 "field_bit": 30,
36603 "field_name": "fabric_metadata.next_id"
36604 },
36605 {
36606 "field_bit": 31,
36607 "field_name": "fabric_metadata.next_id"
36608 },
36609 {
36610 "field_bit": 4,
36611 "field_name": "fabric_metadata.next_id"
36612 },
36613 {
36614 "field_bit": 14,
36615 "field_name": "fabric_metadata.next_id"
36616 },
36617 {
36618 "field_bit": 15,
36619 "field_name": "fabric_metadata.next_id"
36620 }
36621 ]
36622 },
36623 {
36624 "hash_bit": 15,
36625 "seed": 0,
36626 "bits_to_xor": [
36627 {
36628 "field_bit": 16,
36629 "field_name": "fabric_metadata.next_id"
36630 },
36631 {
36632 "field_bit": 20,
36633 "field_name": "fabric_metadata.next_id"
36634 },
36635 {
36636 "field_bit": 21,
36637 "field_name": "fabric_metadata.next_id"
36638 },
36639 {
36640 "field_bit": 22,
36641 "field_name": "fabric_metadata.next_id"
36642 },
36643 {
36644 "field_bit": 24,
36645 "field_name": "fabric_metadata.next_id"
36646 },
36647 {
36648 "field_bit": 25,
36649 "field_name": "fabric_metadata.next_id"
36650 },
36651 {
36652 "field_bit": 26,
36653 "field_name": "fabric_metadata.next_id"
36654 },
36655 {
36656 "field_bit": 28,
36657 "field_name": "fabric_metadata.next_id"
36658 },
36659 {
36660 "field_bit": 30,
36661 "field_name": "fabric_metadata.next_id"
36662 },
36663 {
36664 "field_bit": 5,
36665 "field_name": "fabric_metadata.next_id"
36666 },
36667 {
36668 "field_bit": 11,
36669 "field_name": "fabric_metadata.next_id"
36670 },
36671 {
36672 "field_bit": 14,
36673 "field_name": "fabric_metadata.next_id"
36674 }
36675 ]
36676 },
36677 {
36678 "hash_bit": 16,
36679 "seed": 0,
36680 "bits_to_xor": [
36681 {
36682 "field_bit": 18,
36683 "field_name": "fabric_metadata.next_id"
36684 },
36685 {
36686 "field_bit": 19,
36687 "field_name": "fabric_metadata.next_id"
36688 },
36689 {
36690 "field_bit": 22,
36691 "field_name": "fabric_metadata.next_id"
36692 },
36693 {
36694 "field_bit": 23,
36695 "field_name": "fabric_metadata.next_id"
36696 },
36697 {
36698 "field_bit": 24,
36699 "field_name": "fabric_metadata.next_id"
36700 },
36701 {
36702 "field_bit": 25,
36703 "field_name": "fabric_metadata.next_id"
36704 },
36705 {
36706 "field_bit": 26,
36707 "field_name": "fabric_metadata.next_id"
36708 },
36709 {
36710 "field_bit": 28,
36711 "field_name": "fabric_metadata.next_id"
36712 },
36713 {
36714 "field_bit": 30,
36715 "field_name": "fabric_metadata.next_id"
36716 },
36717 {
36718 "field_bit": 31,
36719 "field_name": "fabric_metadata.next_id"
36720 },
36721 {
36722 "field_bit": 6,
36723 "field_name": "fabric_metadata.next_id"
36724 },
36725 {
36726 "field_bit": 13,
36727 "field_name": "fabric_metadata.next_id"
36728 },
36729 {
36730 "field_bit": 15,
36731 "field_name": "fabric_metadata.next_id"
36732 }
36733 ]
36734 },
36735 {
36736 "hash_bit": 17,
36737 "seed": 0,
36738 "bits_to_xor": [
36739 {
36740 "field_bit": 16,
36741 "field_name": "fabric_metadata.next_id"
36742 },
36743 {
36744 "field_bit": 17,
36745 "field_name": "fabric_metadata.next_id"
36746 },
36747 {
36748 "field_bit": 18,
36749 "field_name": "fabric_metadata.next_id"
36750 },
36751 {
36752 "field_bit": 19,
36753 "field_name": "fabric_metadata.next_id"
36754 },
36755 {
36756 "field_bit": 20,
36757 "field_name": "fabric_metadata.next_id"
36758 },
36759 {
36760 "field_bit": 21,
36761 "field_name": "fabric_metadata.next_id"
36762 },
36763 {
36764 "field_bit": 22,
36765 "field_name": "fabric_metadata.next_id"
36766 },
36767 {
36768 "field_bit": 25,
36769 "field_name": "fabric_metadata.next_id"
36770 },
36771 {
36772 "field_bit": 27,
36773 "field_name": "fabric_metadata.next_id"
36774 },
36775 {
36776 "field_bit": 30,
36777 "field_name": "fabric_metadata.next_id"
36778 },
36779 {
36780 "field_bit": 7,
36781 "field_name": "fabric_metadata.next_id"
36782 },
36783 {
36784 "field_bit": 10,
36785 "field_name": "fabric_metadata.next_id"
36786 },
36787 {
36788 "field_bit": 11,
36789 "field_name": "fabric_metadata.next_id"
36790 },
36791 {
36792 "field_bit": 12,
36793 "field_name": "fabric_metadata.next_id"
36794 },
36795 {
36796 "field_bit": 14,
36797 "field_name": "fabric_metadata.next_id"
36798 }
36799 ]
36800 },
36801 {
36802 "hash_bit": 18,
36803 "seed": 0,
36804 "bits_to_xor": [
36805 {
36806 "field_bit": 18,
36807 "field_name": "fabric_metadata.next_id"
36808 },
36809 {
36810 "field_bit": 21,
36811 "field_name": "fabric_metadata.next_id"
36812 },
36813 {
36814 "field_bit": 22,
36815 "field_name": "fabric_metadata.next_id"
36816 },
36817 {
36818 "field_bit": 24,
36819 "field_name": "fabric_metadata.next_id"
36820 },
36821 {
36822 "field_bit": 28,
36823 "field_name": "fabric_metadata.next_id"
36824 },
36825 {
36826 "field_bit": 29,
36827 "field_name": "fabric_metadata.next_id"
36828 },
36829 {
36830 "field_bit": 8,
36831 "field_name": "fabric_metadata.next_id"
36832 },
36833 {
36834 "field_bit": 10,
36835 "field_name": "fabric_metadata.next_id"
36836 },
36837 {
36838 "field_bit": 12,
36839 "field_name": "fabric_metadata.next_id"
36840 },
36841 {
36842 "field_bit": 13,
36843 "field_name": "fabric_metadata.next_id"
36844 },
36845 {
36846 "field_bit": 14,
36847 "field_name": "fabric_metadata.next_id"
36848 }
36849 ]
36850 },
36851 {
36852 "hash_bit": 19,
36853 "seed": 0,
36854 "bits_to_xor": [
36855 {
36856 "field_bit": 16,
36857 "field_name": "fabric_metadata.next_id"
36858 },
36859 {
36860 "field_bit": 17,
36861 "field_name": "fabric_metadata.next_id"
36862 },
36863 {
36864 "field_bit": 21,
36865 "field_name": "fabric_metadata.next_id"
36866 },
36867 {
36868 "field_bit": 23,
36869 "field_name": "fabric_metadata.next_id"
36870 },
36871 {
36872 "field_bit": 24,
36873 "field_name": "fabric_metadata.next_id"
36874 },
36875 {
36876 "field_bit": 26,
36877 "field_name": "fabric_metadata.next_id"
36878 },
36879 {
36880 "field_bit": 27,
36881 "field_name": "fabric_metadata.next_id"
36882 },
36883 {
36884 "field_bit": 29,
36885 "field_name": "fabric_metadata.next_id"
36886 },
36887 {
36888 "field_bit": 31,
36889 "field_name": "fabric_metadata.next_id"
36890 },
36891 {
36892 "field_bit": 9,
36893 "field_name": "fabric_metadata.next_id"
36894 },
36895 {
36896 "field_bit": 10,
36897 "field_name": "fabric_metadata.next_id"
36898 },
36899 {
36900 "field_bit": 11,
36901 "field_name": "fabric_metadata.next_id"
36902 },
36903 {
36904 "field_bit": 12,
36905 "field_name": "fabric_metadata.next_id"
36906 },
36907 {
36908 "field_bit": 13,
36909 "field_name": "fabric_metadata.next_id"
36910 }
36911 ]
36912 },
36913 {
36914 "hash_bit": 20,
36915 "seed": 0,
36916 "bits_to_xor": [
36917 {
36918 "field_bit": 19,
36919 "field_name": "fabric_metadata.next_id"
36920 },
36921 {
36922 "field_bit": 21,
36923 "field_name": "fabric_metadata.next_id"
36924 },
36925 {
36926 "field_bit": 23,
36927 "field_name": "fabric_metadata.next_id"
36928 },
36929 {
36930 "field_bit": 24,
36931 "field_name": "fabric_metadata.next_id"
36932 },
36933 {
36934 "field_bit": 25,
36935 "field_name": "fabric_metadata.next_id"
36936 },
36937 {
36938 "field_bit": 27,
36939 "field_name": "fabric_metadata.next_id"
36940 },
36941 {
36942 "field_bit": 28,
36943 "field_name": "fabric_metadata.next_id"
36944 },
36945 {
36946 "field_bit": 31,
36947 "field_name": "fabric_metadata.next_id"
36948 },
36949 {
36950 "field_bit": 0,
36951 "field_name": "fabric_metadata.next_id"
36952 },
36953 {
36954 "field_bit": 10,
36955 "field_name": "fabric_metadata.next_id"
36956 },
36957 {
36958 "field_bit": 12,
36959 "field_name": "fabric_metadata.next_id"
36960 },
36961 {
36962 "field_bit": 14,
36963 "field_name": "fabric_metadata.next_id"
36964 },
36965 {
36966 "field_bit": 15,
36967 "field_name": "fabric_metadata.next_id"
36968 }
36969 ]
36970 },
36971 {
36972 "hash_bit": 21,
36973 "seed": 0,
36974 "bits_to_xor": [
36975 {
36976 "field_bit": 16,
36977 "field_name": "fabric_metadata.next_id"
36978 },
36979 {
36980 "field_bit": 17,
36981 "field_name": "fabric_metadata.next_id"
36982 },
36983 {
36984 "field_bit": 19,
36985 "field_name": "fabric_metadata.next_id"
36986 },
36987 {
36988 "field_bit": 20,
36989 "field_name": "fabric_metadata.next_id"
36990 },
36991 {
36992 "field_bit": 21,
36993 "field_name": "fabric_metadata.next_id"
36994 },
36995 {
36996 "field_bit": 23,
36997 "field_name": "fabric_metadata.next_id"
36998 },
36999 {
37000 "field_bit": 24,
37001 "field_name": "fabric_metadata.next_id"
37002 },
37003 {
37004 "field_bit": 25,
37005 "field_name": "fabric_metadata.next_id"
37006 },
37007 {
37008 "field_bit": 26,
37009 "field_name": "fabric_metadata.next_id"
37010 },
37011 {
37012 "field_bit": 27,
37013 "field_name": "fabric_metadata.next_id"
37014 },
37015 {
37016 "field_bit": 29,
37017 "field_name": "fabric_metadata.next_id"
37018 },
37019 {
37020 "field_bit": 30,
37021 "field_name": "fabric_metadata.next_id"
37022 },
37023 {
37024 "field_bit": 31,
37025 "field_name": "fabric_metadata.next_id"
37026 },
37027 {
37028 "field_bit": 1,
37029 "field_name": "fabric_metadata.next_id"
37030 },
37031 {
37032 "field_bit": 13,
37033 "field_name": "fabric_metadata.next_id"
37034 }
37035 ]
37036 },
37037 {
37038 "hash_bit": 22,
37039 "seed": 0,
37040 "bits_to_xor": [
37041 {
37042 "field_bit": 16,
37043 "field_name": "fabric_metadata.next_id"
37044 },
37045 {
37046 "field_bit": 18,
37047 "field_name": "fabric_metadata.next_id"
37048 },
37049 {
37050 "field_bit": 19,
37051 "field_name": "fabric_metadata.next_id"
37052 },
37053 {
37054 "field_bit": 21,
37055 "field_name": "fabric_metadata.next_id"
37056 },
37057 {
37058 "field_bit": 22,
37059 "field_name": "fabric_metadata.next_id"
37060 },
37061 {
37062 "field_bit": 23,
37063 "field_name": "fabric_metadata.next_id"
37064 },
37065 {
37066 "field_bit": 25,
37067 "field_name": "fabric_metadata.next_id"
37068 },
37069 {
37070 "field_bit": 26,
37071 "field_name": "fabric_metadata.next_id"
37072 },
37073 {
37074 "field_bit": 27,
37075 "field_name": "fabric_metadata.next_id"
37076 },
37077 {
37078 "field_bit": 2,
37079 "field_name": "fabric_metadata.next_id"
37080 },
37081 {
37082 "field_bit": 10,
37083 "field_name": "fabric_metadata.next_id"
37084 },
37085 {
37086 "field_bit": 12,
37087 "field_name": "fabric_metadata.next_id"
37088 },
37089 {
37090 "field_bit": 14,
37091 "field_name": "fabric_metadata.next_id"
37092 }
37093 ]
37094 },
37095 {
37096 "hash_bit": 23,
37097 "seed": 0,
37098 "bits_to_xor": [
37099 {
37100 "field_bit": 16,
37101 "field_name": "fabric_metadata.next_id"
37102 },
37103 {
37104 "field_bit": 18,
37105 "field_name": "fabric_metadata.next_id"
37106 },
37107 {
37108 "field_bit": 19,
37109 "field_name": "fabric_metadata.next_id"
37110 },
37111 {
37112 "field_bit": 20,
37113 "field_name": "fabric_metadata.next_id"
37114 },
37115 {
37116 "field_bit": 21,
37117 "field_name": "fabric_metadata.next_id"
37118 },
37119 {
37120 "field_bit": 23,
37121 "field_name": "fabric_metadata.next_id"
37122 },
37123 {
37124 "field_bit": 24,
37125 "field_name": "fabric_metadata.next_id"
37126 },
37127 {
37128 "field_bit": 26,
37129 "field_name": "fabric_metadata.next_id"
37130 },
37131 {
37132 "field_bit": 27,
37133 "field_name": "fabric_metadata.next_id"
37134 },
37135 {
37136 "field_bit": 28,
37137 "field_name": "fabric_metadata.next_id"
37138 },
37139 {
37140 "field_bit": 3,
37141 "field_name": "fabric_metadata.next_id"
37142 },
37143 {
37144 "field_bit": 10,
37145 "field_name": "fabric_metadata.next_id"
37146 },
37147 {
37148 "field_bit": 12,
37149 "field_name": "fabric_metadata.next_id"
37150 },
37151 {
37152 "field_bit": 14,
37153 "field_name": "fabric_metadata.next_id"
37154 },
37155 {
37156 "field_bit": 15,
37157 "field_name": "fabric_metadata.next_id"
37158 }
37159 ]
37160 },
37161 {
37162 "hash_bit": 24,
37163 "seed": 0,
37164 "bits_to_xor": [
37165 {
37166 "field_bit": 19,
37167 "field_name": "fabric_metadata.next_id"
37168 },
37169 {
37170 "field_bit": 21,
37171 "field_name": "fabric_metadata.next_id"
37172 },
37173 {
37174 "field_bit": 22,
37175 "field_name": "fabric_metadata.next_id"
37176 },
37177 {
37178 "field_bit": 23,
37179 "field_name": "fabric_metadata.next_id"
37180 },
37181 {
37182 "field_bit": 24,
37183 "field_name": "fabric_metadata.next_id"
37184 },
37185 {
37186 "field_bit": 29,
37187 "field_name": "fabric_metadata.next_id"
37188 },
37189 {
37190 "field_bit": 4,
37191 "field_name": "fabric_metadata.next_id"
37192 },
37193 {
37194 "field_bit": 11,
37195 "field_name": "fabric_metadata.next_id"
37196 },
37197 {
37198 "field_bit": 13,
37199 "field_name": "fabric_metadata.next_id"
37200 },
37201 {
37202 "field_bit": 15,
37203 "field_name": "fabric_metadata.next_id"
37204 }
37205 ]
37206 },
37207 {
37208 "hash_bit": 25,
37209 "seed": 0,
37210 "bits_to_xor": [
37211 {
37212 "field_bit": 16,
37213 "field_name": "fabric_metadata.next_id"
37214 },
37215 {
37216 "field_bit": 19,
37217 "field_name": "fabric_metadata.next_id"
37218 },
37219 {
37220 "field_bit": 20,
37221 "field_name": "fabric_metadata.next_id"
37222 },
37223 {
37224 "field_bit": 21,
37225 "field_name": "fabric_metadata.next_id"
37226 },
37227 {
37228 "field_bit": 22,
37229 "field_name": "fabric_metadata.next_id"
37230 },
37231 {
37232 "field_bit": 24,
37233 "field_name": "fabric_metadata.next_id"
37234 },
37235 {
37236 "field_bit": 27,
37237 "field_name": "fabric_metadata.next_id"
37238 },
37239 {
37240 "field_bit": 28,
37241 "field_name": "fabric_metadata.next_id"
37242 },
37243 {
37244 "field_bit": 31,
37245 "field_name": "fabric_metadata.next_id"
37246 },
37247 {
37248 "field_bit": 5,
37249 "field_name": "fabric_metadata.next_id"
37250 },
37251 {
37252 "field_bit": 12,
37253 "field_name": "fabric_metadata.next_id"
37254 },
37255 {
37256 "field_bit": 15,
37257 "field_name": "fabric_metadata.next_id"
37258 }
37259 ]
37260 },
37261 {
37262 "hash_bit": 26,
37263 "seed": 0,
37264 "bits_to_xor": [
37265 {
37266 "field_bit": 16,
37267 "field_name": "fabric_metadata.next_id"
37268 },
37269 {
37270 "field_bit": 19,
37271 "field_name": "fabric_metadata.next_id"
37272 },
37273 {
37274 "field_bit": 26,
37275 "field_name": "fabric_metadata.next_id"
37276 },
37277 {
37278 "field_bit": 28,
37279 "field_name": "fabric_metadata.next_id"
37280 },
37281 {
37282 "field_bit": 30,
37283 "field_name": "fabric_metadata.next_id"
37284 },
37285 {
37286 "field_bit": 6,
37287 "field_name": "fabric_metadata.next_id"
37288 },
37289 {
37290 "field_bit": 13,
37291 "field_name": "fabric_metadata.next_id"
37292 },
37293 {
37294 "field_bit": 14,
37295 "field_name": "fabric_metadata.next_id"
37296 }
37297 ]
37298 },
37299 {
37300 "hash_bit": 27,
37301 "seed": 0,
37302 "bits_to_xor": [
37303 {
37304 "field_bit": 16,
37305 "field_name": "fabric_metadata.next_id"
37306 },
37307 {
37308 "field_bit": 18,
37309 "field_name": "fabric_metadata.next_id"
37310 },
37311 {
37312 "field_bit": 19,
37313 "field_name": "fabric_metadata.next_id"
37314 },
37315 {
37316 "field_bit": 22,
37317 "field_name": "fabric_metadata.next_id"
37318 },
37319 {
37320 "field_bit": 26,
37321 "field_name": "fabric_metadata.next_id"
37322 },
37323 {
37324 "field_bit": 28,
37325 "field_name": "fabric_metadata.next_id"
37326 },
37327 {
37328 "field_bit": 29,
37329 "field_name": "fabric_metadata.next_id"
37330 },
37331 {
37332 "field_bit": 7,
37333 "field_name": "fabric_metadata.next_id"
37334 },
37335 {
37336 "field_bit": 10,
37337 "field_name": "fabric_metadata.next_id"
37338 },
37339 {
37340 "field_bit": 15,
37341 "field_name": "fabric_metadata.next_id"
37342 }
37343 ]
37344 },
37345 {
37346 "hash_bit": 28,
37347 "seed": 0,
37348 "bits_to_xor": [
37349 {
37350 "field_bit": 18,
37351 "field_name": "fabric_metadata.next_id"
37352 },
37353 {
37354 "field_bit": 19,
37355 "field_name": "fabric_metadata.next_id"
37356 },
37357 {
37358 "field_bit": 25,
37359 "field_name": "fabric_metadata.next_id"
37360 },
37361 {
37362 "field_bit": 27,
37363 "field_name": "fabric_metadata.next_id"
37364 },
37365 {
37366 "field_bit": 28,
37367 "field_name": "fabric_metadata.next_id"
37368 },
37369 {
37370 "field_bit": 30,
37371 "field_name": "fabric_metadata.next_id"
37372 },
37373 {
37374 "field_bit": 8,
37375 "field_name": "fabric_metadata.next_id"
37376 },
37377 {
37378 "field_bit": 11,
37379 "field_name": "fabric_metadata.next_id"
37380 },
37381 {
37382 "field_bit": 12,
37383 "field_name": "fabric_metadata.next_id"
37384 },
37385 {
37386 "field_bit": 13,
37387 "field_name": "fabric_metadata.next_id"
37388 },
37389 {
37390 "field_bit": 14,
37391 "field_name": "fabric_metadata.next_id"
37392 }
37393 ]
37394 },
37395 {
37396 "hash_bit": 29,
37397 "seed": 0,
37398 "bits_to_xor": [
37399 {
37400 "field_bit": 23,
37401 "field_name": "fabric_metadata.next_id"
37402 },
37403 {
37404 "field_bit": 24,
37405 "field_name": "fabric_metadata.next_id"
37406 },
37407 {
37408 "field_bit": 25,
37409 "field_name": "fabric_metadata.next_id"
37410 },
37411 {
37412 "field_bit": 26,
37413 "field_name": "fabric_metadata.next_id"
37414 },
37415 {
37416 "field_bit": 27,
37417 "field_name": "fabric_metadata.next_id"
37418 },
37419 {
37420 "field_bit": 29,
37421 "field_name": "fabric_metadata.next_id"
37422 },
37423 {
37424 "field_bit": 30,
37425 "field_name": "fabric_metadata.next_id"
37426 },
37427 {
37428 "field_bit": 9,
37429 "field_name": "fabric_metadata.next_id"
37430 },
37431 {
37432 "field_bit": 10,
37433 "field_name": "fabric_metadata.next_id"
37434 },
37435 {
37436 "field_bit": 11,
37437 "field_name": "fabric_metadata.next_id"
37438 },
37439 {
37440 "field_bit": 12,
37441 "field_name": "fabric_metadata.next_id"
37442 },
37443 {
37444 "field_bit": 13,
37445 "field_name": "fabric_metadata.next_id"
37446 }
37447 ]
37448 }
37449 ]
37450 }
37451 ],
37452 "action_format": [
37453 {
37454 "action_name": "NoAction",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080037455 "action_handle": 536870945,
Carmelo Cascone04098db2018-01-30 18:10:32 -080037456 "table_name": "tbl_act_13",
37457 "next_table": 0,
37458 "next_table_full": 128,
37459 "vliw_instruction": 0,
37460 "vliw_instruction_full": 67,
37461 "immediate_fields": []
37462 },
37463 {
37464 "action_name": "next.l3_routing",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080037465 "action_handle": 536870942,
Carmelo Cascone04098db2018-01-30 18:10:32 -080037466 "table_name": "tbl_act_13",
37467 "next_table": 0,
37468 "next_table_full": 128,
37469 "vliw_instruction": 1,
37470 "vliw_instruction_full": 65,
37471 "immediate_fields": []
37472 },
37473 {
37474 "action_name": "next.mpls_routing_v4",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080037475 "action_handle": 536870943,
Carmelo Cascone04098db2018-01-30 18:10:32 -080037476 "table_name": "tbl_act_13",
37477 "next_table": 0,
37478 "next_table_full": 128,
37479 "vliw_instruction": 2,
37480 "vliw_instruction_full": 66,
37481 "immediate_fields": []
37482 },
37483 {
37484 "action_name": "next.mpls_routing_v6",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080037485 "action_handle": 536870944,
Carmelo Cascone04098db2018-01-30 18:10:32 -080037486 "table_name": "tbl_act_13",
37487 "next_table": 0,
37488 "next_table_full": 128,
37489 "vliw_instruction": 3,
37490 "vliw_instruction_full": 68,
37491 "immediate_fields": []
37492 }
37493 ],
37494 "result_physical_buses": [ 14 ],
37495 "pack_format": [
37496 {
37497 "memory_word_width": 128,
37498 "table_word_width": 128,
37499 "entries_per_table_word": 1,
37500 "number_memory_units_per_table_word": 1
37501 }
37502 ],
37503 "memory_resource_allocation": null,
37504 "ways": [
37505 {
37506 "stage_number": 7,
37507 "way_number": 0,
37508 "stage_table_type": "hash_way",
37509 "size": 1024,
37510 "pack_format": [
37511 {
37512 "memory_word_width": 128,
37513 "table_word_width": 128,
37514 "entries_per_table_word": 1,
37515 "number_memory_units_per_table_word": 1,
37516 "entries": [
37517 {
37518 "entry_number": 0,
37519 "fields": [
37520 {
37521 "start_bit": 0,
37522 "enable_pfe": false,
37523 "field_width": 2,
37524 "lsb_mem_word_idx": 0,
37525 "msb_mem_word_idx": 0,
37526 "source": "instr",
37527 "lsb_mem_word_offset": 0,
37528 "field_name": "action",
37529 "match_mode": "unused"
37530 },
37531 {
37532 "start_bit": 0,
37533 "enable_pfe": false,
37534 "field_width": 4,
37535 "lsb_mem_word_idx": 0,
37536 "msb_mem_word_idx": 0,
37537 "source": "version",
37538 "lsb_mem_word_offset": 112,
37539 "field_name": "version",
37540 "match_mode": "s1q0"
37541 },
37542 {
37543 "start_bit": 7,
37544 "enable_pfe": true,
37545 "field_width": 10,
37546 "lsb_mem_word_idx": 0,
37547 "msb_mem_word_idx": 0,
37548 "source": "sel_ptr",
37549 "lsb_mem_word_offset": 2,
37550 "field_name": "meter_addr",
37551 "match_mode": "unused"
37552 },
37553 {
37554 "start_bit": 5,
37555 "enable_pfe": false,
37556 "field_width": 11,
37557 "lsb_mem_word_idx": 0,
37558 "msb_mem_word_idx": 0,
37559 "source": "adt_ptr",
37560 "lsb_mem_word_offset": 13,
37561 "field_name": "action_addr",
37562 "match_mode": "unused"
37563 },
37564 {
37565 "field_name": "fabric_metadata.next_id",
37566 "source": "spec",
37567 "lsb_mem_word_offset": 42,
37568 "start_bit": 10,
37569 "immediate_name": "",
37570 "lsb_mem_word_idx": 0,
37571 "msb_mem_word_idx": 0,
37572 "match_mode": "unused",
37573 "enable_pfe": false,
37574 "field_width": 6
37575 },
37576 {
37577 "field_name": "fabric_metadata.next_id",
37578 "source": "spec",
37579 "lsb_mem_word_offset": 24,
37580 "start_bit": 16,
37581 "immediate_name": "",
37582 "lsb_mem_word_idx": 0,
37583 "msb_mem_word_idx": 0,
37584 "match_mode": "unused",
37585 "enable_pfe": false,
37586 "field_width": 8
37587 },
37588 {
37589 "field_name": "fabric_metadata.next_id",
37590 "source": "spec",
37591 "lsb_mem_word_offset": 32,
37592 "start_bit": 24,
37593 "immediate_name": "",
37594 "lsb_mem_word_idx": 0,
37595 "msb_mem_word_idx": 0,
37596 "match_mode": "unused",
37597 "enable_pfe": false,
37598 "field_width": 8
37599 },
37600 {
37601 "start_bit": 0,
37602 "enable_pfe": false,
37603 "field_width": 2,
37604 "lsb_mem_word_idx": 0,
37605 "msb_mem_word_idx": 0,
37606 "source": "zero",
37607 "lsb_mem_word_offset": 40,
37608 "field_name": "--padding_40_41--",
37609 "match_mode": "unused"
37610 },
37611 {
37612 "start_bit": 0,
37613 "enable_pfe": false,
37614 "field_width": 64,
37615 "lsb_mem_word_idx": 0,
37616 "msb_mem_word_idx": 0,
37617 "source": "zero",
37618 "lsb_mem_word_offset": 48,
37619 "field_name": "--padding_48_111--",
37620 "match_mode": "unused"
37621 },
37622 {
37623 "start_bit": 0,
37624 "enable_pfe": false,
37625 "field_width": 12,
37626 "lsb_mem_word_idx": 0,
37627 "msb_mem_word_idx": 0,
37628 "source": "zero",
37629 "lsb_mem_word_offset": 116,
37630 "field_name": "--padding_116_127--",
37631 "match_mode": "unused"
37632 }
37633 ]
37634 }
37635 ]
37636 }
37637 ],
37638 "memory_resource_allocation": {
37639 "hash_function_id": 0,
37640 "hash_entry_bit_lo": 0,
37641 "hash_entry_bit_hi": 9,
37642 "number_entry_bits": 10,
37643 "hash_select_bit_hi": 40,
37644 "hash_select_bit_lo": 40,
37645 "number_select_bits": 0,
37646 "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
37647 }
37648 },
37649 {
37650 "stage_number": 7,
37651 "way_number": 1,
37652 "stage_table_type": "hash_way",
37653 "size": 1024,
37654 "pack_format": [
37655 {
37656 "memory_word_width": 128,
37657 "table_word_width": 128,
37658 "entries_per_table_word": 1,
37659 "number_memory_units_per_table_word": 1,
37660 "entries": [
37661 {
37662 "entry_number": 0,
37663 "fields": [
37664 {
37665 "start_bit": 0,
37666 "enable_pfe": false,
37667 "field_width": 2,
37668 "lsb_mem_word_idx": 0,
37669 "msb_mem_word_idx": 0,
37670 "source": "instr",
37671 "lsb_mem_word_offset": 0,
37672 "field_name": "action",
37673 "match_mode": "unused"
37674 },
37675 {
37676 "start_bit": 0,
37677 "enable_pfe": false,
37678 "field_width": 4,
37679 "lsb_mem_word_idx": 0,
37680 "msb_mem_word_idx": 0,
37681 "source": "version",
37682 "lsb_mem_word_offset": 112,
37683 "field_name": "version",
37684 "match_mode": "s1q0"
37685 },
37686 {
37687 "start_bit": 7,
37688 "enable_pfe": true,
37689 "field_width": 10,
37690 "lsb_mem_word_idx": 0,
37691 "msb_mem_word_idx": 0,
37692 "source": "sel_ptr",
37693 "lsb_mem_word_offset": 2,
37694 "field_name": "meter_addr",
37695 "match_mode": "unused"
37696 },
37697 {
37698 "start_bit": 5,
37699 "enable_pfe": false,
37700 "field_width": 11,
37701 "lsb_mem_word_idx": 0,
37702 "msb_mem_word_idx": 0,
37703 "source": "adt_ptr",
37704 "lsb_mem_word_offset": 13,
37705 "field_name": "action_addr",
37706 "match_mode": "unused"
37707 },
37708 {
37709 "field_name": "fabric_metadata.next_id",
37710 "source": "spec",
37711 "lsb_mem_word_offset": 42,
37712 "start_bit": 10,
37713 "immediate_name": "",
37714 "lsb_mem_word_idx": 0,
37715 "msb_mem_word_idx": 0,
37716 "match_mode": "unused",
37717 "enable_pfe": false,
37718 "field_width": 6
37719 },
37720 {
37721 "field_name": "fabric_metadata.next_id",
37722 "source": "spec",
37723 "lsb_mem_word_offset": 24,
37724 "start_bit": 16,
37725 "immediate_name": "",
37726 "lsb_mem_word_idx": 0,
37727 "msb_mem_word_idx": 0,
37728 "match_mode": "unused",
37729 "enable_pfe": false,
37730 "field_width": 8
37731 },
37732 {
37733 "field_name": "fabric_metadata.next_id",
37734 "source": "spec",
37735 "lsb_mem_word_offset": 32,
37736 "start_bit": 24,
37737 "immediate_name": "",
37738 "lsb_mem_word_idx": 0,
37739 "msb_mem_word_idx": 0,
37740 "match_mode": "unused",
37741 "enable_pfe": false,
37742 "field_width": 8
37743 },
37744 {
37745 "start_bit": 0,
37746 "enable_pfe": false,
37747 "field_width": 2,
37748 "lsb_mem_word_idx": 0,
37749 "msb_mem_word_idx": 0,
37750 "source": "zero",
37751 "lsb_mem_word_offset": 40,
37752 "field_name": "--padding_40_41--",
37753 "match_mode": "unused"
37754 },
37755 {
37756 "start_bit": 0,
37757 "enable_pfe": false,
37758 "field_width": 64,
37759 "lsb_mem_word_idx": 0,
37760 "msb_mem_word_idx": 0,
37761 "source": "zero",
37762 "lsb_mem_word_offset": 48,
37763 "field_name": "--padding_48_111--",
37764 "match_mode": "unused"
37765 },
37766 {
37767 "start_bit": 0,
37768 "enable_pfe": false,
37769 "field_width": 12,
37770 "lsb_mem_word_idx": 0,
37771 "msb_mem_word_idx": 0,
37772 "source": "zero",
37773 "lsb_mem_word_offset": 116,
37774 "field_name": "--padding_116_127--",
37775 "match_mode": "unused"
37776 }
37777 ]
37778 }
37779 ]
37780 }
37781 ],
37782 "memory_resource_allocation": {
37783 "hash_function_id": 0,
37784 "hash_entry_bit_lo": 10,
37785 "hash_entry_bit_hi": 19,
37786 "number_entry_bits": 10,
37787 "hash_select_bit_hi": 40,
37788 "hash_select_bit_lo": 40,
37789 "number_select_bits": 0,
37790 "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
37791 }
37792 },
37793 {
37794 "stage_number": 7,
37795 "way_number": 2,
37796 "stage_table_type": "hash_way",
37797 "size": 1024,
37798 "pack_format": [
37799 {
37800 "memory_word_width": 128,
37801 "table_word_width": 128,
37802 "entries_per_table_word": 1,
37803 "number_memory_units_per_table_word": 1,
37804 "entries": [
37805 {
37806 "entry_number": 0,
37807 "fields": [
37808 {
37809 "start_bit": 0,
37810 "enable_pfe": false,
37811 "field_width": 2,
37812 "lsb_mem_word_idx": 0,
37813 "msb_mem_word_idx": 0,
37814 "source": "instr",
37815 "lsb_mem_word_offset": 0,
37816 "field_name": "action",
37817 "match_mode": "unused"
37818 },
37819 {
37820 "start_bit": 0,
37821 "enable_pfe": false,
37822 "field_width": 4,
37823 "lsb_mem_word_idx": 0,
37824 "msb_mem_word_idx": 0,
37825 "source": "version",
37826 "lsb_mem_word_offset": 112,
37827 "field_name": "version",
37828 "match_mode": "s1q0"
37829 },
37830 {
37831 "start_bit": 7,
37832 "enable_pfe": true,
37833 "field_width": 10,
37834 "lsb_mem_word_idx": 0,
37835 "msb_mem_word_idx": 0,
37836 "source": "sel_ptr",
37837 "lsb_mem_word_offset": 2,
37838 "field_name": "meter_addr",
37839 "match_mode": "unused"
37840 },
37841 {
37842 "start_bit": 5,
37843 "enable_pfe": false,
37844 "field_width": 11,
37845 "lsb_mem_word_idx": 0,
37846 "msb_mem_word_idx": 0,
37847 "source": "adt_ptr",
37848 "lsb_mem_word_offset": 13,
37849 "field_name": "action_addr",
37850 "match_mode": "unused"
37851 },
37852 {
37853 "field_name": "fabric_metadata.next_id",
37854 "source": "spec",
37855 "lsb_mem_word_offset": 42,
37856 "start_bit": 10,
37857 "immediate_name": "",
37858 "lsb_mem_word_idx": 0,
37859 "msb_mem_word_idx": 0,
37860 "match_mode": "unused",
37861 "enable_pfe": false,
37862 "field_width": 6
37863 },
37864 {
37865 "field_name": "fabric_metadata.next_id",
37866 "source": "spec",
37867 "lsb_mem_word_offset": 24,
37868 "start_bit": 16,
37869 "immediate_name": "",
37870 "lsb_mem_word_idx": 0,
37871 "msb_mem_word_idx": 0,
37872 "match_mode": "unused",
37873 "enable_pfe": false,
37874 "field_width": 8
37875 },
37876 {
37877 "field_name": "fabric_metadata.next_id",
37878 "source": "spec",
37879 "lsb_mem_word_offset": 32,
37880 "start_bit": 24,
37881 "immediate_name": "",
37882 "lsb_mem_word_idx": 0,
37883 "msb_mem_word_idx": 0,
37884 "match_mode": "unused",
37885 "enable_pfe": false,
37886 "field_width": 8
37887 },
37888 {
37889 "start_bit": 0,
37890 "enable_pfe": false,
37891 "field_width": 2,
37892 "lsb_mem_word_idx": 0,
37893 "msb_mem_word_idx": 0,
37894 "source": "zero",
37895 "lsb_mem_word_offset": 40,
37896 "field_name": "--padding_40_41--",
37897 "match_mode": "unused"
37898 },
37899 {
37900 "start_bit": 0,
37901 "enable_pfe": false,
37902 "field_width": 64,
37903 "lsb_mem_word_idx": 0,
37904 "msb_mem_word_idx": 0,
37905 "source": "zero",
37906 "lsb_mem_word_offset": 48,
37907 "field_name": "--padding_48_111--",
37908 "match_mode": "unused"
37909 },
37910 {
37911 "start_bit": 0,
37912 "enable_pfe": false,
37913 "field_width": 12,
37914 "lsb_mem_word_idx": 0,
37915 "msb_mem_word_idx": 0,
37916 "source": "zero",
37917 "lsb_mem_word_offset": 116,
37918 "field_name": "--padding_116_127--",
37919 "match_mode": "unused"
37920 }
37921 ]
37922 }
37923 ]
37924 }
37925 ],
37926 "memory_resource_allocation": {
37927 "hash_function_id": 0,
37928 "hash_entry_bit_lo": 20,
37929 "hash_entry_bit_hi": 29,
37930 "number_entry_bits": 10,
37931 "hash_select_bit_hi": 40,
37932 "hash_select_bit_lo": 40,
37933 "number_select_bits": 0,
37934 "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
37935 }
37936 }
37937 ]
37938 }
37939 ],
37940 "match_type": "exact",
37941 "uses_dynamic_key_masks": false
37942 },
37943 "actions": [
37944 {
37945 "name": "NoAction",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080037946 "handle": 536870945,
Carmelo Cascone04098db2018-01-30 18:10:32 -080037947 "indirect_resources": [],
37948 "allowed_as_default_action": true,
37949 "disallowed_as_default_action_reason": "",
37950 "p4_parameters": [],
37951 "override_meter_addr": false,
37952 "override_meter_addr_pfe": false,
37953 "override_meter_full_addr": 0,
37954 "override_stat_addr": false,
37955 "override_stat_addr_pfe": false,
37956 "override_stat_full_addr": 0,
37957 "override_stateful_addr": false,
37958 "override_stateful_addr_pfe": false,
37959 "override_stateful_full_addr": 0,
37960 "primitives": []
37961 },
37962 {
37963 "name": "next.l3_routing",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080037964 "handle": 536870942,
Carmelo Cascone04098db2018-01-30 18:10:32 -080037965 "indirect_resources": [],
37966 "allowed_as_default_action": true,
37967 "disallowed_as_default_action_reason": "",
37968 "p4_parameters": [
37969 {
37970 "name": "port_num",
37971 "start_bit": 0,
37972 "position": 0,
37973 "bit_width": 9
37974 },
37975 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
37976 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 }
37977 ],
37978 "override_meter_addr": false,
37979 "override_meter_addr_pfe": false,
37980 "override_meter_full_addr": 0,
37981 "override_stat_addr": false,
37982 "override_stat_addr_pfe": false,
37983 "override_stat_full_addr": 0,
37984 "override_stateful_addr": false,
37985 "override_stateful_addr_pfe": false,
37986 "override_stateful_full_addr": 0,
37987 "primitives": [
37988 {
37989 "name": "ModifyFieldPrimitive",
37990 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
37991 "src": [
37992 { "type": "action_param", "name": "port_num" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080037993 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080037994 ]
37995 },
37996 {
37997 "name": "ModifyFieldPrimitive",
37998 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
37999 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
38000 },
38001 {
38002 "name": "ModifyFieldPrimitive",
38003 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
38004 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
38005 },
38006 {
38007 "name": "ModifyFieldPrimitive",
38008 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
38009 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
38010 },
38011 {
38012 "name": "ModifyFieldPrimitive",
38013 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
38014 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
38015 }
38016 ]
38017 },
38018 {
38019 "name": "next.mpls_routing_v4",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038020 "handle": 536870943,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038021 "indirect_resources": [],
38022 "allowed_as_default_action": true,
38023 "disallowed_as_default_action_reason": "",
38024 "p4_parameters": [
38025 {
38026 "name": "port_num",
38027 "start_bit": 0,
38028 "position": 0,
38029 "bit_width": 9
38030 },
38031 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
38032 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 },
38033 {
38034 "name": "label",
38035 "start_bit": 105,
38036 "position": 3,
38037 "bit_width": 20
38038 }
38039 ],
38040 "override_meter_addr": false,
38041 "override_meter_addr_pfe": false,
38042 "override_meter_full_addr": 0,
38043 "override_stat_addr": false,
38044 "override_stat_addr_pfe": false,
38045 "override_stat_full_addr": 0,
38046 "override_stateful_addr": false,
38047 "override_stateful_addr_pfe": false,
38048 "override_stateful_full_addr": 0,
38049 "primitives": [
38050 {
38051 "name": "ModifyFieldPrimitive",
38052 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
38053 "src": [
38054 { "type": "action_param", "name": "port_num" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038055 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080038056 ]
38057 },
38058 {
38059 "name": "ModifyFieldPrimitive",
38060 "dest": { "type": "phv", "name": "mpls.$valid" },
38061 "src": [
38062 { "type": "immmediate", "name": "1" },
38063 { "type": "phv", "name": "B7" }
38064 ]
38065 },
38066 {
38067 "name": "ModifyFieldPrimitive",
38068 "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
38069 "src": [ { "immediate": "34887" } ]
38070 },
38071 {
38072 "name": "ModifyFieldPrimitive",
38073 "dest": { "type": "phv", "name": "mpls.ttl" },
38074 "src": [ { "immediate": "64" } ]
38075 },
38076 {
38077 "name": "ModifyFieldPrimitive",
38078 "dest": { "type": "phv", "name": "mpls.label.4-19" },
38079 "src": [ { "type": "action_param", "name": "label.4-19" } ]
38080 },
38081 {
38082 "name": "ModifyFieldPrimitive",
38083 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
38084 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
38085 },
38086 {
38087 "name": "ModifyFieldPrimitive",
38088 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
38089 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
38090 },
38091 {
38092 "name": "ModifyFieldPrimitive",
38093 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
38094 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
38095 },
38096 {
38097 "name": "ModifyFieldPrimitive",
38098 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
38099 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
38100 },
38101 {
38102 "name": "ModifyFieldPrimitive",
38103 "dest": { "type": "phv", "name": "B2" },
38104 "src": [ { "type": "action_param", "name": "$data0" } ]
38105 }
38106 ]
38107 },
38108 {
38109 "name": "next.mpls_routing_v6",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038110 "handle": 536870944,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038111 "indirect_resources": [],
38112 "allowed_as_default_action": true,
38113 "disallowed_as_default_action_reason": "",
38114 "p4_parameters": [
38115 {
38116 "name": "port_num",
38117 "start_bit": 0,
38118 "position": 0,
38119 "bit_width": 9
38120 },
38121 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
38122 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 },
38123 {
38124 "name": "label",
38125 "start_bit": 105,
38126 "position": 3,
38127 "bit_width": 20
38128 }
38129 ],
38130 "override_meter_addr": false,
38131 "override_meter_addr_pfe": false,
38132 "override_meter_full_addr": 0,
38133 "override_stat_addr": false,
38134 "override_stat_addr_pfe": false,
38135 "override_stat_full_addr": 0,
38136 "override_stateful_addr": false,
38137 "override_stateful_addr_pfe": false,
38138 "override_stateful_full_addr": 0,
38139 "primitives": [
38140 {
38141 "name": "ModifyFieldPrimitive",
38142 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
38143 "src": [
38144 { "type": "action_param", "name": "port_num" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038145 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080038146 ]
38147 },
38148 {
38149 "name": "ModifyFieldPrimitive",
38150 "dest": { "type": "phv", "name": "mpls.$valid" },
38151 "src": [
38152 { "type": "immmediate", "name": "1" },
38153 { "type": "phv", "name": "B7" }
38154 ]
38155 },
38156 {
38157 "name": "ModifyFieldPrimitive",
38158 "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
38159 "src": [ { "immediate": "34887" } ]
38160 },
38161 {
38162 "name": "ModifyFieldPrimitive",
38163 "dest": { "type": "phv", "name": "mpls.ttl" },
38164 "src": [ { "immediate": "64" } ]
38165 },
38166 {
38167 "name": "ModifyFieldPrimitive",
38168 "dest": { "type": "phv", "name": "mpls.label.4-19" },
38169 "src": [ { "type": "action_param", "name": "label.4-19" } ]
38170 },
38171 {
38172 "name": "ModifyFieldPrimitive",
38173 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
38174 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
38175 },
38176 {
38177 "name": "ModifyFieldPrimitive",
38178 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
38179 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
38180 },
38181 {
38182 "name": "ModifyFieldPrimitive",
38183 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
38184 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
38185 },
38186 {
38187 "name": "ModifyFieldPrimitive",
38188 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
38189 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
38190 },
38191 {
38192 "name": "ModifyFieldPrimitive",
38193 "dest": { "type": "phv", "name": "B2" },
38194 "src": [ { "type": "action_param", "name": "$data0" } ]
38195 }
38196 ]
38197 }
38198 ]
38199 },
38200 {
38201 "direction": "ingress",
38202 "handle": 50331649,
38203 "name": "next.ecmp_selector",
38204 "table_type": "selection",
38205 "size": 1024,
38206 "selection_type": "fair",
38207 "how_referenced": "indirect",
38208 "max_port_pool_size": 120,
38209 "bound_to_action_data_table_handle": 33554434,
38210 "stage_tables": [
38211 {
38212 "stage_number": 7,
38213 "size": 1024,
38214 "stage_table_type": "selection",
38215 "logical_table_id": 2,
38216 "pack_format": [
38217 {
38218 "table_word_width": 128,
38219 "memory_word_width": 128,
38220 "entries_per_table_word": 1,
38221 "number_memory_units_per_table_word": 1
38222 }
38223 ],
38224 "memory_resource_allocation": {
38225 "memory_type": "sram",
38226 "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 0 ] } ],
38227 "spare_bank_memory_unit": 91
38228 },
38229 "meter_alu_index": 3
38230 }
38231 ]
38232 },
38233 {
38234 "direction": "ingress",
38235 "handle": 33554434,
38236 "name": "next.ecmp_selector",
38237 "table_type": "action",
38238 "size": 64,
38239 "stage_tables": [
38240 {
38241 "stage_number": 7,
38242 "size": 262144,
38243 "stage_table_type": "action_data",
38244 "logical_table_id": 2,
38245 "pack_format": [
38246 {
38247 "memory_word_width": 128,
38248 "table_word_width": 256,
38249 "entries_per_table_word": 1,
38250 "number_memory_units_per_table_word": 2,
38251 "entries": [
38252 {
38253 "entry_number": 0,
38254 "fields": [
38255 {
38256 "start_bit": 0,
38257 "field_width": 256,
38258 "lsb_mem_word_idx": 0,
38259 "msb_mem_word_idx": 1,
38260 "source": "zero",
38261 "lsb_mem_word_offset": 0,
38262 "field_name": "--padding--"
38263 }
38264 ]
38265 }
38266 ],
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038267 "action_handle": 536870945
Carmelo Cascone04098db2018-01-30 18:10:32 -080038268 },
38269 {
38270 "memory_word_width": 128,
38271 "table_word_width": 256,
38272 "entries_per_table_word": 1,
38273 "number_memory_units_per_table_word": 2,
38274 "entries": [
38275 {
38276 "entry_number": 0,
38277 "fields": [
38278 {
38279 "start_bit": 0,
38280 "field_width": 9,
38281 "lsb_mem_word_idx": 0,
38282 "msb_mem_word_idx": 0,
38283 "source": "spec",
38284 "lsb_mem_word_offset": 48,
38285 "field_name": "port_num"
38286 },
38287 {
38288 "start_bit": 0,
38289 "field_width": 16,
38290 "lsb_mem_word_idx": 0,
38291 "msb_mem_word_idx": 0,
38292 "source": "spec",
38293 "lsb_mem_word_offset": 64,
38294 "field_name": "dmac"
38295 },
38296 {
38297 "start_bit": 0,
38298 "field_width": 16,
38299 "lsb_mem_word_idx": 0,
38300 "msb_mem_word_idx": 0,
38301 "source": "spec",
38302 "lsb_mem_word_offset": 80,
38303 "field_name": "smac"
38304 },
38305 {
38306 "start_bit": 16,
38307 "field_width": 32,
38308 "lsb_mem_word_idx": 1,
38309 "msb_mem_word_idx": 1,
38310 "source": "spec",
38311 "lsb_mem_word_offset": 64,
38312 "field_name": "dmac"
38313 },
38314 {
38315 "start_bit": 16,
38316 "field_width": 32,
38317 "lsb_mem_word_idx": 1,
38318 "msb_mem_word_idx": 1,
38319 "source": "spec",
38320 "lsb_mem_word_offset": 96,
38321 "field_name": "smac"
38322 },
38323 {
38324 "start_bit": 0,
38325 "field_width": 48,
38326 "lsb_mem_word_idx": 0,
38327 "msb_mem_word_idx": 0,
38328 "source": "zero",
38329 "lsb_mem_word_offset": 0,
38330 "field_name": "--padding_0_47--"
38331 },
38332 {
38333 "start_bit": 0,
38334 "field_width": 7,
38335 "lsb_mem_word_idx": 0,
38336 "msb_mem_word_idx": 0,
38337 "source": "zero",
38338 "lsb_mem_word_offset": 57,
38339 "field_name": "--padding_57_63--"
38340 },
38341 {
38342 "start_bit": 0,
38343 "field_width": 96,
38344 "lsb_mem_word_idx": 0,
38345 "msb_mem_word_idx": 1,
38346 "source": "zero",
38347 "lsb_mem_word_offset": 96,
38348 "field_name": "--padding_96_191--"
38349 }
38350 ]
38351 }
38352 ],
38353 "action_handle": 536870942
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038354 },
38355 {
38356 "memory_word_width": 128,
38357 "table_word_width": 256,
38358 "entries_per_table_word": 1,
38359 "number_memory_units_per_table_word": 2,
38360 "entries": [
38361 {
38362 "entry_number": 0,
38363 "fields": [
38364 {
38365 "start_bit": 0,
38366 "field_width": 3,
38367 "lsb_mem_word_idx": 0,
38368 "msb_mem_word_idx": 0,
38369 "source": "constant",
38370 "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 3 } ],
38371 "lsb_mem_word_offset": 1,
38372 "field_name": "$constant0"
38373 },
38374 {
38375 "start_bit": 0,
38376 "field_width": 1,
38377 "lsb_mem_word_idx": 0,
38378 "msb_mem_word_idx": 0,
38379 "source": "constant",
38380 "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
38381 "lsb_mem_word_offset": 0,
38382 "field_name": "$constant1"
38383 },
38384 {
38385 "start_bit": 0,
38386 "field_width": 4,
38387 "lsb_mem_word_idx": 0,
38388 "msb_mem_word_idx": 0,
38389 "source": "spec",
38390 "lsb_mem_word_offset": 4,
38391 "field_name": "label"
38392 },
38393 {
38394 "start_bit": 0,
38395 "field_width": 9,
38396 "lsb_mem_word_idx": 0,
38397 "msb_mem_word_idx": 0,
38398 "source": "spec",
38399 "lsb_mem_word_offset": 32,
38400 "field_name": "port_num"
38401 },
38402 {
38403 "start_bit": 4,
38404 "field_width": 16,
38405 "lsb_mem_word_idx": 0,
38406 "msb_mem_word_idx": 0,
38407 "source": "spec",
38408 "lsb_mem_word_offset": 48,
38409 "field_name": "label"
38410 },
38411 {
38412 "start_bit": 0,
38413 "field_width": 16,
38414 "lsb_mem_word_idx": 0,
38415 "msb_mem_word_idx": 0,
38416 "source": "spec",
38417 "lsb_mem_word_offset": 64,
38418 "field_name": "dmac"
38419 },
38420 {
38421 "start_bit": 0,
38422 "field_width": 16,
38423 "lsb_mem_word_idx": 0,
38424 "msb_mem_word_idx": 0,
38425 "source": "spec",
38426 "lsb_mem_word_offset": 80,
38427 "field_name": "smac"
38428 },
38429 {
38430 "start_bit": 16,
38431 "field_width": 32,
38432 "lsb_mem_word_idx": 1,
38433 "msb_mem_word_idx": 1,
38434 "source": "spec",
38435 "lsb_mem_word_offset": 64,
38436 "field_name": "dmac"
38437 },
38438 {
38439 "start_bit": 16,
38440 "field_width": 32,
38441 "lsb_mem_word_idx": 1,
38442 "msb_mem_word_idx": 1,
38443 "source": "spec",
38444 "lsb_mem_word_offset": 96,
38445 "field_name": "smac"
38446 },
38447 {
38448 "start_bit": 0,
38449 "field_width": 24,
38450 "lsb_mem_word_idx": 0,
38451 "msb_mem_word_idx": 0,
38452 "source": "zero",
38453 "lsb_mem_word_offset": 8,
38454 "field_name": "--padding_8_31--"
38455 },
38456 {
38457 "start_bit": 0,
38458 "field_width": 7,
38459 "lsb_mem_word_idx": 0,
38460 "msb_mem_word_idx": 0,
38461 "source": "zero",
38462 "lsb_mem_word_offset": 41,
38463 "field_name": "--padding_41_47--"
38464 },
38465 {
38466 "start_bit": 0,
38467 "field_width": 96,
38468 "lsb_mem_word_idx": 0,
38469 "msb_mem_word_idx": 1,
38470 "source": "zero",
38471 "lsb_mem_word_offset": 96,
38472 "field_name": "--padding_96_191--"
38473 }
38474 ]
38475 }
38476 ],
38477 "action_handle": 536870943
38478 },
38479 {
38480 "memory_word_width": 128,
38481 "table_word_width": 256,
38482 "entries_per_table_word": 1,
38483 "number_memory_units_per_table_word": 2,
38484 "entries": [
38485 {
38486 "entry_number": 0,
38487 "fields": [
38488 {
38489 "start_bit": 0,
38490 "field_width": 3,
38491 "lsb_mem_word_idx": 0,
38492 "msb_mem_word_idx": 0,
38493 "source": "constant",
38494 "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 3 } ],
38495 "lsb_mem_word_offset": 1,
38496 "field_name": "$constant0"
38497 },
38498 {
38499 "start_bit": 0,
38500 "field_width": 1,
38501 "lsb_mem_word_idx": 0,
38502 "msb_mem_word_idx": 0,
38503 "source": "constant",
38504 "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
38505 "lsb_mem_word_offset": 0,
38506 "field_name": "$constant1"
38507 },
38508 {
38509 "start_bit": 0,
38510 "field_width": 4,
38511 "lsb_mem_word_idx": 0,
38512 "msb_mem_word_idx": 0,
38513 "source": "spec",
38514 "lsb_mem_word_offset": 4,
38515 "field_name": "label"
38516 },
38517 {
38518 "start_bit": 0,
38519 "field_width": 9,
38520 "lsb_mem_word_idx": 0,
38521 "msb_mem_word_idx": 0,
38522 "source": "spec",
38523 "lsb_mem_word_offset": 32,
38524 "field_name": "port_num"
38525 },
38526 {
38527 "start_bit": 4,
38528 "field_width": 16,
38529 "lsb_mem_word_idx": 0,
38530 "msb_mem_word_idx": 0,
38531 "source": "spec",
38532 "lsb_mem_word_offset": 48,
38533 "field_name": "label"
38534 },
38535 {
38536 "start_bit": 0,
38537 "field_width": 16,
38538 "lsb_mem_word_idx": 0,
38539 "msb_mem_word_idx": 0,
38540 "source": "spec",
38541 "lsb_mem_word_offset": 64,
38542 "field_name": "dmac"
38543 },
38544 {
38545 "start_bit": 0,
38546 "field_width": 16,
38547 "lsb_mem_word_idx": 0,
38548 "msb_mem_word_idx": 0,
38549 "source": "spec",
38550 "lsb_mem_word_offset": 80,
38551 "field_name": "smac"
38552 },
38553 {
38554 "start_bit": 16,
38555 "field_width": 32,
38556 "lsb_mem_word_idx": 1,
38557 "msb_mem_word_idx": 1,
38558 "source": "spec",
38559 "lsb_mem_word_offset": 64,
38560 "field_name": "dmac"
38561 },
38562 {
38563 "start_bit": 16,
38564 "field_width": 32,
38565 "lsb_mem_word_idx": 1,
38566 "msb_mem_word_idx": 1,
38567 "source": "spec",
38568 "lsb_mem_word_offset": 96,
38569 "field_name": "smac"
38570 },
38571 {
38572 "start_bit": 0,
38573 "field_width": 24,
38574 "lsb_mem_word_idx": 0,
38575 "msb_mem_word_idx": 0,
38576 "source": "zero",
38577 "lsb_mem_word_offset": 8,
38578 "field_name": "--padding_8_31--"
38579 },
38580 {
38581 "start_bit": 0,
38582 "field_width": 7,
38583 "lsb_mem_word_idx": 0,
38584 "msb_mem_word_idx": 0,
38585 "source": "zero",
38586 "lsb_mem_word_offset": 41,
38587 "field_name": "--padding_41_47--"
38588 },
38589 {
38590 "start_bit": 0,
38591 "field_width": 96,
38592 "lsb_mem_word_idx": 0,
38593 "msb_mem_word_idx": 1,
38594 "source": "zero",
38595 "lsb_mem_word_offset": 96,
38596 "field_name": "--padding_96_191--"
38597 }
38598 ]
38599 }
38600 ],
38601 "action_handle": 536870944
Carmelo Cascone04098db2018-01-30 18:10:32 -080038602 }
38603 ],
38604 "memory_resource_allocation": {
38605 "memory_type": "sram",
38606 "memory_units_and_vpns": [ { "memory_units": [ 89, 92 ], "vpns": [ 0 ] } ],
38607 "spare_bank_memory_unit": [ 92, 89 ]
38608 }
38609 }
38610 ],
38611 "actions": [
38612 {
38613 "name": "NoAction",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038614 "handle": 536870945,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038615 "indirect_resources": [],
38616 "allowed_as_default_action": true,
38617 "disallowed_as_default_action_reason": "",
38618 "p4_parameters": [],
38619 "override_meter_addr": false,
38620 "override_meter_addr_pfe": false,
38621 "override_meter_full_addr": 0,
38622 "override_stat_addr": false,
38623 "override_stat_addr_pfe": false,
38624 "override_stat_full_addr": 0,
38625 "override_stateful_addr": false,
38626 "override_stateful_addr_pfe": false,
38627 "override_stateful_full_addr": 0,
38628 "primitives": []
38629 },
38630 {
38631 "name": "next.l3_routing",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038632 "handle": 536870942,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038633 "indirect_resources": [],
38634 "allowed_as_default_action": true,
38635 "disallowed_as_default_action_reason": "",
38636 "p4_parameters": [
38637 {
38638 "name": "port_num",
38639 "start_bit": 0,
38640 "position": 0,
38641 "bit_width": 9
38642 },
38643 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
38644 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 }
38645 ],
38646 "override_meter_addr": false,
38647 "override_meter_addr_pfe": false,
38648 "override_meter_full_addr": 0,
38649 "override_stat_addr": false,
38650 "override_stat_addr_pfe": false,
38651 "override_stat_full_addr": 0,
38652 "override_stateful_addr": false,
38653 "override_stateful_addr_pfe": false,
38654 "override_stateful_full_addr": 0,
38655 "primitives": [
38656 {
38657 "name": "ModifyFieldPrimitive",
38658 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
38659 "src": [
38660 { "type": "action_param", "name": "port_num" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038661 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080038662 ]
38663 },
38664 {
38665 "name": "ModifyFieldPrimitive",
38666 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
38667 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
38668 },
38669 {
38670 "name": "ModifyFieldPrimitive",
38671 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
38672 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
38673 },
38674 {
38675 "name": "ModifyFieldPrimitive",
38676 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
38677 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
38678 },
38679 {
38680 "name": "ModifyFieldPrimitive",
38681 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
38682 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
38683 }
38684 ]
38685 },
38686 {
38687 "name": "next.mpls_routing_v4",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038688 "handle": 536870943,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038689 "indirect_resources": [],
38690 "allowed_as_default_action": true,
38691 "disallowed_as_default_action_reason": "",
38692 "p4_parameters": [
38693 {
38694 "name": "port_num",
38695 "start_bit": 0,
38696 "position": 0,
38697 "bit_width": 9
38698 },
38699 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
38700 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 },
38701 {
38702 "name": "label",
38703 "start_bit": 105,
38704 "position": 3,
38705 "bit_width": 20
38706 }
38707 ],
38708 "override_meter_addr": false,
38709 "override_meter_addr_pfe": false,
38710 "override_meter_full_addr": 0,
38711 "override_stat_addr": false,
38712 "override_stat_addr_pfe": false,
38713 "override_stat_full_addr": 0,
38714 "override_stateful_addr": false,
38715 "override_stateful_addr_pfe": false,
38716 "override_stateful_full_addr": 0,
38717 "primitives": [
38718 {
38719 "name": "ModifyFieldPrimitive",
38720 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
38721 "src": [
38722 { "type": "action_param", "name": "port_num" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038723 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080038724 ]
38725 },
38726 {
38727 "name": "ModifyFieldPrimitive",
38728 "dest": { "type": "phv", "name": "mpls.$valid" },
38729 "src": [
38730 { "type": "immmediate", "name": "1" },
38731 { "type": "phv", "name": "B7" }
38732 ]
38733 },
38734 {
38735 "name": "ModifyFieldPrimitive",
38736 "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
38737 "src": [ { "immediate": "34887" } ]
38738 },
38739 {
38740 "name": "ModifyFieldPrimitive",
38741 "dest": { "type": "phv", "name": "mpls.ttl" },
38742 "src": [ { "immediate": "64" } ]
38743 },
38744 {
38745 "name": "ModifyFieldPrimitive",
38746 "dest": { "type": "phv", "name": "mpls.label.4-19" },
38747 "src": [ { "type": "action_param", "name": "label.4-19" } ]
38748 },
38749 {
38750 "name": "ModifyFieldPrimitive",
38751 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
38752 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
38753 },
38754 {
38755 "name": "ModifyFieldPrimitive",
38756 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
38757 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
38758 },
38759 {
38760 "name": "ModifyFieldPrimitive",
38761 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
38762 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
38763 },
38764 {
38765 "name": "ModifyFieldPrimitive",
38766 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
38767 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
38768 },
38769 {
38770 "name": "ModifyFieldPrimitive",
38771 "dest": { "type": "phv", "name": "B2" },
38772 "src": [ { "type": "action_param", "name": "$data0" } ]
38773 }
38774 ]
38775 },
38776 {
38777 "name": "next.mpls_routing_v6",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038778 "handle": 536870944,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038779 "indirect_resources": [],
38780 "allowed_as_default_action": true,
38781 "disallowed_as_default_action_reason": "",
38782 "p4_parameters": [
38783 {
38784 "name": "port_num",
38785 "start_bit": 0,
38786 "position": 0,
38787 "bit_width": 9
38788 },
38789 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
38790 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 },
38791 {
38792 "name": "label",
38793 "start_bit": 105,
38794 "position": 3,
38795 "bit_width": 20
38796 }
38797 ],
38798 "override_meter_addr": false,
38799 "override_meter_addr_pfe": false,
38800 "override_meter_full_addr": 0,
38801 "override_stat_addr": false,
38802 "override_stat_addr_pfe": false,
38803 "override_stat_full_addr": 0,
38804 "override_stateful_addr": false,
38805 "override_stateful_addr_pfe": false,
38806 "override_stateful_full_addr": 0,
38807 "primitives": [
38808 {
38809 "name": "ModifyFieldPrimitive",
38810 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
38811 "src": [
38812 { "type": "action_param", "name": "port_num" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038813 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080038814 ]
38815 },
38816 {
38817 "name": "ModifyFieldPrimitive",
38818 "dest": { "type": "phv", "name": "mpls.$valid" },
38819 "src": [
38820 { "type": "immmediate", "name": "1" },
38821 { "type": "phv", "name": "B7" }
38822 ]
38823 },
38824 {
38825 "name": "ModifyFieldPrimitive",
38826 "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
38827 "src": [ { "immediate": "34887" } ]
38828 },
38829 {
38830 "name": "ModifyFieldPrimitive",
38831 "dest": { "type": "phv", "name": "mpls.ttl" },
38832 "src": [ { "immediate": "64" } ]
38833 },
38834 {
38835 "name": "ModifyFieldPrimitive",
38836 "dest": { "type": "phv", "name": "mpls.label.4-19" },
38837 "src": [ { "type": "action_param", "name": "label.4-19" } ]
38838 },
38839 {
38840 "name": "ModifyFieldPrimitive",
38841 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
38842 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
38843 },
38844 {
38845 "name": "ModifyFieldPrimitive",
38846 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
38847 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
38848 },
38849 {
38850 "name": "ModifyFieldPrimitive",
38851 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
38852 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
38853 },
38854 {
38855 "name": "ModifyFieldPrimitive",
38856 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
38857 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
38858 },
38859 {
38860 "name": "ModifyFieldPrimitive",
38861 "dest": { "type": "phv", "name": "B2" },
38862 "src": [ { "type": "action_param", "name": "$data0" } ]
38863 }
38864 ]
38865 }
38866 ],
38867 "how_referenced": "indirect"
38868 },
38869 {
38870 "direction": "ingress",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038871 "handle": 67108874,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038872 "name": "next.hashed_counter",
38873 "table_type": "statistics",
38874 "size": 0,
38875 "stage_tables": [
38876 {
38877 "stage_number": 7,
38878 "size": 4096,
38879 "stage_table_type": "statistics",
38880 "logical_table_id": 2,
38881 "pack_format": [
38882 {
38883 "table_word_width": 128,
38884 "memory_word_width": 128,
38885 "entries_per_table_word": 2,
38886 "number_memory_units_per_table_word": 1
38887 }
38888 ],
38889 "memory_resource_allocation": {
38890 "memory_type": "sram",
38891 "memory_units_and_vpns": [
38892 { "memory_units": [ 78 ], "vpns": [ 0 ] },
38893 { "memory_units": [ 79 ], "vpns": [ 1 ] },
38894 { "memory_units": [ 80 ], "vpns": [ 2 ] }
38895 ],
38896 "spare_bank_memory_unit": 80
38897 },
38898 "stats_alu_index": 3
38899 }
38900 ],
38901 "how_referenced": "direct",
38902 "enable_pfe": false,
38903 "pfe_bit_position": 0,
38904 "byte_counter_resolution": 36,
38905 "packet_counter_resolution": 28,
38906 "statistics_type": "packets_and_bytes"
38907 },
38908 {
38909 "direction": "ingress",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038910 "handle": 16777232,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038911 "name": "tbl_act_5",
38912 "table_type": "match",
38913 "size": 1,
38914 "preferred_match_type": "exact",
38915 "match_attributes": {
38916 "stage_tables": [
38917 {
38918 "stage_number": 8,
38919 "size": 1,
38920 "stage_table_type": "match_with_no_key",
38921 "logical_table_id": 0,
38922 "has_attached_gateway": true,
38923 "memory_resource_allocation": null,
38924 "default_next_table": 255,
38925 "pack_format": [
38926 {
38927 "table_word_width": 0,
38928 "memory_word_width": 0,
38929 "entries_per_table_word": 1,
38930 "number_memory_units_per_table_word": 0
38931 }
38932 ],
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038933 "result_physical_buses": [ 1 ],
Carmelo Cascone04098db2018-01-30 18:10:32 -080038934 "action_format": [
38935 {
38936 "action_name": "act_5",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038937 "action_handle": 536870946,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038938 "table_name": "tbl_act_11",
38939 "next_table": 0,
38940 "next_table_full": 129,
38941 "vliw_instruction": 1,
38942 "vliw_instruction_full": 64,
38943 "immediate_fields": []
38944 }
38945 ],
38946 "hash_functions": []
38947 }
38948 ],
38949 "match_type": "match_with_no_key",
38950 "uses_dynamic_key_masks": false
38951 },
38952 "actions": [
38953 {
38954 "name": "act_5",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038955 "handle": 536870946,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038956 "indirect_resources": [],
38957 "allowed_as_default_action": true,
38958 "disallowed_as_default_action_reason": "",
38959 "p4_parameters": [],
38960 "override_meter_addr": false,
38961 "override_meter_addr_pfe": false,
38962 "override_meter_full_addr": 0,
38963 "override_stat_addr": false,
38964 "override_stat_addr_pfe": false,
38965 "override_stat_full_addr": 0,
38966 "override_stateful_addr": false,
38967 "override_stateful_addr_pfe": false,
38968 "override_stateful_full_addr": 0,
38969 "is_action_meter_color_aware": false,
38970 "primitives": [
38971 {
38972 "name": "ModifyFieldPrimitive",
38973 "dest": { "type": "phv", "name": "ethernet.ether_type" },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038974 "src": [ { "type": "phv", "name": "H8" } ]
Carmelo Cascone04098db2018-01-30 18:10:32 -080038975 },
38976 {
38977 "name": "ModifyFieldPrimitive",
38978 "dest": { "type": "phv", "name": "vlan_tag.$valid" },
38979 "src": [
38980 { "type": "immmediate", "name": "0" },
38981 { "type": "phv", "name": "B8" }
38982 ]
38983 }
38984 ]
38985 }
38986 ],
Carmelo Cascone04c783b2018-02-14 14:09:46 -080038987 "default_action_handle": 536870946,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038988 "action_profile": "",
38989 "default_next_table_mask": 0,
38990 "ap_bind_indirect_res_to_match": [],
38991 "is_resource_controllable": true,
38992 "uses_range": false,
38993 "match_key_fields": [],
38994 "performs_hash_action": false,
38995 "action_data_table_refs": [],
38996 "selection_table_refs": [],
38997 "meter_table_refs": [],
38998 "statistics_table_refs": [],
38999 "stateful_table_refs": []
39000 },
39001 {
39002 "direction": "ingress",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080039003 "handle": 16777233,
Carmelo Cascone04098db2018-01-30 18:10:32 -080039004 "name": "tbl_act_3",
39005 "table_type": "match",
39006 "size": 512,
39007 "preferred_match_type": "exact",
39008 "match_attributes": {
39009 "stage_tables": [
39010 {
39011 "stage_number": 8,
39012 "size": 1,
39013 "stage_table_type": "match_with_no_key",
39014 "logical_table_id": 1,
39015 "has_attached_gateway": true,
39016 "memory_resource_allocation": null,
39017 "default_next_table": 255,
39018 "pack_format": [
39019 {
39020 "table_word_width": 0,
39021 "memory_word_width": 0,
39022 "entries_per_table_word": 0,
39023 "number_memory_units_per_table_word": 0
39024 }
39025 ],
Carmelo Cascone04c783b2018-02-14 14:09:46 -080039026 "result_physical_buses": [ 0 ],
Carmelo Cascone04098db2018-01-30 18:10:32 -080039027 "action_format": [
39028 {
39029 "action_name": "act_3",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080039030 "action_handle": 536870947,
39031 "table_name": "next_broadcast",
Carmelo Cascone04098db2018-01-30 18:10:32 -080039032 "next_table": 0,
Carmelo Cascone04c783b2018-02-14 14:09:46 -080039033 "next_table_full": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -080039034 "vliw_instruction": 0,
39035 "vliw_instruction_full": 65,
39036 "immediate_fields": []
39037 }
39038 ],
39039 "hash_functions": []
39040 }
39041 ],
39042 "match_type": "match_with_no_key",
39043 "uses_dynamic_key_masks": false
39044 },
39045 "actions": [
39046 {
39047 "name": "act_3",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080039048 "handle": 536870947,
Carmelo Cascone04098db2018-01-30 18:10:32 -080039049 "indirect_resources": [],
39050 "allowed_as_default_action": true,
39051 "disallowed_as_default_action_reason": "",
39052 "p4_parameters": [],
39053 "override_meter_addr": false,
39054 "override_meter_addr_pfe": false,
39055 "override_meter_full_addr": 0,
39056 "override_stat_addr": false,
39057 "override_stat_addr_pfe": false,
39058 "override_stat_full_addr": 0,
39059 "override_stateful_addr": false,
39060 "override_stateful_addr_pfe": false,
39061 "override_stateful_full_addr": 0,
39062 "is_action_meter_color_aware": false,
39063 "primitives": []
39064 }
39065 ],
Carmelo Cascone04c783b2018-02-14 14:09:46 -080039066 "default_action_handle": 536870947,
Carmelo Cascone04098db2018-01-30 18:10:32 -080039067 "action_profile": "",
39068 "default_next_table_mask": 0,
39069 "ap_bind_indirect_res_to_match": [],
39070 "is_resource_controllable": true,
39071 "uses_range": false,
39072 "match_key_fields": [],
39073 "performs_hash_action": true,
39074 "action_data_table_refs": [],
39075 "selection_table_refs": [],
39076 "meter_table_refs": [],
39077 "statistics_table_refs": [
39078 {
39079 "how_referenced": "indirect",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080039080 "handle": 67108875,
Carmelo Cascone04098db2018-01-30 18:10:32 -080039081 "name": "port_counters_control.egress_port_counter"
39082 }
39083 ],
39084 "stateful_table_refs": []
39085 },
39086 {
39087 "direction": "ingress",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080039088 "handle": 67108875,
Carmelo Cascone04098db2018-01-30 18:10:32 -080039089 "name": "port_counters_control.egress_port_counter",
39090 "table_type": "statistics",
39091 "size": 511,
39092 "stage_tables": [
39093 {
39094 "stage_number": 8,
Carmelo Cascone8ac4fc82018-02-01 13:27:50 -080039095 "size": 2048,
Carmelo Cascone04098db2018-01-30 18:10:32 -080039096 "stage_table_type": "statistics",
39097 "logical_table_id": 1,
39098 "pack_format": [
39099 {
39100 "table_word_width": 128,
39101 "memory_word_width": 128,
Carmelo Cascone8ac4fc82018-02-01 13:27:50 -080039102 "entries_per_table_word": 2,
Carmelo Cascone04098db2018-01-30 18:10:32 -080039103 "number_memory_units_per_table_word": 1
39104 }
39105 ],
39106 "memory_resource_allocation": {
39107 "memory_type": "sram",
39108 "memory_units_and_vpns": [
Carmelo Cascone04c783b2018-02-14 14:09:46 -080039109 { "memory_units": [ 54 ], "vpns": [ 0 ] },
39110 { "memory_units": [ 55 ], "vpns": [ 1 ] }
Carmelo Cascone04098db2018-01-30 18:10:32 -080039111 ],
Carmelo Cascone04c783b2018-02-14 14:09:46 -080039112 "spare_bank_memory_unit": 55
Carmelo Cascone04098db2018-01-30 18:10:32 -080039113 },
Carmelo Cascone04c783b2018-02-14 14:09:46 -080039114 "stats_alu_index": 2
Carmelo Cascone04098db2018-01-30 18:10:32 -080039115 }
39116 ],
39117 "how_referenced": "indirect",
39118 "enable_pfe": false,
39119 "pfe_bit_position": 0,
Carmelo Cascone8ac4fc82018-02-01 13:27:50 -080039120 "byte_counter_resolution": 36,
39121 "packet_counter_resolution": 28,
39122 "statistics_type": "packets_and_bytes"
Carmelo Cascone04c783b2018-02-14 14:09:46 -080039123 },
39124 {
39125 "direction": "ingress",
39126 "handle": 16777234,
39127 "name": "next.broadcast",
39128 "table_type": "match",
39129 "size": 3072,
39130 "action_data_table_refs": [
39131 {
39132 "how_referenced": "direct",
39133 "handle": 33554435,
39134 "name": "next_broadcast$action"
39135 }
39136 ],
39137 "selection_table_refs": [],
39138 "meter_table_refs": [],
39139 "statistics_table_refs": [
39140 {
39141 "how_referenced": "direct",
39142 "handle": 67108876,
39143 "name": "next.broadcast_counter"
39144 }
39145 ],
39146 "stateful_table_refs": [],
39147 "default_action_handle": 536870949,
39148 "action_profile": "",
39149 "default_next_table_mask": 0,
39150 "ap_bind_indirect_res_to_match": [],
39151 "is_resource_controllable": true,
39152 "uses_range": false,
39153 "match_key_fields": [
39154 {
39155 "name": "fabric_metadata.next_id",
39156 "position": 0,
39157 "match_type": "exact",
39158 "start_bit": 0,
39159 "bit_width": 32,
39160 "bit_width_full": 32,
39161 "is_valid": false,
39162 "instance_name": "fabric_metadata",
39163 "field_name": "next_id"
39164 }
39165 ],
39166 "match_attributes": {
39167 "stage_tables": [
39168 {
39169 "stage_number": 8,
39170 "size": 3072,
39171 "stage_table_type": "hash_match",
39172 "logical_table_id": 2,
39173 "has_attached_gateway": false,
39174 "hash_functions": [
39175 {
39176 "hash_bits": [
39177 {
39178 "hash_bit": 0,
39179 "seed": 0,
39180 "bits_to_xor": [
39181 {
39182 "field_bit": 16,
39183 "field_name": "fabric_metadata.next_id"
39184 },
39185 {
39186 "field_bit": 17,
39187 "field_name": "fabric_metadata.next_id"
39188 },
39189 {
39190 "field_bit": 18,
39191 "field_name": "fabric_metadata.next_id"
39192 },
39193 {
39194 "field_bit": 20,
39195 "field_name": "fabric_metadata.next_id"
39196 },
39197 {
39198 "field_bit": 22,
39199 "field_name": "fabric_metadata.next_id"
39200 },
39201 {
39202 "field_bit": 27,
39203 "field_name": "fabric_metadata.next_id"
39204 },
39205 {
39206 "field_bit": 29,
39207 "field_name": "fabric_metadata.next_id"
39208 },
39209 {
39210 "field_bit": 30,
39211 "field_name": "fabric_metadata.next_id"
39212 },
39213 {
39214 "field_bit": 0,
39215 "field_name": "fabric_metadata.next_id"
39216 },
39217 {
39218 "field_bit": 11,
39219 "field_name": "fabric_metadata.next_id"
39220 },
39221 {
39222 "field_bit": 12,
39223 "field_name": "fabric_metadata.next_id"
39224 },
39225 {
39226 "field_bit": 13,
39227 "field_name": "fabric_metadata.next_id"
39228 },
39229 {
39230 "field_bit": 15,
39231 "field_name": "fabric_metadata.next_id"
39232 }
39233 ]
39234 },
39235 {
39236 "hash_bit": 1,
39237 "seed": 0,
39238 "bits_to_xor": [
39239 {
39240 "field_bit": 17,
39241 "field_name": "fabric_metadata.next_id"
39242 },
39243 {
39244 "field_bit": 18,
39245 "field_name": "fabric_metadata.next_id"
39246 },
39247 {
39248 "field_bit": 21,
39249 "field_name": "fabric_metadata.next_id"
39250 },
39251 {
39252 "field_bit": 22,
39253 "field_name": "fabric_metadata.next_id"
39254 },
39255 {
39256 "field_bit": 24,
39257 "field_name": "fabric_metadata.next_id"
39258 },
39259 {
39260 "field_bit": 25,
39261 "field_name": "fabric_metadata.next_id"
39262 },
39263 {
39264 "field_bit": 26,
39265 "field_name": "fabric_metadata.next_id"
39266 },
39267 {
39268 "field_bit": 28,
39269 "field_name": "fabric_metadata.next_id"
39270 },
39271 {
39272 "field_bit": 1,
39273 "field_name": "fabric_metadata.next_id"
39274 },
39275 {
39276 "field_bit": 10,
39277 "field_name": "fabric_metadata.next_id"
39278 },
39279 {
39280 "field_bit": 11,
39281 "field_name": "fabric_metadata.next_id"
39282 },
39283 {
39284 "field_bit": 13,
39285 "field_name": "fabric_metadata.next_id"
39286 }
39287 ]
39288 },
39289 {
39290 "hash_bit": 2,
39291 "seed": 0,
39292 "bits_to_xor": [
39293 {
39294 "field_bit": 17,
39295 "field_name": "fabric_metadata.next_id"
39296 },
39297 {
39298 "field_bit": 18,
39299 "field_name": "fabric_metadata.next_id"
39300 },
39301 {
39302 "field_bit": 22,
39303 "field_name": "fabric_metadata.next_id"
39304 },
39305 {
39306 "field_bit": 26,
39307 "field_name": "fabric_metadata.next_id"
39308 },
39309 {
39310 "field_bit": 27,
39311 "field_name": "fabric_metadata.next_id"
39312 },
39313 {
39314 "field_bit": 29,
39315 "field_name": "fabric_metadata.next_id"
39316 },
39317 {
39318 "field_bit": 31,
39319 "field_name": "fabric_metadata.next_id"
39320 },
39321 {
39322 "field_bit": 2,
39323 "field_name": "fabric_metadata.next_id"
39324 },
39325 {
39326 "field_bit": 10,
39327 "field_name": "fabric_metadata.next_id"
39328 },
39329 {
39330 "field_bit": 13,
39331 "field_name": "fabric_metadata.next_id"
39332 },
39333 {
39334 "field_bit": 15,
39335 "field_name": "fabric_metadata.next_id"
39336 }
39337 ]
39338 },
39339 {
39340 "hash_bit": 3,
39341 "seed": 0,
39342 "bits_to_xor": [
39343 {
39344 "field_bit": 16,
39345 "field_name": "fabric_metadata.next_id"
39346 },
39347 {
39348 "field_bit": 17,
39349 "field_name": "fabric_metadata.next_id"
39350 },
39351 {
39352 "field_bit": 24,
39353 "field_name": "fabric_metadata.next_id"
39354 },
39355 {
39356 "field_bit": 26,
39357 "field_name": "fabric_metadata.next_id"
39358 },
39359 {
39360 "field_bit": 28,
39361 "field_name": "fabric_metadata.next_id"
39362 },
39363 {
39364 "field_bit": 3,
39365 "field_name": "fabric_metadata.next_id"
39366 }
39367 ]
39368 },
39369 {
39370 "hash_bit": 4,
39371 "seed": 0,
39372 "bits_to_xor": [
39373 {
39374 "field_bit": 16,
39375 "field_name": "fabric_metadata.next_id"
39376 },
39377 {
39378 "field_bit": 19,
39379 "field_name": "fabric_metadata.next_id"
39380 },
39381 {
39382 "field_bit": 23,
39383 "field_name": "fabric_metadata.next_id"
39384 },
39385 {
39386 "field_bit": 25,
39387 "field_name": "fabric_metadata.next_id"
39388 },
39389 {
39390 "field_bit": 4,
39391 "field_name": "fabric_metadata.next_id"
39392 },
39393 {
39394 "field_bit": 11,
39395 "field_name": "fabric_metadata.next_id"
39396 },
39397 {
39398 "field_bit": 13,
39399 "field_name": "fabric_metadata.next_id"
39400 },
39401 {
39402 "field_bit": 14,
39403 "field_name": "fabric_metadata.next_id"
39404 },
39405 {
39406 "field_bit": 15,
39407 "field_name": "fabric_metadata.next_id"
39408 }
39409 ]
39410 },
39411 {
39412 "hash_bit": 5,
39413 "seed": 0,
39414 "bits_to_xor": [
39415 {
39416 "field_bit": 16,
39417 "field_name": "fabric_metadata.next_id"
39418 },
39419 {
39420 "field_bit": 24,
39421 "field_name": "fabric_metadata.next_id"
39422 },
39423 {
39424 "field_bit": 25,
39425 "field_name": "fabric_metadata.next_id"
39426 },
39427 {
39428 "field_bit": 26,
39429 "field_name": "fabric_metadata.next_id"
39430 },
39431 {
39432 "field_bit": 27,
39433 "field_name": "fabric_metadata.next_id"
39434 },
39435 {
39436 "field_bit": 29,
39437 "field_name": "fabric_metadata.next_id"
39438 },
39439 {
39440 "field_bit": 30,
39441 "field_name": "fabric_metadata.next_id"
39442 },
39443 {
39444 "field_bit": 5,
39445 "field_name": "fabric_metadata.next_id"
39446 },
39447 {
39448 "field_bit": 11,
39449 "field_name": "fabric_metadata.next_id"
39450 },
39451 {
39452 "field_bit": 14,
39453 "field_name": "fabric_metadata.next_id"
39454 }
39455 ]
39456 },
39457 {
39458 "hash_bit": 6,
39459 "seed": 0,
39460 "bits_to_xor": [
39461 {
39462 "field_bit": 20,
39463 "field_name": "fabric_metadata.next_id"
39464 },
39465 {
39466 "field_bit": 23,
39467 "field_name": "fabric_metadata.next_id"
39468 },
39469 {
39470 "field_bit": 25,
39471 "field_name": "fabric_metadata.next_id"
39472 },
39473 {
39474 "field_bit": 26,
39475 "field_name": "fabric_metadata.next_id"
39476 },
39477 {
39478 "field_bit": 28,
39479 "field_name": "fabric_metadata.next_id"
39480 },
39481 {
39482 "field_bit": 29,
39483 "field_name": "fabric_metadata.next_id"
39484 },
39485 {
39486 "field_bit": 31,
39487 "field_name": "fabric_metadata.next_id"
39488 },
39489 {
39490 "field_bit": 6,
39491 "field_name": "fabric_metadata.next_id"
39492 },
39493 {
39494 "field_bit": 11,
39495 "field_name": "fabric_metadata.next_id"
39496 },
39497 {
39498 "field_bit": 12,
39499 "field_name": "fabric_metadata.next_id"
39500 },
39501 {
39502 "field_bit": 13,
39503 "field_name": "fabric_metadata.next_id"
39504 },
39505 {
39506 "field_bit": 15,
39507 "field_name": "fabric_metadata.next_id"
39508 }
39509 ]
39510 },
39511 {
39512 "hash_bit": 7,
39513 "seed": 0,
39514 "bits_to_xor": [
39515 {
39516 "field_bit": 19,
39517 "field_name": "fabric_metadata.next_id"
39518 },
39519 {
39520 "field_bit": 20,
39521 "field_name": "fabric_metadata.next_id"
39522 },
39523 {
39524 "field_bit": 22,
39525 "field_name": "fabric_metadata.next_id"
39526 },
39527 {
39528 "field_bit": 23,
39529 "field_name": "fabric_metadata.next_id"
39530 },
39531 {
39532 "field_bit": 26,
39533 "field_name": "fabric_metadata.next_id"
39534 },
39535 {
39536 "field_bit": 7,
39537 "field_name": "fabric_metadata.next_id"
39538 },
39539 {
39540 "field_bit": 10,
39541 "field_name": "fabric_metadata.next_id"
39542 },
39543 {
39544 "field_bit": 15,
39545 "field_name": "fabric_metadata.next_id"
39546 }
39547 ]
39548 },
39549 {
39550 "hash_bit": 8,
39551 "seed": 0,
39552 "bits_to_xor": [
39553 {
39554 "field_bit": 17,
39555 "field_name": "fabric_metadata.next_id"
39556 },
39557 {
39558 "field_bit": 18,
39559 "field_name": "fabric_metadata.next_id"
39560 },
39561 {
39562 "field_bit": 22,
39563 "field_name": "fabric_metadata.next_id"
39564 },
39565 {
39566 "field_bit": 23,
39567 "field_name": "fabric_metadata.next_id"
39568 },
39569 {
39570 "field_bit": 24,
39571 "field_name": "fabric_metadata.next_id"
39572 },
39573 {
39574 "field_bit": 25,
39575 "field_name": "fabric_metadata.next_id"
39576 },
39577 {
39578 "field_bit": 26,
39579 "field_name": "fabric_metadata.next_id"
39580 },
39581 {
39582 "field_bit": 27,
39583 "field_name": "fabric_metadata.next_id"
39584 },
39585 {
39586 "field_bit": 30,
39587 "field_name": "fabric_metadata.next_id"
39588 },
39589 {
39590 "field_bit": 8,
39591 "field_name": "fabric_metadata.next_id"
39592 },
39593 {
39594 "field_bit": 10,
39595 "field_name": "fabric_metadata.next_id"
39596 },
39597 {
39598 "field_bit": 11,
39599 "field_name": "fabric_metadata.next_id"
39600 },
39601 {
39602 "field_bit": 14,
39603 "field_name": "fabric_metadata.next_id"
39604 }
39605 ]
39606 },
39607 {
39608 "hash_bit": 9,
39609 "seed": 0,
39610 "bits_to_xor": [
39611 {
39612 "field_bit": 16,
39613 "field_name": "fabric_metadata.next_id"
39614 },
39615 {
39616 "field_bit": 18,
39617 "field_name": "fabric_metadata.next_id"
39618 },
39619 {
39620 "field_bit": 21,
39621 "field_name": "fabric_metadata.next_id"
39622 },
39623 {
39624 "field_bit": 22,
39625 "field_name": "fabric_metadata.next_id"
39626 },
39627 {
39628 "field_bit": 23,
39629 "field_name": "fabric_metadata.next_id"
39630 },
39631 {
39632 "field_bit": 25,
39633 "field_name": "fabric_metadata.next_id"
39634 },
39635 {
39636 "field_bit": 27,
39637 "field_name": "fabric_metadata.next_id"
39638 },
39639 {
39640 "field_bit": 28,
39641 "field_name": "fabric_metadata.next_id"
39642 },
39643 {
39644 "field_bit": 30,
39645 "field_name": "fabric_metadata.next_id"
39646 },
39647 {
39648 "field_bit": 9,
39649 "field_name": "fabric_metadata.next_id"
39650 },
39651 {
39652 "field_bit": 10,
39653 "field_name": "fabric_metadata.next_id"
39654 },
39655 {
39656 "field_bit": 11,
39657 "field_name": "fabric_metadata.next_id"
39658 },
39659 {
39660 "field_bit": 12,
39661 "field_name": "fabric_metadata.next_id"
39662 }
39663 ]
39664 },
39665 {
39666 "hash_bit": 10,
39667 "seed": 0,
39668 "bits_to_xor": [
39669 {
39670 "field_bit": 16,
39671 "field_name": "fabric_metadata.next_id"
39672 },
39673 {
39674 "field_bit": 20,
39675 "field_name": "fabric_metadata.next_id"
39676 },
39677 {
39678 "field_bit": 22,
39679 "field_name": "fabric_metadata.next_id"
39680 },
39681 {
39682 "field_bit": 23,
39683 "field_name": "fabric_metadata.next_id"
39684 },
39685 {
39686 "field_bit": 26,
39687 "field_name": "fabric_metadata.next_id"
39688 },
39689 {
39690 "field_bit": 27,
39691 "field_name": "fabric_metadata.next_id"
39692 },
39693 {
39694 "field_bit": 29,
39695 "field_name": "fabric_metadata.next_id"
39696 },
39697 {
39698 "field_bit": 31,
39699 "field_name": "fabric_metadata.next_id"
39700 },
39701 {
39702 "field_bit": 0,
39703 "field_name": "fabric_metadata.next_id"
39704 },
39705 {
39706 "field_bit": 11,
39707 "field_name": "fabric_metadata.next_id"
39708 },
39709 {
39710 "field_bit": 15,
39711 "field_name": "fabric_metadata.next_id"
39712 }
39713 ]
39714 },
39715 {
39716 "hash_bit": 11,
39717 "seed": 0,
39718 "bits_to_xor": [
39719 {
39720 "field_bit": 16,
39721 "field_name": "fabric_metadata.next_id"
39722 },
39723 {
39724 "field_bit": 18,
39725 "field_name": "fabric_metadata.next_id"
39726 },
39727 {
39728 "field_bit": 20,
39729 "field_name": "fabric_metadata.next_id"
39730 },
39731 {
39732 "field_bit": 21,
39733 "field_name": "fabric_metadata.next_id"
39734 },
39735 {
39736 "field_bit": 22,
39737 "field_name": "fabric_metadata.next_id"
39738 },
39739 {
39740 "field_bit": 23,
39741 "field_name": "fabric_metadata.next_id"
39742 },
39743 {
39744 "field_bit": 24,
39745 "field_name": "fabric_metadata.next_id"
39746 },
39747 {
39748 "field_bit": 26,
39749 "field_name": "fabric_metadata.next_id"
39750 },
39751 {
39752 "field_bit": 27,
39753 "field_name": "fabric_metadata.next_id"
39754 },
39755 {
39756 "field_bit": 29,
39757 "field_name": "fabric_metadata.next_id"
39758 },
39759 {
39760 "field_bit": 30,
39761 "field_name": "fabric_metadata.next_id"
39762 },
39763 {
39764 "field_bit": 31,
39765 "field_name": "fabric_metadata.next_id"
39766 },
39767 {
39768 "field_bit": 1,
39769 "field_name": "fabric_metadata.next_id"
39770 },
39771 {
39772 "field_bit": 11,
39773 "field_name": "fabric_metadata.next_id"
39774 },
39775 {
39776 "field_bit": 12,
39777 "field_name": "fabric_metadata.next_id"
39778 },
39779 {
39780 "field_bit": 13,
39781 "field_name": "fabric_metadata.next_id"
39782 },
39783 {
39784 "field_bit": 14,
39785 "field_name": "fabric_metadata.next_id"
39786 }
39787 ]
39788 },
39789 {
39790 "hash_bit": 12,
39791 "seed": 0,
39792 "bits_to_xor": [
39793 {
39794 "field_bit": 17,
39795 "field_name": "fabric_metadata.next_id"
39796 },
39797 {
39798 "field_bit": 18,
39799 "field_name": "fabric_metadata.next_id"
39800 },
39801 {
39802 "field_bit": 19,
39803 "field_name": "fabric_metadata.next_id"
39804 },
39805 {
39806 "field_bit": 22,
39807 "field_name": "fabric_metadata.next_id"
39808 },
39809 {
39810 "field_bit": 23,
39811 "field_name": "fabric_metadata.next_id"
39812 },
39813 {
39814 "field_bit": 24,
39815 "field_name": "fabric_metadata.next_id"
39816 },
39817 {
39818 "field_bit": 26,
39819 "field_name": "fabric_metadata.next_id"
39820 },
39821 {
39822 "field_bit": 27,
39823 "field_name": "fabric_metadata.next_id"
39824 },
39825 {
39826 "field_bit": 28,
39827 "field_name": "fabric_metadata.next_id"
39828 },
39829 {
39830 "field_bit": 2,
39831 "field_name": "fabric_metadata.next_id"
39832 },
39833 {
39834 "field_bit": 10,
39835 "field_name": "fabric_metadata.next_id"
39836 },
39837 {
39838 "field_bit": 11,
39839 "field_name": "fabric_metadata.next_id"
39840 },
39841 {
39842 "field_bit": 13,
39843 "field_name": "fabric_metadata.next_id"
39844 }
39845 ]
39846 },
39847 {
39848 "hash_bit": 13,
39849 "seed": 0,
39850 "bits_to_xor": [
39851 {
39852 "field_bit": 17,
39853 "field_name": "fabric_metadata.next_id"
39854 },
39855 {
39856 "field_bit": 21,
39857 "field_name": "fabric_metadata.next_id"
39858 },
39859 {
39860 "field_bit": 22,
39861 "field_name": "fabric_metadata.next_id"
39862 },
39863 {
39864 "field_bit": 23,
39865 "field_name": "fabric_metadata.next_id"
39866 },
39867 {
39868 "field_bit": 24,
39869 "field_name": "fabric_metadata.next_id"
39870 },
39871 {
39872 "field_bit": 25,
39873 "field_name": "fabric_metadata.next_id"
39874 },
39875 {
39876 "field_bit": 26,
39877 "field_name": "fabric_metadata.next_id"
39878 },
39879 {
39880 "field_bit": 27,
39881 "field_name": "fabric_metadata.next_id"
39882 },
39883 {
39884 "field_bit": 29,
39885 "field_name": "fabric_metadata.next_id"
39886 },
39887 {
39888 "field_bit": 30,
39889 "field_name": "fabric_metadata.next_id"
39890 },
39891 {
39892 "field_bit": 3,
39893 "field_name": "fabric_metadata.next_id"
39894 },
39895 {
39896 "field_bit": 13,
39897 "field_name": "fabric_metadata.next_id"
39898 },
39899 {
39900 "field_bit": 14,
39901 "field_name": "fabric_metadata.next_id"
39902 },
39903 {
39904 "field_bit": 15,
39905 "field_name": "fabric_metadata.next_id"
39906 }
39907 ]
39908 },
39909 {
39910 "hash_bit": 14,
39911 "seed": 0,
39912 "bits_to_xor": [
39913 {
39914 "field_bit": 16,
39915 "field_name": "fabric_metadata.next_id"
39916 },
39917 {
39918 "field_bit": 17,
39919 "field_name": "fabric_metadata.next_id"
39920 },
39921 {
39922 "field_bit": 18,
39923 "field_name": "fabric_metadata.next_id"
39924 },
39925 {
39926 "field_bit": 19,
39927 "field_name": "fabric_metadata.next_id"
39928 },
39929 {
39930 "field_bit": 21,
39931 "field_name": "fabric_metadata.next_id"
39932 },
39933 {
39934 "field_bit": 26,
39935 "field_name": "fabric_metadata.next_id"
39936 },
39937 {
39938 "field_bit": 30,
39939 "field_name": "fabric_metadata.next_id"
39940 },
39941 {
39942 "field_bit": 31,
39943 "field_name": "fabric_metadata.next_id"
39944 },
39945 {
39946 "field_bit": 4,
39947 "field_name": "fabric_metadata.next_id"
39948 },
39949 {
39950 "field_bit": 10,
39951 "field_name": "fabric_metadata.next_id"
39952 },
39953 {
39954 "field_bit": 11,
39955 "field_name": "fabric_metadata.next_id"
39956 },
39957 {
39958 "field_bit": 15,
39959 "field_name": "fabric_metadata.next_id"
39960 }
39961 ]
39962 },
39963 {
39964 "hash_bit": 15,
39965 "seed": 0,
39966 "bits_to_xor": [
39967 {
39968 "field_bit": 17,
39969 "field_name": "fabric_metadata.next_id"
39970 },
39971 {
39972 "field_bit": 18,
39973 "field_name": "fabric_metadata.next_id"
39974 },
39975 {
39976 "field_bit": 20,
39977 "field_name": "fabric_metadata.next_id"
39978 },
39979 {
39980 "field_bit": 21,
39981 "field_name": "fabric_metadata.next_id"
39982 },
39983 {
39984 "field_bit": 23,
39985 "field_name": "fabric_metadata.next_id"
39986 },
39987 {
39988 "field_bit": 24,
39989 "field_name": "fabric_metadata.next_id"
39990 },
39991 {
39992 "field_bit": 25,
39993 "field_name": "fabric_metadata.next_id"
39994 },
39995 {
39996 "field_bit": 29,
39997 "field_name": "fabric_metadata.next_id"
39998 },
39999 {
40000 "field_bit": 5,
40001 "field_name": "fabric_metadata.next_id"
40002 },
40003 {
40004 "field_bit": 10,
40005 "field_name": "fabric_metadata.next_id"
40006 },
40007 {
40008 "field_bit": 13,
40009 "field_name": "fabric_metadata.next_id"
40010 }
40011 ]
40012 },
40013 {
40014 "hash_bit": 16,
40015 "seed": 0,
40016 "bits_to_xor": [
40017 {
40018 "field_bit": 16,
40019 "field_name": "fabric_metadata.next_id"
40020 },
40021 {
40022 "field_bit": 17,
40023 "field_name": "fabric_metadata.next_id"
40024 },
40025 {
40026 "field_bit": 18,
40027 "field_name": "fabric_metadata.next_id"
40028 },
40029 {
40030 "field_bit": 22,
40031 "field_name": "fabric_metadata.next_id"
40032 },
40033 {
40034 "field_bit": 24,
40035 "field_name": "fabric_metadata.next_id"
40036 },
40037 {
40038 "field_bit": 25,
40039 "field_name": "fabric_metadata.next_id"
40040 },
40041 {
40042 "field_bit": 26,
40043 "field_name": "fabric_metadata.next_id"
40044 },
40045 {
40046 "field_bit": 28,
40047 "field_name": "fabric_metadata.next_id"
40048 },
40049 {
40050 "field_bit": 29,
40051 "field_name": "fabric_metadata.next_id"
40052 },
40053 {
40054 "field_bit": 30,
40055 "field_name": "fabric_metadata.next_id"
40056 },
40057 {
40058 "field_bit": 31,
40059 "field_name": "fabric_metadata.next_id"
40060 },
40061 {
40062 "field_bit": 6,
40063 "field_name": "fabric_metadata.next_id"
40064 },
40065 {
40066 "field_bit": 12,
40067 "field_name": "fabric_metadata.next_id"
40068 },
40069 {
40070 "field_bit": 14,
40071 "field_name": "fabric_metadata.next_id"
40072 },
40073 {
40074 "field_bit": 15,
40075 "field_name": "fabric_metadata.next_id"
40076 }
40077 ]
40078 },
40079 {
40080 "hash_bit": 17,
40081 "seed": 0,
40082 "bits_to_xor": [
40083 {
40084 "field_bit": 16,
40085 "field_name": "fabric_metadata.next_id"
40086 },
40087 {
40088 "field_bit": 17,
40089 "field_name": "fabric_metadata.next_id"
40090 },
40091 {
40092 "field_bit": 19,
40093 "field_name": "fabric_metadata.next_id"
40094 },
40095 {
40096 "field_bit": 20,
40097 "field_name": "fabric_metadata.next_id"
40098 },
40099 {
40100 "field_bit": 23,
40101 "field_name": "fabric_metadata.next_id"
40102 },
40103 {
40104 "field_bit": 24,
40105 "field_name": "fabric_metadata.next_id"
40106 },
40107 {
40108 "field_bit": 25,
40109 "field_name": "fabric_metadata.next_id"
40110 },
40111 {
40112 "field_bit": 28,
40113 "field_name": "fabric_metadata.next_id"
40114 },
40115 {
40116 "field_bit": 29,
40117 "field_name": "fabric_metadata.next_id"
40118 },
40119 {
40120 "field_bit": 7,
40121 "field_name": "fabric_metadata.next_id"
40122 },
40123 {
40124 "field_bit": 10,
40125 "field_name": "fabric_metadata.next_id"
40126 },
40127 {
40128 "field_bit": 11,
40129 "field_name": "fabric_metadata.next_id"
40130 },
40131 {
40132 "field_bit": 12,
40133 "field_name": "fabric_metadata.next_id"
40134 },
40135 {
40136 "field_bit": 13,
40137 "field_name": "fabric_metadata.next_id"
40138 },
40139 {
40140 "field_bit": 14,
40141 "field_name": "fabric_metadata.next_id"
40142 },
40143 {
40144 "field_bit": 15,
40145 "field_name": "fabric_metadata.next_id"
40146 }
40147 ]
40148 },
40149 {
40150 "hash_bit": 18,
40151 "seed": 0,
40152 "bits_to_xor": [
40153 {
40154 "field_bit": 17,
40155 "field_name": "fabric_metadata.next_id"
40156 },
40157 {
40158 "field_bit": 20,
40159 "field_name": "fabric_metadata.next_id"
40160 },
40161 {
40162 "field_bit": 21,
40163 "field_name": "fabric_metadata.next_id"
40164 },
40165 {
40166 "field_bit": 24,
40167 "field_name": "fabric_metadata.next_id"
40168 },
40169 {
40170 "field_bit": 26,
40171 "field_name": "fabric_metadata.next_id"
40172 },
40173 {
40174 "field_bit": 27,
40175 "field_name": "fabric_metadata.next_id"
40176 },
40177 {
40178 "field_bit": 28,
40179 "field_name": "fabric_metadata.next_id"
40180 },
40181 {
40182 "field_bit": 30,
40183 "field_name": "fabric_metadata.next_id"
40184 },
40185 {
40186 "field_bit": 31,
40187 "field_name": "fabric_metadata.next_id"
40188 },
40189 {
40190 "field_bit": 8,
40191 "field_name": "fabric_metadata.next_id"
40192 },
40193 {
40194 "field_bit": 10,
40195 "field_name": "fabric_metadata.next_id"
40196 },
40197 {
40198 "field_bit": 14,
40199 "field_name": "fabric_metadata.next_id"
40200 },
40201 {
40202 "field_bit": 15,
40203 "field_name": "fabric_metadata.next_id"
40204 }
40205 ]
40206 },
40207 {
40208 "hash_bit": 19,
40209 "seed": 0,
40210 "bits_to_xor": [
40211 {
40212 "field_bit": 16,
40213 "field_name": "fabric_metadata.next_id"
40214 },
40215 {
40216 "field_bit": 17,
40217 "field_name": "fabric_metadata.next_id"
40218 },
40219 {
40220 "field_bit": 20,
40221 "field_name": "fabric_metadata.next_id"
40222 },
40223 {
40224 "field_bit": 21,
40225 "field_name": "fabric_metadata.next_id"
40226 },
40227 {
40228 "field_bit": 22,
40229 "field_name": "fabric_metadata.next_id"
40230 },
40231 {
40232 "field_bit": 25,
40233 "field_name": "fabric_metadata.next_id"
40234 },
40235 {
40236 "field_bit": 26,
40237 "field_name": "fabric_metadata.next_id"
40238 },
40239 {
40240 "field_bit": 27,
40241 "field_name": "fabric_metadata.next_id"
40242 },
40243 {
40244 "field_bit": 28,
40245 "field_name": "fabric_metadata.next_id"
40246 },
40247 {
40248 "field_bit": 29,
40249 "field_name": "fabric_metadata.next_id"
40250 },
40251 {
40252 "field_bit": 9,
40253 "field_name": "fabric_metadata.next_id"
40254 },
40255 {
40256 "field_bit": 10,
40257 "field_name": "fabric_metadata.next_id"
40258 },
40259 {
40260 "field_bit": 11,
40261 "field_name": "fabric_metadata.next_id"
40262 },
40263 {
40264 "field_bit": 13,
40265 "field_name": "fabric_metadata.next_id"
40266 },
40267 {
40268 "field_bit": 15,
40269 "field_name": "fabric_metadata.next_id"
40270 }
40271 ]
40272 },
40273 {
40274 "hash_bit": 20,
40275 "seed": 0,
40276 "bits_to_xor": [
40277 {
40278 "field_bit": 16,
40279 "field_name": "fabric_metadata.next_id"
40280 },
40281 {
40282 "field_bit": 19,
40283 "field_name": "fabric_metadata.next_id"
40284 },
40285 {
40286 "field_bit": 22,
40287 "field_name": "fabric_metadata.next_id"
40288 },
40289 {
40290 "field_bit": 23,
40291 "field_name": "fabric_metadata.next_id"
40292 },
40293 {
40294 "field_bit": 24,
40295 "field_name": "fabric_metadata.next_id"
40296 },
40297 {
40298 "field_bit": 26,
40299 "field_name": "fabric_metadata.next_id"
40300 },
40301 {
40302 "field_bit": 27,
40303 "field_name": "fabric_metadata.next_id"
40304 },
40305 {
40306 "field_bit": 30,
40307 "field_name": "fabric_metadata.next_id"
40308 },
40309 {
40310 "field_bit": 0,
40311 "field_name": "fabric_metadata.next_id"
40312 },
40313 {
40314 "field_bit": 11,
40315 "field_name": "fabric_metadata.next_id"
40316 },
40317 {
40318 "field_bit": 12,
40319 "field_name": "fabric_metadata.next_id"
40320 },
40321 {
40322 "field_bit": 15,
40323 "field_name": "fabric_metadata.next_id"
40324 }
40325 ]
40326 },
40327 {
40328 "hash_bit": 21,
40329 "seed": 0,
40330 "bits_to_xor": [
40331 {
40332 "field_bit": 16,
40333 "field_name": "fabric_metadata.next_id"
40334 },
40335 {
40336 "field_bit": 17,
40337 "field_name": "fabric_metadata.next_id"
40338 },
40339 {
40340 "field_bit": 18,
40341 "field_name": "fabric_metadata.next_id"
40342 },
40343 {
40344 "field_bit": 21,
40345 "field_name": "fabric_metadata.next_id"
40346 },
40347 {
40348 "field_bit": 22,
40349 "field_name": "fabric_metadata.next_id"
40350 },
40351 {
40352 "field_bit": 23,
40353 "field_name": "fabric_metadata.next_id"
40354 },
40355 {
40356 "field_bit": 25,
40357 "field_name": "fabric_metadata.next_id"
40358 },
40359 {
40360 "field_bit": 26,
40361 "field_name": "fabric_metadata.next_id"
40362 },
40363 {
40364 "field_bit": 29,
40365 "field_name": "fabric_metadata.next_id"
40366 },
40367 {
40368 "field_bit": 31,
40369 "field_name": "fabric_metadata.next_id"
40370 },
40371 {
40372 "field_bit": 1,
40373 "field_name": "fabric_metadata.next_id"
40374 },
40375 {
40376 "field_bit": 10,
40377 "field_name": "fabric_metadata.next_id"
40378 },
40379 {
40380 "field_bit": 11,
40381 "field_name": "fabric_metadata.next_id"
40382 },
40383 {
40384 "field_bit": 12,
40385 "field_name": "fabric_metadata.next_id"
40386 },
40387 {
40388 "field_bit": 14,
40389 "field_name": "fabric_metadata.next_id"
40390 },
40391 {
40392 "field_bit": 15,
40393 "field_name": "fabric_metadata.next_id"
40394 }
40395 ]
40396 },
40397 {
40398 "hash_bit": 22,
40399 "seed": 0,
40400 "bits_to_xor": [
40401 {
40402 "field_bit": 18,
40403 "field_name": "fabric_metadata.next_id"
40404 },
40405 {
40406 "field_bit": 20,
40407 "field_name": "fabric_metadata.next_id"
40408 },
40409 {
40410 "field_bit": 21,
40411 "field_name": "fabric_metadata.next_id"
40412 },
40413 {
40414 "field_bit": 25,
40415 "field_name": "fabric_metadata.next_id"
40416 },
40417 {
40418 "field_bit": 26,
40419 "field_name": "fabric_metadata.next_id"
40420 },
40421 {
40422 "field_bit": 27,
40423 "field_name": "fabric_metadata.next_id"
40424 },
40425 {
40426 "field_bit": 29,
40427 "field_name": "fabric_metadata.next_id"
40428 },
40429 {
40430 "field_bit": 31,
40431 "field_name": "fabric_metadata.next_id"
40432 },
40433 {
40434 "field_bit": 2,
40435 "field_name": "fabric_metadata.next_id"
40436 },
40437 {
40438 "field_bit": 13,
40439 "field_name": "fabric_metadata.next_id"
40440 }
40441 ]
40442 },
40443 {
40444 "hash_bit": 23,
40445 "seed": 0,
40446 "bits_to_xor": [
40447 {
40448 "field_bit": 16,
40449 "field_name": "fabric_metadata.next_id"
40450 },
40451 {
40452 "field_bit": 18,
40453 "field_name": "fabric_metadata.next_id"
40454 },
40455 {
40456 "field_bit": 20,
40457 "field_name": "fabric_metadata.next_id"
40458 },
40459 {
40460 "field_bit": 27,
40461 "field_name": "fabric_metadata.next_id"
40462 },
40463 {
40464 "field_bit": 31,
40465 "field_name": "fabric_metadata.next_id"
40466 },
40467 {
40468 "field_bit": 3,
40469 "field_name": "fabric_metadata.next_id"
40470 },
40471 {
40472 "field_bit": 13,
40473 "field_name": "fabric_metadata.next_id"
40474 },
40475 {
40476 "field_bit": 14,
40477 "field_name": "fabric_metadata.next_id"
40478 }
40479 ]
40480 },
40481 {
40482 "hash_bit": 24,
40483 "seed": 0,
40484 "bits_to_xor": [
40485 {
40486 "field_bit": 17,
40487 "field_name": "fabric_metadata.next_id"
40488 },
40489 {
40490 "field_bit": 19,
40491 "field_name": "fabric_metadata.next_id"
40492 },
40493 {
40494 "field_bit": 20,
40495 "field_name": "fabric_metadata.next_id"
40496 },
40497 {
40498 "field_bit": 23,
40499 "field_name": "fabric_metadata.next_id"
40500 },
40501 {
40502 "field_bit": 24,
40503 "field_name": "fabric_metadata.next_id"
40504 },
40505 {
40506 "field_bit": 25,
40507 "field_name": "fabric_metadata.next_id"
40508 },
40509 {
40510 "field_bit": 26,
40511 "field_name": "fabric_metadata.next_id"
40512 },
40513 {
40514 "field_bit": 28,
40515 "field_name": "fabric_metadata.next_id"
40516 },
40517 {
40518 "field_bit": 29,
40519 "field_name": "fabric_metadata.next_id"
40520 },
40521 {
40522 "field_bit": 30,
40523 "field_name": "fabric_metadata.next_id"
40524 },
40525 {
40526 "field_bit": 31,
40527 "field_name": "fabric_metadata.next_id"
40528 },
40529 {
40530 "field_bit": 4,
40531 "field_name": "fabric_metadata.next_id"
40532 },
40533 {
40534 "field_bit": 10,
40535 "field_name": "fabric_metadata.next_id"
40536 },
40537 {
40538 "field_bit": 11,
40539 "field_name": "fabric_metadata.next_id"
40540 },
40541 {
40542 "field_bit": 12,
40543 "field_name": "fabric_metadata.next_id"
40544 }
40545 ]
40546 },
40547 {
40548 "hash_bit": 25,
40549 "seed": 0,
40550 "bits_to_xor": [
40551 {
40552 "field_bit": 17,
40553 "field_name": "fabric_metadata.next_id"
40554 },
40555 {
40556 "field_bit": 18,
40557 "field_name": "fabric_metadata.next_id"
40558 },
40559 {
40560 "field_bit": 20,
40561 "field_name": "fabric_metadata.next_id"
40562 },
40563 {
40564 "field_bit": 21,
40565 "field_name": "fabric_metadata.next_id"
40566 },
40567 {
40568 "field_bit": 22,
40569 "field_name": "fabric_metadata.next_id"
40570 },
40571 {
40572 "field_bit": 23,
40573 "field_name": "fabric_metadata.next_id"
40574 },
40575 {
40576 "field_bit": 25,
40577 "field_name": "fabric_metadata.next_id"
40578 },
40579 {
40580 "field_bit": 31,
40581 "field_name": "fabric_metadata.next_id"
40582 },
40583 {
40584 "field_bit": 5,
40585 "field_name": "fabric_metadata.next_id"
40586 },
40587 {
40588 "field_bit": 10,
40589 "field_name": "fabric_metadata.next_id"
40590 },
40591 {
40592 "field_bit": 11,
40593 "field_name": "fabric_metadata.next_id"
40594 },
40595 {
40596 "field_bit": 13,
40597 "field_name": "fabric_metadata.next_id"
40598 }
40599 ]
40600 },
40601 {
40602 "hash_bit": 26,
40603 "seed": 0,
40604 "bits_to_xor": [
40605 {
40606 "field_bit": 17,
40607 "field_name": "fabric_metadata.next_id"
40608 },
40609 {
40610 "field_bit": 18,
40611 "field_name": "fabric_metadata.next_id"
40612 },
40613 {
40614 "field_bit": 19,
40615 "field_name": "fabric_metadata.next_id"
40616 },
40617 {
40618 "field_bit": 21,
40619 "field_name": "fabric_metadata.next_id"
40620 },
40621 {
40622 "field_bit": 22,
40623 "field_name": "fabric_metadata.next_id"
40624 },
40625 {
40626 "field_bit": 24,
40627 "field_name": "fabric_metadata.next_id"
40628 },
40629 {
40630 "field_bit": 25,
40631 "field_name": "fabric_metadata.next_id"
40632 },
40633 {
40634 "field_bit": 26,
40635 "field_name": "fabric_metadata.next_id"
40636 },
40637 {
40638 "field_bit": 28,
40639 "field_name": "fabric_metadata.next_id"
40640 },
40641 {
40642 "field_bit": 29,
40643 "field_name": "fabric_metadata.next_id"
40644 },
40645 {
40646 "field_bit": 30,
40647 "field_name": "fabric_metadata.next_id"
40648 },
40649 {
40650 "field_bit": 6,
40651 "field_name": "fabric_metadata.next_id"
40652 },
40653 {
40654 "field_bit": 11,
40655 "field_name": "fabric_metadata.next_id"
40656 },
40657 {
40658 "field_bit": 14,
40659 "field_name": "fabric_metadata.next_id"
40660 }
40661 ]
40662 },
40663 {
40664 "hash_bit": 27,
40665 "seed": 0,
40666 "bits_to_xor": [
40667 {
40668 "field_bit": 18,
40669 "field_name": "fabric_metadata.next_id"
40670 },
40671 {
40672 "field_bit": 20,
40673 "field_name": "fabric_metadata.next_id"
40674 },
40675 {
40676 "field_bit": 22,
40677 "field_name": "fabric_metadata.next_id"
40678 },
40679 {
40680 "field_bit": 23,
40681 "field_name": "fabric_metadata.next_id"
40682 },
40683 {
40684 "field_bit": 25,
40685 "field_name": "fabric_metadata.next_id"
40686 },
40687 {
40688 "field_bit": 27,
40689 "field_name": "fabric_metadata.next_id"
40690 },
40691 {
40692 "field_bit": 7,
40693 "field_name": "fabric_metadata.next_id"
40694 },
40695 {
40696 "field_bit": 10,
40697 "field_name": "fabric_metadata.next_id"
40698 },
40699 {
40700 "field_bit": 11,
40701 "field_name": "fabric_metadata.next_id"
40702 },
40703 {
40704 "field_bit": 12,
40705 "field_name": "fabric_metadata.next_id"
40706 },
40707 {
40708 "field_bit": 14,
40709 "field_name": "fabric_metadata.next_id"
40710 },
40711 {
40712 "field_bit": 15,
40713 "field_name": "fabric_metadata.next_id"
40714 }
40715 ]
40716 },
40717 {
40718 "hash_bit": 28,
40719 "seed": 0,
40720 "bits_to_xor": [
40721 {
40722 "field_bit": 16,
40723 "field_name": "fabric_metadata.next_id"
40724 },
40725 {
40726 "field_bit": 17,
40727 "field_name": "fabric_metadata.next_id"
40728 },
40729 {
40730 "field_bit": 18,
40731 "field_name": "fabric_metadata.next_id"
40732 },
40733 {
40734 "field_bit": 19,
40735 "field_name": "fabric_metadata.next_id"
40736 },
40737 {
40738 "field_bit": 21,
40739 "field_name": "fabric_metadata.next_id"
40740 },
40741 {
40742 "field_bit": 27,
40743 "field_name": "fabric_metadata.next_id"
40744 },
40745 {
40746 "field_bit": 29,
40747 "field_name": "fabric_metadata.next_id"
40748 },
40749 {
40750 "field_bit": 30,
40751 "field_name": "fabric_metadata.next_id"
40752 },
40753 {
40754 "field_bit": 31,
40755 "field_name": "fabric_metadata.next_id"
40756 },
40757 {
40758 "field_bit": 8,
40759 "field_name": "fabric_metadata.next_id"
40760 },
40761 {
40762 "field_bit": 10,
40763 "field_name": "fabric_metadata.next_id"
40764 },
40765 {
40766 "field_bit": 11,
40767 "field_name": "fabric_metadata.next_id"
40768 },
40769 {
40770 "field_bit": 13,
40771 "field_name": "fabric_metadata.next_id"
40772 },
40773 {
40774 "field_bit": 14,
40775 "field_name": "fabric_metadata.next_id"
40776 },
40777 {
40778 "field_bit": 15,
40779 "field_name": "fabric_metadata.next_id"
40780 }
40781 ]
40782 },
40783 {
40784 "hash_bit": 29,
40785 "seed": 0,
40786 "bits_to_xor": [
40787 {
40788 "field_bit": 17,
40789 "field_name": "fabric_metadata.next_id"
40790 },
40791 {
40792 "field_bit": 18,
40793 "field_name": "fabric_metadata.next_id"
40794 },
40795 {
40796 "field_bit": 19,
40797 "field_name": "fabric_metadata.next_id"
40798 },
40799 {
40800 "field_bit": 20,
40801 "field_name": "fabric_metadata.next_id"
40802 },
40803 {
40804 "field_bit": 22,
40805 "field_name": "fabric_metadata.next_id"
40806 },
40807 {
40808 "field_bit": 24,
40809 "field_name": "fabric_metadata.next_id"
40810 },
40811 {
40812 "field_bit": 25,
40813 "field_name": "fabric_metadata.next_id"
40814 },
40815 {
40816 "field_bit": 26,
40817 "field_name": "fabric_metadata.next_id"
40818 },
40819 {
40820 "field_bit": 27,
40821 "field_name": "fabric_metadata.next_id"
40822 },
40823 {
40824 "field_bit": 9,
40825 "field_name": "fabric_metadata.next_id"
40826 },
40827 {
40828 "field_bit": 12,
40829 "field_name": "fabric_metadata.next_id"
40830 },
40831 {
40832 "field_bit": 15,
40833 "field_name": "fabric_metadata.next_id"
40834 }
40835 ]
40836 }
40837 ]
40838 }
40839 ],
40840 "action_format": [
40841 {
40842 "action_name": "NoAction",
40843 "action_handle": 536870949,
40844 "table_name": "--END_OF_PIPELINE--",
40845 "next_table": 0,
40846 "next_table_full": 255,
40847 "vliw_instruction": 0,
40848 "vliw_instruction_full": 65,
40849 "immediate_fields": []
40850 },
40851 {
40852 "action_name": "next.set_mcast_group",
40853 "action_handle": 536870948,
40854 "table_name": "--END_OF_PIPELINE--",
40855 "next_table": 0,
40856 "next_table_full": 255,
40857 "vliw_instruction": 1,
40858 "vliw_instruction_full": 66,
40859 "immediate_fields": [
40860 {
40861 "param_name": "gid",
40862 "param_type": "parameter",
40863 "param_shift": 0,
40864 "dest_start": 16,
40865 "dest_width": 16
40866 },
40867 {
40868 "param_name": "smac",
40869 "param_type": "parameter",
40870 "param_shift": 0,
40871 "dest_start": 0,
40872 "dest_width": 16
40873 }
40874 ]
40875 }
40876 ],
40877 "result_physical_buses": [ 14 ],
40878 "pack_format": [
40879 {
40880 "memory_word_width": 128,
40881 "table_word_width": 128,
40882 "entries_per_table_word": 1,
40883 "number_memory_units_per_table_word": 1
40884 }
40885 ],
40886 "memory_resource_allocation": null,
40887 "ways": [
40888 {
40889 "stage_number": 8,
40890 "way_number": 0,
40891 "stage_table_type": "hash_way",
40892 "size": 1024,
40893 "pack_format": [
40894 {
40895 "memory_word_width": 128,
40896 "table_word_width": 128,
40897 "entries_per_table_word": 1,
40898 "number_memory_units_per_table_word": 1,
40899 "entries": [
40900 {
40901 "entry_number": 0,
40902 "fields": [
40903 {
40904 "start_bit": 0,
40905 "enable_pfe": false,
40906 "field_width": 1,
40907 "lsb_mem_word_idx": 0,
40908 "msb_mem_word_idx": 0,
40909 "source": "instr",
40910 "lsb_mem_word_offset": 0,
40911 "field_name": "action",
40912 "match_mode": "unused"
40913 },
40914 {
40915 "start_bit": 0,
40916 "enable_pfe": false,
40917 "field_width": 32,
40918 "lsb_mem_word_idx": 0,
40919 "msb_mem_word_idx": 0,
40920 "source": "immediate",
40921 "lsb_mem_word_offset": 1,
40922 "field_name": "immediate",
40923 "match_mode": "unused"
40924 },
40925 {
40926 "start_bit": 0,
40927 "enable_pfe": false,
40928 "field_width": 4,
40929 "lsb_mem_word_idx": 0,
40930 "msb_mem_word_idx": 0,
40931 "source": "version",
40932 "lsb_mem_word_offset": 112,
40933 "field_name": "version",
40934 "match_mode": "s1q0"
40935 },
40936 {
40937 "field_name": "fabric_metadata.next_id",
40938 "source": "spec",
40939 "lsb_mem_word_offset": 34,
40940 "start_bit": 10,
40941 "immediate_name": "",
40942 "lsb_mem_word_idx": 0,
40943 "msb_mem_word_idx": 0,
40944 "match_mode": "unused",
40945 "enable_pfe": false,
40946 "field_width": 6
40947 },
40948 {
40949 "field_name": "fabric_metadata.next_id",
40950 "source": "spec",
40951 "lsb_mem_word_offset": 40,
40952 "start_bit": 16,
40953 "immediate_name": "",
40954 "lsb_mem_word_idx": 0,
40955 "msb_mem_word_idx": 0,
40956 "match_mode": "unused",
40957 "enable_pfe": false,
40958 "field_width": 8
40959 },
40960 {
40961 "field_name": "fabric_metadata.next_id",
40962 "source": "spec",
40963 "lsb_mem_word_offset": 48,
40964 "start_bit": 24,
40965 "immediate_name": "",
40966 "lsb_mem_word_idx": 0,
40967 "msb_mem_word_idx": 0,
40968 "match_mode": "unused",
40969 "enable_pfe": false,
40970 "field_width": 8
40971 },
40972 {
40973 "start_bit": 0,
40974 "enable_pfe": false,
40975 "field_width": 1,
40976 "lsb_mem_word_idx": 0,
40977 "msb_mem_word_idx": 0,
40978 "source": "zero",
40979 "lsb_mem_word_offset": 33,
40980 "field_name": "--padding_33_33--",
40981 "match_mode": "unused"
40982 },
40983 {
40984 "start_bit": 0,
40985 "enable_pfe": false,
40986 "field_width": 56,
40987 "lsb_mem_word_idx": 0,
40988 "msb_mem_word_idx": 0,
40989 "source": "zero",
40990 "lsb_mem_word_offset": 56,
40991 "field_name": "--padding_56_111--",
40992 "match_mode": "unused"
40993 },
40994 {
40995 "start_bit": 0,
40996 "enable_pfe": false,
40997 "field_width": 12,
40998 "lsb_mem_word_idx": 0,
40999 "msb_mem_word_idx": 0,
41000 "source": "zero",
41001 "lsb_mem_word_offset": 116,
41002 "field_name": "--padding_116_127--",
41003 "match_mode": "unused"
41004 }
41005 ]
41006 }
41007 ]
41008 }
41009 ],
41010 "memory_resource_allocation": {
41011 "hash_function_id": 0,
41012 "hash_entry_bit_lo": 0,
41013 "hash_entry_bit_hi": 9,
41014 "number_entry_bits": 10,
41015 "hash_select_bit_hi": 40,
41016 "hash_select_bit_lo": 40,
41017 "number_select_bits": 0,
41018 "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
41019 }
41020 },
41021 {
41022 "stage_number": 8,
41023 "way_number": 1,
41024 "stage_table_type": "hash_way",
41025 "size": 1024,
41026 "pack_format": [
41027 {
41028 "memory_word_width": 128,
41029 "table_word_width": 128,
41030 "entries_per_table_word": 1,
41031 "number_memory_units_per_table_word": 1,
41032 "entries": [
41033 {
41034 "entry_number": 0,
41035 "fields": [
41036 {
41037 "start_bit": 0,
41038 "enable_pfe": false,
41039 "field_width": 1,
41040 "lsb_mem_word_idx": 0,
41041 "msb_mem_word_idx": 0,
41042 "source": "instr",
41043 "lsb_mem_word_offset": 0,
41044 "field_name": "action",
41045 "match_mode": "unused"
41046 },
41047 {
41048 "start_bit": 0,
41049 "enable_pfe": false,
41050 "field_width": 32,
41051 "lsb_mem_word_idx": 0,
41052 "msb_mem_word_idx": 0,
41053 "source": "immediate",
41054 "lsb_mem_word_offset": 1,
41055 "field_name": "immediate",
41056 "match_mode": "unused"
41057 },
41058 {
41059 "start_bit": 0,
41060 "enable_pfe": false,
41061 "field_width": 4,
41062 "lsb_mem_word_idx": 0,
41063 "msb_mem_word_idx": 0,
41064 "source": "version",
41065 "lsb_mem_word_offset": 112,
41066 "field_name": "version",
41067 "match_mode": "s1q0"
41068 },
41069 {
41070 "field_name": "fabric_metadata.next_id",
41071 "source": "spec",
41072 "lsb_mem_word_offset": 34,
41073 "start_bit": 10,
41074 "immediate_name": "",
41075 "lsb_mem_word_idx": 0,
41076 "msb_mem_word_idx": 0,
41077 "match_mode": "unused",
41078 "enable_pfe": false,
41079 "field_width": 6
41080 },
41081 {
41082 "field_name": "fabric_metadata.next_id",
41083 "source": "spec",
41084 "lsb_mem_word_offset": 40,
41085 "start_bit": 16,
41086 "immediate_name": "",
41087 "lsb_mem_word_idx": 0,
41088 "msb_mem_word_idx": 0,
41089 "match_mode": "unused",
41090 "enable_pfe": false,
41091 "field_width": 8
41092 },
41093 {
41094 "field_name": "fabric_metadata.next_id",
41095 "source": "spec",
41096 "lsb_mem_word_offset": 48,
41097 "start_bit": 24,
41098 "immediate_name": "",
41099 "lsb_mem_word_idx": 0,
41100 "msb_mem_word_idx": 0,
41101 "match_mode": "unused",
41102 "enable_pfe": false,
41103 "field_width": 8
41104 },
41105 {
41106 "start_bit": 0,
41107 "enable_pfe": false,
41108 "field_width": 1,
41109 "lsb_mem_word_idx": 0,
41110 "msb_mem_word_idx": 0,
41111 "source": "zero",
41112 "lsb_mem_word_offset": 33,
41113 "field_name": "--padding_33_33--",
41114 "match_mode": "unused"
41115 },
41116 {
41117 "start_bit": 0,
41118 "enable_pfe": false,
41119 "field_width": 56,
41120 "lsb_mem_word_idx": 0,
41121 "msb_mem_word_idx": 0,
41122 "source": "zero",
41123 "lsb_mem_word_offset": 56,
41124 "field_name": "--padding_56_111--",
41125 "match_mode": "unused"
41126 },
41127 {
41128 "start_bit": 0,
41129 "enable_pfe": false,
41130 "field_width": 12,
41131 "lsb_mem_word_idx": 0,
41132 "msb_mem_word_idx": 0,
41133 "source": "zero",
41134 "lsb_mem_word_offset": 116,
41135 "field_name": "--padding_116_127--",
41136 "match_mode": "unused"
41137 }
41138 ]
41139 }
41140 ]
41141 }
41142 ],
41143 "memory_resource_allocation": {
41144 "hash_function_id": 0,
41145 "hash_entry_bit_lo": 10,
41146 "hash_entry_bit_hi": 19,
41147 "number_entry_bits": 10,
41148 "hash_select_bit_hi": 40,
41149 "hash_select_bit_lo": 40,
41150 "number_select_bits": 0,
41151 "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
41152 }
41153 },
41154 {
41155 "stage_number": 8,
41156 "way_number": 2,
41157 "stage_table_type": "hash_way",
41158 "size": 1024,
41159 "pack_format": [
41160 {
41161 "memory_word_width": 128,
41162 "table_word_width": 128,
41163 "entries_per_table_word": 1,
41164 "number_memory_units_per_table_word": 1,
41165 "entries": [
41166 {
41167 "entry_number": 0,
41168 "fields": [
41169 {
41170 "start_bit": 0,
41171 "enable_pfe": false,
41172 "field_width": 1,
41173 "lsb_mem_word_idx": 0,
41174 "msb_mem_word_idx": 0,
41175 "source": "instr",
41176 "lsb_mem_word_offset": 0,
41177 "field_name": "action",
41178 "match_mode": "unused"
41179 },
41180 {
41181 "start_bit": 0,
41182 "enable_pfe": false,
41183 "field_width": 32,
41184 "lsb_mem_word_idx": 0,
41185 "msb_mem_word_idx": 0,
41186 "source": "immediate",
41187 "lsb_mem_word_offset": 1,
41188 "field_name": "immediate",
41189 "match_mode": "unused"
41190 },
41191 {
41192 "start_bit": 0,
41193 "enable_pfe": false,
41194 "field_width": 4,
41195 "lsb_mem_word_idx": 0,
41196 "msb_mem_word_idx": 0,
41197 "source": "version",
41198 "lsb_mem_word_offset": 112,
41199 "field_name": "version",
41200 "match_mode": "s1q0"
41201 },
41202 {
41203 "field_name": "fabric_metadata.next_id",
41204 "source": "spec",
41205 "lsb_mem_word_offset": 34,
41206 "start_bit": 10,
41207 "immediate_name": "",
41208 "lsb_mem_word_idx": 0,
41209 "msb_mem_word_idx": 0,
41210 "match_mode": "unused",
41211 "enable_pfe": false,
41212 "field_width": 6
41213 },
41214 {
41215 "field_name": "fabric_metadata.next_id",
41216 "source": "spec",
41217 "lsb_mem_word_offset": 40,
41218 "start_bit": 16,
41219 "immediate_name": "",
41220 "lsb_mem_word_idx": 0,
41221 "msb_mem_word_idx": 0,
41222 "match_mode": "unused",
41223 "enable_pfe": false,
41224 "field_width": 8
41225 },
41226 {
41227 "field_name": "fabric_metadata.next_id",
41228 "source": "spec",
41229 "lsb_mem_word_offset": 48,
41230 "start_bit": 24,
41231 "immediate_name": "",
41232 "lsb_mem_word_idx": 0,
41233 "msb_mem_word_idx": 0,
41234 "match_mode": "unused",
41235 "enable_pfe": false,
41236 "field_width": 8
41237 },
41238 {
41239 "start_bit": 0,
41240 "enable_pfe": false,
41241 "field_width": 1,
41242 "lsb_mem_word_idx": 0,
41243 "msb_mem_word_idx": 0,
41244 "source": "zero",
41245 "lsb_mem_word_offset": 33,
41246 "field_name": "--padding_33_33--",
41247 "match_mode": "unused"
41248 },
41249 {
41250 "start_bit": 0,
41251 "enable_pfe": false,
41252 "field_width": 56,
41253 "lsb_mem_word_idx": 0,
41254 "msb_mem_word_idx": 0,
41255 "source": "zero",
41256 "lsb_mem_word_offset": 56,
41257 "field_name": "--padding_56_111--",
41258 "match_mode": "unused"
41259 },
41260 {
41261 "start_bit": 0,
41262 "enable_pfe": false,
41263 "field_width": 12,
41264 "lsb_mem_word_idx": 0,
41265 "msb_mem_word_idx": 0,
41266 "source": "zero",
41267 "lsb_mem_word_offset": 116,
41268 "field_name": "--padding_116_127--",
41269 "match_mode": "unused"
41270 }
41271 ]
41272 }
41273 ]
41274 }
41275 ],
41276 "memory_resource_allocation": {
41277 "hash_function_id": 0,
41278 "hash_entry_bit_lo": 20,
41279 "hash_entry_bit_hi": 29,
41280 "number_entry_bits": 10,
41281 "hash_select_bit_hi": 40,
41282 "hash_select_bit_lo": 40,
41283 "number_select_bits": 0,
41284 "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
41285 }
41286 }
41287 ]
41288 }
41289 ],
41290 "match_type": "exact",
41291 "uses_dynamic_key_masks": false
41292 },
41293 "actions": [
41294 {
41295 "name": "NoAction",
41296 "handle": 536870949,
41297 "indirect_resources": [],
41298 "allowed_as_default_action": true,
41299 "disallowed_as_default_action_reason": "",
41300 "p4_parameters": [],
41301 "override_meter_addr": false,
41302 "override_meter_addr_pfe": false,
41303 "override_meter_full_addr": 0,
41304 "override_stat_addr": false,
41305 "override_stat_addr_pfe": false,
41306 "override_stat_full_addr": 0,
41307 "override_stateful_addr": false,
41308 "override_stateful_addr_pfe": false,
41309 "override_stateful_full_addr": 0,
41310 "primitives": []
41311 },
41312 {
41313 "name": "next.set_mcast_group",
41314 "handle": 536870948,
41315 "indirect_resources": [],
41316 "allowed_as_default_action": true,
41317 "disallowed_as_default_action_reason": "",
41318 "p4_parameters": [
41319 { "name": "gid", "start_bit": 0, "position": 0, "bit_width": 16 },
41320 { "name": "smac", "start_bit": 16, "position": 1, "bit_width": 48 }
41321 ],
41322 "override_meter_addr": false,
41323 "override_meter_addr_pfe": false,
41324 "override_meter_full_addr": 0,
41325 "override_stat_addr": false,
41326 "override_stat_addr_pfe": false,
41327 "override_stat_full_addr": 0,
41328 "override_stateful_addr": false,
41329 "override_stateful_addr_pfe": false,
41330 "override_stateful_full_addr": 0,
41331 "primitives": [
41332 {
41333 "name": "ModifyFieldPrimitive",
41334 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.mcast_grp_a" },
41335 "src": [ { "type": "immediate", "name": "gid" } ]
41336 },
41337 {
41338 "name": "ModifyFieldPrimitive",
41339 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
41340 "src": [ { "type": "immediate", "name": "smac.0-15" } ]
41341 },
41342 {
41343 "name": "ModifyFieldPrimitive",
41344 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
41345 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
41346 }
41347 ]
41348 }
41349 ]
41350 },
41351 {
41352 "direction": "ingress",
41353 "handle": 67108876,
41354 "name": "next.broadcast_counter",
41355 "table_type": "statistics",
41356 "size": 0,
41357 "stage_tables": [
41358 {
41359 "stage_number": 8,
41360 "size": 4096,
41361 "stage_table_type": "statistics",
41362 "logical_table_id": 2,
41363 "pack_format": [
41364 {
41365 "table_word_width": 128,
41366 "memory_word_width": 128,
41367 "entries_per_table_word": 2,
41368 "number_memory_units_per_table_word": 1
41369 }
41370 ],
41371 "memory_resource_allocation": {
41372 "memory_type": "sram",
41373 "memory_units_and_vpns": [
41374 { "memory_units": [ 78 ], "vpns": [ 0 ] },
41375 { "memory_units": [ 79 ], "vpns": [ 1 ] },
41376 { "memory_units": [ 80 ], "vpns": [ 2 ] }
41377 ],
41378 "spare_bank_memory_unit": 80
41379 },
41380 "stats_alu_index": 3
41381 }
41382 ],
41383 "how_referenced": "direct",
41384 "enable_pfe": false,
41385 "pfe_bit_position": 0,
41386 "byte_counter_resolution": 36,
41387 "packet_counter_resolution": 28,
41388 "statistics_type": "packets_and_bytes"
41389 },
41390 {
41391 "direction": "ingress",
41392 "handle": 33554435,
41393 "name": "next_broadcast$action",
41394 "table_type": "action",
41395 "size": 4096,
41396 "stage_tables": [
41397 {
41398 "stage_number": 8,
41399 "size": 4096,
41400 "stage_table_type": "action_data",
41401 "logical_table_id": 2,
41402 "pack_format": [
41403 {
41404 "memory_word_width": 128,
41405 "table_word_width": 128,
41406 "entries_per_table_word": 4,
41407 "number_memory_units_per_table_word": 1,
41408 "entries": [
41409 {
41410 "entry_number": 3,
41411 "fields": [
41412 {
41413 "start_bit": 0,
41414 "field_width": 32,
41415 "lsb_mem_word_idx": 0,
41416 "msb_mem_word_idx": 0,
41417 "source": "zero",
41418 "lsb_mem_word_offset": 96,
41419 "field_name": "--padding_0_31--"
41420 }
41421 ]
41422 },
41423 {
41424 "entry_number": 2,
41425 "fields": [
41426 {
41427 "start_bit": 0,
41428 "field_width": 32,
41429 "lsb_mem_word_idx": 0,
41430 "msb_mem_word_idx": 0,
41431 "source": "zero",
41432 "lsb_mem_word_offset": 64,
41433 "field_name": "--padding_0_31--"
41434 }
41435 ]
41436 },
41437 {
41438 "entry_number": 1,
41439 "fields": [
41440 {
41441 "start_bit": 0,
41442 "field_width": 32,
41443 "lsb_mem_word_idx": 0,
41444 "msb_mem_word_idx": 0,
41445 "source": "zero",
41446 "lsb_mem_word_offset": 32,
41447 "field_name": "--padding_0_31--"
41448 }
41449 ]
41450 },
41451 {
41452 "entry_number": 0,
41453 "fields": [
41454 {
41455 "start_bit": 0,
41456 "field_width": 32,
41457 "lsb_mem_word_idx": 0,
41458 "msb_mem_word_idx": 0,
41459 "source": "zero",
41460 "lsb_mem_word_offset": 0,
41461 "field_name": "--padding_0_31--"
41462 }
41463 ]
41464 }
41465 ],
41466 "action_handle": 536870949
41467 },
41468 {
41469 "memory_word_width": 128,
41470 "table_word_width": 128,
41471 "entries_per_table_word": 4,
41472 "number_memory_units_per_table_word": 1,
41473 "entries": [
41474 {
41475 "entry_number": 3,
41476 "fields": [
41477 {
41478 "start_bit": 16,
41479 "field_width": 32,
41480 "lsb_mem_word_idx": 0,
41481 "msb_mem_word_idx": 0,
41482 "source": "spec",
41483 "lsb_mem_word_offset": 96,
41484 "field_name": "smac"
41485 }
41486 ]
41487 },
41488 {
41489 "entry_number": 2,
41490 "fields": [
41491 {
41492 "start_bit": 16,
41493 "field_width": 32,
41494 "lsb_mem_word_idx": 0,
41495 "msb_mem_word_idx": 0,
41496 "source": "spec",
41497 "lsb_mem_word_offset": 64,
41498 "field_name": "smac"
41499 }
41500 ]
41501 },
41502 {
41503 "entry_number": 1,
41504 "fields": [
41505 {
41506 "start_bit": 16,
41507 "field_width": 32,
41508 "lsb_mem_word_idx": 0,
41509 "msb_mem_word_idx": 0,
41510 "source": "spec",
41511 "lsb_mem_word_offset": 32,
41512 "field_name": "smac"
41513 }
41514 ]
41515 },
41516 {
41517 "entry_number": 0,
41518 "fields": [
41519 {
41520 "start_bit": 16,
41521 "field_width": 32,
41522 "lsb_mem_word_idx": 0,
41523 "msb_mem_word_idx": 0,
41524 "source": "spec",
41525 "lsb_mem_word_offset": 0,
41526 "field_name": "smac"
41527 }
41528 ]
41529 }
41530 ],
41531 "action_handle": 536870948
41532 }
41533 ],
41534 "memory_resource_allocation": {
41535 "memory_type": "sram",
41536 "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 0 ] } ],
41537 "spare_bank_memory_unit": 90
41538 }
41539 }
41540 ],
41541 "actions": [
41542 {
41543 "name": "NoAction",
41544 "handle": 536870949,
41545 "indirect_resources": [],
41546 "allowed_as_default_action": true,
41547 "disallowed_as_default_action_reason": "",
41548 "p4_parameters": [],
41549 "override_meter_addr": false,
41550 "override_meter_addr_pfe": false,
41551 "override_meter_full_addr": 0,
41552 "override_stat_addr": false,
41553 "override_stat_addr_pfe": false,
41554 "override_stat_full_addr": 0,
41555 "override_stateful_addr": false,
41556 "override_stateful_addr_pfe": false,
41557 "override_stateful_full_addr": 0,
41558 "primitives": []
41559 },
41560 {
41561 "name": "next.set_mcast_group",
41562 "handle": 536870948,
41563 "indirect_resources": [],
41564 "allowed_as_default_action": true,
41565 "disallowed_as_default_action_reason": "",
41566 "p4_parameters": [
41567 { "name": "gid", "start_bit": 0, "position": 0, "bit_width": 16 },
41568 { "name": "smac", "start_bit": 16, "position": 1, "bit_width": 48 }
41569 ],
41570 "override_meter_addr": false,
41571 "override_meter_addr_pfe": false,
41572 "override_meter_full_addr": 0,
41573 "override_stat_addr": false,
41574 "override_stat_addr_pfe": false,
41575 "override_stat_full_addr": 0,
41576 "override_stateful_addr": false,
41577 "override_stateful_addr_pfe": false,
41578 "override_stateful_full_addr": 0,
41579 "primitives": [
41580 {
41581 "name": "ModifyFieldPrimitive",
41582 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.mcast_grp_a" },
41583 "src": [ { "type": "immediate", "name": "gid" } ]
41584 },
41585 {
41586 "name": "ModifyFieldPrimitive",
41587 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
41588 "src": [ { "type": "immediate", "name": "smac.0-15" } ]
41589 },
41590 {
41591 "name": "ModifyFieldPrimitive",
41592 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
41593 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
41594 }
41595 ]
41596 }
41597 ],
41598 "how_referenced": "direct"
Carmelo Cascone04098db2018-01-30 18:10:32 -080041599 }
41600 ],
41601 "configuration_cache": [
41602 {
41603 "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.chnl_ctrl[0]",
41604 "name": "parser0_chnl_ctrl_0",
41605 "value": "00a41fff"
41606 },
41607 {
41608 "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.chnl_ctrl[1]",
41609 "name": "parser0_chnl_ctrl_1",
41610 "value": "00a41fff"
41611 },
41612 {
41613 "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.chnl_ctrl[2]",
41614 "name": "parser0_chnl_ctrl_2",
41615 "value": "00a41fff"
41616 },
41617 {
41618 "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.chnl_ctrl[3]",
41619 "name": "parser0_chnl_ctrl_3",
41620 "value": "00a41fff"
41621 },
41622 {
41623 "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.multi_threading",
41624 "name": "parser0_multi_threading",
41625 "value": "19522020"
41626 },
41627 {
41628 "fully_qualified_name": "mau[0].dp.match_input_xbar_din_power_ctl",
41629 "name": "stage_0_match_input_xbar_din_power_ctl",
41630 "value": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
41631 },
41632 {
41633 "fully_qualified_name": "mau[1].dp.match_input_xbar_din_power_ctl",
41634 "name": "stage_1_match_input_xbar_din_power_ctl",
41635 "value": "0000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
41636 },
41637 {
41638 "fully_qualified_name": "mau[2].dp.match_input_xbar_din_power_ctl",
41639 "name": "stage_2_match_input_xbar_din_power_ctl",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080041640 "value": "0000000000000000000000000000000000000080000000010000000000000000000000280000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
Carmelo Cascone04098db2018-01-30 18:10:32 -080041641 },
41642 {
41643 "fully_qualified_name": "mau[2].dp.xbar_hash.hash.parity_group_mask",
41644 "name": "stage_2_parity_group_mask",
41645 "value": "00000001000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
41646 },
41647 {
41648 "fully_qualified_name": "mau[3].dp.match_input_xbar_din_power_ctl",
41649 "name": "stage_3_match_input_xbar_din_power_ctl",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080041650 "value": "0000000100000000000000000000000000000000000000000000000000000000000000200000001200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
Carmelo Cascone04098db2018-01-30 18:10:32 -080041651 },
41652 {
41653 "fully_qualified_name": "mau[3].dp.xbar_hash.hash.parity_group_mask",
41654 "name": "stage_3_parity_group_mask",
41655 "value": "00000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
41656 },
41657 {
41658 "fully_qualified_name": "mau[4].dp.match_input_xbar_din_power_ctl",
41659 "name": "stage_4_match_input_xbar_din_power_ctl",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080041660 "value": "00000009000000000000000000000000000000040000000000000000000000000000001c0000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
Carmelo Cascone04098db2018-01-30 18:10:32 -080041661 },
41662 {
41663 "fully_qualified_name": "mau[4].dp.xbar_hash.hash.parity_group_mask",
41664 "name": "stage_4_parity_group_mask",
41665 "value": "00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
41666 },
41667 {
41668 "fully_qualified_name": "mau[5].dp.match_input_xbar_din_power_ctl",
41669 "name": "stage_5_match_input_xbar_din_power_ctl",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080041670 "value": "0000000f00000000000000000000000000000043000000000000000000000000000000680000001e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
Carmelo Cascone04098db2018-01-30 18:10:32 -080041671 },
41672 {
41673 "fully_qualified_name": "mau[6].dp.match_input_xbar_din_power_ctl",
41674 "name": "stage_6_match_input_xbar_din_power_ctl",
41675 "value": "0000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
41676 },
41677 {
41678 "fully_qualified_name": "mau[6].dp.xbar_hash.hash.parity_group_mask",
41679 "name": "stage_6_parity_group_mask",
41680 "value": "00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
41681 },
41682 {
41683 "fully_qualified_name": "mau[7].dp.match_input_xbar_din_power_ctl",
41684 "name": "stage_7_match_input_xbar_din_power_ctl",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080041685 "value": "0000001c000000000000000000000000000000c0000000000000000000000000000000400000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
Carmelo Cascone04098db2018-01-30 18:10:32 -080041686 },
41687 {
41688 "fully_qualified_name": "mau[7].dp.xbar_hash.hash.parity_group_mask",
41689 "name": "stage_7_parity_group_mask",
Carmelo Cascone8ac4fc82018-02-01 13:27:50 -080041690 "value": "00000001000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
Carmelo Cascone04098db2018-01-30 18:10:32 -080041691 },
41692 {
41693 "fully_qualified_name": "mau[8].dp.match_input_xbar_din_power_ctl",
41694 "name": "stage_8_match_input_xbar_din_power_ctl",
Carmelo Cascone04c783b2018-02-14 14:09:46 -080041695 "value": "0000001000000000000000000000000000000000000000010000000000000000000000020000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
Carmelo Cascone04098db2018-01-30 18:10:32 -080041696 },
41697 {
41698 "fully_qualified_name": "mau[8].dp.xbar_hash.hash.parity_group_mask",
41699 "name": "stage_8_parity_group_mask",
41700 "value": "00000001000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
41701 }
41702 ]
41703}