blob: c267fb7959b821d4ac09a6a5c3822213144febe9 [file] [log] [blame]
Carmelo Cascone04098db2018-01-30 18:10:32 -08001{
Carmelo Cascone0fbc9082018-02-11 13:02:37 -08002 "build_date": "02/11/18 20:58:27",
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 Casconeecb35762018-02-03 17:30:05 -080049 "position_offset": 78,
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 Casconeecb35762018-02-03 17:30:05 -080066 "position_offset": 66,
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 Casconeecb35762018-02-03 17:30:05 -0800134 "position_offset": 88,
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 Casconeecb35762018-02-03 17:30:05 -0800145 "position_offset": 90,
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 Casconeecb35762018-02-03 17:30:05 -0800156 "position_offset": 87,
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 Casconeecb35762018-02-03 17:30:05 -0800190 "position_offset": 84,
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 Casconeecb35762018-02-03 17:30:05 -0800207 "position_offset": 91,
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 Casconeecb35762018-02-03 17:30:05 -0800332 "position_offset": 64,
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 Casconeecb35762018-02-03 17:30:05 -0800351 "position_offset": 86,
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 Casconeecb35762018-02-03 17:30:05 -0800370 "position_offset": 92,
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 Casconeecb35762018-02-03 17:30:05 -0800406 "position_offset": 95,
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 Casconeecb35762018-02-03 17:30:05 -0800425 "position_offset": 122,
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 Casconeecb35762018-02-03 17:30:05 -0800444 "position_offset": 131,
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 Cascone04098db2018-01-30 18:10:32 -0800458 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
459 "field_msb": 15,
460 "field_lsb": 0,
461 "field_width": 2,
462 "phv_msb": 8,
463 "phv_lsb": 0,
464 "is_compiler_generated": false,
465 "is_pov": false
466 }
467 ],
468 "word_bit_width": 16
469 },
470 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800471 "phv_number": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800472 "records": [
473 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800474 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800475 "field_name": "packet_out.egress_port",
476 "field_msb": 15,
477 "field_lsb": 0,
478 "field_width": 2,
479 "phv_msb": 15,
480 "phv_lsb": 7,
481 "is_compiler_generated": false,
482 "is_pov": false
483 },
484 {
485 "position_offset": 26,
486 "field_name": "fabric_metadata.fwd_type",
487 "field_msb": 15,
488 "field_lsb": 0,
489 "field_width": 2,
490 "phv_msb": 5,
491 "phv_lsb": 3,
492 "is_compiler_generated": false,
493 "is_pov": false
494 },
495 {
496 "position_offset": 60,
497 "field_name": "ig_intr_md_for_tm.drop_ctl",
498 "field_msb": 15,
499 "field_lsb": 0,
500 "field_width": 2,
501 "phv_msb": 2,
502 "phv_lsb": 0,
503 "is_compiler_generated": false,
504 "is_pov": false
505 }
506 ],
507 "word_bit_width": 16
508 },
509 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800510 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800511 "records": [
512 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800513 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800514 "field_name": "vlan_tag.pri",
515 "field_msb": 15,
516 "field_lsb": 0,
517 "field_width": 2,
518 "phv_msb": 15,
519 "phv_lsb": 13,
520 "is_compiler_generated": false,
521 "is_pov": false
522 },
523 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800524 "position_offset": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800525 "field_name": "vlan_tag.cfi",
526 "field_msb": 15,
527 "field_lsb": 0,
528 "field_width": 2,
529 "phv_msb": 12,
530 "phv_lsb": 12,
531 "is_compiler_generated": false,
532 "is_pov": false
533 },
534 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800535 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800536 "field_name": "vlan_tag.vlan_id",
537 "field_msb": 15,
538 "field_lsb": 0,
539 "field_width": 2,
540 "phv_msb": 11,
541 "phv_lsb": 0,
542 "is_compiler_generated": false,
543 "is_pov": false
544 }
545 ],
546 "word_bit_width": 16
547 },
548 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800549 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800550 "records": [
551 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800552 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800553 "field_name": "mpls.label",
554 "field_msb": 19,
555 "field_lsb": 4,
556 "field_width": 2,
557 "phv_msb": 15,
558 "phv_lsb": 0,
559 "is_compiler_generated": false,
560 "is_pov": false
561 }
562 ],
563 "word_bit_width": 16
564 },
565 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800566 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800567 "records": [
568 {
569 "position_offset": 58,
570 "field_name": "ig_intr_md.ingress_port",
571 "field_msb": 15,
572 "field_lsb": 0,
573 "field_width": 2,
574 "phv_msb": 8,
575 "phv_lsb": 0,
576 "is_compiler_generated": false,
577 "is_pov": false
578 }
579 ],
580 "word_bit_width": 16
581 },
582 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800583 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800584 "records": [
585 {
586 "position_offset": 31,
587 "field_name": "fabric_metadata.l4_src_port",
588 "field_msb": 15,
589 "field_lsb": 0,
590 "field_width": 2,
591 "phv_msb": 15,
592 "phv_lsb": 0,
593 "is_compiler_generated": false,
594 "is_pov": false
595 }
596 ],
597 "word_bit_width": 16
598 },
599 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800600 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800601 "records": [
602 {
603 "position_offset": 18,
604 "field_name": "ethernet.ether_type",
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 Casconeecb35762018-02-03 17:30:05 -0800617 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800618 "records": [
619 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800620 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800621 "field_name": "vlan_tag.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 Casconeecb35762018-02-03 17:30:05 -0800634 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800635 "records": [
636 {
637 "position_offset": 12,
638 "field_name": "ethernet.dst_addr",
639 "field_msb": 15,
640 "field_lsb": 0,
641 "field_width": 6,
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 Casconeecb35762018-02-03 17:30:05 -0800651 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800652 "records": [
653 {
654 "position_offset": 20,
655 "field_name": "ethernet.src_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 Casconeecb35762018-02-03 17:30:05 -0800668 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800669 "records": [
670 {
671 "position_offset": 29,
672 "field_name": "fabric_metadata.l4_dst_port",
673 "field_msb": 15,
674 "field_lsb": 0,
675 "field_width": 2,
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 Casconeecb35762018-02-03 17:30:05 -0800685 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800686 "records": [
687 {
688 "position_offset": 37,
689 "field_name": "fabric_metadata.original_ether_type",
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 {
702 "phv_number": 260,
703 "records": [
704 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800705 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800706 "field_name": "tcp.seq_no",
707 "field_msb": 31,
708 "field_lsb": 0,
709 "field_width": 4,
710 "phv_msb": 31,
711 "phv_lsb": 0,
712 "is_compiler_generated": false,
713 "is_pov": false
714 },
715 {
716 "position_offset": 50,
717 "field_name": "icmp.timestamp",
718 "field_msb": 31,
719 "field_lsb": 0,
720 "field_width": 8,
721 "phv_msb": 31,
722 "phv_lsb": 0,
723 "is_compiler_generated": false,
724 "is_pov": false
725 }
726 ],
727 "word_bit_width": 32
728 },
729 {
730 "phv_number": 261,
731 "records": [
732 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800733 "position_offset": 96,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800734 "field_name": "tcp.ack_no",
735 "field_msb": 31,
736 "field_lsb": 0,
737 "field_width": 4,
738 "phv_msb": 31,
739 "phv_lsb": 0,
740 "is_compiler_generated": false,
741 "is_pov": false
742 },
743 {
744 "position_offset": 50,
745 "field_name": "icmp.timestamp",
746 "field_msb": 63,
747 "field_lsb": 32,
748 "field_width": 8,
749 "phv_msb": 31,
750 "phv_lsb": 0,
751 "is_compiler_generated": false,
752 "is_pov": false
753 }
754 ],
755 "word_bit_width": 32
756 },
757 {
758 "phv_number": 292,
759 "records": [
760 {
761 "position_offset": 3,
762 "field_name": "arp.hw_addr_len",
763 "field_msb": 7,
764 "field_lsb": 0,
765 "field_width": 1,
766 "phv_msb": 7,
767 "phv_lsb": 0,
768 "is_compiler_generated": false,
769 "is_pov": false
770 },
771 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800772 "position_offset": 85,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800773 "field_name": "ipv4.version",
774 "field_msb": 7,
775 "field_lsb": 0,
776 "field_width": 1,
777 "phv_msb": 7,
778 "phv_lsb": 4,
779 "is_compiler_generated": false,
780 "is_pov": false
781 },
782 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800783 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800784 "field_name": "ipv4.ihl",
785 "field_msb": 7,
786 "field_lsb": 0,
787 "field_width": 1,
788 "phv_msb": 3,
789 "phv_lsb": 0,
790 "is_compiler_generated": false,
791 "is_pov": false
792 }
793 ],
794 "word_bit_width": 8
795 },
796 {
797 "phv_number": 293,
798 "records": [
799 {
800 "position_offset": 8,
801 "field_name": "arp.proto_addr_len",
802 "field_msb": 7,
803 "field_lsb": 0,
804 "field_width": 1,
805 "phv_msb": 7,
806 "phv_lsb": 0,
807 "is_compiler_generated": false,
808 "is_pov": false
809 },
810 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800811 "position_offset": 65,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800812 "field_name": "ipv4.diffserv",
813 "field_msb": 7,
814 "field_lsb": 0,
815 "field_width": 1,
816 "phv_msb": 7,
817 "phv_lsb": 0,
818 "is_compiler_generated": false,
819 "is_pov": false
820 }
821 ],
822 "word_bit_width": 8
823 },
824 {
825 "phv_number": 294,
826 "records": [
827 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800828 "position_offset": 77,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800829 "field_name": "ipv4.protocol",
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": 326,
843 "records": [
844 {
845 "position_offset": 4,
846 "field_name": "arp.hw_type",
847 "field_msb": 15,
848 "field_lsb": 0,
849 "field_width": 2,
850 "phv_msb": 15,
851 "phv_lsb": 0,
852 "is_compiler_generated": false,
853 "is_pov": false
854 },
855 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800856 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800857 "field_name": "tcp.data_offset",
858 "field_msb": 15,
859 "field_lsb": 0,
860 "field_width": 2,
861 "phv_msb": 15,
862 "phv_lsb": 12,
863 "is_compiler_generated": false,
864 "is_pov": false
865 },
866 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800867 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800868 "field_name": "tcp.res",
869 "field_msb": 15,
870 "field_lsb": 0,
871 "field_width": 2,
872 "phv_msb": 11,
873 "phv_lsb": 9,
874 "is_compiler_generated": false,
875 "is_pov": false
876 },
877 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800878 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800879 "field_name": "tcp.ecn",
880 "field_msb": 15,
881 "field_lsb": 0,
882 "field_width": 2,
883 "phv_msb": 8,
884 "phv_lsb": 6,
885 "is_compiler_generated": false,
886 "is_pov": false
887 },
888 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800889 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800890 "field_name": "tcp.ctrl",
891 "field_msb": 15,
892 "field_lsb": 0,
893 "field_width": 2,
894 "phv_msb": 5,
895 "phv_lsb": 0,
896 "is_compiler_generated": false,
897 "is_pov": false
898 },
899 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800900 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800901 "field_name": "udp.src_port",
902 "field_msb": 15,
903 "field_lsb": 0,
904 "field_width": 2,
905 "phv_msb": 15,
906 "phv_lsb": 0,
907 "is_compiler_generated": false,
908 "is_pov": false
909 },
910 {
911 "position_offset": 42,
912 "field_name": "icmp.checksum",
913 "field_msb": 15,
914 "field_lsb": 0,
915 "field_width": 2,
916 "phv_msb": 15,
917 "phv_lsb": 0,
918 "is_compiler_generated": false,
919 "is_pov": false
920 }
921 ],
922 "word_bit_width": 16
923 },
924 {
925 "phv_number": 327,
926 "records": [
927 {
928 "position_offset": 9,
929 "field_name": "arp.proto_type",
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 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800939 "position_offset": 116,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800940 "field_name": "tcp.src_port",
941 "field_msb": 15,
942 "field_lsb": 0,
943 "field_width": 2,
944 "phv_msb": 15,
945 "phv_lsb": 0,
946 "is_compiler_generated": false,
947 "is_pov": false
948 },
949 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800950 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800951 "field_name": "udp.dst_port",
952 "field_msb": 15,
953 "field_lsb": 0,
954 "field_width": 2,
955 "phv_msb": 15,
956 "phv_lsb": 0,
957 "is_compiler_generated": false,
958 "is_pov": false
959 },
960 {
961 "position_offset": 46,
962 "field_name": "icmp.identifier",
963 "field_msb": 15,
964 "field_lsb": 0,
965 "field_width": 2,
966 "phv_msb": 15,
967 "phv_lsb": 0,
968 "is_compiler_generated": false,
969 "is_pov": false
970 }
971 ],
972 "word_bit_width": 16
973 },
974 {
975 "phv_number": 328,
976 "records": [
977 {
978 "position_offset": 6,
979 "field_name": "arp.opcode",
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 {
Carmelo Casconeecb35762018-02-03 17:30:05 -0800989 "position_offset": 70,
Carmelo Cascone04098db2018-01-30 18:10:32 -0800990 "field_name": "ipv4.flags",
991 "field_msb": 15,
992 "field_lsb": 0,
993 "field_width": 2,
994 "phv_msb": 15,
995 "phv_lsb": 13,
996 "is_compiler_generated": false,
997 "is_pov": false
998 },
999 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08001000 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001001 "field_name": "ipv4.frag_offset",
1002 "field_msb": 15,
1003 "field_lsb": 0,
1004 "field_width": 2,
1005 "phv_msb": 12,
1006 "phv_lsb": 0,
1007 "is_compiler_generated": false,
1008 "is_pov": false
1009 }
1010 ],
1011 "word_bit_width": 16
1012 },
1013 {
1014 "phv_number": 329,
1015 "records": [
1016 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08001017 "position_offset": 82,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001018 "field_name": "ipv4.total_len",
1019 "field_msb": 15,
1020 "field_lsb": 0,
1021 "field_width": 2,
1022 "phv_msb": 15,
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": 330,
1032 "records": [
1033 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08001034 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001035 "field_name": "ipv4.identification",
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": 331,
1049 "records": [
1050 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08001051 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001052 "field_name": "tcp.dst_port",
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 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08001062 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001063 "field_name": "udp.len",
1064 "field_msb": 15,
1065 "field_lsb": 0,
1066 "field_width": 2,
1067 "phv_msb": 15,
1068 "phv_lsb": 0,
1069 "is_compiler_generated": false,
1070 "is_pov": false
1071 },
1072 {
1073 "position_offset": 48,
1074 "field_name": "icmp.sequence_number",
1075 "field_msb": 15,
1076 "field_lsb": 0,
1077 "field_width": 2,
1078 "phv_msb": 15,
1079 "phv_lsb": 0,
1080 "is_compiler_generated": false,
1081 "is_pov": false
1082 }
1083 ],
1084 "word_bit_width": 16
1085 },
1086 {
1087 "phv_number": 338,
1088 "records": [
1089 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08001090 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001091 "field_name": "tcp.window",
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 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08001101 "position_offset": 123,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001102 "field_name": "udp.checksum",
1103 "field_msb": 15,
1104 "field_lsb": 0,
1105 "field_width": 2,
1106 "phv_msb": 15,
1107 "phv_lsb": 0,
1108 "is_compiler_generated": false,
1109 "is_pov": false
1110 }
1111 ],
1112 "word_bit_width": 16
1113 },
1114 {
1115 "phv_number": 339,
1116 "records": [
1117 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08001118 "position_offset": 100,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001119 "field_name": "tcp.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": 340,
1133 "records": [
1134 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08001135 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -08001136 "field_name": "tcp.urgent_ptr",
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 "egress": [
1150 {
1151 "phv_number": 80,
1152 "records": [
1153 {
1154 "position_offset": 0,
1155 "field_name": "POV",
1156 "field_msb": 7,
1157 "field_lsb": 0,
1158 "field_width": 0,
1159 "phv_msb": 0,
1160 "phv_lsb": 0,
1161 "is_compiler_generated": false,
1162 "is_pov": true,
1163 "pov_headers": [
1164 {
1165 "bit_index": 0,
1166 "position_offset": 0,
1167 "header_name": "arp",
1168 "hidden": false
1169 }
1170 ]
1171 },
1172 {
1173 "position_offset": 0,
1174 "field_name": "POV",
1175 "field_msb": 7,
1176 "field_lsb": 0,
1177 "field_width": 0,
1178 "phv_msb": 2,
1179 "phv_lsb": 2,
1180 "is_compiler_generated": false,
1181 "is_pov": true,
1182 "pov_headers": [
1183 {
1184 "bit_index": 2,
1185 "position_offset": 11,
1186 "header_name": "ethernet",
1187 "hidden": false
1188 }
1189 ]
1190 },
1191 {
1192 "position_offset": 0,
1193 "field_name": "POV",
1194 "field_msb": 7,
1195 "field_lsb": 0,
1196 "field_width": 0,
1197 "phv_msb": 3,
1198 "phv_lsb": 3,
1199 "is_compiler_generated": false,
1200 "is_pov": true,
1201 "pov_headers": [
1202 {
1203 "bit_index": 3,
1204 "position_offset": 26,
1205 "header_name": "icmp",
1206 "hidden": false
1207 }
1208 ]
1209 },
1210 {
1211 "position_offset": 0,
1212 "field_name": "POV",
1213 "field_msb": 7,
1214 "field_lsb": 0,
1215 "field_width": 0,
1216 "phv_msb": 5,
1217 "phv_lsb": 5,
1218 "is_compiler_generated": false,
1219 "is_pov": true,
1220 "pov_headers": [
1221 {
1222 "bit_index": 5,
1223 "position_offset": 45,
1224 "header_name": "ipv4",
1225 "hidden": false
1226 }
1227 ]
1228 },
1229 {
1230 "position_offset": 0,
1231 "field_name": "POV",
1232 "field_msb": 7,
1233 "field_lsb": 0,
1234 "field_width": 0,
1235 "phv_msb": 6,
1236 "phv_lsb": 6,
1237 "is_compiler_generated": false,
1238 "is_pov": true,
1239 "pov_headers": [
1240 {
1241 "bit_index": 6,
1242 "position_offset": 67,
1243 "header_name": "mpls",
1244 "hidden": false
1245 }
1246 ]
1247 },
1248 {
1249 "position_offset": 0,
1250 "field_name": "POV",
1251 "field_msb": 7,
1252 "field_lsb": 0,
1253 "field_width": 0,
1254 "phv_msb": 7,
1255 "phv_lsb": 7,
1256 "is_compiler_generated": false,
1257 "is_pov": true,
1258 "pov_headers": [
1259 {
1260 "bit_index": 7,
1261 "position_offset": 73,
1262 "header_name": "packet_in",
1263 "hidden": false
1264 }
1265 ]
1266 }
1267 ],
1268 "word_bit_width": 8
1269 },
1270 {
1271 "phv_number": 81,
1272 "records": [
1273 {
1274 "position_offset": 0,
1275 "field_name": "POV",
1276 "field_msb": 7,
1277 "field_lsb": 0,
1278 "field_width": 0,
1279 "phv_msb": 0,
1280 "phv_lsb": 0,
1281 "is_compiler_generated": false,
1282 "is_pov": true,
1283 "pov_headers": [
1284 {
1285 "bit_index": 0,
1286 "position_offset": 78,
1287 "header_name": "tcp",
1288 "hidden": false
1289 }
1290 ]
1291 },
1292 {
1293 "position_offset": 0,
1294 "field_name": "POV",
1295 "field_msb": 7,
1296 "field_lsb": 0,
1297 "field_width": 0,
1298 "phv_msb": 1,
1299 "phv_lsb": 1,
1300 "is_compiler_generated": false,
1301 "is_pov": true,
1302 "pov_headers": [
1303 {
1304 "bit_index": 1,
1305 "position_offset": 105,
1306 "header_name": "udp",
1307 "hidden": false
1308 }
1309 ]
1310 },
1311 {
1312 "position_offset": 0,
1313 "field_name": "POV",
1314 "field_msb": 7,
1315 "field_lsb": 0,
1316 "field_width": 0,
1317 "phv_msb": 2,
1318 "phv_lsb": 2,
1319 "is_compiler_generated": false,
1320 "is_pov": true,
1321 "pov_headers": [
1322 {
1323 "bit_index": 2,
1324 "position_offset": 114,
1325 "header_name": "vlan_tag",
1326 "hidden": false
1327 }
1328 ]
1329 }
1330 ],
1331 "word_bit_width": 8
1332 },
1333 {
1334 "phv_number": 144,
1335 "records": [
1336 {
1337 "position_offset": 9,
1338 "field_name": "eg_intr_md.egress_port",
1339 "field_msb": 15,
1340 "field_lsb": 0,
1341 "field_width": 2,
1342 "phv_msb": 8,
1343 "phv_lsb": 0,
1344 "is_compiler_generated": false,
1345 "is_pov": false
1346 }
1347 ],
1348 "word_bit_width": 16
1349 },
1350 {
1351 "phv_number": 145,
1352 "records": [
1353 {
1354 "position_offset": 76,
1355 "field_name": "packet_in.ingress_port",
1356 "field_msb": 15,
1357 "field_lsb": 0,
1358 "field_width": 2,
1359 "phv_msb": 15,
1360 "phv_lsb": 7,
1361 "is_compiler_generated": false,
1362 "is_pov": false
1363 },
1364 {
1365 "position_offset": 74,
1366 "field_name": "packet_in._pad",
1367 "field_msb": 15,
1368 "field_lsb": 0,
1369 "field_width": 2,
1370 "phv_msb": 6,
1371 "phv_lsb": 0,
1372 "is_compiler_generated": false,
1373 "is_pov": false
1374 }
1375 ],
1376 "word_bit_width": 16
1377 },
1378 {
1379 "phv_number": 146,
1380 "records": [
1381 {
1382 "position_offset": 43,
1383 "field_name": "ig_intr_md.ingress_port",
1384 "field_msb": 15,
1385 "field_lsb": 0,
1386 "field_width": 2,
1387 "phv_msb": 8,
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": 256,
1397 "records": [
1398 {
1399 "position_offset": 12,
1400 "field_name": "ethernet.dst_addr",
1401 "field_msb": 47,
1402 "field_lsb": 16,
1403 "field_width": 6,
1404 "phv_msb": 31,
1405 "phv_lsb": 0,
1406 "is_compiler_generated": false,
1407 "is_pov": false
1408 }
1409 ],
1410 "word_bit_width": 32
1411 },
1412 {
1413 "phv_number": 257,
1414 "records": [
1415 {
1416 "position_offset": 20,
1417 "field_name": "ethernet.src_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": 258,
1431 "records": [
1432 {
1433 "position_offset": 59,
1434 "field_name": "ipv4.src_addr",
1435 "field_msb": 31,
1436 "field_lsb": 0,
1437 "field_width": 4,
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": 259,
1448 "records": [
1449 {
1450 "position_offset": 47,
1451 "field_name": "ipv4.dst_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": 264,
1465 "records": [
1466 {
1467 "position_offset": 95,
1468 "field_name": "tcp.seq_no",
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 "position_offset": 35,
1479 "field_name": "icmp.timestamp",
1480 "field_msb": 31,
1481 "field_lsb": 0,
1482 "field_width": 8,
1483 "phv_msb": 31,
1484 "phv_lsb": 0,
1485 "is_compiler_generated": false,
1486 "is_pov": false
1487 }
1488 ],
1489 "word_bit_width": 32
1490 },
1491 {
1492 "phv_number": 265,
1493 "records": [
1494 {
1495 "position_offset": 79,
1496 "field_name": "tcp.ack_no",
1497 "field_msb": 31,
1498 "field_lsb": 0,
1499 "field_width": 4,
1500 "phv_msb": 31,
1501 "phv_lsb": 0,
1502 "is_compiler_generated": false,
1503 "is_pov": false
1504 },
1505 {
1506 "position_offset": 35,
1507 "field_name": "icmp.timestamp",
1508 "field_msb": 63,
1509 "field_lsb": 32,
1510 "field_width": 8,
1511 "phv_msb": 31,
1512 "phv_lsb": 0,
1513 "is_compiler_generated": false,
1514 "is_pov": false
1515 }
1516 ],
1517 "word_bit_width": 32
1518 },
1519 {
1520 "phv_number": 288,
1521 "records": [
1522 {
1523 "position_offset": 1,
1524 "field_name": "arp.hw_addr_len",
1525 "field_msb": 7,
1526 "field_lsb": 0,
1527 "field_width": 1,
1528 "phv_msb": 7,
1529 "phv_lsb": 0,
1530 "is_compiler_generated": false,
1531 "is_pov": false
1532 },
1533 {
1534 "position_offset": 66,
1535 "field_name": "ipv4.version",
1536 "field_msb": 7,
1537 "field_lsb": 0,
1538 "field_width": 1,
1539 "phv_msb": 7,
1540 "phv_lsb": 4,
1541 "is_compiler_generated": false,
1542 "is_pov": false
1543 },
1544 {
1545 "position_offset": 57,
1546 "field_name": "ipv4.ihl",
1547 "field_msb": 7,
1548 "field_lsb": 0,
1549 "field_width": 1,
1550 "phv_msb": 3,
1551 "phv_lsb": 0,
1552 "is_compiler_generated": false,
1553 "is_pov": false
1554 }
1555 ],
1556 "word_bit_width": 8
1557 },
1558 {
1559 "phv_number": 289,
1560 "records": [
1561 {
1562 "position_offset": 6,
1563 "field_name": "arp.proto_addr_len",
1564 "field_msb": 7,
1565 "field_lsb": 0,
1566 "field_width": 1,
1567 "phv_msb": 7,
1568 "phv_lsb": 0,
1569 "is_compiler_generated": false,
1570 "is_pov": false
1571 },
1572 {
1573 "position_offset": 30,
1574 "field_name": "icmp.icmp_type",
1575 "field_msb": 7,
1576 "field_lsb": 0,
1577 "field_width": 1,
1578 "phv_msb": 7,
1579 "phv_lsb": 0,
1580 "is_compiler_generated": false,
1581 "is_pov": false
1582 }
1583 ],
1584 "word_bit_width": 8
1585 },
1586 {
1587 "phv_number": 290,
1588 "records": [
1589 {
1590 "position_offset": 46,
1591 "field_name": "ipv4.diffserv",
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": 291,
1605 "records": [
1606 {
1607 "position_offset": 29,
1608 "field_name": "icmp.icmp_code",
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": 296,
1622 "records": [
1623 {
1624 "position_offset": 69,
1625 "field_name": "mpls.label",
1626 "field_msb": 3,
1627 "field_lsb": 0,
1628 "field_width": 2,
1629 "phv_msb": 7,
1630 "phv_lsb": 4,
1631 "is_compiler_generated": false,
1632 "is_pov": false
1633 },
1634 {
1635 "position_offset": 71,
1636 "field_name": "mpls.tc",
1637 "field_msb": 7,
1638 "field_lsb": 0,
1639 "field_width": 1,
1640 "phv_msb": 3,
1641 "phv_lsb": 1,
1642 "is_compiler_generated": false,
1643 "is_pov": false
1644 },
1645 {
1646 "position_offset": 68,
1647 "field_name": "mpls.bos",
1648 "field_msb": 7,
1649 "field_lsb": 0,
1650 "field_width": 1,
1651 "phv_msb": 0,
1652 "phv_lsb": 0,
1653 "is_compiler_generated": false,
1654 "is_pov": false
1655 }
1656 ],
1657 "word_bit_width": 8
1658 },
1659 {
1660 "phv_number": 297,
1661 "records": [
1662 {
1663 "position_offset": 65,
1664 "field_name": "ipv4.ttl",
1665 "field_msb": 7,
1666 "field_lsb": 0,
1667 "field_width": 1,
1668 "phv_msb": 7,
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": 298,
1678 "records": [
1679 {
1680 "position_offset": 58,
1681 "field_name": "ipv4.protocol",
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": 299,
1695 "records": [
1696 {
1697 "position_offset": 72,
1698 "field_name": "mpls.ttl",
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": 320,
1712 "records": [
1713 {
1714 "position_offset": 119,
1715 "field_name": "vlan_tag.pri",
1716 "field_msb": 15,
1717 "field_lsb": 0,
1718 "field_width": 2,
1719 "phv_msb": 15,
1720 "phv_lsb": 13,
1721 "is_compiler_generated": false,
1722 "is_pov": false
1723 },
1724 {
1725 "position_offset": 115,
1726 "field_name": "vlan_tag.cfi",
1727 "field_msb": 15,
1728 "field_lsb": 0,
1729 "field_width": 2,
1730 "phv_msb": 12,
1731 "phv_lsb": 12,
1732 "is_compiler_generated": false,
1733 "is_pov": false
1734 },
1735 {
1736 "position_offset": 121,
1737 "field_name": "vlan_tag.vlan_id",
1738 "field_msb": 15,
1739 "field_lsb": 0,
1740 "field_width": 2,
1741 "phv_msb": 11,
1742 "phv_lsb": 0,
1743 "is_compiler_generated": false,
1744 "is_pov": false
1745 }
1746 ],
1747 "word_bit_width": 16
1748 },
1749 {
1750 "phv_number": 321,
1751 "records": [
1752 {
1753 "position_offset": 2,
1754 "field_name": "arp.hw_type",
1755 "field_msb": 15,
1756 "field_lsb": 0,
1757 "field_width": 2,
1758 "phv_msb": 15,
1759 "phv_lsb": 0,
1760 "is_compiler_generated": false,
1761 "is_pov": false
1762 },
1763 {
1764 "position_offset": 99,
1765 "field_name": "tcp.src_port",
1766 "field_msb": 15,
1767 "field_lsb": 0,
1768 "field_width": 2,
1769 "phv_msb": 15,
1770 "phv_lsb": 0,
1771 "is_compiler_generated": false,
1772 "is_pov": false
1773 },
1774 {
1775 "position_offset": 112,
1776 "field_name": "udp.src_port",
1777 "field_msb": 15,
1778 "field_lsb": 0,
1779 "field_width": 2,
1780 "phv_msb": 15,
1781 "phv_lsb": 0,
1782 "is_compiler_generated": false,
1783 "is_pov": false
1784 },
1785 {
1786 "position_offset": 27,
1787 "field_name": "icmp.checksum",
1788 "field_msb": 15,
1789 "field_lsb": 0,
1790 "field_width": 2,
1791 "phv_msb": 15,
1792 "phv_lsb": 0,
1793 "is_compiler_generated": false,
1794 "is_pov": false
1795 }
1796 ],
1797 "word_bit_width": 16
1798 },
1799 {
1800 "phv_number": 322,
1801 "records": [
1802 {
1803 "position_offset": 7,
1804 "field_name": "arp.proto_type",
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 "position_offset": 69,
1815 "field_name": "mpls.label",
1816 "field_msb": 19,
1817 "field_lsb": 4,
1818 "field_width": 2,
1819 "phv_msb": 15,
1820 "phv_lsb": 0,
1821 "is_compiler_generated": false,
1822 "is_pov": false
1823 }
1824 ],
1825 "word_bit_width": 16
1826 },
1827 {
1828 "phv_number": 323,
1829 "records": [
1830 {
1831 "position_offset": 4,
1832 "field_name": "arp.opcode",
1833 "field_msb": 15,
1834 "field_lsb": 0,
1835 "field_width": 2,
1836 "phv_msb": 15,
1837 "phv_lsb": 0,
1838 "is_compiler_generated": false,
1839 "is_pov": false
1840 },
1841 {
1842 "position_offset": 87,
1843 "field_name": "tcp.data_offset",
1844 "field_msb": 15,
1845 "field_lsb": 0,
1846 "field_width": 2,
1847 "phv_msb": 15,
1848 "phv_lsb": 12,
1849 "is_compiler_generated": false,
1850 "is_pov": false
1851 },
1852 {
1853 "position_offset": 93,
1854 "field_name": "tcp.res",
1855 "field_msb": 15,
1856 "field_lsb": 0,
1857 "field_width": 2,
1858 "phv_msb": 11,
1859 "phv_lsb": 9,
1860 "is_compiler_generated": false,
1861 "is_pov": false
1862 },
1863 {
1864 "position_offset": 91,
1865 "field_name": "tcp.ecn",
1866 "field_msb": 15,
1867 "field_lsb": 0,
1868 "field_width": 2,
1869 "phv_msb": 8,
1870 "phv_lsb": 6,
1871 "is_compiler_generated": false,
1872 "is_pov": false
1873 },
1874 {
1875 "position_offset": 85,
1876 "field_name": "tcp.ctrl",
1877 "field_msb": 15,
1878 "field_lsb": 0,
1879 "field_width": 2,
1880 "phv_msb": 5,
1881 "phv_lsb": 0,
1882 "is_compiler_generated": false,
1883 "is_pov": false
1884 },
1885 {
1886 "position_offset": 108,
1887 "field_name": "udp.dst_port",
1888 "field_msb": 15,
1889 "field_lsb": 0,
1890 "field_width": 2,
1891 "phv_msb": 15,
1892 "phv_lsb": 0,
1893 "is_compiler_generated": false,
1894 "is_pov": false
1895 },
1896 {
1897 "position_offset": 31,
1898 "field_name": "icmp.identifier",
1899 "field_msb": 15,
1900 "field_lsb": 0,
1901 "field_width": 2,
1902 "phv_msb": 15,
1903 "phv_lsb": 0,
1904 "is_compiler_generated": false,
1905 "is_pov": false
1906 }
1907 ],
1908 "word_bit_width": 16
1909 },
1910 {
1911 "phv_number": 324,
1912 "records": [
1913 {
1914 "position_offset": 51,
1915 "field_name": "ipv4.flags",
1916 "field_msb": 15,
1917 "field_lsb": 0,
1918 "field_width": 2,
1919 "phv_msb": 15,
1920 "phv_lsb": 13,
1921 "is_compiler_generated": false,
1922 "is_pov": false
1923 },
1924 {
1925 "position_offset": 53,
1926 "field_name": "ipv4.frag_offset",
1927 "field_msb": 15,
1928 "field_lsb": 0,
1929 "field_width": 2,
1930 "phv_msb": 12,
1931 "phv_lsb": 0,
1932 "is_compiler_generated": false,
1933 "is_pov": false
1934 }
1935 ],
1936 "word_bit_width": 16
1937 },
1938 {
1939 "phv_number": 325,
1940 "records": [
1941 {
1942 "position_offset": 12,
1943 "field_name": "ethernet.dst_addr",
1944 "field_msb": 15,
1945 "field_lsb": 0,
1946 "field_width": 6,
1947 "phv_msb": 15,
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": 332,
1957 "records": [
1958 {
1959 "position_offset": 20,
1960 "field_name": "ethernet.src_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": 333,
1974 "records": [
1975 {
1976 "position_offset": 18,
1977 "field_name": "ethernet.ether_type",
1978 "field_msb": 15,
1979 "field_lsb": 0,
1980 "field_width": 2,
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": 334,
1991 "records": [
1992 {
1993 "position_offset": 117,
1994 "field_name": "vlan_tag.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": 335,
2008 "records": [
2009 {
2010 "position_offset": 63,
2011 "field_name": "ipv4.total_len",
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": 336,
2025 "records": [
2026 {
2027 "position_offset": 55,
2028 "field_name": "ipv4.identification",
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": 337,
2042 "records": [
2043 {
2044 "position_offset": 89,
2045 "field_name": "tcp.dst_port",
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 "position_offset": 110,
2056 "field_name": "udp.len",
2057 "field_msb": 15,
2058 "field_lsb": 0,
2059 "field_width": 2,
2060 "phv_msb": 15,
2061 "phv_lsb": 0,
2062 "is_compiler_generated": false,
2063 "is_pov": false
2064 },
2065 {
2066 "position_offset": 33,
2067 "field_name": "icmp.sequence_number",
2068 "field_msb": 15,
2069 "field_lsb": 0,
2070 "field_width": 2,
2071 "phv_msb": 15,
2072 "phv_lsb": 0,
2073 "is_compiler_generated": false,
2074 "is_pov": false
2075 }
2076 ],
2077 "word_bit_width": 16
2078 },
2079 {
2080 "phv_number": 344,
2081 "records": [
2082 {
2083 "position_offset": 103,
2084 "field_name": "tcp.window",
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 "position_offset": 106,
2095 "field_name": "udp.checksum",
2096 "field_msb": 15,
2097 "field_lsb": 0,
2098 "field_width": 2,
2099 "phv_msb": 15,
2100 "phv_lsb": 0,
2101 "is_compiler_generated": false,
2102 "is_pov": false
2103 }
2104 ],
2105 "word_bit_width": 16
2106 },
2107 {
2108 "phv_number": 345,
2109 "records": [
2110 {
2111 "position_offset": 83,
2112 "field_name": "tcp.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": 346,
2126 "records": [
2127 {
2128 "position_offset": 101,
2129 "field_name": "tcp.urgent_ptr",
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 "stage_number": 0
2143 },
2144 {
2145 "ingress": [
2146 {
2147 "phv_number": 0,
2148 "records": [
2149 {
2150 "position_offset": 12,
2151 "field_name": "ethernet.dst_addr",
2152 "field_msb": 47,
2153 "field_lsb": 16,
2154 "field_width": 6,
2155 "phv_msb": 31,
2156 "phv_lsb": 0,
2157 "is_compiler_generated": false,
2158 "is_pov": false
2159 }
2160 ],
2161 "word_bit_width": 32
2162 },
2163 {
2164 "phv_number": 1,
2165 "records": [
2166 {
2167 "position_offset": 20,
2168 "field_name": "ethernet.src_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": 2,
2182 "records": [
2183 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002184 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002185 "field_name": "ipv4.src_addr",
2186 "field_msb": 31,
2187 "field_lsb": 0,
2188 "field_width": 4,
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": 3,
2199 "records": [
2200 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002201 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002202 "field_name": "ipv4.dst_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": 4,
2216 "records": [
2217 {
2218 "position_offset": 33,
2219 "field_name": "fabric_metadata.next_id",
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": 64,
2233 "records": [
2234 {
2235 "position_offset": 45,
2236 "field_name": "icmp.icmp_type",
2237 "field_msb": 7,
2238 "field_lsb": 0,
2239 "field_width": 1,
2240 "phv_msb": 7,
2241 "phv_lsb": 0,
2242 "is_compiler_generated": false,
2243 "is_pov": false
2244 }
2245 ],
2246 "word_bit_width": 8
2247 },
2248 {
2249 "phv_number": 65,
2250 "records": [
2251 {
2252 "position_offset": 44,
2253 "field_name": "icmp.icmp_code",
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": 66,
2267 "records": [
2268 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002269 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002270 "field_name": "mpls.label",
2271 "field_msb": 3,
2272 "field_lsb": 0,
2273 "field_width": 2,
2274 "phv_msb": 7,
2275 "phv_lsb": 4,
2276 "is_compiler_generated": false,
2277 "is_pov": false
2278 },
2279 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002280 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002281 "field_name": "mpls.tc",
2282 "field_msb": 7,
2283 "field_lsb": 0,
2284 "field_width": 1,
2285 "phv_msb": 3,
2286 "phv_lsb": 1,
2287 "is_compiler_generated": false,
2288 "is_pov": false
2289 },
2290 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002291 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002292 "field_name": "mpls.bos",
2293 "field_msb": 7,
2294 "field_lsb": 0,
2295 "field_width": 1,
2296 "phv_msb": 0,
2297 "phv_lsb": 0,
2298 "is_compiler_generated": false,
2299 "is_pov": false
2300 }
2301 ],
2302 "word_bit_width": 8
2303 },
2304 {
2305 "phv_number": 67,
2306 "records": [
2307 {
2308 "position_offset": 1,
2309 "field_name": "$bridged_metadata_indicator",
2310 "field_msb": 7,
2311 "field_lsb": 0,
2312 "field_width": 1,
2313 "phv_msb": 7,
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": 68,
2323 "records": [
2324 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002325 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002326 "field_name": "ipv4.ttl",
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": 69,
2340 "records": [
2341 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002342 "position_offset": 91,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002343 "field_name": "mpls.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": 70,
2357 "records": [
2358 {
2359 "position_offset": 28,
2360 "field_name": "fabric_metadata.ip_proto",
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": 71,
2374 "records": [
2375 {
2376 "position_offset": 0,
2377 "field_name": "$always_deparse",
2378 "field_msb": 7,
2379 "field_lsb": 0,
2380 "field_width": 1,
2381 "phv_msb": 0,
2382 "phv_lsb": 0,
2383 "is_compiler_generated": false,
2384 "is_pov": false
2385 },
2386 {
2387 "position_offset": 40,
2388 "field_name": "hasExited_0",
2389 "field_msb": 7,
2390 "field_lsb": 0,
2391 "field_width": 1,
2392 "phv_msb": 4,
2393 "phv_lsb": 4,
2394 "is_compiler_generated": false,
2395 "is_pov": false
2396 },
2397 {
2398 "position_offset": 0,
2399 "field_name": "POV",
2400 "field_msb": 7,
2401 "field_lsb": 0,
2402 "field_width": 0,
2403 "phv_msb": 1,
2404 "phv_lsb": 1,
2405 "is_compiler_generated": false,
2406 "is_pov": true,
2407 "pov_headers": [
2408 {
2409 "bit_index": 1,
2410 "position_offset": 2,
2411 "header_name": "arp",
2412 "hidden": false
2413 }
2414 ]
2415 },
2416 {
2417 "position_offset": 0,
2418 "field_name": "POV",
2419 "field_msb": 7,
2420 "field_lsb": 0,
2421 "field_width": 0,
2422 "phv_msb": 2,
2423 "phv_lsb": 2,
2424 "is_compiler_generated": false,
2425 "is_pov": true,
2426 "pov_headers": [
2427 {
2428 "bit_index": 2,
2429 "position_offset": 11,
2430 "header_name": "ethernet",
2431 "hidden": false
2432 }
2433 ]
2434 },
2435 {
2436 "position_offset": 0,
2437 "field_name": "POV",
2438 "field_msb": 7,
2439 "field_lsb": 0,
2440 "field_width": 0,
2441 "phv_msb": 3,
2442 "phv_lsb": 3,
2443 "is_compiler_generated": false,
2444 "is_pov": true,
2445 "pov_headers": [
2446 {
2447 "bit_index": 3,
2448 "position_offset": 41,
2449 "header_name": "icmp",
2450 "hidden": false
2451 }
2452 ]
2453 },
2454 {
2455 "position_offset": 0,
2456 "field_name": "POV",
2457 "field_msb": 7,
2458 "field_lsb": 0,
2459 "field_width": 0,
2460 "phv_msb": 5,
2461 "phv_lsb": 5,
2462 "is_compiler_generated": false,
2463 "is_pov": true,
2464 "pov_headers": [
2465 {
2466 "bit_index": 5,
Carmelo Casconeecb35762018-02-03 17:30:05 -08002467 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002468 "header_name": "ipv4",
2469 "hidden": false
2470 }
2471 ]
2472 },
2473 {
2474 "position_offset": 0,
2475 "field_name": "POV",
2476 "field_msb": 7,
2477 "field_lsb": 0,
2478 "field_width": 0,
2479 "phv_msb": 6,
2480 "phv_lsb": 6,
2481 "is_compiler_generated": false,
2482 "is_pov": true,
2483 "pov_headers": [
2484 {
2485 "bit_index": 6,
Carmelo Casconeecb35762018-02-03 17:30:05 -08002486 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002487 "header_name": "mpls",
2488 "hidden": false
2489 }
2490 ]
2491 },
2492 {
2493 "position_offset": 0,
2494 "field_name": "POV",
2495 "field_msb": 7,
2496 "field_lsb": 0,
2497 "field_width": 0,
2498 "phv_msb": 7,
2499 "phv_lsb": 7,
2500 "is_compiler_generated": false,
2501 "is_pov": true,
2502 "pov_headers": [
2503 {
2504 "bit_index": 7,
Carmelo Casconeecb35762018-02-03 17:30:05 -08002505 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002506 "header_name": "packet_out",
2507 "hidden": false
2508 }
2509 ]
2510 }
2511 ],
2512 "word_bit_width": 8
2513 },
2514 {
2515 "phv_number": 72,
2516 "records": [
2517 {
2518 "position_offset": 39,
2519 "field_name": "fabric_metadata.pop_vlan_at_egress",
2520 "field_msb": 7,
2521 "field_lsb": 0,
2522 "field_width": 1,
2523 "phv_msb": 3,
2524 "phv_lsb": 3,
2525 "is_compiler_generated": false,
2526 "is_pov": false
2527 },
2528 {
2529 "position_offset": 0,
2530 "field_name": "POV",
2531 "field_msb": 7,
2532 "field_lsb": 0,
2533 "field_width": 0,
2534 "phv_msb": 0,
2535 "phv_lsb": 0,
2536 "is_compiler_generated": false,
2537 "is_pov": true,
2538 "pov_headers": [
2539 {
2540 "bit_index": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -08002541 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002542 "header_name": "tcp",
2543 "hidden": false
2544 }
2545 ]
2546 },
2547 {
2548 "position_offset": 0,
2549 "field_name": "POV",
2550 "field_msb": 7,
2551 "field_lsb": 0,
2552 "field_width": 0,
2553 "phv_msb": 1,
2554 "phv_lsb": 1,
2555 "is_compiler_generated": false,
2556 "is_pov": true,
2557 "pov_headers": [
2558 {
2559 "bit_index": 1,
Carmelo Casconeecb35762018-02-03 17:30:05 -08002560 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002561 "header_name": "udp",
2562 "hidden": false
2563 }
2564 ]
2565 },
2566 {
2567 "position_offset": 0,
2568 "field_name": "POV",
2569 "field_msb": 7,
2570 "field_lsb": 0,
2571 "field_width": 0,
2572 "phv_msb": 2,
2573 "phv_lsb": 2,
2574 "is_compiler_generated": false,
2575 "is_pov": true,
2576 "pov_headers": [
2577 {
2578 "bit_index": 2,
Carmelo Casconeecb35762018-02-03 17:30:05 -08002579 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002580 "header_name": "vlan_tag",
2581 "hidden": false
2582 }
2583 ]
2584 }
2585 ],
2586 "word_bit_width": 8
2587 },
2588 {
2589 "phv_number": 128,
2590 "records": [
2591 {
2592 "position_offset": 62,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002593 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
2594 "field_msb": 15,
2595 "field_lsb": 0,
2596 "field_width": 2,
2597 "phv_msb": 8,
2598 "phv_lsb": 0,
2599 "is_compiler_generated": false,
2600 "is_pov": false
2601 }
2602 ],
2603 "word_bit_width": 16
2604 },
2605 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002606 "phv_number": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002607 "records": [
2608 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002609 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002610 "field_name": "packet_out.egress_port",
2611 "field_msb": 15,
2612 "field_lsb": 0,
2613 "field_width": 2,
2614 "phv_msb": 15,
2615 "phv_lsb": 7,
2616 "is_compiler_generated": false,
2617 "is_pov": false
2618 },
2619 {
2620 "position_offset": 26,
2621 "field_name": "fabric_metadata.fwd_type",
2622 "field_msb": 15,
2623 "field_lsb": 0,
2624 "field_width": 2,
2625 "phv_msb": 5,
2626 "phv_lsb": 3,
2627 "is_compiler_generated": false,
2628 "is_pov": false
2629 },
2630 {
2631 "position_offset": 60,
2632 "field_name": "ig_intr_md_for_tm.drop_ctl",
2633 "field_msb": 15,
2634 "field_lsb": 0,
2635 "field_width": 2,
2636 "phv_msb": 2,
2637 "phv_lsb": 0,
2638 "is_compiler_generated": false,
2639 "is_pov": false
2640 }
2641 ],
2642 "word_bit_width": 16
2643 },
2644 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002645 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002646 "records": [
2647 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002648 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002649 "field_name": "vlan_tag.pri",
2650 "field_msb": 15,
2651 "field_lsb": 0,
2652 "field_width": 2,
2653 "phv_msb": 15,
2654 "phv_lsb": 13,
2655 "is_compiler_generated": false,
2656 "is_pov": false
2657 },
2658 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002659 "position_offset": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002660 "field_name": "vlan_tag.cfi",
2661 "field_msb": 15,
2662 "field_lsb": 0,
2663 "field_width": 2,
2664 "phv_msb": 12,
2665 "phv_lsb": 12,
2666 "is_compiler_generated": false,
2667 "is_pov": false
2668 },
2669 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002670 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002671 "field_name": "vlan_tag.vlan_id",
2672 "field_msb": 15,
2673 "field_lsb": 0,
2674 "field_width": 2,
2675 "phv_msb": 11,
2676 "phv_lsb": 0,
2677 "is_compiler_generated": false,
2678 "is_pov": false
2679 }
2680 ],
2681 "word_bit_width": 16
2682 },
2683 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002684 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002685 "records": [
2686 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002687 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002688 "field_name": "mpls.label",
2689 "field_msb": 19,
2690 "field_lsb": 4,
2691 "field_width": 2,
2692 "phv_msb": 15,
2693 "phv_lsb": 0,
2694 "is_compiler_generated": false,
2695 "is_pov": false
2696 }
2697 ],
2698 "word_bit_width": 16
2699 },
2700 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002701 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002702 "records": [
2703 {
2704 "position_offset": 58,
2705 "field_name": "ig_intr_md.ingress_port",
2706 "field_msb": 15,
2707 "field_lsb": 0,
2708 "field_width": 2,
2709 "phv_msb": 8,
2710 "phv_lsb": 0,
2711 "is_compiler_generated": false,
2712 "is_pov": false
2713 }
2714 ],
2715 "word_bit_width": 16
2716 },
2717 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002718 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002719 "records": [
2720 {
2721 "position_offset": 31,
2722 "field_name": "fabric_metadata.l4_src_port",
2723 "field_msb": 15,
2724 "field_lsb": 0,
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 Casconeecb35762018-02-03 17:30:05 -08002735 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002736 "records": [
2737 {
2738 "position_offset": 18,
2739 "field_name": "ethernet.ether_type",
2740 "field_msb": 15,
2741 "field_lsb": 0,
2742 "field_width": 2,
2743 "phv_msb": 15,
2744 "phv_lsb": 0,
2745 "is_compiler_generated": false,
2746 "is_pov": false
2747 }
2748 ],
2749 "word_bit_width": 16
2750 },
2751 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002752 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002753 "records": [
2754 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002755 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002756 "field_name": "vlan_tag.ether_type",
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 Casconeecb35762018-02-03 17:30:05 -08002769 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002770 "records": [
2771 {
2772 "position_offset": 12,
2773 "field_name": "ethernet.dst_addr",
2774 "field_msb": 15,
2775 "field_lsb": 0,
2776 "field_width": 6,
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 Casconeecb35762018-02-03 17:30:05 -08002786 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002787 "records": [
2788 {
2789 "position_offset": 20,
2790 "field_name": "ethernet.src_addr",
2791 "field_msb": 15,
2792 "field_lsb": 0,
2793 "field_width": 6,
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 Casconeecb35762018-02-03 17:30:05 -08002803 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002804 "records": [
2805 {
2806 "position_offset": 29,
2807 "field_name": "fabric_metadata.l4_dst_port",
2808 "field_msb": 15,
2809 "field_lsb": 0,
2810 "field_width": 2,
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 Casconeecb35762018-02-03 17:30:05 -08002820 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002821 "records": [
2822 {
2823 "position_offset": 37,
2824 "field_name": "fabric_metadata.original_ether_type",
2825 "field_msb": 15,
2826 "field_lsb": 0,
2827 "field_width": 2,
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 {
2837 "phv_number": 260,
2838 "records": [
2839 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002840 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002841 "field_name": "tcp.seq_no",
2842 "field_msb": 31,
2843 "field_lsb": 0,
2844 "field_width": 4,
2845 "phv_msb": 31,
2846 "phv_lsb": 0,
2847 "is_compiler_generated": false,
2848 "is_pov": false
2849 },
2850 {
2851 "position_offset": 50,
2852 "field_name": "icmp.timestamp",
2853 "field_msb": 31,
2854 "field_lsb": 0,
2855 "field_width": 8,
2856 "phv_msb": 31,
2857 "phv_lsb": 0,
2858 "is_compiler_generated": false,
2859 "is_pov": false
2860 }
2861 ],
2862 "word_bit_width": 32
2863 },
2864 {
2865 "phv_number": 261,
2866 "records": [
2867 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002868 "position_offset": 96,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002869 "field_name": "tcp.ack_no",
2870 "field_msb": 31,
2871 "field_lsb": 0,
2872 "field_width": 4,
2873 "phv_msb": 31,
2874 "phv_lsb": 0,
2875 "is_compiler_generated": false,
2876 "is_pov": false
2877 },
2878 {
2879 "position_offset": 50,
2880 "field_name": "icmp.timestamp",
2881 "field_msb": 63,
2882 "field_lsb": 32,
2883 "field_width": 8,
2884 "phv_msb": 31,
2885 "phv_lsb": 0,
2886 "is_compiler_generated": false,
2887 "is_pov": false
2888 }
2889 ],
2890 "word_bit_width": 32
2891 },
2892 {
2893 "phv_number": 292,
2894 "records": [
2895 {
2896 "position_offset": 3,
2897 "field_name": "arp.hw_addr_len",
2898 "field_msb": 7,
2899 "field_lsb": 0,
2900 "field_width": 1,
2901 "phv_msb": 7,
2902 "phv_lsb": 0,
2903 "is_compiler_generated": false,
2904 "is_pov": false
2905 },
2906 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002907 "position_offset": 85,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002908 "field_name": "ipv4.version",
2909 "field_msb": 7,
2910 "field_lsb": 0,
2911 "field_width": 1,
2912 "phv_msb": 7,
2913 "phv_lsb": 4,
2914 "is_compiler_generated": false,
2915 "is_pov": false
2916 },
2917 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002918 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002919 "field_name": "ipv4.ihl",
2920 "field_msb": 7,
2921 "field_lsb": 0,
2922 "field_width": 1,
2923 "phv_msb": 3,
2924 "phv_lsb": 0,
2925 "is_compiler_generated": false,
2926 "is_pov": false
2927 }
2928 ],
2929 "word_bit_width": 8
2930 },
2931 {
2932 "phv_number": 293,
2933 "records": [
2934 {
2935 "position_offset": 8,
2936 "field_name": "arp.proto_addr_len",
2937 "field_msb": 7,
2938 "field_lsb": 0,
2939 "field_width": 1,
2940 "phv_msb": 7,
2941 "phv_lsb": 0,
2942 "is_compiler_generated": false,
2943 "is_pov": false
2944 },
2945 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002946 "position_offset": 65,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002947 "field_name": "ipv4.diffserv",
2948 "field_msb": 7,
2949 "field_lsb": 0,
2950 "field_width": 1,
2951 "phv_msb": 7,
2952 "phv_lsb": 0,
2953 "is_compiler_generated": false,
2954 "is_pov": false
2955 }
2956 ],
2957 "word_bit_width": 8
2958 },
2959 {
2960 "phv_number": 294,
2961 "records": [
2962 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002963 "position_offset": 77,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002964 "field_name": "ipv4.protocol",
2965 "field_msb": 7,
2966 "field_lsb": 0,
2967 "field_width": 1,
2968 "phv_msb": 7,
2969 "phv_lsb": 0,
2970 "is_compiler_generated": false,
2971 "is_pov": false
2972 }
2973 ],
2974 "word_bit_width": 8
2975 },
2976 {
2977 "phv_number": 326,
2978 "records": [
2979 {
2980 "position_offset": 4,
2981 "field_name": "arp.hw_type",
2982 "field_msb": 15,
2983 "field_lsb": 0,
2984 "field_width": 2,
2985 "phv_msb": 15,
2986 "phv_lsb": 0,
2987 "is_compiler_generated": false,
2988 "is_pov": false
2989 },
2990 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08002991 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -08002992 "field_name": "tcp.data_offset",
2993 "field_msb": 15,
2994 "field_lsb": 0,
2995 "field_width": 2,
2996 "phv_msb": 15,
2997 "phv_lsb": 12,
2998 "is_compiler_generated": false,
2999 "is_pov": false
3000 },
3001 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08003002 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003003 "field_name": "tcp.res",
3004 "field_msb": 15,
3005 "field_lsb": 0,
3006 "field_width": 2,
3007 "phv_msb": 11,
3008 "phv_lsb": 9,
3009 "is_compiler_generated": false,
3010 "is_pov": false
3011 },
3012 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08003013 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003014 "field_name": "tcp.ecn",
3015 "field_msb": 15,
3016 "field_lsb": 0,
3017 "field_width": 2,
3018 "phv_msb": 8,
3019 "phv_lsb": 6,
3020 "is_compiler_generated": false,
3021 "is_pov": false
3022 },
3023 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08003024 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003025 "field_name": "tcp.ctrl",
3026 "field_msb": 15,
3027 "field_lsb": 0,
3028 "field_width": 2,
3029 "phv_msb": 5,
3030 "phv_lsb": 0,
3031 "is_compiler_generated": false,
3032 "is_pov": false
3033 },
3034 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08003035 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003036 "field_name": "udp.src_port",
3037 "field_msb": 15,
3038 "field_lsb": 0,
3039 "field_width": 2,
3040 "phv_msb": 15,
3041 "phv_lsb": 0,
3042 "is_compiler_generated": false,
3043 "is_pov": false
3044 },
3045 {
3046 "position_offset": 42,
3047 "field_name": "icmp.checksum",
3048 "field_msb": 15,
3049 "field_lsb": 0,
3050 "field_width": 2,
3051 "phv_msb": 15,
3052 "phv_lsb": 0,
3053 "is_compiler_generated": false,
3054 "is_pov": false
3055 }
3056 ],
3057 "word_bit_width": 16
3058 },
3059 {
3060 "phv_number": 327,
3061 "records": [
3062 {
3063 "position_offset": 9,
3064 "field_name": "arp.proto_type",
3065 "field_msb": 15,
3066 "field_lsb": 0,
3067 "field_width": 2,
3068 "phv_msb": 15,
3069 "phv_lsb": 0,
3070 "is_compiler_generated": false,
3071 "is_pov": false
3072 },
3073 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08003074 "position_offset": 116,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003075 "field_name": "tcp.src_port",
3076 "field_msb": 15,
3077 "field_lsb": 0,
3078 "field_width": 2,
3079 "phv_msb": 15,
3080 "phv_lsb": 0,
3081 "is_compiler_generated": false,
3082 "is_pov": false
3083 },
3084 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08003085 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003086 "field_name": "udp.dst_port",
3087 "field_msb": 15,
3088 "field_lsb": 0,
3089 "field_width": 2,
3090 "phv_msb": 15,
3091 "phv_lsb": 0,
3092 "is_compiler_generated": false,
3093 "is_pov": false
3094 },
3095 {
3096 "position_offset": 46,
3097 "field_name": "icmp.identifier",
3098 "field_msb": 15,
3099 "field_lsb": 0,
3100 "field_width": 2,
3101 "phv_msb": 15,
3102 "phv_lsb": 0,
3103 "is_compiler_generated": false,
3104 "is_pov": false
3105 }
3106 ],
3107 "word_bit_width": 16
3108 },
3109 {
3110 "phv_number": 328,
3111 "records": [
3112 {
3113 "position_offset": 6,
3114 "field_name": "arp.opcode",
3115 "field_msb": 15,
3116 "field_lsb": 0,
3117 "field_width": 2,
3118 "phv_msb": 15,
3119 "phv_lsb": 0,
3120 "is_compiler_generated": false,
3121 "is_pov": false
3122 },
3123 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08003124 "position_offset": 70,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003125 "field_name": "ipv4.flags",
3126 "field_msb": 15,
3127 "field_lsb": 0,
3128 "field_width": 2,
3129 "phv_msb": 15,
3130 "phv_lsb": 13,
3131 "is_compiler_generated": false,
3132 "is_pov": false
3133 },
3134 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08003135 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003136 "field_name": "ipv4.frag_offset",
3137 "field_msb": 15,
3138 "field_lsb": 0,
3139 "field_width": 2,
3140 "phv_msb": 12,
3141 "phv_lsb": 0,
3142 "is_compiler_generated": false,
3143 "is_pov": false
3144 }
3145 ],
3146 "word_bit_width": 16
3147 },
3148 {
3149 "phv_number": 329,
3150 "records": [
3151 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08003152 "position_offset": 82,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003153 "field_name": "ipv4.total_len",
3154 "field_msb": 15,
3155 "field_lsb": 0,
3156 "field_width": 2,
3157 "phv_msb": 15,
3158 "phv_lsb": 0,
3159 "is_compiler_generated": false,
3160 "is_pov": false
3161 }
3162 ],
3163 "word_bit_width": 16
3164 },
3165 {
3166 "phv_number": 330,
3167 "records": [
3168 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08003169 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003170 "field_name": "ipv4.identification",
3171 "field_msb": 15,
3172 "field_lsb": 0,
3173 "field_width": 2,
3174 "phv_msb": 15,
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": 331,
3184 "records": [
3185 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08003186 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003187 "field_name": "tcp.dst_port",
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 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08003197 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003198 "field_name": "udp.len",
3199 "field_msb": 15,
3200 "field_lsb": 0,
3201 "field_width": 2,
3202 "phv_msb": 15,
3203 "phv_lsb": 0,
3204 "is_compiler_generated": false,
3205 "is_pov": false
3206 },
3207 {
3208 "position_offset": 48,
3209 "field_name": "icmp.sequence_number",
3210 "field_msb": 15,
3211 "field_lsb": 0,
3212 "field_width": 2,
3213 "phv_msb": 15,
3214 "phv_lsb": 0,
3215 "is_compiler_generated": false,
3216 "is_pov": false
3217 }
3218 ],
3219 "word_bit_width": 16
3220 },
3221 {
3222 "phv_number": 338,
3223 "records": [
3224 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08003225 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003226 "field_name": "tcp.window",
3227 "field_msb": 15,
3228 "field_lsb": 0,
3229 "field_width": 2,
3230 "phv_msb": 15,
3231 "phv_lsb": 0,
3232 "is_compiler_generated": false,
3233 "is_pov": false
3234 },
3235 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08003236 "position_offset": 123,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003237 "field_name": "udp.checksum",
3238 "field_msb": 15,
3239 "field_lsb": 0,
3240 "field_width": 2,
3241 "phv_msb": 15,
3242 "phv_lsb": 0,
3243 "is_compiler_generated": false,
3244 "is_pov": false
3245 }
3246 ],
3247 "word_bit_width": 16
3248 },
3249 {
3250 "phv_number": 339,
3251 "records": [
3252 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08003253 "position_offset": 100,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003254 "field_name": "tcp.checksum",
3255 "field_msb": 15,
3256 "field_lsb": 0,
3257 "field_width": 2,
3258 "phv_msb": 15,
3259 "phv_lsb": 0,
3260 "is_compiler_generated": false,
3261 "is_pov": false
3262 }
3263 ],
3264 "word_bit_width": 16
3265 },
3266 {
3267 "phv_number": 340,
3268 "records": [
3269 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08003270 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -08003271 "field_name": "tcp.urgent_ptr",
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 "egress": [
3285 {
3286 "phv_number": 80,
3287 "records": [
3288 {
3289 "position_offset": 0,
3290 "field_name": "POV",
3291 "field_msb": 7,
3292 "field_lsb": 0,
3293 "field_width": 0,
3294 "phv_msb": 0,
3295 "phv_lsb": 0,
3296 "is_compiler_generated": false,
3297 "is_pov": true,
3298 "pov_headers": [
3299 {
3300 "bit_index": 0,
3301 "position_offset": 0,
3302 "header_name": "arp",
3303 "hidden": false
3304 }
3305 ]
3306 },
3307 {
3308 "position_offset": 0,
3309 "field_name": "POV",
3310 "field_msb": 7,
3311 "field_lsb": 0,
3312 "field_width": 0,
3313 "phv_msb": 2,
3314 "phv_lsb": 2,
3315 "is_compiler_generated": false,
3316 "is_pov": true,
3317 "pov_headers": [
3318 {
3319 "bit_index": 2,
3320 "position_offset": 11,
3321 "header_name": "ethernet",
3322 "hidden": false
3323 }
3324 ]
3325 },
3326 {
3327 "position_offset": 0,
3328 "field_name": "POV",
3329 "field_msb": 7,
3330 "field_lsb": 0,
3331 "field_width": 0,
3332 "phv_msb": 3,
3333 "phv_lsb": 3,
3334 "is_compiler_generated": false,
3335 "is_pov": true,
3336 "pov_headers": [
3337 {
3338 "bit_index": 3,
3339 "position_offset": 26,
3340 "header_name": "icmp",
3341 "hidden": false
3342 }
3343 ]
3344 },
3345 {
3346 "position_offset": 0,
3347 "field_name": "POV",
3348 "field_msb": 7,
3349 "field_lsb": 0,
3350 "field_width": 0,
3351 "phv_msb": 5,
3352 "phv_lsb": 5,
3353 "is_compiler_generated": false,
3354 "is_pov": true,
3355 "pov_headers": [
3356 {
3357 "bit_index": 5,
3358 "position_offset": 45,
3359 "header_name": "ipv4",
3360 "hidden": false
3361 }
3362 ]
3363 },
3364 {
3365 "position_offset": 0,
3366 "field_name": "POV",
3367 "field_msb": 7,
3368 "field_lsb": 0,
3369 "field_width": 0,
3370 "phv_msb": 6,
3371 "phv_lsb": 6,
3372 "is_compiler_generated": false,
3373 "is_pov": true,
3374 "pov_headers": [
3375 {
3376 "bit_index": 6,
3377 "position_offset": 67,
3378 "header_name": "mpls",
3379 "hidden": false
3380 }
3381 ]
3382 },
3383 {
3384 "position_offset": 0,
3385 "field_name": "POV",
3386 "field_msb": 7,
3387 "field_lsb": 0,
3388 "field_width": 0,
3389 "phv_msb": 7,
3390 "phv_lsb": 7,
3391 "is_compiler_generated": false,
3392 "is_pov": true,
3393 "pov_headers": [
3394 {
3395 "bit_index": 7,
3396 "position_offset": 73,
3397 "header_name": "packet_in",
3398 "hidden": false
3399 }
3400 ]
3401 }
3402 ],
3403 "word_bit_width": 8
3404 },
3405 {
3406 "phv_number": 81,
3407 "records": [
3408 {
3409 "position_offset": 0,
3410 "field_name": "POV",
3411 "field_msb": 7,
3412 "field_lsb": 0,
3413 "field_width": 0,
3414 "phv_msb": 0,
3415 "phv_lsb": 0,
3416 "is_compiler_generated": false,
3417 "is_pov": true,
3418 "pov_headers": [
3419 {
3420 "bit_index": 0,
3421 "position_offset": 78,
3422 "header_name": "tcp",
3423 "hidden": false
3424 }
3425 ]
3426 },
3427 {
3428 "position_offset": 0,
3429 "field_name": "POV",
3430 "field_msb": 7,
3431 "field_lsb": 0,
3432 "field_width": 0,
3433 "phv_msb": 1,
3434 "phv_lsb": 1,
3435 "is_compiler_generated": false,
3436 "is_pov": true,
3437 "pov_headers": [
3438 {
3439 "bit_index": 1,
3440 "position_offset": 105,
3441 "header_name": "udp",
3442 "hidden": false
3443 }
3444 ]
3445 },
3446 {
3447 "position_offset": 0,
3448 "field_name": "POV",
3449 "field_msb": 7,
3450 "field_lsb": 0,
3451 "field_width": 0,
3452 "phv_msb": 2,
3453 "phv_lsb": 2,
3454 "is_compiler_generated": false,
3455 "is_pov": true,
3456 "pov_headers": [
3457 {
3458 "bit_index": 2,
3459 "position_offset": 114,
3460 "header_name": "vlan_tag",
3461 "hidden": false
3462 }
3463 ]
3464 }
3465 ],
3466 "word_bit_width": 8
3467 },
3468 {
3469 "phv_number": 144,
3470 "records": [
3471 {
3472 "position_offset": 9,
3473 "field_name": "eg_intr_md.egress_port",
3474 "field_msb": 15,
3475 "field_lsb": 0,
3476 "field_width": 2,
3477 "phv_msb": 8,
3478 "phv_lsb": 0,
3479 "is_compiler_generated": false,
3480 "is_pov": false
3481 }
3482 ],
3483 "word_bit_width": 16
3484 },
3485 {
3486 "phv_number": 145,
3487 "records": [
3488 {
3489 "position_offset": 76,
3490 "field_name": "packet_in.ingress_port",
3491 "field_msb": 15,
3492 "field_lsb": 0,
3493 "field_width": 2,
3494 "phv_msb": 15,
3495 "phv_lsb": 7,
3496 "is_compiler_generated": false,
3497 "is_pov": false
3498 },
3499 {
3500 "position_offset": 74,
3501 "field_name": "packet_in._pad",
3502 "field_msb": 15,
3503 "field_lsb": 0,
3504 "field_width": 2,
3505 "phv_msb": 6,
3506 "phv_lsb": 0,
3507 "is_compiler_generated": false,
3508 "is_pov": false
3509 }
3510 ],
3511 "word_bit_width": 16
3512 },
3513 {
3514 "phv_number": 146,
3515 "records": [
3516 {
3517 "position_offset": 43,
3518 "field_name": "ig_intr_md.ingress_port",
3519 "field_msb": 15,
3520 "field_lsb": 0,
3521 "field_width": 2,
3522 "phv_msb": 8,
3523 "phv_lsb": 0,
3524 "is_compiler_generated": false,
3525 "is_pov": false
3526 }
3527 ],
3528 "word_bit_width": 16
3529 },
3530 {
3531 "phv_number": 256,
3532 "records": [
3533 {
3534 "position_offset": 12,
3535 "field_name": "ethernet.dst_addr",
3536 "field_msb": 47,
3537 "field_lsb": 16,
3538 "field_width": 6,
3539 "phv_msb": 31,
3540 "phv_lsb": 0,
3541 "is_compiler_generated": false,
3542 "is_pov": false
3543 }
3544 ],
3545 "word_bit_width": 32
3546 },
3547 {
3548 "phv_number": 257,
3549 "records": [
3550 {
3551 "position_offset": 20,
3552 "field_name": "ethernet.src_addr",
3553 "field_msb": 47,
3554 "field_lsb": 16,
3555 "field_width": 6,
3556 "phv_msb": 31,
3557 "phv_lsb": 0,
3558 "is_compiler_generated": false,
3559 "is_pov": false
3560 }
3561 ],
3562 "word_bit_width": 32
3563 },
3564 {
3565 "phv_number": 258,
3566 "records": [
3567 {
3568 "position_offset": 59,
3569 "field_name": "ipv4.src_addr",
3570 "field_msb": 31,
3571 "field_lsb": 0,
3572 "field_width": 4,
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": 259,
3583 "records": [
3584 {
3585 "position_offset": 47,
3586 "field_name": "ipv4.dst_addr",
3587 "field_msb": 31,
3588 "field_lsb": 0,
3589 "field_width": 4,
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": 264,
3600 "records": [
3601 {
3602 "position_offset": 95,
3603 "field_name": "tcp.seq_no",
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 "position_offset": 35,
3614 "field_name": "icmp.timestamp",
3615 "field_msb": 31,
3616 "field_lsb": 0,
3617 "field_width": 8,
3618 "phv_msb": 31,
3619 "phv_lsb": 0,
3620 "is_compiler_generated": false,
3621 "is_pov": false
3622 }
3623 ],
3624 "word_bit_width": 32
3625 },
3626 {
3627 "phv_number": 265,
3628 "records": [
3629 {
3630 "position_offset": 79,
3631 "field_name": "tcp.ack_no",
3632 "field_msb": 31,
3633 "field_lsb": 0,
3634 "field_width": 4,
3635 "phv_msb": 31,
3636 "phv_lsb": 0,
3637 "is_compiler_generated": false,
3638 "is_pov": false
3639 },
3640 {
3641 "position_offset": 35,
3642 "field_name": "icmp.timestamp",
3643 "field_msb": 63,
3644 "field_lsb": 32,
3645 "field_width": 8,
3646 "phv_msb": 31,
3647 "phv_lsb": 0,
3648 "is_compiler_generated": false,
3649 "is_pov": false
3650 }
3651 ],
3652 "word_bit_width": 32
3653 },
3654 {
3655 "phv_number": 288,
3656 "records": [
3657 {
3658 "position_offset": 1,
3659 "field_name": "arp.hw_addr_len",
3660 "field_msb": 7,
3661 "field_lsb": 0,
3662 "field_width": 1,
3663 "phv_msb": 7,
3664 "phv_lsb": 0,
3665 "is_compiler_generated": false,
3666 "is_pov": false
3667 },
3668 {
3669 "position_offset": 66,
3670 "field_name": "ipv4.version",
3671 "field_msb": 7,
3672 "field_lsb": 0,
3673 "field_width": 1,
3674 "phv_msb": 7,
3675 "phv_lsb": 4,
3676 "is_compiler_generated": false,
3677 "is_pov": false
3678 },
3679 {
3680 "position_offset": 57,
3681 "field_name": "ipv4.ihl",
3682 "field_msb": 7,
3683 "field_lsb": 0,
3684 "field_width": 1,
3685 "phv_msb": 3,
3686 "phv_lsb": 0,
3687 "is_compiler_generated": false,
3688 "is_pov": false
3689 }
3690 ],
3691 "word_bit_width": 8
3692 },
3693 {
3694 "phv_number": 289,
3695 "records": [
3696 {
3697 "position_offset": 6,
3698 "field_name": "arp.proto_addr_len",
3699 "field_msb": 7,
3700 "field_lsb": 0,
3701 "field_width": 1,
3702 "phv_msb": 7,
3703 "phv_lsb": 0,
3704 "is_compiler_generated": false,
3705 "is_pov": false
3706 },
3707 {
3708 "position_offset": 30,
3709 "field_name": "icmp.icmp_type",
3710 "field_msb": 7,
3711 "field_lsb": 0,
3712 "field_width": 1,
3713 "phv_msb": 7,
3714 "phv_lsb": 0,
3715 "is_compiler_generated": false,
3716 "is_pov": false
3717 }
3718 ],
3719 "word_bit_width": 8
3720 },
3721 {
3722 "phv_number": 290,
3723 "records": [
3724 {
3725 "position_offset": 46,
3726 "field_name": "ipv4.diffserv",
3727 "field_msb": 7,
3728 "field_lsb": 0,
3729 "field_width": 1,
3730 "phv_msb": 7,
3731 "phv_lsb": 0,
3732 "is_compiler_generated": false,
3733 "is_pov": false
3734 }
3735 ],
3736 "word_bit_width": 8
3737 },
3738 {
3739 "phv_number": 291,
3740 "records": [
3741 {
3742 "position_offset": 29,
3743 "field_name": "icmp.icmp_code",
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": 296,
3757 "records": [
3758 {
3759 "position_offset": 69,
3760 "field_name": "mpls.label",
3761 "field_msb": 3,
3762 "field_lsb": 0,
3763 "field_width": 2,
3764 "phv_msb": 7,
3765 "phv_lsb": 4,
3766 "is_compiler_generated": false,
3767 "is_pov": false
3768 },
3769 {
3770 "position_offset": 71,
3771 "field_name": "mpls.tc",
3772 "field_msb": 7,
3773 "field_lsb": 0,
3774 "field_width": 1,
3775 "phv_msb": 3,
3776 "phv_lsb": 1,
3777 "is_compiler_generated": false,
3778 "is_pov": false
3779 },
3780 {
3781 "position_offset": 68,
3782 "field_name": "mpls.bos",
3783 "field_msb": 7,
3784 "field_lsb": 0,
3785 "field_width": 1,
3786 "phv_msb": 0,
3787 "phv_lsb": 0,
3788 "is_compiler_generated": false,
3789 "is_pov": false
3790 }
3791 ],
3792 "word_bit_width": 8
3793 },
3794 {
3795 "phv_number": 297,
3796 "records": [
3797 {
3798 "position_offset": 65,
3799 "field_name": "ipv4.ttl",
3800 "field_msb": 7,
3801 "field_lsb": 0,
3802 "field_width": 1,
3803 "phv_msb": 7,
3804 "phv_lsb": 0,
3805 "is_compiler_generated": false,
3806 "is_pov": false
3807 }
3808 ],
3809 "word_bit_width": 8
3810 },
3811 {
3812 "phv_number": 298,
3813 "records": [
3814 {
3815 "position_offset": 58,
3816 "field_name": "ipv4.protocol",
3817 "field_msb": 7,
3818 "field_lsb": 0,
3819 "field_width": 1,
3820 "phv_msb": 7,
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": 299,
3830 "records": [
3831 {
3832 "position_offset": 72,
3833 "field_name": "mpls.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": 320,
3847 "records": [
3848 {
3849 "position_offset": 119,
3850 "field_name": "vlan_tag.pri",
3851 "field_msb": 15,
3852 "field_lsb": 0,
3853 "field_width": 2,
3854 "phv_msb": 15,
3855 "phv_lsb": 13,
3856 "is_compiler_generated": false,
3857 "is_pov": false
3858 },
3859 {
3860 "position_offset": 115,
3861 "field_name": "vlan_tag.cfi",
3862 "field_msb": 15,
3863 "field_lsb": 0,
3864 "field_width": 2,
3865 "phv_msb": 12,
3866 "phv_lsb": 12,
3867 "is_compiler_generated": false,
3868 "is_pov": false
3869 },
3870 {
3871 "position_offset": 121,
3872 "field_name": "vlan_tag.vlan_id",
3873 "field_msb": 15,
3874 "field_lsb": 0,
3875 "field_width": 2,
3876 "phv_msb": 11,
3877 "phv_lsb": 0,
3878 "is_compiler_generated": false,
3879 "is_pov": false
3880 }
3881 ],
3882 "word_bit_width": 16
3883 },
3884 {
3885 "phv_number": 321,
3886 "records": [
3887 {
3888 "position_offset": 2,
3889 "field_name": "arp.hw_type",
3890 "field_msb": 15,
3891 "field_lsb": 0,
3892 "field_width": 2,
3893 "phv_msb": 15,
3894 "phv_lsb": 0,
3895 "is_compiler_generated": false,
3896 "is_pov": false
3897 },
3898 {
3899 "position_offset": 99,
3900 "field_name": "tcp.src_port",
3901 "field_msb": 15,
3902 "field_lsb": 0,
3903 "field_width": 2,
3904 "phv_msb": 15,
3905 "phv_lsb": 0,
3906 "is_compiler_generated": false,
3907 "is_pov": false
3908 },
3909 {
3910 "position_offset": 112,
3911 "field_name": "udp.src_port",
3912 "field_msb": 15,
3913 "field_lsb": 0,
3914 "field_width": 2,
3915 "phv_msb": 15,
3916 "phv_lsb": 0,
3917 "is_compiler_generated": false,
3918 "is_pov": false
3919 },
3920 {
3921 "position_offset": 27,
3922 "field_name": "icmp.checksum",
3923 "field_msb": 15,
3924 "field_lsb": 0,
3925 "field_width": 2,
3926 "phv_msb": 15,
3927 "phv_lsb": 0,
3928 "is_compiler_generated": false,
3929 "is_pov": false
3930 }
3931 ],
3932 "word_bit_width": 16
3933 },
3934 {
3935 "phv_number": 322,
3936 "records": [
3937 {
3938 "position_offset": 7,
3939 "field_name": "arp.proto_type",
3940 "field_msb": 15,
3941 "field_lsb": 0,
3942 "field_width": 2,
3943 "phv_msb": 15,
3944 "phv_lsb": 0,
3945 "is_compiler_generated": false,
3946 "is_pov": false
3947 },
3948 {
3949 "position_offset": 69,
3950 "field_name": "mpls.label",
3951 "field_msb": 19,
3952 "field_lsb": 4,
3953 "field_width": 2,
3954 "phv_msb": 15,
3955 "phv_lsb": 0,
3956 "is_compiler_generated": false,
3957 "is_pov": false
3958 }
3959 ],
3960 "word_bit_width": 16
3961 },
3962 {
3963 "phv_number": 323,
3964 "records": [
3965 {
3966 "position_offset": 4,
3967 "field_name": "arp.opcode",
3968 "field_msb": 15,
3969 "field_lsb": 0,
3970 "field_width": 2,
3971 "phv_msb": 15,
3972 "phv_lsb": 0,
3973 "is_compiler_generated": false,
3974 "is_pov": false
3975 },
3976 {
3977 "position_offset": 87,
3978 "field_name": "tcp.data_offset",
3979 "field_msb": 15,
3980 "field_lsb": 0,
3981 "field_width": 2,
3982 "phv_msb": 15,
3983 "phv_lsb": 12,
3984 "is_compiler_generated": false,
3985 "is_pov": false
3986 },
3987 {
3988 "position_offset": 93,
3989 "field_name": "tcp.res",
3990 "field_msb": 15,
3991 "field_lsb": 0,
3992 "field_width": 2,
3993 "phv_msb": 11,
3994 "phv_lsb": 9,
3995 "is_compiler_generated": false,
3996 "is_pov": false
3997 },
3998 {
3999 "position_offset": 91,
4000 "field_name": "tcp.ecn",
4001 "field_msb": 15,
4002 "field_lsb": 0,
4003 "field_width": 2,
4004 "phv_msb": 8,
4005 "phv_lsb": 6,
4006 "is_compiler_generated": false,
4007 "is_pov": false
4008 },
4009 {
4010 "position_offset": 85,
4011 "field_name": "tcp.ctrl",
4012 "field_msb": 15,
4013 "field_lsb": 0,
4014 "field_width": 2,
4015 "phv_msb": 5,
4016 "phv_lsb": 0,
4017 "is_compiler_generated": false,
4018 "is_pov": false
4019 },
4020 {
4021 "position_offset": 108,
4022 "field_name": "udp.dst_port",
4023 "field_msb": 15,
4024 "field_lsb": 0,
4025 "field_width": 2,
4026 "phv_msb": 15,
4027 "phv_lsb": 0,
4028 "is_compiler_generated": false,
4029 "is_pov": false
4030 },
4031 {
4032 "position_offset": 31,
4033 "field_name": "icmp.identifier",
4034 "field_msb": 15,
4035 "field_lsb": 0,
4036 "field_width": 2,
4037 "phv_msb": 15,
4038 "phv_lsb": 0,
4039 "is_compiler_generated": false,
4040 "is_pov": false
4041 }
4042 ],
4043 "word_bit_width": 16
4044 },
4045 {
4046 "phv_number": 324,
4047 "records": [
4048 {
4049 "position_offset": 51,
4050 "field_name": "ipv4.flags",
4051 "field_msb": 15,
4052 "field_lsb": 0,
4053 "field_width": 2,
4054 "phv_msb": 15,
4055 "phv_lsb": 13,
4056 "is_compiler_generated": false,
4057 "is_pov": false
4058 },
4059 {
4060 "position_offset": 53,
4061 "field_name": "ipv4.frag_offset",
4062 "field_msb": 15,
4063 "field_lsb": 0,
4064 "field_width": 2,
4065 "phv_msb": 12,
4066 "phv_lsb": 0,
4067 "is_compiler_generated": false,
4068 "is_pov": false
4069 }
4070 ],
4071 "word_bit_width": 16
4072 },
4073 {
4074 "phv_number": 325,
4075 "records": [
4076 {
4077 "position_offset": 12,
4078 "field_name": "ethernet.dst_addr",
4079 "field_msb": 15,
4080 "field_lsb": 0,
4081 "field_width": 6,
4082 "phv_msb": 15,
4083 "phv_lsb": 0,
4084 "is_compiler_generated": false,
4085 "is_pov": false
4086 }
4087 ],
4088 "word_bit_width": 16
4089 },
4090 {
4091 "phv_number": 332,
4092 "records": [
4093 {
4094 "position_offset": 20,
4095 "field_name": "ethernet.src_addr",
4096 "field_msb": 15,
4097 "field_lsb": 0,
4098 "field_width": 6,
4099 "phv_msb": 15,
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": 333,
4109 "records": [
4110 {
4111 "position_offset": 18,
4112 "field_name": "ethernet.ether_type",
4113 "field_msb": 15,
4114 "field_lsb": 0,
4115 "field_width": 2,
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": 334,
4126 "records": [
4127 {
4128 "position_offset": 117,
4129 "field_name": "vlan_tag.ether_type",
4130 "field_msb": 15,
4131 "field_lsb": 0,
4132 "field_width": 2,
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": 335,
4143 "records": [
4144 {
4145 "position_offset": 63,
4146 "field_name": "ipv4.total_len",
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": 336,
4160 "records": [
4161 {
4162 "position_offset": 55,
4163 "field_name": "ipv4.identification",
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": 337,
4177 "records": [
4178 {
4179 "position_offset": 89,
4180 "field_name": "tcp.dst_port",
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 "position_offset": 110,
4191 "field_name": "udp.len",
4192 "field_msb": 15,
4193 "field_lsb": 0,
4194 "field_width": 2,
4195 "phv_msb": 15,
4196 "phv_lsb": 0,
4197 "is_compiler_generated": false,
4198 "is_pov": false
4199 },
4200 {
4201 "position_offset": 33,
4202 "field_name": "icmp.sequence_number",
4203 "field_msb": 15,
4204 "field_lsb": 0,
4205 "field_width": 2,
4206 "phv_msb": 15,
4207 "phv_lsb": 0,
4208 "is_compiler_generated": false,
4209 "is_pov": false
4210 }
4211 ],
4212 "word_bit_width": 16
4213 },
4214 {
4215 "phv_number": 344,
4216 "records": [
4217 {
4218 "position_offset": 103,
4219 "field_name": "tcp.window",
4220 "field_msb": 15,
4221 "field_lsb": 0,
4222 "field_width": 2,
4223 "phv_msb": 15,
4224 "phv_lsb": 0,
4225 "is_compiler_generated": false,
4226 "is_pov": false
4227 },
4228 {
4229 "position_offset": 106,
4230 "field_name": "udp.checksum",
4231 "field_msb": 15,
4232 "field_lsb": 0,
4233 "field_width": 2,
4234 "phv_msb": 15,
4235 "phv_lsb": 0,
4236 "is_compiler_generated": false,
4237 "is_pov": false
4238 }
4239 ],
4240 "word_bit_width": 16
4241 },
4242 {
4243 "phv_number": 345,
4244 "records": [
4245 {
4246 "position_offset": 83,
4247 "field_name": "tcp.checksum",
4248 "field_msb": 15,
4249 "field_lsb": 0,
4250 "field_width": 2,
4251 "phv_msb": 15,
4252 "phv_lsb": 0,
4253 "is_compiler_generated": false,
4254 "is_pov": false
4255 }
4256 ],
4257 "word_bit_width": 16
4258 },
4259 {
4260 "phv_number": 346,
4261 "records": [
4262 {
4263 "position_offset": 101,
4264 "field_name": "tcp.urgent_ptr",
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 "stage_number": 1
4278 },
4279 {
4280 "ingress": [
4281 {
4282 "phv_number": 0,
4283 "records": [
4284 {
4285 "position_offset": 12,
4286 "field_name": "ethernet.dst_addr",
4287 "field_msb": 47,
4288 "field_lsb": 16,
4289 "field_width": 6,
4290 "phv_msb": 31,
4291 "phv_lsb": 0,
4292 "is_compiler_generated": false,
4293 "is_pov": false
4294 }
4295 ],
4296 "word_bit_width": 32
4297 },
4298 {
4299 "phv_number": 1,
4300 "records": [
4301 {
4302 "position_offset": 20,
4303 "field_name": "ethernet.src_addr",
4304 "field_msb": 47,
4305 "field_lsb": 16,
4306 "field_width": 6,
4307 "phv_msb": 31,
4308 "phv_lsb": 0,
4309 "is_compiler_generated": false,
4310 "is_pov": false
4311 }
4312 ],
4313 "word_bit_width": 32
4314 },
4315 {
4316 "phv_number": 2,
4317 "records": [
4318 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004319 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004320 "field_name": "ipv4.src_addr",
4321 "field_msb": 31,
4322 "field_lsb": 0,
4323 "field_width": 4,
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": 3,
4334 "records": [
4335 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004336 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004337 "field_name": "ipv4.dst_addr",
4338 "field_msb": 31,
4339 "field_lsb": 0,
4340 "field_width": 4,
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": 4,
4351 "records": [
4352 {
4353 "position_offset": 33,
4354 "field_name": "fabric_metadata.next_id",
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": 64,
4368 "records": [
4369 {
4370 "position_offset": 45,
4371 "field_name": "icmp.icmp_type",
4372 "field_msb": 7,
4373 "field_lsb": 0,
4374 "field_width": 1,
4375 "phv_msb": 7,
4376 "phv_lsb": 0,
4377 "is_compiler_generated": false,
4378 "is_pov": false
4379 }
4380 ],
4381 "word_bit_width": 8
4382 },
4383 {
4384 "phv_number": 65,
4385 "records": [
4386 {
4387 "position_offset": 44,
4388 "field_name": "icmp.icmp_code",
4389 "field_msb": 7,
4390 "field_lsb": 0,
4391 "field_width": 1,
4392 "phv_msb": 7,
4393 "phv_lsb": 0,
4394 "is_compiler_generated": false,
4395 "is_pov": false
4396 }
4397 ],
4398 "word_bit_width": 8
4399 },
4400 {
4401 "phv_number": 66,
4402 "records": [
4403 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004404 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004405 "field_name": "mpls.label",
4406 "field_msb": 3,
4407 "field_lsb": 0,
4408 "field_width": 2,
4409 "phv_msb": 7,
4410 "phv_lsb": 4,
4411 "is_compiler_generated": false,
4412 "is_pov": false
4413 },
4414 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004415 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004416 "field_name": "mpls.tc",
4417 "field_msb": 7,
4418 "field_lsb": 0,
4419 "field_width": 1,
4420 "phv_msb": 3,
4421 "phv_lsb": 1,
4422 "is_compiler_generated": false,
4423 "is_pov": false
4424 },
4425 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004426 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004427 "field_name": "mpls.bos",
4428 "field_msb": 7,
4429 "field_lsb": 0,
4430 "field_width": 1,
4431 "phv_msb": 0,
4432 "phv_lsb": 0,
4433 "is_compiler_generated": false,
4434 "is_pov": false
4435 }
4436 ],
4437 "word_bit_width": 8
4438 },
4439 {
4440 "phv_number": 67,
4441 "records": [
4442 {
4443 "position_offset": 1,
4444 "field_name": "$bridged_metadata_indicator",
4445 "field_msb": 7,
4446 "field_lsb": 0,
4447 "field_width": 1,
4448 "phv_msb": 7,
4449 "phv_lsb": 0,
4450 "is_compiler_generated": false,
4451 "is_pov": false
4452 }
4453 ],
4454 "word_bit_width": 8
4455 },
4456 {
4457 "phv_number": 68,
4458 "records": [
4459 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004460 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004461 "field_name": "ipv4.ttl",
4462 "field_msb": 7,
4463 "field_lsb": 0,
4464 "field_width": 1,
4465 "phv_msb": 7,
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": 69,
4475 "records": [
4476 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004477 "position_offset": 91,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004478 "field_name": "mpls.ttl",
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": 70,
4492 "records": [
4493 {
4494 "position_offset": 28,
4495 "field_name": "fabric_metadata.ip_proto",
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": 71,
4509 "records": [
4510 {
4511 "position_offset": 0,
4512 "field_name": "$always_deparse",
4513 "field_msb": 7,
4514 "field_lsb": 0,
4515 "field_width": 1,
4516 "phv_msb": 0,
4517 "phv_lsb": 0,
4518 "is_compiler_generated": false,
4519 "is_pov": false
4520 },
4521 {
4522 "position_offset": 40,
4523 "field_name": "hasExited_0",
4524 "field_msb": 7,
4525 "field_lsb": 0,
4526 "field_width": 1,
4527 "phv_msb": 4,
4528 "phv_lsb": 4,
4529 "is_compiler_generated": false,
4530 "is_pov": false
4531 },
4532 {
4533 "position_offset": 0,
4534 "field_name": "POV",
4535 "field_msb": 7,
4536 "field_lsb": 0,
4537 "field_width": 0,
4538 "phv_msb": 1,
4539 "phv_lsb": 1,
4540 "is_compiler_generated": false,
4541 "is_pov": true,
4542 "pov_headers": [
4543 {
4544 "bit_index": 1,
4545 "position_offset": 2,
4546 "header_name": "arp",
4547 "hidden": false
4548 }
4549 ]
4550 },
4551 {
4552 "position_offset": 0,
4553 "field_name": "POV",
4554 "field_msb": 7,
4555 "field_lsb": 0,
4556 "field_width": 0,
4557 "phv_msb": 2,
4558 "phv_lsb": 2,
4559 "is_compiler_generated": false,
4560 "is_pov": true,
4561 "pov_headers": [
4562 {
4563 "bit_index": 2,
4564 "position_offset": 11,
4565 "header_name": "ethernet",
4566 "hidden": false
4567 }
4568 ]
4569 },
4570 {
4571 "position_offset": 0,
4572 "field_name": "POV",
4573 "field_msb": 7,
4574 "field_lsb": 0,
4575 "field_width": 0,
4576 "phv_msb": 3,
4577 "phv_lsb": 3,
4578 "is_compiler_generated": false,
4579 "is_pov": true,
4580 "pov_headers": [
4581 {
4582 "bit_index": 3,
4583 "position_offset": 41,
4584 "header_name": "icmp",
4585 "hidden": false
4586 }
4587 ]
4588 },
4589 {
4590 "position_offset": 0,
4591 "field_name": "POV",
4592 "field_msb": 7,
4593 "field_lsb": 0,
4594 "field_width": 0,
4595 "phv_msb": 5,
4596 "phv_lsb": 5,
4597 "is_compiler_generated": false,
4598 "is_pov": true,
4599 "pov_headers": [
4600 {
4601 "bit_index": 5,
Carmelo Casconeecb35762018-02-03 17:30:05 -08004602 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004603 "header_name": "ipv4",
4604 "hidden": false
4605 }
4606 ]
4607 },
4608 {
4609 "position_offset": 0,
4610 "field_name": "POV",
4611 "field_msb": 7,
4612 "field_lsb": 0,
4613 "field_width": 0,
4614 "phv_msb": 6,
4615 "phv_lsb": 6,
4616 "is_compiler_generated": false,
4617 "is_pov": true,
4618 "pov_headers": [
4619 {
4620 "bit_index": 6,
Carmelo Casconeecb35762018-02-03 17:30:05 -08004621 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004622 "header_name": "mpls",
4623 "hidden": false
4624 }
4625 ]
4626 },
4627 {
4628 "position_offset": 0,
4629 "field_name": "POV",
4630 "field_msb": 7,
4631 "field_lsb": 0,
4632 "field_width": 0,
4633 "phv_msb": 7,
4634 "phv_lsb": 7,
4635 "is_compiler_generated": false,
4636 "is_pov": true,
4637 "pov_headers": [
4638 {
4639 "bit_index": 7,
Carmelo Casconeecb35762018-02-03 17:30:05 -08004640 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004641 "header_name": "packet_out",
4642 "hidden": false
4643 }
4644 ]
4645 }
4646 ],
4647 "word_bit_width": 8
4648 },
4649 {
4650 "phv_number": 72,
4651 "records": [
4652 {
4653 "position_offset": 39,
4654 "field_name": "fabric_metadata.pop_vlan_at_egress",
4655 "field_msb": 7,
4656 "field_lsb": 0,
4657 "field_width": 1,
4658 "phv_msb": 3,
4659 "phv_lsb": 3,
4660 "is_compiler_generated": false,
4661 "is_pov": false
4662 },
4663 {
4664 "position_offset": 0,
4665 "field_name": "POV",
4666 "field_msb": 7,
4667 "field_lsb": 0,
4668 "field_width": 0,
4669 "phv_msb": 0,
4670 "phv_lsb": 0,
4671 "is_compiler_generated": false,
4672 "is_pov": true,
4673 "pov_headers": [
4674 {
4675 "bit_index": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -08004676 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004677 "header_name": "tcp",
4678 "hidden": false
4679 }
4680 ]
4681 },
4682 {
4683 "position_offset": 0,
4684 "field_name": "POV",
4685 "field_msb": 7,
4686 "field_lsb": 0,
4687 "field_width": 0,
4688 "phv_msb": 1,
4689 "phv_lsb": 1,
4690 "is_compiler_generated": false,
4691 "is_pov": true,
4692 "pov_headers": [
4693 {
4694 "bit_index": 1,
Carmelo Casconeecb35762018-02-03 17:30:05 -08004695 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004696 "header_name": "udp",
4697 "hidden": false
4698 }
4699 ]
4700 },
4701 {
4702 "position_offset": 0,
4703 "field_name": "POV",
4704 "field_msb": 7,
4705 "field_lsb": 0,
4706 "field_width": 0,
4707 "phv_msb": 2,
4708 "phv_lsb": 2,
4709 "is_compiler_generated": false,
4710 "is_pov": true,
4711 "pov_headers": [
4712 {
4713 "bit_index": 2,
Carmelo Casconeecb35762018-02-03 17:30:05 -08004714 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004715 "header_name": "vlan_tag",
4716 "hidden": false
4717 }
4718 ]
4719 }
4720 ],
4721 "word_bit_width": 8
4722 },
4723 {
4724 "phv_number": 128,
4725 "records": [
4726 {
4727 "position_offset": 62,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004728 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
4729 "field_msb": 15,
4730 "field_lsb": 0,
4731 "field_width": 2,
4732 "phv_msb": 8,
4733 "phv_lsb": 0,
4734 "is_compiler_generated": false,
4735 "is_pov": false
4736 }
4737 ],
4738 "word_bit_width": 16
4739 },
4740 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004741 "phv_number": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004742 "records": [
4743 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004744 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004745 "field_name": "packet_out.egress_port",
4746 "field_msb": 15,
4747 "field_lsb": 0,
4748 "field_width": 2,
4749 "phv_msb": 15,
4750 "phv_lsb": 7,
4751 "is_compiler_generated": false,
4752 "is_pov": false
4753 },
4754 {
4755 "position_offset": 26,
4756 "field_name": "fabric_metadata.fwd_type",
4757 "field_msb": 15,
4758 "field_lsb": 0,
4759 "field_width": 2,
4760 "phv_msb": 5,
4761 "phv_lsb": 3,
4762 "is_compiler_generated": false,
4763 "is_pov": false
4764 },
4765 {
4766 "position_offset": 60,
4767 "field_name": "ig_intr_md_for_tm.drop_ctl",
4768 "field_msb": 15,
4769 "field_lsb": 0,
4770 "field_width": 2,
4771 "phv_msb": 2,
4772 "phv_lsb": 0,
4773 "is_compiler_generated": false,
4774 "is_pov": false
4775 }
4776 ],
4777 "word_bit_width": 16
4778 },
4779 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004780 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004781 "records": [
4782 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004783 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004784 "field_name": "vlan_tag.pri",
4785 "field_msb": 15,
4786 "field_lsb": 0,
4787 "field_width": 2,
4788 "phv_msb": 15,
4789 "phv_lsb": 13,
4790 "is_compiler_generated": false,
4791 "is_pov": false
4792 },
4793 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004794 "position_offset": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004795 "field_name": "vlan_tag.cfi",
4796 "field_msb": 15,
4797 "field_lsb": 0,
4798 "field_width": 2,
4799 "phv_msb": 12,
4800 "phv_lsb": 12,
4801 "is_compiler_generated": false,
4802 "is_pov": false
4803 },
4804 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004805 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004806 "field_name": "vlan_tag.vlan_id",
4807 "field_msb": 15,
4808 "field_lsb": 0,
4809 "field_width": 2,
4810 "phv_msb": 11,
4811 "phv_lsb": 0,
4812 "is_compiler_generated": false,
4813 "is_pov": false
4814 }
4815 ],
4816 "word_bit_width": 16
4817 },
4818 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004819 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004820 "records": [
4821 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004822 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004823 "field_name": "mpls.label",
4824 "field_msb": 19,
4825 "field_lsb": 4,
4826 "field_width": 2,
4827 "phv_msb": 15,
4828 "phv_lsb": 0,
4829 "is_compiler_generated": false,
4830 "is_pov": false
4831 }
4832 ],
4833 "word_bit_width": 16
4834 },
4835 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004836 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004837 "records": [
4838 {
4839 "position_offset": 58,
4840 "field_name": "ig_intr_md.ingress_port",
4841 "field_msb": 15,
4842 "field_lsb": 0,
4843 "field_width": 2,
4844 "phv_msb": 8,
4845 "phv_lsb": 0,
4846 "is_compiler_generated": false,
4847 "is_pov": false
4848 }
4849 ],
4850 "word_bit_width": 16
4851 },
4852 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004853 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004854 "records": [
4855 {
4856 "position_offset": 31,
4857 "field_name": "fabric_metadata.l4_src_port",
4858 "field_msb": 15,
4859 "field_lsb": 0,
4860 "field_width": 2,
4861 "phv_msb": 15,
4862 "phv_lsb": 0,
4863 "is_compiler_generated": false,
4864 "is_pov": false
4865 }
4866 ],
4867 "word_bit_width": 16
4868 },
4869 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004870 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004871 "records": [
4872 {
4873 "position_offset": 18,
4874 "field_name": "ethernet.ether_type",
4875 "field_msb": 15,
4876 "field_lsb": 0,
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 Casconeecb35762018-02-03 17:30:05 -08004887 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004888 "records": [
4889 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004890 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004891 "field_name": "vlan_tag.ether_type",
4892 "field_msb": 15,
4893 "field_lsb": 0,
4894 "field_width": 2,
4895 "phv_msb": 15,
4896 "phv_lsb": 0,
4897 "is_compiler_generated": false,
4898 "is_pov": false
4899 }
4900 ],
4901 "word_bit_width": 16
4902 },
4903 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004904 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004905 "records": [
4906 {
4907 "position_offset": 12,
4908 "field_name": "ethernet.dst_addr",
4909 "field_msb": 15,
4910 "field_lsb": 0,
4911 "field_width": 6,
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 Casconeecb35762018-02-03 17:30:05 -08004921 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004922 "records": [
4923 {
4924 "position_offset": 20,
4925 "field_name": "ethernet.src_addr",
4926 "field_msb": 15,
4927 "field_lsb": 0,
4928 "field_width": 6,
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 Casconeecb35762018-02-03 17:30:05 -08004938 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004939 "records": [
4940 {
4941 "position_offset": 29,
4942 "field_name": "fabric_metadata.l4_dst_port",
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 Casconeecb35762018-02-03 17:30:05 -08004955 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004956 "records": [
4957 {
4958 "position_offset": 37,
4959 "field_name": "fabric_metadata.original_ether_type",
4960 "field_msb": 15,
4961 "field_lsb": 0,
4962 "field_width": 2,
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 {
4972 "phv_number": 260,
4973 "records": [
4974 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08004975 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -08004976 "field_name": "tcp.seq_no",
4977 "field_msb": 31,
4978 "field_lsb": 0,
4979 "field_width": 4,
4980 "phv_msb": 31,
4981 "phv_lsb": 0,
4982 "is_compiler_generated": false,
4983 "is_pov": false
4984 },
4985 {
4986 "position_offset": 50,
4987 "field_name": "icmp.timestamp",
4988 "field_msb": 31,
4989 "field_lsb": 0,
4990 "field_width": 8,
4991 "phv_msb": 31,
4992 "phv_lsb": 0,
4993 "is_compiler_generated": false,
4994 "is_pov": false
4995 }
4996 ],
4997 "word_bit_width": 32
4998 },
4999 {
5000 "phv_number": 261,
5001 "records": [
5002 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005003 "position_offset": 96,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005004 "field_name": "tcp.ack_no",
5005 "field_msb": 31,
5006 "field_lsb": 0,
5007 "field_width": 4,
5008 "phv_msb": 31,
5009 "phv_lsb": 0,
5010 "is_compiler_generated": false,
5011 "is_pov": false
5012 },
5013 {
5014 "position_offset": 50,
5015 "field_name": "icmp.timestamp",
5016 "field_msb": 63,
5017 "field_lsb": 32,
5018 "field_width": 8,
5019 "phv_msb": 31,
5020 "phv_lsb": 0,
5021 "is_compiler_generated": false,
5022 "is_pov": false
5023 }
5024 ],
5025 "word_bit_width": 32
5026 },
5027 {
5028 "phv_number": 292,
5029 "records": [
5030 {
5031 "position_offset": 3,
5032 "field_name": "arp.hw_addr_len",
5033 "field_msb": 7,
5034 "field_lsb": 0,
5035 "field_width": 1,
5036 "phv_msb": 7,
5037 "phv_lsb": 0,
5038 "is_compiler_generated": false,
5039 "is_pov": false
5040 },
5041 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005042 "position_offset": 85,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005043 "field_name": "ipv4.version",
5044 "field_msb": 7,
5045 "field_lsb": 0,
5046 "field_width": 1,
5047 "phv_msb": 7,
5048 "phv_lsb": 4,
5049 "is_compiler_generated": false,
5050 "is_pov": false
5051 },
5052 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005053 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005054 "field_name": "ipv4.ihl",
5055 "field_msb": 7,
5056 "field_lsb": 0,
5057 "field_width": 1,
5058 "phv_msb": 3,
5059 "phv_lsb": 0,
5060 "is_compiler_generated": false,
5061 "is_pov": false
5062 }
5063 ],
5064 "word_bit_width": 8
5065 },
5066 {
5067 "phv_number": 293,
5068 "records": [
5069 {
5070 "position_offset": 8,
5071 "field_name": "arp.proto_addr_len",
5072 "field_msb": 7,
5073 "field_lsb": 0,
5074 "field_width": 1,
5075 "phv_msb": 7,
5076 "phv_lsb": 0,
5077 "is_compiler_generated": false,
5078 "is_pov": false
5079 },
5080 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005081 "position_offset": 65,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005082 "field_name": "ipv4.diffserv",
5083 "field_msb": 7,
5084 "field_lsb": 0,
5085 "field_width": 1,
5086 "phv_msb": 7,
5087 "phv_lsb": 0,
5088 "is_compiler_generated": false,
5089 "is_pov": false
5090 }
5091 ],
5092 "word_bit_width": 8
5093 },
5094 {
5095 "phv_number": 294,
5096 "records": [
5097 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005098 "position_offset": 77,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005099 "field_name": "ipv4.protocol",
5100 "field_msb": 7,
5101 "field_lsb": 0,
5102 "field_width": 1,
5103 "phv_msb": 7,
5104 "phv_lsb": 0,
5105 "is_compiler_generated": false,
5106 "is_pov": false
5107 }
5108 ],
5109 "word_bit_width": 8
5110 },
5111 {
5112 "phv_number": 326,
5113 "records": [
5114 {
5115 "position_offset": 4,
5116 "field_name": "arp.hw_type",
5117 "field_msb": 15,
5118 "field_lsb": 0,
5119 "field_width": 2,
5120 "phv_msb": 15,
5121 "phv_lsb": 0,
5122 "is_compiler_generated": false,
5123 "is_pov": false
5124 },
5125 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005126 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005127 "field_name": "tcp.data_offset",
5128 "field_msb": 15,
5129 "field_lsb": 0,
5130 "field_width": 2,
5131 "phv_msb": 15,
5132 "phv_lsb": 12,
5133 "is_compiler_generated": false,
5134 "is_pov": false
5135 },
5136 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005137 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005138 "field_name": "tcp.res",
5139 "field_msb": 15,
5140 "field_lsb": 0,
5141 "field_width": 2,
5142 "phv_msb": 11,
5143 "phv_lsb": 9,
5144 "is_compiler_generated": false,
5145 "is_pov": false
5146 },
5147 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005148 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005149 "field_name": "tcp.ecn",
5150 "field_msb": 15,
5151 "field_lsb": 0,
5152 "field_width": 2,
5153 "phv_msb": 8,
5154 "phv_lsb": 6,
5155 "is_compiler_generated": false,
5156 "is_pov": false
5157 },
5158 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005159 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005160 "field_name": "tcp.ctrl",
5161 "field_msb": 15,
5162 "field_lsb": 0,
5163 "field_width": 2,
5164 "phv_msb": 5,
5165 "phv_lsb": 0,
5166 "is_compiler_generated": false,
5167 "is_pov": false
5168 },
5169 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005170 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005171 "field_name": "udp.src_port",
5172 "field_msb": 15,
5173 "field_lsb": 0,
5174 "field_width": 2,
5175 "phv_msb": 15,
5176 "phv_lsb": 0,
5177 "is_compiler_generated": false,
5178 "is_pov": false
5179 },
5180 {
5181 "position_offset": 42,
5182 "field_name": "icmp.checksum",
5183 "field_msb": 15,
5184 "field_lsb": 0,
5185 "field_width": 2,
5186 "phv_msb": 15,
5187 "phv_lsb": 0,
5188 "is_compiler_generated": false,
5189 "is_pov": false
5190 }
5191 ],
5192 "word_bit_width": 16
5193 },
5194 {
5195 "phv_number": 327,
5196 "records": [
5197 {
5198 "position_offset": 9,
5199 "field_name": "arp.proto_type",
5200 "field_msb": 15,
5201 "field_lsb": 0,
5202 "field_width": 2,
5203 "phv_msb": 15,
5204 "phv_lsb": 0,
5205 "is_compiler_generated": false,
5206 "is_pov": false
5207 },
5208 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005209 "position_offset": 116,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005210 "field_name": "tcp.src_port",
5211 "field_msb": 15,
5212 "field_lsb": 0,
5213 "field_width": 2,
5214 "phv_msb": 15,
5215 "phv_lsb": 0,
5216 "is_compiler_generated": false,
5217 "is_pov": false
5218 },
5219 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005220 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005221 "field_name": "udp.dst_port",
5222 "field_msb": 15,
5223 "field_lsb": 0,
5224 "field_width": 2,
5225 "phv_msb": 15,
5226 "phv_lsb": 0,
5227 "is_compiler_generated": false,
5228 "is_pov": false
5229 },
5230 {
5231 "position_offset": 46,
5232 "field_name": "icmp.identifier",
5233 "field_msb": 15,
5234 "field_lsb": 0,
5235 "field_width": 2,
5236 "phv_msb": 15,
5237 "phv_lsb": 0,
5238 "is_compiler_generated": false,
5239 "is_pov": false
5240 }
5241 ],
5242 "word_bit_width": 16
5243 },
5244 {
5245 "phv_number": 328,
5246 "records": [
5247 {
5248 "position_offset": 6,
5249 "field_name": "arp.opcode",
5250 "field_msb": 15,
5251 "field_lsb": 0,
5252 "field_width": 2,
5253 "phv_msb": 15,
5254 "phv_lsb": 0,
5255 "is_compiler_generated": false,
5256 "is_pov": false
5257 },
5258 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005259 "position_offset": 70,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005260 "field_name": "ipv4.flags",
5261 "field_msb": 15,
5262 "field_lsb": 0,
5263 "field_width": 2,
5264 "phv_msb": 15,
5265 "phv_lsb": 13,
5266 "is_compiler_generated": false,
5267 "is_pov": false
5268 },
5269 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005270 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005271 "field_name": "ipv4.frag_offset",
5272 "field_msb": 15,
5273 "field_lsb": 0,
5274 "field_width": 2,
5275 "phv_msb": 12,
5276 "phv_lsb": 0,
5277 "is_compiler_generated": false,
5278 "is_pov": false
5279 }
5280 ],
5281 "word_bit_width": 16
5282 },
5283 {
5284 "phv_number": 329,
5285 "records": [
5286 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005287 "position_offset": 82,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005288 "field_name": "ipv4.total_len",
5289 "field_msb": 15,
5290 "field_lsb": 0,
5291 "field_width": 2,
5292 "phv_msb": 15,
5293 "phv_lsb": 0,
5294 "is_compiler_generated": false,
5295 "is_pov": false
5296 }
5297 ],
5298 "word_bit_width": 16
5299 },
5300 {
5301 "phv_number": 330,
5302 "records": [
5303 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005304 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005305 "field_name": "ipv4.identification",
5306 "field_msb": 15,
5307 "field_lsb": 0,
5308 "field_width": 2,
5309 "phv_msb": 15,
5310 "phv_lsb": 0,
5311 "is_compiler_generated": false,
5312 "is_pov": false
5313 }
5314 ],
5315 "word_bit_width": 16
5316 },
5317 {
5318 "phv_number": 331,
5319 "records": [
5320 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005321 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005322 "field_name": "tcp.dst_port",
5323 "field_msb": 15,
5324 "field_lsb": 0,
5325 "field_width": 2,
5326 "phv_msb": 15,
5327 "phv_lsb": 0,
5328 "is_compiler_generated": false,
5329 "is_pov": false
5330 },
5331 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005332 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005333 "field_name": "udp.len",
5334 "field_msb": 15,
5335 "field_lsb": 0,
5336 "field_width": 2,
5337 "phv_msb": 15,
5338 "phv_lsb": 0,
5339 "is_compiler_generated": false,
5340 "is_pov": false
5341 },
5342 {
5343 "position_offset": 48,
5344 "field_name": "icmp.sequence_number",
5345 "field_msb": 15,
5346 "field_lsb": 0,
5347 "field_width": 2,
5348 "phv_msb": 15,
5349 "phv_lsb": 0,
5350 "is_compiler_generated": false,
5351 "is_pov": false
5352 }
5353 ],
5354 "word_bit_width": 16
5355 },
5356 {
5357 "phv_number": 338,
5358 "records": [
5359 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005360 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005361 "field_name": "tcp.window",
5362 "field_msb": 15,
5363 "field_lsb": 0,
5364 "field_width": 2,
5365 "phv_msb": 15,
5366 "phv_lsb": 0,
5367 "is_compiler_generated": false,
5368 "is_pov": false
5369 },
5370 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005371 "position_offset": 123,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005372 "field_name": "udp.checksum",
5373 "field_msb": 15,
5374 "field_lsb": 0,
5375 "field_width": 2,
5376 "phv_msb": 15,
5377 "phv_lsb": 0,
5378 "is_compiler_generated": false,
5379 "is_pov": false
5380 }
5381 ],
5382 "word_bit_width": 16
5383 },
5384 {
5385 "phv_number": 339,
5386 "records": [
5387 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005388 "position_offset": 100,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005389 "field_name": "tcp.checksum",
5390 "field_msb": 15,
5391 "field_lsb": 0,
5392 "field_width": 2,
5393 "phv_msb": 15,
5394 "phv_lsb": 0,
5395 "is_compiler_generated": false,
5396 "is_pov": false
5397 }
5398 ],
5399 "word_bit_width": 16
5400 },
5401 {
5402 "phv_number": 340,
5403 "records": [
5404 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08005405 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -08005406 "field_name": "tcp.urgent_ptr",
5407 "field_msb": 15,
5408 "field_lsb": 0,
5409 "field_width": 2,
5410 "phv_msb": 15,
5411 "phv_lsb": 0,
5412 "is_compiler_generated": false,
5413 "is_pov": false
5414 }
5415 ],
5416 "word_bit_width": 16
5417 }
5418 ],
5419 "egress": [
5420 {
5421 "phv_number": 80,
5422 "records": [
5423 {
5424 "position_offset": 0,
5425 "field_name": "POV",
5426 "field_msb": 7,
5427 "field_lsb": 0,
5428 "field_width": 0,
5429 "phv_msb": 0,
5430 "phv_lsb": 0,
5431 "is_compiler_generated": false,
5432 "is_pov": true,
5433 "pov_headers": [
5434 {
5435 "bit_index": 0,
5436 "position_offset": 0,
5437 "header_name": "arp",
5438 "hidden": false
5439 }
5440 ]
5441 },
5442 {
5443 "position_offset": 0,
5444 "field_name": "POV",
5445 "field_msb": 7,
5446 "field_lsb": 0,
5447 "field_width": 0,
5448 "phv_msb": 2,
5449 "phv_lsb": 2,
5450 "is_compiler_generated": false,
5451 "is_pov": true,
5452 "pov_headers": [
5453 {
5454 "bit_index": 2,
5455 "position_offset": 11,
5456 "header_name": "ethernet",
5457 "hidden": false
5458 }
5459 ]
5460 },
5461 {
5462 "position_offset": 0,
5463 "field_name": "POV",
5464 "field_msb": 7,
5465 "field_lsb": 0,
5466 "field_width": 0,
5467 "phv_msb": 3,
5468 "phv_lsb": 3,
5469 "is_compiler_generated": false,
5470 "is_pov": true,
5471 "pov_headers": [
5472 {
5473 "bit_index": 3,
5474 "position_offset": 26,
5475 "header_name": "icmp",
5476 "hidden": false
5477 }
5478 ]
5479 },
5480 {
5481 "position_offset": 0,
5482 "field_name": "POV",
5483 "field_msb": 7,
5484 "field_lsb": 0,
5485 "field_width": 0,
5486 "phv_msb": 5,
5487 "phv_lsb": 5,
5488 "is_compiler_generated": false,
5489 "is_pov": true,
5490 "pov_headers": [
5491 {
5492 "bit_index": 5,
5493 "position_offset": 45,
5494 "header_name": "ipv4",
5495 "hidden": false
5496 }
5497 ]
5498 },
5499 {
5500 "position_offset": 0,
5501 "field_name": "POV",
5502 "field_msb": 7,
5503 "field_lsb": 0,
5504 "field_width": 0,
5505 "phv_msb": 6,
5506 "phv_lsb": 6,
5507 "is_compiler_generated": false,
5508 "is_pov": true,
5509 "pov_headers": [
5510 {
5511 "bit_index": 6,
5512 "position_offset": 67,
5513 "header_name": "mpls",
5514 "hidden": false
5515 }
5516 ]
5517 },
5518 {
5519 "position_offset": 0,
5520 "field_name": "POV",
5521 "field_msb": 7,
5522 "field_lsb": 0,
5523 "field_width": 0,
5524 "phv_msb": 7,
5525 "phv_lsb": 7,
5526 "is_compiler_generated": false,
5527 "is_pov": true,
5528 "pov_headers": [
5529 {
5530 "bit_index": 7,
5531 "position_offset": 73,
5532 "header_name": "packet_in",
5533 "hidden": false
5534 }
5535 ]
5536 }
5537 ],
5538 "word_bit_width": 8
5539 },
5540 {
5541 "phv_number": 81,
5542 "records": [
5543 {
5544 "position_offset": 0,
5545 "field_name": "POV",
5546 "field_msb": 7,
5547 "field_lsb": 0,
5548 "field_width": 0,
5549 "phv_msb": 0,
5550 "phv_lsb": 0,
5551 "is_compiler_generated": false,
5552 "is_pov": true,
5553 "pov_headers": [
5554 {
5555 "bit_index": 0,
5556 "position_offset": 78,
5557 "header_name": "tcp",
5558 "hidden": false
5559 }
5560 ]
5561 },
5562 {
5563 "position_offset": 0,
5564 "field_name": "POV",
5565 "field_msb": 7,
5566 "field_lsb": 0,
5567 "field_width": 0,
5568 "phv_msb": 1,
5569 "phv_lsb": 1,
5570 "is_compiler_generated": false,
5571 "is_pov": true,
5572 "pov_headers": [
5573 {
5574 "bit_index": 1,
5575 "position_offset": 105,
5576 "header_name": "udp",
5577 "hidden": false
5578 }
5579 ]
5580 },
5581 {
5582 "position_offset": 0,
5583 "field_name": "POV",
5584 "field_msb": 7,
5585 "field_lsb": 0,
5586 "field_width": 0,
5587 "phv_msb": 2,
5588 "phv_lsb": 2,
5589 "is_compiler_generated": false,
5590 "is_pov": true,
5591 "pov_headers": [
5592 {
5593 "bit_index": 2,
5594 "position_offset": 114,
5595 "header_name": "vlan_tag",
5596 "hidden": false
5597 }
5598 ]
5599 }
5600 ],
5601 "word_bit_width": 8
5602 },
5603 {
5604 "phv_number": 144,
5605 "records": [
5606 {
5607 "position_offset": 9,
5608 "field_name": "eg_intr_md.egress_port",
5609 "field_msb": 15,
5610 "field_lsb": 0,
5611 "field_width": 2,
5612 "phv_msb": 8,
5613 "phv_lsb": 0,
5614 "is_compiler_generated": false,
5615 "is_pov": false
5616 }
5617 ],
5618 "word_bit_width": 16
5619 },
5620 {
5621 "phv_number": 145,
5622 "records": [
5623 {
5624 "position_offset": 76,
5625 "field_name": "packet_in.ingress_port",
5626 "field_msb": 15,
5627 "field_lsb": 0,
5628 "field_width": 2,
5629 "phv_msb": 15,
5630 "phv_lsb": 7,
5631 "is_compiler_generated": false,
5632 "is_pov": false
5633 },
5634 {
5635 "position_offset": 74,
5636 "field_name": "packet_in._pad",
5637 "field_msb": 15,
5638 "field_lsb": 0,
5639 "field_width": 2,
5640 "phv_msb": 6,
5641 "phv_lsb": 0,
5642 "is_compiler_generated": false,
5643 "is_pov": false
5644 }
5645 ],
5646 "word_bit_width": 16
5647 },
5648 {
5649 "phv_number": 146,
5650 "records": [
5651 {
5652 "position_offset": 43,
5653 "field_name": "ig_intr_md.ingress_port",
5654 "field_msb": 15,
5655 "field_lsb": 0,
5656 "field_width": 2,
5657 "phv_msb": 8,
5658 "phv_lsb": 0,
5659 "is_compiler_generated": false,
5660 "is_pov": false
5661 }
5662 ],
5663 "word_bit_width": 16
5664 },
5665 {
5666 "phv_number": 256,
5667 "records": [
5668 {
5669 "position_offset": 12,
5670 "field_name": "ethernet.dst_addr",
5671 "field_msb": 47,
5672 "field_lsb": 16,
5673 "field_width": 6,
5674 "phv_msb": 31,
5675 "phv_lsb": 0,
5676 "is_compiler_generated": false,
5677 "is_pov": false
5678 }
5679 ],
5680 "word_bit_width": 32
5681 },
5682 {
5683 "phv_number": 257,
5684 "records": [
5685 {
5686 "position_offset": 20,
5687 "field_name": "ethernet.src_addr",
5688 "field_msb": 47,
5689 "field_lsb": 16,
5690 "field_width": 6,
5691 "phv_msb": 31,
5692 "phv_lsb": 0,
5693 "is_compiler_generated": false,
5694 "is_pov": false
5695 }
5696 ],
5697 "word_bit_width": 32
5698 },
5699 {
5700 "phv_number": 258,
5701 "records": [
5702 {
5703 "position_offset": 59,
5704 "field_name": "ipv4.src_addr",
5705 "field_msb": 31,
5706 "field_lsb": 0,
5707 "field_width": 4,
5708 "phv_msb": 31,
5709 "phv_lsb": 0,
5710 "is_compiler_generated": false,
5711 "is_pov": false
5712 }
5713 ],
5714 "word_bit_width": 32
5715 },
5716 {
5717 "phv_number": 259,
5718 "records": [
5719 {
5720 "position_offset": 47,
5721 "field_name": "ipv4.dst_addr",
5722 "field_msb": 31,
5723 "field_lsb": 0,
5724 "field_width": 4,
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": 264,
5735 "records": [
5736 {
5737 "position_offset": 95,
5738 "field_name": "tcp.seq_no",
5739 "field_msb": 31,
5740 "field_lsb": 0,
5741 "field_width": 4,
5742 "phv_msb": 31,
5743 "phv_lsb": 0,
5744 "is_compiler_generated": false,
5745 "is_pov": false
5746 },
5747 {
5748 "position_offset": 35,
5749 "field_name": "icmp.timestamp",
5750 "field_msb": 31,
5751 "field_lsb": 0,
5752 "field_width": 8,
5753 "phv_msb": 31,
5754 "phv_lsb": 0,
5755 "is_compiler_generated": false,
5756 "is_pov": false
5757 }
5758 ],
5759 "word_bit_width": 32
5760 },
5761 {
5762 "phv_number": 265,
5763 "records": [
5764 {
5765 "position_offset": 79,
5766 "field_name": "tcp.ack_no",
5767 "field_msb": 31,
5768 "field_lsb": 0,
5769 "field_width": 4,
5770 "phv_msb": 31,
5771 "phv_lsb": 0,
5772 "is_compiler_generated": false,
5773 "is_pov": false
5774 },
5775 {
5776 "position_offset": 35,
5777 "field_name": "icmp.timestamp",
5778 "field_msb": 63,
5779 "field_lsb": 32,
5780 "field_width": 8,
5781 "phv_msb": 31,
5782 "phv_lsb": 0,
5783 "is_compiler_generated": false,
5784 "is_pov": false
5785 }
5786 ],
5787 "word_bit_width": 32
5788 },
5789 {
5790 "phv_number": 288,
5791 "records": [
5792 {
5793 "position_offset": 1,
5794 "field_name": "arp.hw_addr_len",
5795 "field_msb": 7,
5796 "field_lsb": 0,
5797 "field_width": 1,
5798 "phv_msb": 7,
5799 "phv_lsb": 0,
5800 "is_compiler_generated": false,
5801 "is_pov": false
5802 },
5803 {
5804 "position_offset": 66,
5805 "field_name": "ipv4.version",
5806 "field_msb": 7,
5807 "field_lsb": 0,
5808 "field_width": 1,
5809 "phv_msb": 7,
5810 "phv_lsb": 4,
5811 "is_compiler_generated": false,
5812 "is_pov": false
5813 },
5814 {
5815 "position_offset": 57,
5816 "field_name": "ipv4.ihl",
5817 "field_msb": 7,
5818 "field_lsb": 0,
5819 "field_width": 1,
5820 "phv_msb": 3,
5821 "phv_lsb": 0,
5822 "is_compiler_generated": false,
5823 "is_pov": false
5824 }
5825 ],
5826 "word_bit_width": 8
5827 },
5828 {
5829 "phv_number": 289,
5830 "records": [
5831 {
5832 "position_offset": 6,
5833 "field_name": "arp.proto_addr_len",
5834 "field_msb": 7,
5835 "field_lsb": 0,
5836 "field_width": 1,
5837 "phv_msb": 7,
5838 "phv_lsb": 0,
5839 "is_compiler_generated": false,
5840 "is_pov": false
5841 },
5842 {
5843 "position_offset": 30,
5844 "field_name": "icmp.icmp_type",
5845 "field_msb": 7,
5846 "field_lsb": 0,
5847 "field_width": 1,
5848 "phv_msb": 7,
5849 "phv_lsb": 0,
5850 "is_compiler_generated": false,
5851 "is_pov": false
5852 }
5853 ],
5854 "word_bit_width": 8
5855 },
5856 {
5857 "phv_number": 290,
5858 "records": [
5859 {
5860 "position_offset": 46,
5861 "field_name": "ipv4.diffserv",
5862 "field_msb": 7,
5863 "field_lsb": 0,
5864 "field_width": 1,
5865 "phv_msb": 7,
5866 "phv_lsb": 0,
5867 "is_compiler_generated": false,
5868 "is_pov": false
5869 }
5870 ],
5871 "word_bit_width": 8
5872 },
5873 {
5874 "phv_number": 291,
5875 "records": [
5876 {
5877 "position_offset": 29,
5878 "field_name": "icmp.icmp_code",
5879 "field_msb": 7,
5880 "field_lsb": 0,
5881 "field_width": 1,
5882 "phv_msb": 7,
5883 "phv_lsb": 0,
5884 "is_compiler_generated": false,
5885 "is_pov": false
5886 }
5887 ],
5888 "word_bit_width": 8
5889 },
5890 {
5891 "phv_number": 296,
5892 "records": [
5893 {
5894 "position_offset": 69,
5895 "field_name": "mpls.label",
5896 "field_msb": 3,
5897 "field_lsb": 0,
5898 "field_width": 2,
5899 "phv_msb": 7,
5900 "phv_lsb": 4,
5901 "is_compiler_generated": false,
5902 "is_pov": false
5903 },
5904 {
5905 "position_offset": 71,
5906 "field_name": "mpls.tc",
5907 "field_msb": 7,
5908 "field_lsb": 0,
5909 "field_width": 1,
5910 "phv_msb": 3,
5911 "phv_lsb": 1,
5912 "is_compiler_generated": false,
5913 "is_pov": false
5914 },
5915 {
5916 "position_offset": 68,
5917 "field_name": "mpls.bos",
5918 "field_msb": 7,
5919 "field_lsb": 0,
5920 "field_width": 1,
5921 "phv_msb": 0,
5922 "phv_lsb": 0,
5923 "is_compiler_generated": false,
5924 "is_pov": false
5925 }
5926 ],
5927 "word_bit_width": 8
5928 },
5929 {
5930 "phv_number": 297,
5931 "records": [
5932 {
5933 "position_offset": 65,
5934 "field_name": "ipv4.ttl",
5935 "field_msb": 7,
5936 "field_lsb": 0,
5937 "field_width": 1,
5938 "phv_msb": 7,
5939 "phv_lsb": 0,
5940 "is_compiler_generated": false,
5941 "is_pov": false
5942 }
5943 ],
5944 "word_bit_width": 8
5945 },
5946 {
5947 "phv_number": 298,
5948 "records": [
5949 {
5950 "position_offset": 58,
5951 "field_name": "ipv4.protocol",
5952 "field_msb": 7,
5953 "field_lsb": 0,
5954 "field_width": 1,
5955 "phv_msb": 7,
5956 "phv_lsb": 0,
5957 "is_compiler_generated": false,
5958 "is_pov": false
5959 }
5960 ],
5961 "word_bit_width": 8
5962 },
5963 {
5964 "phv_number": 299,
5965 "records": [
5966 {
5967 "position_offset": 72,
5968 "field_name": "mpls.ttl",
5969 "field_msb": 7,
5970 "field_lsb": 0,
5971 "field_width": 1,
5972 "phv_msb": 7,
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": 320,
5982 "records": [
5983 {
5984 "position_offset": 119,
5985 "field_name": "vlan_tag.pri",
5986 "field_msb": 15,
5987 "field_lsb": 0,
5988 "field_width": 2,
5989 "phv_msb": 15,
5990 "phv_lsb": 13,
5991 "is_compiler_generated": false,
5992 "is_pov": false
5993 },
5994 {
5995 "position_offset": 115,
5996 "field_name": "vlan_tag.cfi",
5997 "field_msb": 15,
5998 "field_lsb": 0,
5999 "field_width": 2,
6000 "phv_msb": 12,
6001 "phv_lsb": 12,
6002 "is_compiler_generated": false,
6003 "is_pov": false
6004 },
6005 {
6006 "position_offset": 121,
6007 "field_name": "vlan_tag.vlan_id",
6008 "field_msb": 15,
6009 "field_lsb": 0,
6010 "field_width": 2,
6011 "phv_msb": 11,
6012 "phv_lsb": 0,
6013 "is_compiler_generated": false,
6014 "is_pov": false
6015 }
6016 ],
6017 "word_bit_width": 16
6018 },
6019 {
6020 "phv_number": 321,
6021 "records": [
6022 {
6023 "position_offset": 2,
6024 "field_name": "arp.hw_type",
6025 "field_msb": 15,
6026 "field_lsb": 0,
6027 "field_width": 2,
6028 "phv_msb": 15,
6029 "phv_lsb": 0,
6030 "is_compiler_generated": false,
6031 "is_pov": false
6032 },
6033 {
6034 "position_offset": 99,
6035 "field_name": "tcp.src_port",
6036 "field_msb": 15,
6037 "field_lsb": 0,
6038 "field_width": 2,
6039 "phv_msb": 15,
6040 "phv_lsb": 0,
6041 "is_compiler_generated": false,
6042 "is_pov": false
6043 },
6044 {
6045 "position_offset": 112,
6046 "field_name": "udp.src_port",
6047 "field_msb": 15,
6048 "field_lsb": 0,
6049 "field_width": 2,
6050 "phv_msb": 15,
6051 "phv_lsb": 0,
6052 "is_compiler_generated": false,
6053 "is_pov": false
6054 },
6055 {
6056 "position_offset": 27,
6057 "field_name": "icmp.checksum",
6058 "field_msb": 15,
6059 "field_lsb": 0,
6060 "field_width": 2,
6061 "phv_msb": 15,
6062 "phv_lsb": 0,
6063 "is_compiler_generated": false,
6064 "is_pov": false
6065 }
6066 ],
6067 "word_bit_width": 16
6068 },
6069 {
6070 "phv_number": 322,
6071 "records": [
6072 {
6073 "position_offset": 7,
6074 "field_name": "arp.proto_type",
6075 "field_msb": 15,
6076 "field_lsb": 0,
6077 "field_width": 2,
6078 "phv_msb": 15,
6079 "phv_lsb": 0,
6080 "is_compiler_generated": false,
6081 "is_pov": false
6082 },
6083 {
6084 "position_offset": 69,
6085 "field_name": "mpls.label",
6086 "field_msb": 19,
6087 "field_lsb": 4,
6088 "field_width": 2,
6089 "phv_msb": 15,
6090 "phv_lsb": 0,
6091 "is_compiler_generated": false,
6092 "is_pov": false
6093 }
6094 ],
6095 "word_bit_width": 16
6096 },
6097 {
6098 "phv_number": 323,
6099 "records": [
6100 {
6101 "position_offset": 4,
6102 "field_name": "arp.opcode",
6103 "field_msb": 15,
6104 "field_lsb": 0,
6105 "field_width": 2,
6106 "phv_msb": 15,
6107 "phv_lsb": 0,
6108 "is_compiler_generated": false,
6109 "is_pov": false
6110 },
6111 {
6112 "position_offset": 87,
6113 "field_name": "tcp.data_offset",
6114 "field_msb": 15,
6115 "field_lsb": 0,
6116 "field_width": 2,
6117 "phv_msb": 15,
6118 "phv_lsb": 12,
6119 "is_compiler_generated": false,
6120 "is_pov": false
6121 },
6122 {
6123 "position_offset": 93,
6124 "field_name": "tcp.res",
6125 "field_msb": 15,
6126 "field_lsb": 0,
6127 "field_width": 2,
6128 "phv_msb": 11,
6129 "phv_lsb": 9,
6130 "is_compiler_generated": false,
6131 "is_pov": false
6132 },
6133 {
6134 "position_offset": 91,
6135 "field_name": "tcp.ecn",
6136 "field_msb": 15,
6137 "field_lsb": 0,
6138 "field_width": 2,
6139 "phv_msb": 8,
6140 "phv_lsb": 6,
6141 "is_compiler_generated": false,
6142 "is_pov": false
6143 },
6144 {
6145 "position_offset": 85,
6146 "field_name": "tcp.ctrl",
6147 "field_msb": 15,
6148 "field_lsb": 0,
6149 "field_width": 2,
6150 "phv_msb": 5,
6151 "phv_lsb": 0,
6152 "is_compiler_generated": false,
6153 "is_pov": false
6154 },
6155 {
6156 "position_offset": 108,
6157 "field_name": "udp.dst_port",
6158 "field_msb": 15,
6159 "field_lsb": 0,
6160 "field_width": 2,
6161 "phv_msb": 15,
6162 "phv_lsb": 0,
6163 "is_compiler_generated": false,
6164 "is_pov": false
6165 },
6166 {
6167 "position_offset": 31,
6168 "field_name": "icmp.identifier",
6169 "field_msb": 15,
6170 "field_lsb": 0,
6171 "field_width": 2,
6172 "phv_msb": 15,
6173 "phv_lsb": 0,
6174 "is_compiler_generated": false,
6175 "is_pov": false
6176 }
6177 ],
6178 "word_bit_width": 16
6179 },
6180 {
6181 "phv_number": 324,
6182 "records": [
6183 {
6184 "position_offset": 51,
6185 "field_name": "ipv4.flags",
6186 "field_msb": 15,
6187 "field_lsb": 0,
6188 "field_width": 2,
6189 "phv_msb": 15,
6190 "phv_lsb": 13,
6191 "is_compiler_generated": false,
6192 "is_pov": false
6193 },
6194 {
6195 "position_offset": 53,
6196 "field_name": "ipv4.frag_offset",
6197 "field_msb": 15,
6198 "field_lsb": 0,
6199 "field_width": 2,
6200 "phv_msb": 12,
6201 "phv_lsb": 0,
6202 "is_compiler_generated": false,
6203 "is_pov": false
6204 }
6205 ],
6206 "word_bit_width": 16
6207 },
6208 {
6209 "phv_number": 325,
6210 "records": [
6211 {
6212 "position_offset": 12,
6213 "field_name": "ethernet.dst_addr",
6214 "field_msb": 15,
6215 "field_lsb": 0,
6216 "field_width": 6,
6217 "phv_msb": 15,
6218 "phv_lsb": 0,
6219 "is_compiler_generated": false,
6220 "is_pov": false
6221 }
6222 ],
6223 "word_bit_width": 16
6224 },
6225 {
6226 "phv_number": 332,
6227 "records": [
6228 {
6229 "position_offset": 20,
6230 "field_name": "ethernet.src_addr",
6231 "field_msb": 15,
6232 "field_lsb": 0,
6233 "field_width": 6,
6234 "phv_msb": 15,
6235 "phv_lsb": 0,
6236 "is_compiler_generated": false,
6237 "is_pov": false
6238 }
6239 ],
6240 "word_bit_width": 16
6241 },
6242 {
6243 "phv_number": 333,
6244 "records": [
6245 {
6246 "position_offset": 18,
6247 "field_name": "ethernet.ether_type",
6248 "field_msb": 15,
6249 "field_lsb": 0,
6250 "field_width": 2,
6251 "phv_msb": 15,
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": 334,
6261 "records": [
6262 {
6263 "position_offset": 117,
6264 "field_name": "vlan_tag.ether_type",
6265 "field_msb": 15,
6266 "field_lsb": 0,
6267 "field_width": 2,
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": 335,
6278 "records": [
6279 {
6280 "position_offset": 63,
6281 "field_name": "ipv4.total_len",
6282 "field_msb": 15,
6283 "field_lsb": 0,
6284 "field_width": 2,
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": 336,
6295 "records": [
6296 {
6297 "position_offset": 55,
6298 "field_name": "ipv4.identification",
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": 337,
6312 "records": [
6313 {
6314 "position_offset": 89,
6315 "field_name": "tcp.dst_port",
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 "position_offset": 110,
6326 "field_name": "udp.len",
6327 "field_msb": 15,
6328 "field_lsb": 0,
6329 "field_width": 2,
6330 "phv_msb": 15,
6331 "phv_lsb": 0,
6332 "is_compiler_generated": false,
6333 "is_pov": false
6334 },
6335 {
6336 "position_offset": 33,
6337 "field_name": "icmp.sequence_number",
6338 "field_msb": 15,
6339 "field_lsb": 0,
6340 "field_width": 2,
6341 "phv_msb": 15,
6342 "phv_lsb": 0,
6343 "is_compiler_generated": false,
6344 "is_pov": false
6345 }
6346 ],
6347 "word_bit_width": 16
6348 },
6349 {
6350 "phv_number": 344,
6351 "records": [
6352 {
6353 "position_offset": 103,
6354 "field_name": "tcp.window",
6355 "field_msb": 15,
6356 "field_lsb": 0,
6357 "field_width": 2,
6358 "phv_msb": 15,
6359 "phv_lsb": 0,
6360 "is_compiler_generated": false,
6361 "is_pov": false
6362 },
6363 {
6364 "position_offset": 106,
6365 "field_name": "udp.checksum",
6366 "field_msb": 15,
6367 "field_lsb": 0,
6368 "field_width": 2,
6369 "phv_msb": 15,
6370 "phv_lsb": 0,
6371 "is_compiler_generated": false,
6372 "is_pov": false
6373 }
6374 ],
6375 "word_bit_width": 16
6376 },
6377 {
6378 "phv_number": 345,
6379 "records": [
6380 {
6381 "position_offset": 83,
6382 "field_name": "tcp.checksum",
6383 "field_msb": 15,
6384 "field_lsb": 0,
6385 "field_width": 2,
6386 "phv_msb": 15,
6387 "phv_lsb": 0,
6388 "is_compiler_generated": false,
6389 "is_pov": false
6390 }
6391 ],
6392 "word_bit_width": 16
6393 },
6394 {
6395 "phv_number": 346,
6396 "records": [
6397 {
6398 "position_offset": 101,
6399 "field_name": "tcp.urgent_ptr",
6400 "field_msb": 15,
6401 "field_lsb": 0,
6402 "field_width": 2,
6403 "phv_msb": 15,
6404 "phv_lsb": 0,
6405 "is_compiler_generated": false,
6406 "is_pov": false
6407 }
6408 ],
6409 "word_bit_width": 16
6410 }
6411 ],
6412 "stage_number": 2
6413 },
6414 {
6415 "ingress": [
6416 {
6417 "phv_number": 0,
6418 "records": [
6419 {
6420 "position_offset": 12,
6421 "field_name": "ethernet.dst_addr",
6422 "field_msb": 47,
6423 "field_lsb": 16,
6424 "field_width": 6,
6425 "phv_msb": 31,
6426 "phv_lsb": 0,
6427 "is_compiler_generated": false,
6428 "is_pov": false
6429 }
6430 ],
6431 "word_bit_width": 32
6432 },
6433 {
6434 "phv_number": 1,
6435 "records": [
6436 {
6437 "position_offset": 20,
6438 "field_name": "ethernet.src_addr",
6439 "field_msb": 47,
6440 "field_lsb": 16,
6441 "field_width": 6,
6442 "phv_msb": 31,
6443 "phv_lsb": 0,
6444 "is_compiler_generated": false,
6445 "is_pov": false
6446 }
6447 ],
6448 "word_bit_width": 32
6449 },
6450 {
6451 "phv_number": 2,
6452 "records": [
6453 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006454 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006455 "field_name": "ipv4.src_addr",
6456 "field_msb": 31,
6457 "field_lsb": 0,
6458 "field_width": 4,
6459 "phv_msb": 31,
6460 "phv_lsb": 0,
6461 "is_compiler_generated": false,
6462 "is_pov": false
6463 }
6464 ],
6465 "word_bit_width": 32
6466 },
6467 {
6468 "phv_number": 3,
6469 "records": [
6470 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006471 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006472 "field_name": "ipv4.dst_addr",
6473 "field_msb": 31,
6474 "field_lsb": 0,
6475 "field_width": 4,
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": 4,
6486 "records": [
6487 {
6488 "position_offset": 33,
6489 "field_name": "fabric_metadata.next_id",
6490 "field_msb": 31,
6491 "field_lsb": 0,
6492 "field_width": 4,
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": 64,
6503 "records": [
6504 {
6505 "position_offset": 45,
6506 "field_name": "icmp.icmp_type",
6507 "field_msb": 7,
6508 "field_lsb": 0,
6509 "field_width": 1,
6510 "phv_msb": 7,
6511 "phv_lsb": 0,
6512 "is_compiler_generated": false,
6513 "is_pov": false
6514 }
6515 ],
6516 "word_bit_width": 8
6517 },
6518 {
6519 "phv_number": 65,
6520 "records": [
6521 {
6522 "position_offset": 44,
6523 "field_name": "icmp.icmp_code",
6524 "field_msb": 7,
6525 "field_lsb": 0,
6526 "field_width": 1,
6527 "phv_msb": 7,
6528 "phv_lsb": 0,
6529 "is_compiler_generated": false,
6530 "is_pov": false
6531 }
6532 ],
6533 "word_bit_width": 8
6534 },
6535 {
6536 "phv_number": 66,
6537 "records": [
6538 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006539 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006540 "field_name": "mpls.label",
6541 "field_msb": 3,
6542 "field_lsb": 0,
6543 "field_width": 2,
6544 "phv_msb": 7,
6545 "phv_lsb": 4,
6546 "is_compiler_generated": false,
6547 "is_pov": false
6548 },
6549 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006550 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006551 "field_name": "mpls.tc",
6552 "field_msb": 7,
6553 "field_lsb": 0,
6554 "field_width": 1,
6555 "phv_msb": 3,
6556 "phv_lsb": 1,
6557 "is_compiler_generated": false,
6558 "is_pov": false
6559 },
6560 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006561 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006562 "field_name": "mpls.bos",
6563 "field_msb": 7,
6564 "field_lsb": 0,
6565 "field_width": 1,
6566 "phv_msb": 0,
6567 "phv_lsb": 0,
6568 "is_compiler_generated": false,
6569 "is_pov": false
6570 }
6571 ],
6572 "word_bit_width": 8
6573 },
6574 {
6575 "phv_number": 67,
6576 "records": [
6577 {
6578 "position_offset": 1,
6579 "field_name": "$bridged_metadata_indicator",
6580 "field_msb": 7,
6581 "field_lsb": 0,
6582 "field_width": 1,
6583 "phv_msb": 7,
6584 "phv_lsb": 0,
6585 "is_compiler_generated": false,
6586 "is_pov": false
6587 }
6588 ],
6589 "word_bit_width": 8
6590 },
6591 {
6592 "phv_number": 68,
6593 "records": [
6594 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006595 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006596 "field_name": "ipv4.ttl",
6597 "field_msb": 7,
6598 "field_lsb": 0,
6599 "field_width": 1,
6600 "phv_msb": 7,
6601 "phv_lsb": 0,
6602 "is_compiler_generated": false,
6603 "is_pov": false
6604 }
6605 ],
6606 "word_bit_width": 8
6607 },
6608 {
6609 "phv_number": 69,
6610 "records": [
6611 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006612 "position_offset": 91,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006613 "field_name": "mpls.ttl",
6614 "field_msb": 7,
6615 "field_lsb": 0,
6616 "field_width": 1,
6617 "phv_msb": 7,
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": 70,
6627 "records": [
6628 {
6629 "position_offset": 28,
6630 "field_name": "fabric_metadata.ip_proto",
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": 71,
6644 "records": [
6645 {
6646 "position_offset": 0,
6647 "field_name": "$always_deparse",
6648 "field_msb": 7,
6649 "field_lsb": 0,
6650 "field_width": 1,
6651 "phv_msb": 0,
6652 "phv_lsb": 0,
6653 "is_compiler_generated": false,
6654 "is_pov": false
6655 },
6656 {
6657 "position_offset": 40,
6658 "field_name": "hasExited_0",
6659 "field_msb": 7,
6660 "field_lsb": 0,
6661 "field_width": 1,
6662 "phv_msb": 4,
6663 "phv_lsb": 4,
6664 "is_compiler_generated": false,
6665 "is_pov": false
6666 },
6667 {
6668 "position_offset": 0,
6669 "field_name": "POV",
6670 "field_msb": 7,
6671 "field_lsb": 0,
6672 "field_width": 0,
6673 "phv_msb": 1,
6674 "phv_lsb": 1,
6675 "is_compiler_generated": false,
6676 "is_pov": true,
6677 "pov_headers": [
6678 {
6679 "bit_index": 1,
6680 "position_offset": 2,
6681 "header_name": "arp",
6682 "hidden": false
6683 }
6684 ]
6685 },
6686 {
6687 "position_offset": 0,
6688 "field_name": "POV",
6689 "field_msb": 7,
6690 "field_lsb": 0,
6691 "field_width": 0,
6692 "phv_msb": 2,
6693 "phv_lsb": 2,
6694 "is_compiler_generated": false,
6695 "is_pov": true,
6696 "pov_headers": [
6697 {
6698 "bit_index": 2,
6699 "position_offset": 11,
6700 "header_name": "ethernet",
6701 "hidden": false
6702 }
6703 ]
6704 },
6705 {
6706 "position_offset": 0,
6707 "field_name": "POV",
6708 "field_msb": 7,
6709 "field_lsb": 0,
6710 "field_width": 0,
6711 "phv_msb": 3,
6712 "phv_lsb": 3,
6713 "is_compiler_generated": false,
6714 "is_pov": true,
6715 "pov_headers": [
6716 {
6717 "bit_index": 3,
6718 "position_offset": 41,
6719 "header_name": "icmp",
6720 "hidden": false
6721 }
6722 ]
6723 },
6724 {
6725 "position_offset": 0,
6726 "field_name": "POV",
6727 "field_msb": 7,
6728 "field_lsb": 0,
6729 "field_width": 0,
6730 "phv_msb": 5,
6731 "phv_lsb": 5,
6732 "is_compiler_generated": false,
6733 "is_pov": true,
6734 "pov_headers": [
6735 {
6736 "bit_index": 5,
Carmelo Casconeecb35762018-02-03 17:30:05 -08006737 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006738 "header_name": "ipv4",
6739 "hidden": false
6740 }
6741 ]
6742 },
6743 {
6744 "position_offset": 0,
6745 "field_name": "POV",
6746 "field_msb": 7,
6747 "field_lsb": 0,
6748 "field_width": 0,
6749 "phv_msb": 6,
6750 "phv_lsb": 6,
6751 "is_compiler_generated": false,
6752 "is_pov": true,
6753 "pov_headers": [
6754 {
6755 "bit_index": 6,
Carmelo Casconeecb35762018-02-03 17:30:05 -08006756 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006757 "header_name": "mpls",
6758 "hidden": false
6759 }
6760 ]
6761 },
6762 {
6763 "position_offset": 0,
6764 "field_name": "POV",
6765 "field_msb": 7,
6766 "field_lsb": 0,
6767 "field_width": 0,
6768 "phv_msb": 7,
6769 "phv_lsb": 7,
6770 "is_compiler_generated": false,
6771 "is_pov": true,
6772 "pov_headers": [
6773 {
6774 "bit_index": 7,
Carmelo Casconeecb35762018-02-03 17:30:05 -08006775 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006776 "header_name": "packet_out",
6777 "hidden": false
6778 }
6779 ]
6780 }
6781 ],
6782 "word_bit_width": 8
6783 },
6784 {
6785 "phv_number": 72,
6786 "records": [
6787 {
6788 "position_offset": 39,
6789 "field_name": "fabric_metadata.pop_vlan_at_egress",
6790 "field_msb": 7,
6791 "field_lsb": 0,
6792 "field_width": 1,
6793 "phv_msb": 3,
6794 "phv_lsb": 3,
6795 "is_compiler_generated": false,
6796 "is_pov": false
6797 },
6798 {
6799 "position_offset": 0,
6800 "field_name": "POV",
6801 "field_msb": 7,
6802 "field_lsb": 0,
6803 "field_width": 0,
6804 "phv_msb": 0,
6805 "phv_lsb": 0,
6806 "is_compiler_generated": false,
6807 "is_pov": true,
6808 "pov_headers": [
6809 {
6810 "bit_index": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -08006811 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006812 "header_name": "tcp",
6813 "hidden": false
6814 }
6815 ]
6816 },
6817 {
6818 "position_offset": 0,
6819 "field_name": "POV",
6820 "field_msb": 7,
6821 "field_lsb": 0,
6822 "field_width": 0,
6823 "phv_msb": 1,
6824 "phv_lsb": 1,
6825 "is_compiler_generated": false,
6826 "is_pov": true,
6827 "pov_headers": [
6828 {
6829 "bit_index": 1,
Carmelo Casconeecb35762018-02-03 17:30:05 -08006830 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006831 "header_name": "udp",
6832 "hidden": false
6833 }
6834 ]
6835 },
6836 {
6837 "position_offset": 0,
6838 "field_name": "POV",
6839 "field_msb": 7,
6840 "field_lsb": 0,
6841 "field_width": 0,
6842 "phv_msb": 2,
6843 "phv_lsb": 2,
6844 "is_compiler_generated": false,
6845 "is_pov": true,
6846 "pov_headers": [
6847 {
6848 "bit_index": 2,
Carmelo Casconeecb35762018-02-03 17:30:05 -08006849 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006850 "header_name": "vlan_tag",
6851 "hidden": false
6852 }
6853 ]
6854 }
6855 ],
6856 "word_bit_width": 8
6857 },
6858 {
6859 "phv_number": 128,
6860 "records": [
6861 {
6862 "position_offset": 62,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006863 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
6864 "field_msb": 15,
6865 "field_lsb": 0,
6866 "field_width": 2,
6867 "phv_msb": 8,
6868 "phv_lsb": 0,
6869 "is_compiler_generated": false,
6870 "is_pov": false
6871 }
6872 ],
6873 "word_bit_width": 16
6874 },
6875 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006876 "phv_number": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006877 "records": [
6878 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006879 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006880 "field_name": "packet_out.egress_port",
6881 "field_msb": 15,
6882 "field_lsb": 0,
6883 "field_width": 2,
6884 "phv_msb": 15,
6885 "phv_lsb": 7,
6886 "is_compiler_generated": false,
6887 "is_pov": false
6888 },
6889 {
6890 "position_offset": 26,
6891 "field_name": "fabric_metadata.fwd_type",
6892 "field_msb": 15,
6893 "field_lsb": 0,
6894 "field_width": 2,
6895 "phv_msb": 5,
6896 "phv_lsb": 3,
6897 "is_compiler_generated": false,
6898 "is_pov": false
6899 },
6900 {
6901 "position_offset": 60,
6902 "field_name": "ig_intr_md_for_tm.drop_ctl",
6903 "field_msb": 15,
6904 "field_lsb": 0,
6905 "field_width": 2,
6906 "phv_msb": 2,
6907 "phv_lsb": 0,
6908 "is_compiler_generated": false,
6909 "is_pov": false
6910 }
6911 ],
6912 "word_bit_width": 16
6913 },
6914 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006915 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006916 "records": [
6917 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006918 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006919 "field_name": "vlan_tag.pri",
6920 "field_msb": 15,
6921 "field_lsb": 0,
6922 "field_width": 2,
6923 "phv_msb": 15,
6924 "phv_lsb": 13,
6925 "is_compiler_generated": false,
6926 "is_pov": false
6927 },
6928 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006929 "position_offset": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006930 "field_name": "vlan_tag.cfi",
6931 "field_msb": 15,
6932 "field_lsb": 0,
6933 "field_width": 2,
6934 "phv_msb": 12,
6935 "phv_lsb": 12,
6936 "is_compiler_generated": false,
6937 "is_pov": false
6938 },
6939 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006940 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006941 "field_name": "vlan_tag.vlan_id",
6942 "field_msb": 15,
6943 "field_lsb": 0,
6944 "field_width": 2,
6945 "phv_msb": 11,
6946 "phv_lsb": 0,
6947 "is_compiler_generated": false,
6948 "is_pov": false
6949 }
6950 ],
6951 "word_bit_width": 16
6952 },
6953 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006954 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006955 "records": [
6956 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006957 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006958 "field_name": "mpls.label",
6959 "field_msb": 19,
6960 "field_lsb": 4,
6961 "field_width": 2,
6962 "phv_msb": 15,
6963 "phv_lsb": 0,
6964 "is_compiler_generated": false,
6965 "is_pov": false
6966 }
6967 ],
6968 "word_bit_width": 16
6969 },
6970 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006971 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006972 "records": [
6973 {
6974 "position_offset": 58,
6975 "field_name": "ig_intr_md.ingress_port",
6976 "field_msb": 15,
6977 "field_lsb": 0,
6978 "field_width": 2,
6979 "phv_msb": 8,
6980 "phv_lsb": 0,
6981 "is_compiler_generated": false,
6982 "is_pov": false
6983 }
6984 ],
6985 "word_bit_width": 16
6986 },
6987 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08006988 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -08006989 "records": [
6990 {
6991 "position_offset": 31,
6992 "field_name": "fabric_metadata.l4_src_port",
6993 "field_msb": 15,
6994 "field_lsb": 0,
6995 "field_width": 2,
6996 "phv_msb": 15,
6997 "phv_lsb": 0,
6998 "is_compiler_generated": false,
6999 "is_pov": false
7000 }
7001 ],
7002 "word_bit_width": 16
7003 },
7004 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007005 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007006 "records": [
7007 {
7008 "position_offset": 18,
7009 "field_name": "ethernet.ether_type",
7010 "field_msb": 15,
7011 "field_lsb": 0,
7012 "field_width": 2,
7013 "phv_msb": 15,
7014 "phv_lsb": 0,
7015 "is_compiler_generated": false,
7016 "is_pov": false
7017 }
7018 ],
7019 "word_bit_width": 16
7020 },
7021 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007022 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007023 "records": [
7024 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007025 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007026 "field_name": "vlan_tag.ether_type",
7027 "field_msb": 15,
7028 "field_lsb": 0,
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 Casconeecb35762018-02-03 17:30:05 -08007039 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007040 "records": [
7041 {
7042 "position_offset": 12,
7043 "field_name": "ethernet.dst_addr",
7044 "field_msb": 15,
7045 "field_lsb": 0,
7046 "field_width": 6,
7047 "phv_msb": 15,
7048 "phv_lsb": 0,
7049 "is_compiler_generated": false,
7050 "is_pov": false
7051 }
7052 ],
7053 "word_bit_width": 16
7054 },
7055 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007056 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007057 "records": [
7058 {
7059 "position_offset": 20,
7060 "field_name": "ethernet.src_addr",
7061 "field_msb": 15,
7062 "field_lsb": 0,
7063 "field_width": 6,
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 Casconeecb35762018-02-03 17:30:05 -08007073 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007074 "records": [
7075 {
7076 "position_offset": 29,
7077 "field_name": "fabric_metadata.l4_dst_port",
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 Casconeecb35762018-02-03 17:30:05 -08007090 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007091 "records": [
7092 {
7093 "position_offset": 37,
7094 "field_name": "fabric_metadata.original_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 {
7107 "phv_number": 260,
7108 "records": [
7109 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007110 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007111 "field_name": "tcp.seq_no",
7112 "field_msb": 31,
7113 "field_lsb": 0,
7114 "field_width": 4,
7115 "phv_msb": 31,
7116 "phv_lsb": 0,
7117 "is_compiler_generated": false,
7118 "is_pov": false
7119 },
7120 {
7121 "position_offset": 50,
7122 "field_name": "icmp.timestamp",
7123 "field_msb": 31,
7124 "field_lsb": 0,
7125 "field_width": 8,
7126 "phv_msb": 31,
7127 "phv_lsb": 0,
7128 "is_compiler_generated": false,
7129 "is_pov": false
7130 }
7131 ],
7132 "word_bit_width": 32
7133 },
7134 {
7135 "phv_number": 261,
7136 "records": [
7137 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007138 "position_offset": 96,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007139 "field_name": "tcp.ack_no",
7140 "field_msb": 31,
7141 "field_lsb": 0,
7142 "field_width": 4,
7143 "phv_msb": 31,
7144 "phv_lsb": 0,
7145 "is_compiler_generated": false,
7146 "is_pov": false
7147 },
7148 {
7149 "position_offset": 50,
7150 "field_name": "icmp.timestamp",
7151 "field_msb": 63,
7152 "field_lsb": 32,
7153 "field_width": 8,
7154 "phv_msb": 31,
7155 "phv_lsb": 0,
7156 "is_compiler_generated": false,
7157 "is_pov": false
7158 }
7159 ],
7160 "word_bit_width": 32
7161 },
7162 {
7163 "phv_number": 292,
7164 "records": [
7165 {
7166 "position_offset": 3,
7167 "field_name": "arp.hw_addr_len",
7168 "field_msb": 7,
7169 "field_lsb": 0,
7170 "field_width": 1,
7171 "phv_msb": 7,
7172 "phv_lsb": 0,
7173 "is_compiler_generated": false,
7174 "is_pov": false
7175 },
7176 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007177 "position_offset": 85,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007178 "field_name": "ipv4.version",
7179 "field_msb": 7,
7180 "field_lsb": 0,
7181 "field_width": 1,
7182 "phv_msb": 7,
7183 "phv_lsb": 4,
7184 "is_compiler_generated": false,
7185 "is_pov": false
7186 },
7187 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007188 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007189 "field_name": "ipv4.ihl",
7190 "field_msb": 7,
7191 "field_lsb": 0,
7192 "field_width": 1,
7193 "phv_msb": 3,
7194 "phv_lsb": 0,
7195 "is_compiler_generated": false,
7196 "is_pov": false
7197 }
7198 ],
7199 "word_bit_width": 8
7200 },
7201 {
7202 "phv_number": 293,
7203 "records": [
7204 {
7205 "position_offset": 8,
7206 "field_name": "arp.proto_addr_len",
7207 "field_msb": 7,
7208 "field_lsb": 0,
7209 "field_width": 1,
7210 "phv_msb": 7,
7211 "phv_lsb": 0,
7212 "is_compiler_generated": false,
7213 "is_pov": false
7214 },
7215 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007216 "position_offset": 65,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007217 "field_name": "ipv4.diffserv",
7218 "field_msb": 7,
7219 "field_lsb": 0,
7220 "field_width": 1,
7221 "phv_msb": 7,
7222 "phv_lsb": 0,
7223 "is_compiler_generated": false,
7224 "is_pov": false
7225 }
7226 ],
7227 "word_bit_width": 8
7228 },
7229 {
7230 "phv_number": 294,
7231 "records": [
7232 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007233 "position_offset": 77,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007234 "field_name": "ipv4.protocol",
7235 "field_msb": 7,
7236 "field_lsb": 0,
7237 "field_width": 1,
7238 "phv_msb": 7,
7239 "phv_lsb": 0,
7240 "is_compiler_generated": false,
7241 "is_pov": false
7242 }
7243 ],
7244 "word_bit_width": 8
7245 },
7246 {
7247 "phv_number": 326,
7248 "records": [
7249 {
7250 "position_offset": 4,
7251 "field_name": "arp.hw_type",
7252 "field_msb": 15,
7253 "field_lsb": 0,
7254 "field_width": 2,
7255 "phv_msb": 15,
7256 "phv_lsb": 0,
7257 "is_compiler_generated": false,
7258 "is_pov": false
7259 },
7260 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007261 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007262 "field_name": "tcp.data_offset",
7263 "field_msb": 15,
7264 "field_lsb": 0,
7265 "field_width": 2,
7266 "phv_msb": 15,
7267 "phv_lsb": 12,
7268 "is_compiler_generated": false,
7269 "is_pov": false
7270 },
7271 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007272 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007273 "field_name": "tcp.res",
7274 "field_msb": 15,
7275 "field_lsb": 0,
7276 "field_width": 2,
7277 "phv_msb": 11,
7278 "phv_lsb": 9,
7279 "is_compiler_generated": false,
7280 "is_pov": false
7281 },
7282 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007283 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007284 "field_name": "tcp.ecn",
7285 "field_msb": 15,
7286 "field_lsb": 0,
7287 "field_width": 2,
7288 "phv_msb": 8,
7289 "phv_lsb": 6,
7290 "is_compiler_generated": false,
7291 "is_pov": false
7292 },
7293 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007294 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007295 "field_name": "tcp.ctrl",
7296 "field_msb": 15,
7297 "field_lsb": 0,
7298 "field_width": 2,
7299 "phv_msb": 5,
7300 "phv_lsb": 0,
7301 "is_compiler_generated": false,
7302 "is_pov": false
7303 },
7304 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007305 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007306 "field_name": "udp.src_port",
7307 "field_msb": 15,
7308 "field_lsb": 0,
7309 "field_width": 2,
7310 "phv_msb": 15,
7311 "phv_lsb": 0,
7312 "is_compiler_generated": false,
7313 "is_pov": false
7314 },
7315 {
7316 "position_offset": 42,
7317 "field_name": "icmp.checksum",
7318 "field_msb": 15,
7319 "field_lsb": 0,
7320 "field_width": 2,
7321 "phv_msb": 15,
7322 "phv_lsb": 0,
7323 "is_compiler_generated": false,
7324 "is_pov": false
7325 }
7326 ],
7327 "word_bit_width": 16
7328 },
7329 {
7330 "phv_number": 327,
7331 "records": [
7332 {
7333 "position_offset": 9,
7334 "field_name": "arp.proto_type",
7335 "field_msb": 15,
7336 "field_lsb": 0,
7337 "field_width": 2,
7338 "phv_msb": 15,
7339 "phv_lsb": 0,
7340 "is_compiler_generated": false,
7341 "is_pov": false
7342 },
7343 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007344 "position_offset": 116,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007345 "field_name": "tcp.src_port",
7346 "field_msb": 15,
7347 "field_lsb": 0,
7348 "field_width": 2,
7349 "phv_msb": 15,
7350 "phv_lsb": 0,
7351 "is_compiler_generated": false,
7352 "is_pov": false
7353 },
7354 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007355 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007356 "field_name": "udp.dst_port",
7357 "field_msb": 15,
7358 "field_lsb": 0,
7359 "field_width": 2,
7360 "phv_msb": 15,
7361 "phv_lsb": 0,
7362 "is_compiler_generated": false,
7363 "is_pov": false
7364 },
7365 {
7366 "position_offset": 46,
7367 "field_name": "icmp.identifier",
7368 "field_msb": 15,
7369 "field_lsb": 0,
7370 "field_width": 2,
7371 "phv_msb": 15,
7372 "phv_lsb": 0,
7373 "is_compiler_generated": false,
7374 "is_pov": false
7375 }
7376 ],
7377 "word_bit_width": 16
7378 },
7379 {
7380 "phv_number": 328,
7381 "records": [
7382 {
7383 "position_offset": 6,
7384 "field_name": "arp.opcode",
7385 "field_msb": 15,
7386 "field_lsb": 0,
7387 "field_width": 2,
7388 "phv_msb": 15,
7389 "phv_lsb": 0,
7390 "is_compiler_generated": false,
7391 "is_pov": false
7392 },
7393 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007394 "position_offset": 70,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007395 "field_name": "ipv4.flags",
7396 "field_msb": 15,
7397 "field_lsb": 0,
7398 "field_width": 2,
7399 "phv_msb": 15,
7400 "phv_lsb": 13,
7401 "is_compiler_generated": false,
7402 "is_pov": false
7403 },
7404 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007405 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007406 "field_name": "ipv4.frag_offset",
7407 "field_msb": 15,
7408 "field_lsb": 0,
7409 "field_width": 2,
7410 "phv_msb": 12,
7411 "phv_lsb": 0,
7412 "is_compiler_generated": false,
7413 "is_pov": false
7414 }
7415 ],
7416 "word_bit_width": 16
7417 },
7418 {
7419 "phv_number": 329,
7420 "records": [
7421 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007422 "position_offset": 82,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007423 "field_name": "ipv4.total_len",
7424 "field_msb": 15,
7425 "field_lsb": 0,
7426 "field_width": 2,
7427 "phv_msb": 15,
7428 "phv_lsb": 0,
7429 "is_compiler_generated": false,
7430 "is_pov": false
7431 }
7432 ],
7433 "word_bit_width": 16
7434 },
7435 {
7436 "phv_number": 330,
7437 "records": [
7438 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007439 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007440 "field_name": "ipv4.identification",
7441 "field_msb": 15,
7442 "field_lsb": 0,
7443 "field_width": 2,
7444 "phv_msb": 15,
7445 "phv_lsb": 0,
7446 "is_compiler_generated": false,
7447 "is_pov": false
7448 }
7449 ],
7450 "word_bit_width": 16
7451 },
7452 {
7453 "phv_number": 331,
7454 "records": [
7455 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007456 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007457 "field_name": "tcp.dst_port",
7458 "field_msb": 15,
7459 "field_lsb": 0,
7460 "field_width": 2,
7461 "phv_msb": 15,
7462 "phv_lsb": 0,
7463 "is_compiler_generated": false,
7464 "is_pov": false
7465 },
7466 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007467 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007468 "field_name": "udp.len",
7469 "field_msb": 15,
7470 "field_lsb": 0,
7471 "field_width": 2,
7472 "phv_msb": 15,
7473 "phv_lsb": 0,
7474 "is_compiler_generated": false,
7475 "is_pov": false
7476 },
7477 {
7478 "position_offset": 48,
7479 "field_name": "icmp.sequence_number",
7480 "field_msb": 15,
7481 "field_lsb": 0,
7482 "field_width": 2,
7483 "phv_msb": 15,
7484 "phv_lsb": 0,
7485 "is_compiler_generated": false,
7486 "is_pov": false
7487 }
7488 ],
7489 "word_bit_width": 16
7490 },
7491 {
7492 "phv_number": 338,
7493 "records": [
7494 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007495 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007496 "field_name": "tcp.window",
7497 "field_msb": 15,
7498 "field_lsb": 0,
7499 "field_width": 2,
7500 "phv_msb": 15,
7501 "phv_lsb": 0,
7502 "is_compiler_generated": false,
7503 "is_pov": false
7504 },
7505 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007506 "position_offset": 123,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007507 "field_name": "udp.checksum",
7508 "field_msb": 15,
7509 "field_lsb": 0,
7510 "field_width": 2,
7511 "phv_msb": 15,
7512 "phv_lsb": 0,
7513 "is_compiler_generated": false,
7514 "is_pov": false
7515 }
7516 ],
7517 "word_bit_width": 16
7518 },
7519 {
7520 "phv_number": 339,
7521 "records": [
7522 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007523 "position_offset": 100,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007524 "field_name": "tcp.checksum",
7525 "field_msb": 15,
7526 "field_lsb": 0,
7527 "field_width": 2,
7528 "phv_msb": 15,
7529 "phv_lsb": 0,
7530 "is_compiler_generated": false,
7531 "is_pov": false
7532 }
7533 ],
7534 "word_bit_width": 16
7535 },
7536 {
7537 "phv_number": 340,
7538 "records": [
7539 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08007540 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -08007541 "field_name": "tcp.urgent_ptr",
7542 "field_msb": 15,
7543 "field_lsb": 0,
7544 "field_width": 2,
7545 "phv_msb": 15,
7546 "phv_lsb": 0,
7547 "is_compiler_generated": false,
7548 "is_pov": false
7549 }
7550 ],
7551 "word_bit_width": 16
7552 }
7553 ],
7554 "egress": [
7555 {
7556 "phv_number": 80,
7557 "records": [
7558 {
7559 "position_offset": 0,
7560 "field_name": "POV",
7561 "field_msb": 7,
7562 "field_lsb": 0,
7563 "field_width": 0,
7564 "phv_msb": 0,
7565 "phv_lsb": 0,
7566 "is_compiler_generated": false,
7567 "is_pov": true,
7568 "pov_headers": [
7569 {
7570 "bit_index": 0,
7571 "position_offset": 0,
7572 "header_name": "arp",
7573 "hidden": false
7574 }
7575 ]
7576 },
7577 {
7578 "position_offset": 0,
7579 "field_name": "POV",
7580 "field_msb": 7,
7581 "field_lsb": 0,
7582 "field_width": 0,
7583 "phv_msb": 2,
7584 "phv_lsb": 2,
7585 "is_compiler_generated": false,
7586 "is_pov": true,
7587 "pov_headers": [
7588 {
7589 "bit_index": 2,
7590 "position_offset": 11,
7591 "header_name": "ethernet",
7592 "hidden": false
7593 }
7594 ]
7595 },
7596 {
7597 "position_offset": 0,
7598 "field_name": "POV",
7599 "field_msb": 7,
7600 "field_lsb": 0,
7601 "field_width": 0,
7602 "phv_msb": 3,
7603 "phv_lsb": 3,
7604 "is_compiler_generated": false,
7605 "is_pov": true,
7606 "pov_headers": [
7607 {
7608 "bit_index": 3,
7609 "position_offset": 26,
7610 "header_name": "icmp",
7611 "hidden": false
7612 }
7613 ]
7614 },
7615 {
7616 "position_offset": 0,
7617 "field_name": "POV",
7618 "field_msb": 7,
7619 "field_lsb": 0,
7620 "field_width": 0,
7621 "phv_msb": 5,
7622 "phv_lsb": 5,
7623 "is_compiler_generated": false,
7624 "is_pov": true,
7625 "pov_headers": [
7626 {
7627 "bit_index": 5,
7628 "position_offset": 45,
7629 "header_name": "ipv4",
7630 "hidden": false
7631 }
7632 ]
7633 },
7634 {
7635 "position_offset": 0,
7636 "field_name": "POV",
7637 "field_msb": 7,
7638 "field_lsb": 0,
7639 "field_width": 0,
7640 "phv_msb": 6,
7641 "phv_lsb": 6,
7642 "is_compiler_generated": false,
7643 "is_pov": true,
7644 "pov_headers": [
7645 {
7646 "bit_index": 6,
7647 "position_offset": 67,
7648 "header_name": "mpls",
7649 "hidden": false
7650 }
7651 ]
7652 },
7653 {
7654 "position_offset": 0,
7655 "field_name": "POV",
7656 "field_msb": 7,
7657 "field_lsb": 0,
7658 "field_width": 0,
7659 "phv_msb": 7,
7660 "phv_lsb": 7,
7661 "is_compiler_generated": false,
7662 "is_pov": true,
7663 "pov_headers": [
7664 {
7665 "bit_index": 7,
7666 "position_offset": 73,
7667 "header_name": "packet_in",
7668 "hidden": false
7669 }
7670 ]
7671 }
7672 ],
7673 "word_bit_width": 8
7674 },
7675 {
7676 "phv_number": 81,
7677 "records": [
7678 {
7679 "position_offset": 0,
7680 "field_name": "POV",
7681 "field_msb": 7,
7682 "field_lsb": 0,
7683 "field_width": 0,
7684 "phv_msb": 0,
7685 "phv_lsb": 0,
7686 "is_compiler_generated": false,
7687 "is_pov": true,
7688 "pov_headers": [
7689 {
7690 "bit_index": 0,
7691 "position_offset": 78,
7692 "header_name": "tcp",
7693 "hidden": false
7694 }
7695 ]
7696 },
7697 {
7698 "position_offset": 0,
7699 "field_name": "POV",
7700 "field_msb": 7,
7701 "field_lsb": 0,
7702 "field_width": 0,
7703 "phv_msb": 1,
7704 "phv_lsb": 1,
7705 "is_compiler_generated": false,
7706 "is_pov": true,
7707 "pov_headers": [
7708 {
7709 "bit_index": 1,
7710 "position_offset": 105,
7711 "header_name": "udp",
7712 "hidden": false
7713 }
7714 ]
7715 },
7716 {
7717 "position_offset": 0,
7718 "field_name": "POV",
7719 "field_msb": 7,
7720 "field_lsb": 0,
7721 "field_width": 0,
7722 "phv_msb": 2,
7723 "phv_lsb": 2,
7724 "is_compiler_generated": false,
7725 "is_pov": true,
7726 "pov_headers": [
7727 {
7728 "bit_index": 2,
7729 "position_offset": 114,
7730 "header_name": "vlan_tag",
7731 "hidden": false
7732 }
7733 ]
7734 }
7735 ],
7736 "word_bit_width": 8
7737 },
7738 {
7739 "phv_number": 144,
7740 "records": [
7741 {
7742 "position_offset": 9,
7743 "field_name": "eg_intr_md.egress_port",
7744 "field_msb": 15,
7745 "field_lsb": 0,
7746 "field_width": 2,
7747 "phv_msb": 8,
7748 "phv_lsb": 0,
7749 "is_compiler_generated": false,
7750 "is_pov": false
7751 }
7752 ],
7753 "word_bit_width": 16
7754 },
7755 {
7756 "phv_number": 145,
7757 "records": [
7758 {
7759 "position_offset": 76,
7760 "field_name": "packet_in.ingress_port",
7761 "field_msb": 15,
7762 "field_lsb": 0,
7763 "field_width": 2,
7764 "phv_msb": 15,
7765 "phv_lsb": 7,
7766 "is_compiler_generated": false,
7767 "is_pov": false
7768 },
7769 {
7770 "position_offset": 74,
7771 "field_name": "packet_in._pad",
7772 "field_msb": 15,
7773 "field_lsb": 0,
7774 "field_width": 2,
7775 "phv_msb": 6,
7776 "phv_lsb": 0,
7777 "is_compiler_generated": false,
7778 "is_pov": false
7779 }
7780 ],
7781 "word_bit_width": 16
7782 },
7783 {
7784 "phv_number": 146,
7785 "records": [
7786 {
7787 "position_offset": 43,
7788 "field_name": "ig_intr_md.ingress_port",
7789 "field_msb": 15,
7790 "field_lsb": 0,
7791 "field_width": 2,
7792 "phv_msb": 8,
7793 "phv_lsb": 0,
7794 "is_compiler_generated": false,
7795 "is_pov": false
7796 }
7797 ],
7798 "word_bit_width": 16
7799 },
7800 {
7801 "phv_number": 256,
7802 "records": [
7803 {
7804 "position_offset": 12,
7805 "field_name": "ethernet.dst_addr",
7806 "field_msb": 47,
7807 "field_lsb": 16,
7808 "field_width": 6,
7809 "phv_msb": 31,
7810 "phv_lsb": 0,
7811 "is_compiler_generated": false,
7812 "is_pov": false
7813 }
7814 ],
7815 "word_bit_width": 32
7816 },
7817 {
7818 "phv_number": 257,
7819 "records": [
7820 {
7821 "position_offset": 20,
7822 "field_name": "ethernet.src_addr",
7823 "field_msb": 47,
7824 "field_lsb": 16,
7825 "field_width": 6,
7826 "phv_msb": 31,
7827 "phv_lsb": 0,
7828 "is_compiler_generated": false,
7829 "is_pov": false
7830 }
7831 ],
7832 "word_bit_width": 32
7833 },
7834 {
7835 "phv_number": 258,
7836 "records": [
7837 {
7838 "position_offset": 59,
7839 "field_name": "ipv4.src_addr",
7840 "field_msb": 31,
7841 "field_lsb": 0,
7842 "field_width": 4,
7843 "phv_msb": 31,
7844 "phv_lsb": 0,
7845 "is_compiler_generated": false,
7846 "is_pov": false
7847 }
7848 ],
7849 "word_bit_width": 32
7850 },
7851 {
7852 "phv_number": 259,
7853 "records": [
7854 {
7855 "position_offset": 47,
7856 "field_name": "ipv4.dst_addr",
7857 "field_msb": 31,
7858 "field_lsb": 0,
7859 "field_width": 4,
7860 "phv_msb": 31,
7861 "phv_lsb": 0,
7862 "is_compiler_generated": false,
7863 "is_pov": false
7864 }
7865 ],
7866 "word_bit_width": 32
7867 },
7868 {
7869 "phv_number": 264,
7870 "records": [
7871 {
7872 "position_offset": 95,
7873 "field_name": "tcp.seq_no",
7874 "field_msb": 31,
7875 "field_lsb": 0,
7876 "field_width": 4,
7877 "phv_msb": 31,
7878 "phv_lsb": 0,
7879 "is_compiler_generated": false,
7880 "is_pov": false
7881 },
7882 {
7883 "position_offset": 35,
7884 "field_name": "icmp.timestamp",
7885 "field_msb": 31,
7886 "field_lsb": 0,
7887 "field_width": 8,
7888 "phv_msb": 31,
7889 "phv_lsb": 0,
7890 "is_compiler_generated": false,
7891 "is_pov": false
7892 }
7893 ],
7894 "word_bit_width": 32
7895 },
7896 {
7897 "phv_number": 265,
7898 "records": [
7899 {
7900 "position_offset": 79,
7901 "field_name": "tcp.ack_no",
7902 "field_msb": 31,
7903 "field_lsb": 0,
7904 "field_width": 4,
7905 "phv_msb": 31,
7906 "phv_lsb": 0,
7907 "is_compiler_generated": false,
7908 "is_pov": false
7909 },
7910 {
7911 "position_offset": 35,
7912 "field_name": "icmp.timestamp",
7913 "field_msb": 63,
7914 "field_lsb": 32,
7915 "field_width": 8,
7916 "phv_msb": 31,
7917 "phv_lsb": 0,
7918 "is_compiler_generated": false,
7919 "is_pov": false
7920 }
7921 ],
7922 "word_bit_width": 32
7923 },
7924 {
7925 "phv_number": 288,
7926 "records": [
7927 {
7928 "position_offset": 1,
7929 "field_name": "arp.hw_addr_len",
7930 "field_msb": 7,
7931 "field_lsb": 0,
7932 "field_width": 1,
7933 "phv_msb": 7,
7934 "phv_lsb": 0,
7935 "is_compiler_generated": false,
7936 "is_pov": false
7937 },
7938 {
7939 "position_offset": 66,
7940 "field_name": "ipv4.version",
7941 "field_msb": 7,
7942 "field_lsb": 0,
7943 "field_width": 1,
7944 "phv_msb": 7,
7945 "phv_lsb": 4,
7946 "is_compiler_generated": false,
7947 "is_pov": false
7948 },
7949 {
7950 "position_offset": 57,
7951 "field_name": "ipv4.ihl",
7952 "field_msb": 7,
7953 "field_lsb": 0,
7954 "field_width": 1,
7955 "phv_msb": 3,
7956 "phv_lsb": 0,
7957 "is_compiler_generated": false,
7958 "is_pov": false
7959 }
7960 ],
7961 "word_bit_width": 8
7962 },
7963 {
7964 "phv_number": 289,
7965 "records": [
7966 {
7967 "position_offset": 6,
7968 "field_name": "arp.proto_addr_len",
7969 "field_msb": 7,
7970 "field_lsb": 0,
7971 "field_width": 1,
7972 "phv_msb": 7,
7973 "phv_lsb": 0,
7974 "is_compiler_generated": false,
7975 "is_pov": false
7976 },
7977 {
7978 "position_offset": 30,
7979 "field_name": "icmp.icmp_type",
7980 "field_msb": 7,
7981 "field_lsb": 0,
7982 "field_width": 1,
7983 "phv_msb": 7,
7984 "phv_lsb": 0,
7985 "is_compiler_generated": false,
7986 "is_pov": false
7987 }
7988 ],
7989 "word_bit_width": 8
7990 },
7991 {
7992 "phv_number": 290,
7993 "records": [
7994 {
7995 "position_offset": 46,
7996 "field_name": "ipv4.diffserv",
7997 "field_msb": 7,
7998 "field_lsb": 0,
7999 "field_width": 1,
8000 "phv_msb": 7,
8001 "phv_lsb": 0,
8002 "is_compiler_generated": false,
8003 "is_pov": false
8004 }
8005 ],
8006 "word_bit_width": 8
8007 },
8008 {
8009 "phv_number": 291,
8010 "records": [
8011 {
8012 "position_offset": 29,
8013 "field_name": "icmp.icmp_code",
8014 "field_msb": 7,
8015 "field_lsb": 0,
8016 "field_width": 1,
8017 "phv_msb": 7,
8018 "phv_lsb": 0,
8019 "is_compiler_generated": false,
8020 "is_pov": false
8021 }
8022 ],
8023 "word_bit_width": 8
8024 },
8025 {
8026 "phv_number": 296,
8027 "records": [
8028 {
8029 "position_offset": 69,
8030 "field_name": "mpls.label",
8031 "field_msb": 3,
8032 "field_lsb": 0,
8033 "field_width": 2,
8034 "phv_msb": 7,
8035 "phv_lsb": 4,
8036 "is_compiler_generated": false,
8037 "is_pov": false
8038 },
8039 {
8040 "position_offset": 71,
8041 "field_name": "mpls.tc",
8042 "field_msb": 7,
8043 "field_lsb": 0,
8044 "field_width": 1,
8045 "phv_msb": 3,
8046 "phv_lsb": 1,
8047 "is_compiler_generated": false,
8048 "is_pov": false
8049 },
8050 {
8051 "position_offset": 68,
8052 "field_name": "mpls.bos",
8053 "field_msb": 7,
8054 "field_lsb": 0,
8055 "field_width": 1,
8056 "phv_msb": 0,
8057 "phv_lsb": 0,
8058 "is_compiler_generated": false,
8059 "is_pov": false
8060 }
8061 ],
8062 "word_bit_width": 8
8063 },
8064 {
8065 "phv_number": 297,
8066 "records": [
8067 {
8068 "position_offset": 65,
8069 "field_name": "ipv4.ttl",
8070 "field_msb": 7,
8071 "field_lsb": 0,
8072 "field_width": 1,
8073 "phv_msb": 7,
8074 "phv_lsb": 0,
8075 "is_compiler_generated": false,
8076 "is_pov": false
8077 }
8078 ],
8079 "word_bit_width": 8
8080 },
8081 {
8082 "phv_number": 298,
8083 "records": [
8084 {
8085 "position_offset": 58,
8086 "field_name": "ipv4.protocol",
8087 "field_msb": 7,
8088 "field_lsb": 0,
8089 "field_width": 1,
8090 "phv_msb": 7,
8091 "phv_lsb": 0,
8092 "is_compiler_generated": false,
8093 "is_pov": false
8094 }
8095 ],
8096 "word_bit_width": 8
8097 },
8098 {
8099 "phv_number": 299,
8100 "records": [
8101 {
8102 "position_offset": 72,
8103 "field_name": "mpls.ttl",
8104 "field_msb": 7,
8105 "field_lsb": 0,
8106 "field_width": 1,
8107 "phv_msb": 7,
8108 "phv_lsb": 0,
8109 "is_compiler_generated": false,
8110 "is_pov": false
8111 }
8112 ],
8113 "word_bit_width": 8
8114 },
8115 {
8116 "phv_number": 320,
8117 "records": [
8118 {
8119 "position_offset": 119,
8120 "field_name": "vlan_tag.pri",
8121 "field_msb": 15,
8122 "field_lsb": 0,
8123 "field_width": 2,
8124 "phv_msb": 15,
8125 "phv_lsb": 13,
8126 "is_compiler_generated": false,
8127 "is_pov": false
8128 },
8129 {
8130 "position_offset": 115,
8131 "field_name": "vlan_tag.cfi",
8132 "field_msb": 15,
8133 "field_lsb": 0,
8134 "field_width": 2,
8135 "phv_msb": 12,
8136 "phv_lsb": 12,
8137 "is_compiler_generated": false,
8138 "is_pov": false
8139 },
8140 {
8141 "position_offset": 121,
8142 "field_name": "vlan_tag.vlan_id",
8143 "field_msb": 15,
8144 "field_lsb": 0,
8145 "field_width": 2,
8146 "phv_msb": 11,
8147 "phv_lsb": 0,
8148 "is_compiler_generated": false,
8149 "is_pov": false
8150 }
8151 ],
8152 "word_bit_width": 16
8153 },
8154 {
8155 "phv_number": 321,
8156 "records": [
8157 {
8158 "position_offset": 2,
8159 "field_name": "arp.hw_type",
8160 "field_msb": 15,
8161 "field_lsb": 0,
8162 "field_width": 2,
8163 "phv_msb": 15,
8164 "phv_lsb": 0,
8165 "is_compiler_generated": false,
8166 "is_pov": false
8167 },
8168 {
8169 "position_offset": 99,
8170 "field_name": "tcp.src_port",
8171 "field_msb": 15,
8172 "field_lsb": 0,
8173 "field_width": 2,
8174 "phv_msb": 15,
8175 "phv_lsb": 0,
8176 "is_compiler_generated": false,
8177 "is_pov": false
8178 },
8179 {
8180 "position_offset": 112,
8181 "field_name": "udp.src_port",
8182 "field_msb": 15,
8183 "field_lsb": 0,
8184 "field_width": 2,
8185 "phv_msb": 15,
8186 "phv_lsb": 0,
8187 "is_compiler_generated": false,
8188 "is_pov": false
8189 },
8190 {
8191 "position_offset": 27,
8192 "field_name": "icmp.checksum",
8193 "field_msb": 15,
8194 "field_lsb": 0,
8195 "field_width": 2,
8196 "phv_msb": 15,
8197 "phv_lsb": 0,
8198 "is_compiler_generated": false,
8199 "is_pov": false
8200 }
8201 ],
8202 "word_bit_width": 16
8203 },
8204 {
8205 "phv_number": 322,
8206 "records": [
8207 {
8208 "position_offset": 7,
8209 "field_name": "arp.proto_type",
8210 "field_msb": 15,
8211 "field_lsb": 0,
8212 "field_width": 2,
8213 "phv_msb": 15,
8214 "phv_lsb": 0,
8215 "is_compiler_generated": false,
8216 "is_pov": false
8217 },
8218 {
8219 "position_offset": 69,
8220 "field_name": "mpls.label",
8221 "field_msb": 19,
8222 "field_lsb": 4,
8223 "field_width": 2,
8224 "phv_msb": 15,
8225 "phv_lsb": 0,
8226 "is_compiler_generated": false,
8227 "is_pov": false
8228 }
8229 ],
8230 "word_bit_width": 16
8231 },
8232 {
8233 "phv_number": 323,
8234 "records": [
8235 {
8236 "position_offset": 4,
8237 "field_name": "arp.opcode",
8238 "field_msb": 15,
8239 "field_lsb": 0,
8240 "field_width": 2,
8241 "phv_msb": 15,
8242 "phv_lsb": 0,
8243 "is_compiler_generated": false,
8244 "is_pov": false
8245 },
8246 {
8247 "position_offset": 87,
8248 "field_name": "tcp.data_offset",
8249 "field_msb": 15,
8250 "field_lsb": 0,
8251 "field_width": 2,
8252 "phv_msb": 15,
8253 "phv_lsb": 12,
8254 "is_compiler_generated": false,
8255 "is_pov": false
8256 },
8257 {
8258 "position_offset": 93,
8259 "field_name": "tcp.res",
8260 "field_msb": 15,
8261 "field_lsb": 0,
8262 "field_width": 2,
8263 "phv_msb": 11,
8264 "phv_lsb": 9,
8265 "is_compiler_generated": false,
8266 "is_pov": false
8267 },
8268 {
8269 "position_offset": 91,
8270 "field_name": "tcp.ecn",
8271 "field_msb": 15,
8272 "field_lsb": 0,
8273 "field_width": 2,
8274 "phv_msb": 8,
8275 "phv_lsb": 6,
8276 "is_compiler_generated": false,
8277 "is_pov": false
8278 },
8279 {
8280 "position_offset": 85,
8281 "field_name": "tcp.ctrl",
8282 "field_msb": 15,
8283 "field_lsb": 0,
8284 "field_width": 2,
8285 "phv_msb": 5,
8286 "phv_lsb": 0,
8287 "is_compiler_generated": false,
8288 "is_pov": false
8289 },
8290 {
8291 "position_offset": 108,
8292 "field_name": "udp.dst_port",
8293 "field_msb": 15,
8294 "field_lsb": 0,
8295 "field_width": 2,
8296 "phv_msb": 15,
8297 "phv_lsb": 0,
8298 "is_compiler_generated": false,
8299 "is_pov": false
8300 },
8301 {
8302 "position_offset": 31,
8303 "field_name": "icmp.identifier",
8304 "field_msb": 15,
8305 "field_lsb": 0,
8306 "field_width": 2,
8307 "phv_msb": 15,
8308 "phv_lsb": 0,
8309 "is_compiler_generated": false,
8310 "is_pov": false
8311 }
8312 ],
8313 "word_bit_width": 16
8314 },
8315 {
8316 "phv_number": 324,
8317 "records": [
8318 {
8319 "position_offset": 51,
8320 "field_name": "ipv4.flags",
8321 "field_msb": 15,
8322 "field_lsb": 0,
8323 "field_width": 2,
8324 "phv_msb": 15,
8325 "phv_lsb": 13,
8326 "is_compiler_generated": false,
8327 "is_pov": false
8328 },
8329 {
8330 "position_offset": 53,
8331 "field_name": "ipv4.frag_offset",
8332 "field_msb": 15,
8333 "field_lsb": 0,
8334 "field_width": 2,
8335 "phv_msb": 12,
8336 "phv_lsb": 0,
8337 "is_compiler_generated": false,
8338 "is_pov": false
8339 }
8340 ],
8341 "word_bit_width": 16
8342 },
8343 {
8344 "phv_number": 325,
8345 "records": [
8346 {
8347 "position_offset": 12,
8348 "field_name": "ethernet.dst_addr",
8349 "field_msb": 15,
8350 "field_lsb": 0,
8351 "field_width": 6,
8352 "phv_msb": 15,
8353 "phv_lsb": 0,
8354 "is_compiler_generated": false,
8355 "is_pov": false
8356 }
8357 ],
8358 "word_bit_width": 16
8359 },
8360 {
8361 "phv_number": 332,
8362 "records": [
8363 {
8364 "position_offset": 20,
8365 "field_name": "ethernet.src_addr",
8366 "field_msb": 15,
8367 "field_lsb": 0,
8368 "field_width": 6,
8369 "phv_msb": 15,
8370 "phv_lsb": 0,
8371 "is_compiler_generated": false,
8372 "is_pov": false
8373 }
8374 ],
8375 "word_bit_width": 16
8376 },
8377 {
8378 "phv_number": 333,
8379 "records": [
8380 {
8381 "position_offset": 18,
8382 "field_name": "ethernet.ether_type",
8383 "field_msb": 15,
8384 "field_lsb": 0,
8385 "field_width": 2,
8386 "phv_msb": 15,
8387 "phv_lsb": 0,
8388 "is_compiler_generated": false,
8389 "is_pov": false
8390 }
8391 ],
8392 "word_bit_width": 16
8393 },
8394 {
8395 "phv_number": 334,
8396 "records": [
8397 {
8398 "position_offset": 117,
8399 "field_name": "vlan_tag.ether_type",
8400 "field_msb": 15,
8401 "field_lsb": 0,
8402 "field_width": 2,
8403 "phv_msb": 15,
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": 335,
8413 "records": [
8414 {
8415 "position_offset": 63,
8416 "field_name": "ipv4.total_len",
8417 "field_msb": 15,
8418 "field_lsb": 0,
8419 "field_width": 2,
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": 336,
8430 "records": [
8431 {
8432 "position_offset": 55,
8433 "field_name": "ipv4.identification",
8434 "field_msb": 15,
8435 "field_lsb": 0,
8436 "field_width": 2,
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": 337,
8447 "records": [
8448 {
8449 "position_offset": 89,
8450 "field_name": "tcp.dst_port",
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 "position_offset": 110,
8461 "field_name": "udp.len",
8462 "field_msb": 15,
8463 "field_lsb": 0,
8464 "field_width": 2,
8465 "phv_msb": 15,
8466 "phv_lsb": 0,
8467 "is_compiler_generated": false,
8468 "is_pov": false
8469 },
8470 {
8471 "position_offset": 33,
8472 "field_name": "icmp.sequence_number",
8473 "field_msb": 15,
8474 "field_lsb": 0,
8475 "field_width": 2,
8476 "phv_msb": 15,
8477 "phv_lsb": 0,
8478 "is_compiler_generated": false,
8479 "is_pov": false
8480 }
8481 ],
8482 "word_bit_width": 16
8483 },
8484 {
8485 "phv_number": 344,
8486 "records": [
8487 {
8488 "position_offset": 103,
8489 "field_name": "tcp.window",
8490 "field_msb": 15,
8491 "field_lsb": 0,
8492 "field_width": 2,
8493 "phv_msb": 15,
8494 "phv_lsb": 0,
8495 "is_compiler_generated": false,
8496 "is_pov": false
8497 },
8498 {
8499 "position_offset": 106,
8500 "field_name": "udp.checksum",
8501 "field_msb": 15,
8502 "field_lsb": 0,
8503 "field_width": 2,
8504 "phv_msb": 15,
8505 "phv_lsb": 0,
8506 "is_compiler_generated": false,
8507 "is_pov": false
8508 }
8509 ],
8510 "word_bit_width": 16
8511 },
8512 {
8513 "phv_number": 345,
8514 "records": [
8515 {
8516 "position_offset": 83,
8517 "field_name": "tcp.checksum",
8518 "field_msb": 15,
8519 "field_lsb": 0,
8520 "field_width": 2,
8521 "phv_msb": 15,
8522 "phv_lsb": 0,
8523 "is_compiler_generated": false,
8524 "is_pov": false
8525 }
8526 ],
8527 "word_bit_width": 16
8528 },
8529 {
8530 "phv_number": 346,
8531 "records": [
8532 {
8533 "position_offset": 101,
8534 "field_name": "tcp.urgent_ptr",
8535 "field_msb": 15,
8536 "field_lsb": 0,
8537 "field_width": 2,
8538 "phv_msb": 15,
8539 "phv_lsb": 0,
8540 "is_compiler_generated": false,
8541 "is_pov": false
8542 }
8543 ],
8544 "word_bit_width": 16
8545 }
8546 ],
8547 "stage_number": 3
8548 },
8549 {
8550 "ingress": [
8551 {
8552 "phv_number": 0,
8553 "records": [
8554 {
8555 "position_offset": 12,
8556 "field_name": "ethernet.dst_addr",
8557 "field_msb": 47,
8558 "field_lsb": 16,
8559 "field_width": 6,
8560 "phv_msb": 31,
8561 "phv_lsb": 0,
8562 "is_compiler_generated": false,
8563 "is_pov": false
8564 }
8565 ],
8566 "word_bit_width": 32
8567 },
8568 {
8569 "phv_number": 1,
8570 "records": [
8571 {
8572 "position_offset": 20,
8573 "field_name": "ethernet.src_addr",
8574 "field_msb": 47,
8575 "field_lsb": 16,
8576 "field_width": 6,
8577 "phv_msb": 31,
8578 "phv_lsb": 0,
8579 "is_compiler_generated": false,
8580 "is_pov": false
8581 }
8582 ],
8583 "word_bit_width": 32
8584 },
8585 {
8586 "phv_number": 2,
8587 "records": [
8588 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08008589 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008590 "field_name": "ipv4.src_addr",
8591 "field_msb": 31,
8592 "field_lsb": 0,
8593 "field_width": 4,
8594 "phv_msb": 31,
8595 "phv_lsb": 0,
8596 "is_compiler_generated": false,
8597 "is_pov": false
8598 }
8599 ],
8600 "word_bit_width": 32
8601 },
8602 {
8603 "phv_number": 3,
8604 "records": [
8605 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08008606 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008607 "field_name": "ipv4.dst_addr",
8608 "field_msb": 31,
8609 "field_lsb": 0,
8610 "field_width": 4,
8611 "phv_msb": 31,
8612 "phv_lsb": 0,
8613 "is_compiler_generated": false,
8614 "is_pov": false
8615 }
8616 ],
8617 "word_bit_width": 32
8618 },
8619 {
8620 "phv_number": 4,
8621 "records": [
8622 {
8623 "position_offset": 33,
8624 "field_name": "fabric_metadata.next_id",
8625 "field_msb": 31,
8626 "field_lsb": 0,
8627 "field_width": 4,
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": 64,
8638 "records": [
8639 {
8640 "position_offset": 45,
8641 "field_name": "icmp.icmp_type",
8642 "field_msb": 7,
8643 "field_lsb": 0,
8644 "field_width": 1,
8645 "phv_msb": 7,
8646 "phv_lsb": 0,
8647 "is_compiler_generated": false,
8648 "is_pov": false
8649 }
8650 ],
8651 "word_bit_width": 8
8652 },
8653 {
8654 "phv_number": 65,
8655 "records": [
8656 {
8657 "position_offset": 44,
8658 "field_name": "icmp.icmp_code",
8659 "field_msb": 7,
8660 "field_lsb": 0,
8661 "field_width": 1,
8662 "phv_msb": 7,
8663 "phv_lsb": 0,
8664 "is_compiler_generated": false,
8665 "is_pov": false
8666 }
8667 ],
8668 "word_bit_width": 8
8669 },
8670 {
8671 "phv_number": 66,
8672 "records": [
8673 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08008674 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008675 "field_name": "mpls.label",
8676 "field_msb": 3,
8677 "field_lsb": 0,
8678 "field_width": 2,
8679 "phv_msb": 7,
8680 "phv_lsb": 4,
8681 "is_compiler_generated": false,
8682 "is_pov": false
8683 },
8684 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08008685 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008686 "field_name": "mpls.tc",
8687 "field_msb": 7,
8688 "field_lsb": 0,
8689 "field_width": 1,
8690 "phv_msb": 3,
8691 "phv_lsb": 1,
8692 "is_compiler_generated": false,
8693 "is_pov": false
8694 },
8695 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08008696 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008697 "field_name": "mpls.bos",
8698 "field_msb": 7,
8699 "field_lsb": 0,
8700 "field_width": 1,
8701 "phv_msb": 0,
8702 "phv_lsb": 0,
8703 "is_compiler_generated": false,
8704 "is_pov": false
8705 }
8706 ],
8707 "word_bit_width": 8
8708 },
8709 {
8710 "phv_number": 67,
8711 "records": [
8712 {
8713 "position_offset": 1,
8714 "field_name": "$bridged_metadata_indicator",
8715 "field_msb": 7,
8716 "field_lsb": 0,
8717 "field_width": 1,
8718 "phv_msb": 7,
8719 "phv_lsb": 0,
8720 "is_compiler_generated": false,
8721 "is_pov": false
8722 }
8723 ],
8724 "word_bit_width": 8
8725 },
8726 {
8727 "phv_number": 68,
8728 "records": [
8729 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08008730 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008731 "field_name": "ipv4.ttl",
8732 "field_msb": 7,
8733 "field_lsb": 0,
8734 "field_width": 1,
8735 "phv_msb": 7,
8736 "phv_lsb": 0,
8737 "is_compiler_generated": false,
8738 "is_pov": false
8739 }
8740 ],
8741 "word_bit_width": 8
8742 },
8743 {
8744 "phv_number": 69,
8745 "records": [
8746 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08008747 "position_offset": 91,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008748 "field_name": "mpls.ttl",
8749 "field_msb": 7,
8750 "field_lsb": 0,
8751 "field_width": 1,
8752 "phv_msb": 7,
8753 "phv_lsb": 0,
8754 "is_compiler_generated": false,
8755 "is_pov": false
8756 }
8757 ],
8758 "word_bit_width": 8
8759 },
8760 {
8761 "phv_number": 70,
8762 "records": [
8763 {
8764 "position_offset": 28,
8765 "field_name": "fabric_metadata.ip_proto",
8766 "field_msb": 7,
8767 "field_lsb": 0,
8768 "field_width": 1,
8769 "phv_msb": 7,
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": 71,
8779 "records": [
8780 {
8781 "position_offset": 0,
8782 "field_name": "$always_deparse",
8783 "field_msb": 7,
8784 "field_lsb": 0,
8785 "field_width": 1,
8786 "phv_msb": 0,
8787 "phv_lsb": 0,
8788 "is_compiler_generated": false,
8789 "is_pov": false
8790 },
8791 {
8792 "position_offset": 40,
8793 "field_name": "hasExited_0",
8794 "field_msb": 7,
8795 "field_lsb": 0,
8796 "field_width": 1,
8797 "phv_msb": 4,
8798 "phv_lsb": 4,
8799 "is_compiler_generated": false,
8800 "is_pov": false
8801 },
8802 {
8803 "position_offset": 0,
8804 "field_name": "POV",
8805 "field_msb": 7,
8806 "field_lsb": 0,
8807 "field_width": 0,
8808 "phv_msb": 1,
8809 "phv_lsb": 1,
8810 "is_compiler_generated": false,
8811 "is_pov": true,
8812 "pov_headers": [
8813 {
8814 "bit_index": 1,
8815 "position_offset": 2,
8816 "header_name": "arp",
8817 "hidden": false
8818 }
8819 ]
8820 },
8821 {
8822 "position_offset": 0,
8823 "field_name": "POV",
8824 "field_msb": 7,
8825 "field_lsb": 0,
8826 "field_width": 0,
8827 "phv_msb": 2,
8828 "phv_lsb": 2,
8829 "is_compiler_generated": false,
8830 "is_pov": true,
8831 "pov_headers": [
8832 {
8833 "bit_index": 2,
8834 "position_offset": 11,
8835 "header_name": "ethernet",
8836 "hidden": false
8837 }
8838 ]
8839 },
8840 {
8841 "position_offset": 0,
8842 "field_name": "POV",
8843 "field_msb": 7,
8844 "field_lsb": 0,
8845 "field_width": 0,
8846 "phv_msb": 3,
8847 "phv_lsb": 3,
8848 "is_compiler_generated": false,
8849 "is_pov": true,
8850 "pov_headers": [
8851 {
8852 "bit_index": 3,
8853 "position_offset": 41,
8854 "header_name": "icmp",
8855 "hidden": false
8856 }
8857 ]
8858 },
8859 {
8860 "position_offset": 0,
8861 "field_name": "POV",
8862 "field_msb": 7,
8863 "field_lsb": 0,
8864 "field_width": 0,
8865 "phv_msb": 5,
8866 "phv_lsb": 5,
8867 "is_compiler_generated": false,
8868 "is_pov": true,
8869 "pov_headers": [
8870 {
8871 "bit_index": 5,
Carmelo Casconeecb35762018-02-03 17:30:05 -08008872 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008873 "header_name": "ipv4",
8874 "hidden": false
8875 }
8876 ]
8877 },
8878 {
8879 "position_offset": 0,
8880 "field_name": "POV",
8881 "field_msb": 7,
8882 "field_lsb": 0,
8883 "field_width": 0,
8884 "phv_msb": 6,
8885 "phv_lsb": 6,
8886 "is_compiler_generated": false,
8887 "is_pov": true,
8888 "pov_headers": [
8889 {
8890 "bit_index": 6,
Carmelo Casconeecb35762018-02-03 17:30:05 -08008891 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008892 "header_name": "mpls",
8893 "hidden": false
8894 }
8895 ]
8896 },
8897 {
8898 "position_offset": 0,
8899 "field_name": "POV",
8900 "field_msb": 7,
8901 "field_lsb": 0,
8902 "field_width": 0,
8903 "phv_msb": 7,
8904 "phv_lsb": 7,
8905 "is_compiler_generated": false,
8906 "is_pov": true,
8907 "pov_headers": [
8908 {
8909 "bit_index": 7,
Carmelo Casconeecb35762018-02-03 17:30:05 -08008910 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008911 "header_name": "packet_out",
8912 "hidden": false
8913 }
8914 ]
8915 }
8916 ],
8917 "word_bit_width": 8
8918 },
8919 {
8920 "phv_number": 72,
8921 "records": [
8922 {
8923 "position_offset": 39,
8924 "field_name": "fabric_metadata.pop_vlan_at_egress",
8925 "field_msb": 7,
8926 "field_lsb": 0,
8927 "field_width": 1,
8928 "phv_msb": 3,
8929 "phv_lsb": 3,
8930 "is_compiler_generated": false,
8931 "is_pov": false
8932 },
8933 {
8934 "position_offset": 0,
8935 "field_name": "POV",
8936 "field_msb": 7,
8937 "field_lsb": 0,
8938 "field_width": 0,
8939 "phv_msb": 0,
8940 "phv_lsb": 0,
8941 "is_compiler_generated": false,
8942 "is_pov": true,
8943 "pov_headers": [
8944 {
8945 "bit_index": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -08008946 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008947 "header_name": "tcp",
8948 "hidden": false
8949 }
8950 ]
8951 },
8952 {
8953 "position_offset": 0,
8954 "field_name": "POV",
8955 "field_msb": 7,
8956 "field_lsb": 0,
8957 "field_width": 0,
8958 "phv_msb": 1,
8959 "phv_lsb": 1,
8960 "is_compiler_generated": false,
8961 "is_pov": true,
8962 "pov_headers": [
8963 {
8964 "bit_index": 1,
Carmelo Casconeecb35762018-02-03 17:30:05 -08008965 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008966 "header_name": "udp",
8967 "hidden": false
8968 }
8969 ]
8970 },
8971 {
8972 "position_offset": 0,
8973 "field_name": "POV",
8974 "field_msb": 7,
8975 "field_lsb": 0,
8976 "field_width": 0,
8977 "phv_msb": 2,
8978 "phv_lsb": 2,
8979 "is_compiler_generated": false,
8980 "is_pov": true,
8981 "pov_headers": [
8982 {
8983 "bit_index": 2,
Carmelo Casconeecb35762018-02-03 17:30:05 -08008984 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008985 "header_name": "vlan_tag",
8986 "hidden": false
8987 }
8988 ]
8989 }
8990 ],
8991 "word_bit_width": 8
8992 },
8993 {
8994 "phv_number": 128,
8995 "records": [
8996 {
8997 "position_offset": 62,
Carmelo Cascone04098db2018-01-30 18:10:32 -08008998 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
8999 "field_msb": 15,
9000 "field_lsb": 0,
9001 "field_width": 2,
9002 "phv_msb": 8,
9003 "phv_lsb": 0,
9004 "is_compiler_generated": false,
9005 "is_pov": false
9006 }
9007 ],
9008 "word_bit_width": 16
9009 },
9010 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009011 "phv_number": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009012 "records": [
9013 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009014 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009015 "field_name": "packet_out.egress_port",
9016 "field_msb": 15,
9017 "field_lsb": 0,
9018 "field_width": 2,
9019 "phv_msb": 15,
9020 "phv_lsb": 7,
9021 "is_compiler_generated": false,
9022 "is_pov": false
9023 },
9024 {
9025 "position_offset": 26,
9026 "field_name": "fabric_metadata.fwd_type",
9027 "field_msb": 15,
9028 "field_lsb": 0,
9029 "field_width": 2,
9030 "phv_msb": 5,
9031 "phv_lsb": 3,
9032 "is_compiler_generated": false,
9033 "is_pov": false
9034 },
9035 {
9036 "position_offset": 60,
9037 "field_name": "ig_intr_md_for_tm.drop_ctl",
9038 "field_msb": 15,
9039 "field_lsb": 0,
9040 "field_width": 2,
9041 "phv_msb": 2,
9042 "phv_lsb": 0,
9043 "is_compiler_generated": false,
9044 "is_pov": false
9045 }
9046 ],
9047 "word_bit_width": 16
9048 },
9049 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009050 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009051 "records": [
9052 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009053 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009054 "field_name": "vlan_tag.pri",
9055 "field_msb": 15,
9056 "field_lsb": 0,
9057 "field_width": 2,
9058 "phv_msb": 15,
9059 "phv_lsb": 13,
9060 "is_compiler_generated": false,
9061 "is_pov": false
9062 },
9063 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009064 "position_offset": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009065 "field_name": "vlan_tag.cfi",
9066 "field_msb": 15,
9067 "field_lsb": 0,
9068 "field_width": 2,
9069 "phv_msb": 12,
9070 "phv_lsb": 12,
9071 "is_compiler_generated": false,
9072 "is_pov": false
9073 },
9074 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009075 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009076 "field_name": "vlan_tag.vlan_id",
9077 "field_msb": 15,
9078 "field_lsb": 0,
9079 "field_width": 2,
9080 "phv_msb": 11,
9081 "phv_lsb": 0,
9082 "is_compiler_generated": false,
9083 "is_pov": false
9084 }
9085 ],
9086 "word_bit_width": 16
9087 },
9088 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009089 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009090 "records": [
9091 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009092 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009093 "field_name": "mpls.label",
9094 "field_msb": 19,
9095 "field_lsb": 4,
9096 "field_width": 2,
9097 "phv_msb": 15,
9098 "phv_lsb": 0,
9099 "is_compiler_generated": false,
9100 "is_pov": false
9101 }
9102 ],
9103 "word_bit_width": 16
9104 },
9105 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009106 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009107 "records": [
9108 {
9109 "position_offset": 58,
9110 "field_name": "ig_intr_md.ingress_port",
9111 "field_msb": 15,
9112 "field_lsb": 0,
9113 "field_width": 2,
9114 "phv_msb": 8,
9115 "phv_lsb": 0,
9116 "is_compiler_generated": false,
9117 "is_pov": false
9118 }
9119 ],
9120 "word_bit_width": 16
9121 },
9122 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009123 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009124 "records": [
9125 {
9126 "position_offset": 31,
9127 "field_name": "fabric_metadata.l4_src_port",
9128 "field_msb": 15,
9129 "field_lsb": 0,
9130 "field_width": 2,
9131 "phv_msb": 15,
9132 "phv_lsb": 0,
9133 "is_compiler_generated": false,
9134 "is_pov": false
9135 }
9136 ],
9137 "word_bit_width": 16
9138 },
9139 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009140 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009141 "records": [
9142 {
9143 "position_offset": 18,
9144 "field_name": "ethernet.ether_type",
9145 "field_msb": 15,
9146 "field_lsb": 0,
9147 "field_width": 2,
9148 "phv_msb": 15,
9149 "phv_lsb": 0,
9150 "is_compiler_generated": false,
9151 "is_pov": false
9152 }
9153 ],
9154 "word_bit_width": 16
9155 },
9156 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009157 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009158 "records": [
9159 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009160 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009161 "field_name": "vlan_tag.ether_type",
9162 "field_msb": 15,
9163 "field_lsb": 0,
9164 "field_width": 2,
9165 "phv_msb": 15,
9166 "phv_lsb": 0,
9167 "is_compiler_generated": false,
9168 "is_pov": false
9169 }
9170 ],
9171 "word_bit_width": 16
9172 },
9173 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009174 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009175 "records": [
9176 {
9177 "position_offset": 12,
9178 "field_name": "ethernet.dst_addr",
9179 "field_msb": 15,
9180 "field_lsb": 0,
9181 "field_width": 6,
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 Casconeecb35762018-02-03 17:30:05 -08009191 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009192 "records": [
9193 {
9194 "position_offset": 20,
9195 "field_name": "ethernet.src_addr",
9196 "field_msb": 15,
9197 "field_lsb": 0,
9198 "field_width": 6,
9199 "phv_msb": 15,
9200 "phv_lsb": 0,
9201 "is_compiler_generated": false,
9202 "is_pov": false
9203 }
9204 ],
9205 "word_bit_width": 16
9206 },
9207 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009208 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009209 "records": [
9210 {
9211 "position_offset": 29,
9212 "field_name": "fabric_metadata.l4_dst_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 Casconeecb35762018-02-03 17:30:05 -08009225 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009226 "records": [
9227 {
9228 "position_offset": 37,
9229 "field_name": "fabric_metadata.original_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 {
9242 "phv_number": 260,
9243 "records": [
9244 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009245 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009246 "field_name": "tcp.seq_no",
9247 "field_msb": 31,
9248 "field_lsb": 0,
9249 "field_width": 4,
9250 "phv_msb": 31,
9251 "phv_lsb": 0,
9252 "is_compiler_generated": false,
9253 "is_pov": false
9254 },
9255 {
9256 "position_offset": 50,
9257 "field_name": "icmp.timestamp",
9258 "field_msb": 31,
9259 "field_lsb": 0,
9260 "field_width": 8,
9261 "phv_msb": 31,
9262 "phv_lsb": 0,
9263 "is_compiler_generated": false,
9264 "is_pov": false
9265 }
9266 ],
9267 "word_bit_width": 32
9268 },
9269 {
9270 "phv_number": 261,
9271 "records": [
9272 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009273 "position_offset": 96,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009274 "field_name": "tcp.ack_no",
9275 "field_msb": 31,
9276 "field_lsb": 0,
9277 "field_width": 4,
9278 "phv_msb": 31,
9279 "phv_lsb": 0,
9280 "is_compiler_generated": false,
9281 "is_pov": false
9282 },
9283 {
9284 "position_offset": 50,
9285 "field_name": "icmp.timestamp",
9286 "field_msb": 63,
9287 "field_lsb": 32,
9288 "field_width": 8,
9289 "phv_msb": 31,
9290 "phv_lsb": 0,
9291 "is_compiler_generated": false,
9292 "is_pov": false
9293 }
9294 ],
9295 "word_bit_width": 32
9296 },
9297 {
9298 "phv_number": 292,
9299 "records": [
9300 {
9301 "position_offset": 3,
9302 "field_name": "arp.hw_addr_len",
9303 "field_msb": 7,
9304 "field_lsb": 0,
9305 "field_width": 1,
9306 "phv_msb": 7,
9307 "phv_lsb": 0,
9308 "is_compiler_generated": false,
9309 "is_pov": false
9310 },
9311 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009312 "position_offset": 85,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009313 "field_name": "ipv4.version",
9314 "field_msb": 7,
9315 "field_lsb": 0,
9316 "field_width": 1,
9317 "phv_msb": 7,
9318 "phv_lsb": 4,
9319 "is_compiler_generated": false,
9320 "is_pov": false
9321 },
9322 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009323 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009324 "field_name": "ipv4.ihl",
9325 "field_msb": 7,
9326 "field_lsb": 0,
9327 "field_width": 1,
9328 "phv_msb": 3,
9329 "phv_lsb": 0,
9330 "is_compiler_generated": false,
9331 "is_pov": false
9332 }
9333 ],
9334 "word_bit_width": 8
9335 },
9336 {
9337 "phv_number": 293,
9338 "records": [
9339 {
9340 "position_offset": 8,
9341 "field_name": "arp.proto_addr_len",
9342 "field_msb": 7,
9343 "field_lsb": 0,
9344 "field_width": 1,
9345 "phv_msb": 7,
9346 "phv_lsb": 0,
9347 "is_compiler_generated": false,
9348 "is_pov": false
9349 },
9350 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009351 "position_offset": 65,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009352 "field_name": "ipv4.diffserv",
9353 "field_msb": 7,
9354 "field_lsb": 0,
9355 "field_width": 1,
9356 "phv_msb": 7,
9357 "phv_lsb": 0,
9358 "is_compiler_generated": false,
9359 "is_pov": false
9360 }
9361 ],
9362 "word_bit_width": 8
9363 },
9364 {
9365 "phv_number": 294,
9366 "records": [
9367 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009368 "position_offset": 77,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009369 "field_name": "ipv4.protocol",
9370 "field_msb": 7,
9371 "field_lsb": 0,
9372 "field_width": 1,
9373 "phv_msb": 7,
9374 "phv_lsb": 0,
9375 "is_compiler_generated": false,
9376 "is_pov": false
9377 }
9378 ],
9379 "word_bit_width": 8
9380 },
9381 {
9382 "phv_number": 326,
9383 "records": [
9384 {
9385 "position_offset": 4,
9386 "field_name": "arp.hw_type",
9387 "field_msb": 15,
9388 "field_lsb": 0,
9389 "field_width": 2,
9390 "phv_msb": 15,
9391 "phv_lsb": 0,
9392 "is_compiler_generated": false,
9393 "is_pov": false
9394 },
9395 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009396 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009397 "field_name": "tcp.data_offset",
9398 "field_msb": 15,
9399 "field_lsb": 0,
9400 "field_width": 2,
9401 "phv_msb": 15,
9402 "phv_lsb": 12,
9403 "is_compiler_generated": false,
9404 "is_pov": false
9405 },
9406 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009407 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009408 "field_name": "tcp.res",
9409 "field_msb": 15,
9410 "field_lsb": 0,
9411 "field_width": 2,
9412 "phv_msb": 11,
9413 "phv_lsb": 9,
9414 "is_compiler_generated": false,
9415 "is_pov": false
9416 },
9417 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009418 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009419 "field_name": "tcp.ecn",
9420 "field_msb": 15,
9421 "field_lsb": 0,
9422 "field_width": 2,
9423 "phv_msb": 8,
9424 "phv_lsb": 6,
9425 "is_compiler_generated": false,
9426 "is_pov": false
9427 },
9428 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009429 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009430 "field_name": "tcp.ctrl",
9431 "field_msb": 15,
9432 "field_lsb": 0,
9433 "field_width": 2,
9434 "phv_msb": 5,
9435 "phv_lsb": 0,
9436 "is_compiler_generated": false,
9437 "is_pov": false
9438 },
9439 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009440 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009441 "field_name": "udp.src_port",
9442 "field_msb": 15,
9443 "field_lsb": 0,
9444 "field_width": 2,
9445 "phv_msb": 15,
9446 "phv_lsb": 0,
9447 "is_compiler_generated": false,
9448 "is_pov": false
9449 },
9450 {
9451 "position_offset": 42,
9452 "field_name": "icmp.checksum",
9453 "field_msb": 15,
9454 "field_lsb": 0,
9455 "field_width": 2,
9456 "phv_msb": 15,
9457 "phv_lsb": 0,
9458 "is_compiler_generated": false,
9459 "is_pov": false
9460 }
9461 ],
9462 "word_bit_width": 16
9463 },
9464 {
9465 "phv_number": 327,
9466 "records": [
9467 {
9468 "position_offset": 9,
9469 "field_name": "arp.proto_type",
9470 "field_msb": 15,
9471 "field_lsb": 0,
9472 "field_width": 2,
9473 "phv_msb": 15,
9474 "phv_lsb": 0,
9475 "is_compiler_generated": false,
9476 "is_pov": false
9477 },
9478 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009479 "position_offset": 116,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009480 "field_name": "tcp.src_port",
9481 "field_msb": 15,
9482 "field_lsb": 0,
9483 "field_width": 2,
9484 "phv_msb": 15,
9485 "phv_lsb": 0,
9486 "is_compiler_generated": false,
9487 "is_pov": false
9488 },
9489 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009490 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009491 "field_name": "udp.dst_port",
9492 "field_msb": 15,
9493 "field_lsb": 0,
9494 "field_width": 2,
9495 "phv_msb": 15,
9496 "phv_lsb": 0,
9497 "is_compiler_generated": false,
9498 "is_pov": false
9499 },
9500 {
9501 "position_offset": 46,
9502 "field_name": "icmp.identifier",
9503 "field_msb": 15,
9504 "field_lsb": 0,
9505 "field_width": 2,
9506 "phv_msb": 15,
9507 "phv_lsb": 0,
9508 "is_compiler_generated": false,
9509 "is_pov": false
9510 }
9511 ],
9512 "word_bit_width": 16
9513 },
9514 {
9515 "phv_number": 328,
9516 "records": [
9517 {
9518 "position_offset": 6,
9519 "field_name": "arp.opcode",
9520 "field_msb": 15,
9521 "field_lsb": 0,
9522 "field_width": 2,
9523 "phv_msb": 15,
9524 "phv_lsb": 0,
9525 "is_compiler_generated": false,
9526 "is_pov": false
9527 },
9528 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009529 "position_offset": 70,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009530 "field_name": "ipv4.flags",
9531 "field_msb": 15,
9532 "field_lsb": 0,
9533 "field_width": 2,
9534 "phv_msb": 15,
9535 "phv_lsb": 13,
9536 "is_compiler_generated": false,
9537 "is_pov": false
9538 },
9539 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009540 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009541 "field_name": "ipv4.frag_offset",
9542 "field_msb": 15,
9543 "field_lsb": 0,
9544 "field_width": 2,
9545 "phv_msb": 12,
9546 "phv_lsb": 0,
9547 "is_compiler_generated": false,
9548 "is_pov": false
9549 }
9550 ],
9551 "word_bit_width": 16
9552 },
9553 {
9554 "phv_number": 329,
9555 "records": [
9556 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009557 "position_offset": 82,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009558 "field_name": "ipv4.total_len",
9559 "field_msb": 15,
9560 "field_lsb": 0,
9561 "field_width": 2,
9562 "phv_msb": 15,
9563 "phv_lsb": 0,
9564 "is_compiler_generated": false,
9565 "is_pov": false
9566 }
9567 ],
9568 "word_bit_width": 16
9569 },
9570 {
9571 "phv_number": 330,
9572 "records": [
9573 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009574 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009575 "field_name": "ipv4.identification",
9576 "field_msb": 15,
9577 "field_lsb": 0,
9578 "field_width": 2,
9579 "phv_msb": 15,
9580 "phv_lsb": 0,
9581 "is_compiler_generated": false,
9582 "is_pov": false
9583 }
9584 ],
9585 "word_bit_width": 16
9586 },
9587 {
9588 "phv_number": 331,
9589 "records": [
9590 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009591 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009592 "field_name": "tcp.dst_port",
9593 "field_msb": 15,
9594 "field_lsb": 0,
9595 "field_width": 2,
9596 "phv_msb": 15,
9597 "phv_lsb": 0,
9598 "is_compiler_generated": false,
9599 "is_pov": false
9600 },
9601 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009602 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009603 "field_name": "udp.len",
9604 "field_msb": 15,
9605 "field_lsb": 0,
9606 "field_width": 2,
9607 "phv_msb": 15,
9608 "phv_lsb": 0,
9609 "is_compiler_generated": false,
9610 "is_pov": false
9611 },
9612 {
9613 "position_offset": 48,
9614 "field_name": "icmp.sequence_number",
9615 "field_msb": 15,
9616 "field_lsb": 0,
9617 "field_width": 2,
9618 "phv_msb": 15,
9619 "phv_lsb": 0,
9620 "is_compiler_generated": false,
9621 "is_pov": false
9622 }
9623 ],
9624 "word_bit_width": 16
9625 },
9626 {
9627 "phv_number": 338,
9628 "records": [
9629 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009630 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009631 "field_name": "tcp.window",
9632 "field_msb": 15,
9633 "field_lsb": 0,
9634 "field_width": 2,
9635 "phv_msb": 15,
9636 "phv_lsb": 0,
9637 "is_compiler_generated": false,
9638 "is_pov": false
9639 },
9640 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009641 "position_offset": 123,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009642 "field_name": "udp.checksum",
9643 "field_msb": 15,
9644 "field_lsb": 0,
9645 "field_width": 2,
9646 "phv_msb": 15,
9647 "phv_lsb": 0,
9648 "is_compiler_generated": false,
9649 "is_pov": false
9650 }
9651 ],
9652 "word_bit_width": 16
9653 },
9654 {
9655 "phv_number": 339,
9656 "records": [
9657 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009658 "position_offset": 100,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009659 "field_name": "tcp.checksum",
9660 "field_msb": 15,
9661 "field_lsb": 0,
9662 "field_width": 2,
9663 "phv_msb": 15,
9664 "phv_lsb": 0,
9665 "is_compiler_generated": false,
9666 "is_pov": false
9667 }
9668 ],
9669 "word_bit_width": 16
9670 },
9671 {
9672 "phv_number": 340,
9673 "records": [
9674 {
Carmelo Casconeecb35762018-02-03 17:30:05 -08009675 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -08009676 "field_name": "tcp.urgent_ptr",
9677 "field_msb": 15,
9678 "field_lsb": 0,
9679 "field_width": 2,
9680 "phv_msb": 15,
9681 "phv_lsb": 0,
9682 "is_compiler_generated": false,
9683 "is_pov": false
9684 }
9685 ],
9686 "word_bit_width": 16
9687 }
9688 ],
9689 "egress": [
9690 {
9691 "phv_number": 80,
9692 "records": [
9693 {
9694 "position_offset": 0,
9695 "field_name": "POV",
9696 "field_msb": 7,
9697 "field_lsb": 0,
9698 "field_width": 0,
9699 "phv_msb": 0,
9700 "phv_lsb": 0,
9701 "is_compiler_generated": false,
9702 "is_pov": true,
9703 "pov_headers": [
9704 {
9705 "bit_index": 0,
9706 "position_offset": 0,
9707 "header_name": "arp",
9708 "hidden": false
9709 }
9710 ]
9711 },
9712 {
9713 "position_offset": 0,
9714 "field_name": "POV",
9715 "field_msb": 7,
9716 "field_lsb": 0,
9717 "field_width": 0,
9718 "phv_msb": 2,
9719 "phv_lsb": 2,
9720 "is_compiler_generated": false,
9721 "is_pov": true,
9722 "pov_headers": [
9723 {
9724 "bit_index": 2,
9725 "position_offset": 11,
9726 "header_name": "ethernet",
9727 "hidden": false
9728 }
9729 ]
9730 },
9731 {
9732 "position_offset": 0,
9733 "field_name": "POV",
9734 "field_msb": 7,
9735 "field_lsb": 0,
9736 "field_width": 0,
9737 "phv_msb": 3,
9738 "phv_lsb": 3,
9739 "is_compiler_generated": false,
9740 "is_pov": true,
9741 "pov_headers": [
9742 {
9743 "bit_index": 3,
9744 "position_offset": 26,
9745 "header_name": "icmp",
9746 "hidden": false
9747 }
9748 ]
9749 },
9750 {
9751 "position_offset": 0,
9752 "field_name": "POV",
9753 "field_msb": 7,
9754 "field_lsb": 0,
9755 "field_width": 0,
9756 "phv_msb": 5,
9757 "phv_lsb": 5,
9758 "is_compiler_generated": false,
9759 "is_pov": true,
9760 "pov_headers": [
9761 {
9762 "bit_index": 5,
9763 "position_offset": 45,
9764 "header_name": "ipv4",
9765 "hidden": false
9766 }
9767 ]
9768 },
9769 {
9770 "position_offset": 0,
9771 "field_name": "POV",
9772 "field_msb": 7,
9773 "field_lsb": 0,
9774 "field_width": 0,
9775 "phv_msb": 6,
9776 "phv_lsb": 6,
9777 "is_compiler_generated": false,
9778 "is_pov": true,
9779 "pov_headers": [
9780 {
9781 "bit_index": 6,
9782 "position_offset": 67,
9783 "header_name": "mpls",
9784 "hidden": false
9785 }
9786 ]
9787 },
9788 {
9789 "position_offset": 0,
9790 "field_name": "POV",
9791 "field_msb": 7,
9792 "field_lsb": 0,
9793 "field_width": 0,
9794 "phv_msb": 7,
9795 "phv_lsb": 7,
9796 "is_compiler_generated": false,
9797 "is_pov": true,
9798 "pov_headers": [
9799 {
9800 "bit_index": 7,
9801 "position_offset": 73,
9802 "header_name": "packet_in",
9803 "hidden": false
9804 }
9805 ]
9806 }
9807 ],
9808 "word_bit_width": 8
9809 },
9810 {
9811 "phv_number": 81,
9812 "records": [
9813 {
9814 "position_offset": 0,
9815 "field_name": "POV",
9816 "field_msb": 7,
9817 "field_lsb": 0,
9818 "field_width": 0,
9819 "phv_msb": 0,
9820 "phv_lsb": 0,
9821 "is_compiler_generated": false,
9822 "is_pov": true,
9823 "pov_headers": [
9824 {
9825 "bit_index": 0,
9826 "position_offset": 78,
9827 "header_name": "tcp",
9828 "hidden": false
9829 }
9830 ]
9831 },
9832 {
9833 "position_offset": 0,
9834 "field_name": "POV",
9835 "field_msb": 7,
9836 "field_lsb": 0,
9837 "field_width": 0,
9838 "phv_msb": 1,
9839 "phv_lsb": 1,
9840 "is_compiler_generated": false,
9841 "is_pov": true,
9842 "pov_headers": [
9843 {
9844 "bit_index": 1,
9845 "position_offset": 105,
9846 "header_name": "udp",
9847 "hidden": false
9848 }
9849 ]
9850 },
9851 {
9852 "position_offset": 0,
9853 "field_name": "POV",
9854 "field_msb": 7,
9855 "field_lsb": 0,
9856 "field_width": 0,
9857 "phv_msb": 2,
9858 "phv_lsb": 2,
9859 "is_compiler_generated": false,
9860 "is_pov": true,
9861 "pov_headers": [
9862 {
9863 "bit_index": 2,
9864 "position_offset": 114,
9865 "header_name": "vlan_tag",
9866 "hidden": false
9867 }
9868 ]
9869 }
9870 ],
9871 "word_bit_width": 8
9872 },
9873 {
9874 "phv_number": 144,
9875 "records": [
9876 {
9877 "position_offset": 9,
9878 "field_name": "eg_intr_md.egress_port",
9879 "field_msb": 15,
9880 "field_lsb": 0,
9881 "field_width": 2,
9882 "phv_msb": 8,
9883 "phv_lsb": 0,
9884 "is_compiler_generated": false,
9885 "is_pov": false
9886 }
9887 ],
9888 "word_bit_width": 16
9889 },
9890 {
9891 "phv_number": 145,
9892 "records": [
9893 {
9894 "position_offset": 76,
9895 "field_name": "packet_in.ingress_port",
9896 "field_msb": 15,
9897 "field_lsb": 0,
9898 "field_width": 2,
9899 "phv_msb": 15,
9900 "phv_lsb": 7,
9901 "is_compiler_generated": false,
9902 "is_pov": false
9903 },
9904 {
9905 "position_offset": 74,
9906 "field_name": "packet_in._pad",
9907 "field_msb": 15,
9908 "field_lsb": 0,
9909 "field_width": 2,
9910 "phv_msb": 6,
9911 "phv_lsb": 0,
9912 "is_compiler_generated": false,
9913 "is_pov": false
9914 }
9915 ],
9916 "word_bit_width": 16
9917 },
9918 {
9919 "phv_number": 146,
9920 "records": [
9921 {
9922 "position_offset": 43,
9923 "field_name": "ig_intr_md.ingress_port",
9924 "field_msb": 15,
9925 "field_lsb": 0,
9926 "field_width": 2,
9927 "phv_msb": 8,
9928 "phv_lsb": 0,
9929 "is_compiler_generated": false,
9930 "is_pov": false
9931 }
9932 ],
9933 "word_bit_width": 16
9934 },
9935 {
9936 "phv_number": 256,
9937 "records": [
9938 {
9939 "position_offset": 12,
9940 "field_name": "ethernet.dst_addr",
9941 "field_msb": 47,
9942 "field_lsb": 16,
9943 "field_width": 6,
9944 "phv_msb": 31,
9945 "phv_lsb": 0,
9946 "is_compiler_generated": false,
9947 "is_pov": false
9948 }
9949 ],
9950 "word_bit_width": 32
9951 },
9952 {
9953 "phv_number": 257,
9954 "records": [
9955 {
9956 "position_offset": 20,
9957 "field_name": "ethernet.src_addr",
9958 "field_msb": 47,
9959 "field_lsb": 16,
9960 "field_width": 6,
9961 "phv_msb": 31,
9962 "phv_lsb": 0,
9963 "is_compiler_generated": false,
9964 "is_pov": false
9965 }
9966 ],
9967 "word_bit_width": 32
9968 },
9969 {
9970 "phv_number": 258,
9971 "records": [
9972 {
9973 "position_offset": 59,
9974 "field_name": "ipv4.src_addr",
9975 "field_msb": 31,
9976 "field_lsb": 0,
9977 "field_width": 4,
9978 "phv_msb": 31,
9979 "phv_lsb": 0,
9980 "is_compiler_generated": false,
9981 "is_pov": false
9982 }
9983 ],
9984 "word_bit_width": 32
9985 },
9986 {
9987 "phv_number": 259,
9988 "records": [
9989 {
9990 "position_offset": 47,
9991 "field_name": "ipv4.dst_addr",
9992 "field_msb": 31,
9993 "field_lsb": 0,
9994 "field_width": 4,
9995 "phv_msb": 31,
9996 "phv_lsb": 0,
9997 "is_compiler_generated": false,
9998 "is_pov": false
9999 }
10000 ],
10001 "word_bit_width": 32
10002 },
10003 {
10004 "phv_number": 264,
10005 "records": [
10006 {
10007 "position_offset": 95,
10008 "field_name": "tcp.seq_no",
10009 "field_msb": 31,
10010 "field_lsb": 0,
10011 "field_width": 4,
10012 "phv_msb": 31,
10013 "phv_lsb": 0,
10014 "is_compiler_generated": false,
10015 "is_pov": false
10016 },
10017 {
10018 "position_offset": 35,
10019 "field_name": "icmp.timestamp",
10020 "field_msb": 31,
10021 "field_lsb": 0,
10022 "field_width": 8,
10023 "phv_msb": 31,
10024 "phv_lsb": 0,
10025 "is_compiler_generated": false,
10026 "is_pov": false
10027 }
10028 ],
10029 "word_bit_width": 32
10030 },
10031 {
10032 "phv_number": 265,
10033 "records": [
10034 {
10035 "position_offset": 79,
10036 "field_name": "tcp.ack_no",
10037 "field_msb": 31,
10038 "field_lsb": 0,
10039 "field_width": 4,
10040 "phv_msb": 31,
10041 "phv_lsb": 0,
10042 "is_compiler_generated": false,
10043 "is_pov": false
10044 },
10045 {
10046 "position_offset": 35,
10047 "field_name": "icmp.timestamp",
10048 "field_msb": 63,
10049 "field_lsb": 32,
10050 "field_width": 8,
10051 "phv_msb": 31,
10052 "phv_lsb": 0,
10053 "is_compiler_generated": false,
10054 "is_pov": false
10055 }
10056 ],
10057 "word_bit_width": 32
10058 },
10059 {
10060 "phv_number": 288,
10061 "records": [
10062 {
10063 "position_offset": 1,
10064 "field_name": "arp.hw_addr_len",
10065 "field_msb": 7,
10066 "field_lsb": 0,
10067 "field_width": 1,
10068 "phv_msb": 7,
10069 "phv_lsb": 0,
10070 "is_compiler_generated": false,
10071 "is_pov": false
10072 },
10073 {
10074 "position_offset": 66,
10075 "field_name": "ipv4.version",
10076 "field_msb": 7,
10077 "field_lsb": 0,
10078 "field_width": 1,
10079 "phv_msb": 7,
10080 "phv_lsb": 4,
10081 "is_compiler_generated": false,
10082 "is_pov": false
10083 },
10084 {
10085 "position_offset": 57,
10086 "field_name": "ipv4.ihl",
10087 "field_msb": 7,
10088 "field_lsb": 0,
10089 "field_width": 1,
10090 "phv_msb": 3,
10091 "phv_lsb": 0,
10092 "is_compiler_generated": false,
10093 "is_pov": false
10094 }
10095 ],
10096 "word_bit_width": 8
10097 },
10098 {
10099 "phv_number": 289,
10100 "records": [
10101 {
10102 "position_offset": 6,
10103 "field_name": "arp.proto_addr_len",
10104 "field_msb": 7,
10105 "field_lsb": 0,
10106 "field_width": 1,
10107 "phv_msb": 7,
10108 "phv_lsb": 0,
10109 "is_compiler_generated": false,
10110 "is_pov": false
10111 },
10112 {
10113 "position_offset": 30,
10114 "field_name": "icmp.icmp_type",
10115 "field_msb": 7,
10116 "field_lsb": 0,
10117 "field_width": 1,
10118 "phv_msb": 7,
10119 "phv_lsb": 0,
10120 "is_compiler_generated": false,
10121 "is_pov": false
10122 }
10123 ],
10124 "word_bit_width": 8
10125 },
10126 {
10127 "phv_number": 290,
10128 "records": [
10129 {
10130 "position_offset": 46,
10131 "field_name": "ipv4.diffserv",
10132 "field_msb": 7,
10133 "field_lsb": 0,
10134 "field_width": 1,
10135 "phv_msb": 7,
10136 "phv_lsb": 0,
10137 "is_compiler_generated": false,
10138 "is_pov": false
10139 }
10140 ],
10141 "word_bit_width": 8
10142 },
10143 {
10144 "phv_number": 291,
10145 "records": [
10146 {
10147 "position_offset": 29,
10148 "field_name": "icmp.icmp_code",
10149 "field_msb": 7,
10150 "field_lsb": 0,
10151 "field_width": 1,
10152 "phv_msb": 7,
10153 "phv_lsb": 0,
10154 "is_compiler_generated": false,
10155 "is_pov": false
10156 }
10157 ],
10158 "word_bit_width": 8
10159 },
10160 {
10161 "phv_number": 296,
10162 "records": [
10163 {
10164 "position_offset": 69,
10165 "field_name": "mpls.label",
10166 "field_msb": 3,
10167 "field_lsb": 0,
10168 "field_width": 2,
10169 "phv_msb": 7,
10170 "phv_lsb": 4,
10171 "is_compiler_generated": false,
10172 "is_pov": false
10173 },
10174 {
10175 "position_offset": 71,
10176 "field_name": "mpls.tc",
10177 "field_msb": 7,
10178 "field_lsb": 0,
10179 "field_width": 1,
10180 "phv_msb": 3,
10181 "phv_lsb": 1,
10182 "is_compiler_generated": false,
10183 "is_pov": false
10184 },
10185 {
10186 "position_offset": 68,
10187 "field_name": "mpls.bos",
10188 "field_msb": 7,
10189 "field_lsb": 0,
10190 "field_width": 1,
10191 "phv_msb": 0,
10192 "phv_lsb": 0,
10193 "is_compiler_generated": false,
10194 "is_pov": false
10195 }
10196 ],
10197 "word_bit_width": 8
10198 },
10199 {
10200 "phv_number": 297,
10201 "records": [
10202 {
10203 "position_offset": 65,
10204 "field_name": "ipv4.ttl",
10205 "field_msb": 7,
10206 "field_lsb": 0,
10207 "field_width": 1,
10208 "phv_msb": 7,
10209 "phv_lsb": 0,
10210 "is_compiler_generated": false,
10211 "is_pov": false
10212 }
10213 ],
10214 "word_bit_width": 8
10215 },
10216 {
10217 "phv_number": 298,
10218 "records": [
10219 {
10220 "position_offset": 58,
10221 "field_name": "ipv4.protocol",
10222 "field_msb": 7,
10223 "field_lsb": 0,
10224 "field_width": 1,
10225 "phv_msb": 7,
10226 "phv_lsb": 0,
10227 "is_compiler_generated": false,
10228 "is_pov": false
10229 }
10230 ],
10231 "word_bit_width": 8
10232 },
10233 {
10234 "phv_number": 299,
10235 "records": [
10236 {
10237 "position_offset": 72,
10238 "field_name": "mpls.ttl",
10239 "field_msb": 7,
10240 "field_lsb": 0,
10241 "field_width": 1,
10242 "phv_msb": 7,
10243 "phv_lsb": 0,
10244 "is_compiler_generated": false,
10245 "is_pov": false
10246 }
10247 ],
10248 "word_bit_width": 8
10249 },
10250 {
10251 "phv_number": 320,
10252 "records": [
10253 {
10254 "position_offset": 119,
10255 "field_name": "vlan_tag.pri",
10256 "field_msb": 15,
10257 "field_lsb": 0,
10258 "field_width": 2,
10259 "phv_msb": 15,
10260 "phv_lsb": 13,
10261 "is_compiler_generated": false,
10262 "is_pov": false
10263 },
10264 {
10265 "position_offset": 115,
10266 "field_name": "vlan_tag.cfi",
10267 "field_msb": 15,
10268 "field_lsb": 0,
10269 "field_width": 2,
10270 "phv_msb": 12,
10271 "phv_lsb": 12,
10272 "is_compiler_generated": false,
10273 "is_pov": false
10274 },
10275 {
10276 "position_offset": 121,
10277 "field_name": "vlan_tag.vlan_id",
10278 "field_msb": 15,
10279 "field_lsb": 0,
10280 "field_width": 2,
10281 "phv_msb": 11,
10282 "phv_lsb": 0,
10283 "is_compiler_generated": false,
10284 "is_pov": false
10285 }
10286 ],
10287 "word_bit_width": 16
10288 },
10289 {
10290 "phv_number": 321,
10291 "records": [
10292 {
10293 "position_offset": 2,
10294 "field_name": "arp.hw_type",
10295 "field_msb": 15,
10296 "field_lsb": 0,
10297 "field_width": 2,
10298 "phv_msb": 15,
10299 "phv_lsb": 0,
10300 "is_compiler_generated": false,
10301 "is_pov": false
10302 },
10303 {
10304 "position_offset": 99,
10305 "field_name": "tcp.src_port",
10306 "field_msb": 15,
10307 "field_lsb": 0,
10308 "field_width": 2,
10309 "phv_msb": 15,
10310 "phv_lsb": 0,
10311 "is_compiler_generated": false,
10312 "is_pov": false
10313 },
10314 {
10315 "position_offset": 112,
10316 "field_name": "udp.src_port",
10317 "field_msb": 15,
10318 "field_lsb": 0,
10319 "field_width": 2,
10320 "phv_msb": 15,
10321 "phv_lsb": 0,
10322 "is_compiler_generated": false,
10323 "is_pov": false
10324 },
10325 {
10326 "position_offset": 27,
10327 "field_name": "icmp.checksum",
10328 "field_msb": 15,
10329 "field_lsb": 0,
10330 "field_width": 2,
10331 "phv_msb": 15,
10332 "phv_lsb": 0,
10333 "is_compiler_generated": false,
10334 "is_pov": false
10335 }
10336 ],
10337 "word_bit_width": 16
10338 },
10339 {
10340 "phv_number": 322,
10341 "records": [
10342 {
10343 "position_offset": 7,
10344 "field_name": "arp.proto_type",
10345 "field_msb": 15,
10346 "field_lsb": 0,
10347 "field_width": 2,
10348 "phv_msb": 15,
10349 "phv_lsb": 0,
10350 "is_compiler_generated": false,
10351 "is_pov": false
10352 },
10353 {
10354 "position_offset": 69,
10355 "field_name": "mpls.label",
10356 "field_msb": 19,
10357 "field_lsb": 4,
10358 "field_width": 2,
10359 "phv_msb": 15,
10360 "phv_lsb": 0,
10361 "is_compiler_generated": false,
10362 "is_pov": false
10363 }
10364 ],
10365 "word_bit_width": 16
10366 },
10367 {
10368 "phv_number": 323,
10369 "records": [
10370 {
10371 "position_offset": 4,
10372 "field_name": "arp.opcode",
10373 "field_msb": 15,
10374 "field_lsb": 0,
10375 "field_width": 2,
10376 "phv_msb": 15,
10377 "phv_lsb": 0,
10378 "is_compiler_generated": false,
10379 "is_pov": false
10380 },
10381 {
10382 "position_offset": 87,
10383 "field_name": "tcp.data_offset",
10384 "field_msb": 15,
10385 "field_lsb": 0,
10386 "field_width": 2,
10387 "phv_msb": 15,
10388 "phv_lsb": 12,
10389 "is_compiler_generated": false,
10390 "is_pov": false
10391 },
10392 {
10393 "position_offset": 93,
10394 "field_name": "tcp.res",
10395 "field_msb": 15,
10396 "field_lsb": 0,
10397 "field_width": 2,
10398 "phv_msb": 11,
10399 "phv_lsb": 9,
10400 "is_compiler_generated": false,
10401 "is_pov": false
10402 },
10403 {
10404 "position_offset": 91,
10405 "field_name": "tcp.ecn",
10406 "field_msb": 15,
10407 "field_lsb": 0,
10408 "field_width": 2,
10409 "phv_msb": 8,
10410 "phv_lsb": 6,
10411 "is_compiler_generated": false,
10412 "is_pov": false
10413 },
10414 {
10415 "position_offset": 85,
10416 "field_name": "tcp.ctrl",
10417 "field_msb": 15,
10418 "field_lsb": 0,
10419 "field_width": 2,
10420 "phv_msb": 5,
10421 "phv_lsb": 0,
10422 "is_compiler_generated": false,
10423 "is_pov": false
10424 },
10425 {
10426 "position_offset": 108,
10427 "field_name": "udp.dst_port",
10428 "field_msb": 15,
10429 "field_lsb": 0,
10430 "field_width": 2,
10431 "phv_msb": 15,
10432 "phv_lsb": 0,
10433 "is_compiler_generated": false,
10434 "is_pov": false
10435 },
10436 {
10437 "position_offset": 31,
10438 "field_name": "icmp.identifier",
10439 "field_msb": 15,
10440 "field_lsb": 0,
10441 "field_width": 2,
10442 "phv_msb": 15,
10443 "phv_lsb": 0,
10444 "is_compiler_generated": false,
10445 "is_pov": false
10446 }
10447 ],
10448 "word_bit_width": 16
10449 },
10450 {
10451 "phv_number": 324,
10452 "records": [
10453 {
10454 "position_offset": 51,
10455 "field_name": "ipv4.flags",
10456 "field_msb": 15,
10457 "field_lsb": 0,
10458 "field_width": 2,
10459 "phv_msb": 15,
10460 "phv_lsb": 13,
10461 "is_compiler_generated": false,
10462 "is_pov": false
10463 },
10464 {
10465 "position_offset": 53,
10466 "field_name": "ipv4.frag_offset",
10467 "field_msb": 15,
10468 "field_lsb": 0,
10469 "field_width": 2,
10470 "phv_msb": 12,
10471 "phv_lsb": 0,
10472 "is_compiler_generated": false,
10473 "is_pov": false
10474 }
10475 ],
10476 "word_bit_width": 16
10477 },
10478 {
10479 "phv_number": 325,
10480 "records": [
10481 {
10482 "position_offset": 12,
10483 "field_name": "ethernet.dst_addr",
10484 "field_msb": 15,
10485 "field_lsb": 0,
10486 "field_width": 6,
10487 "phv_msb": 15,
10488 "phv_lsb": 0,
10489 "is_compiler_generated": false,
10490 "is_pov": false
10491 }
10492 ],
10493 "word_bit_width": 16
10494 },
10495 {
10496 "phv_number": 332,
10497 "records": [
10498 {
10499 "position_offset": 20,
10500 "field_name": "ethernet.src_addr",
10501 "field_msb": 15,
10502 "field_lsb": 0,
10503 "field_width": 6,
10504 "phv_msb": 15,
10505 "phv_lsb": 0,
10506 "is_compiler_generated": false,
10507 "is_pov": false
10508 }
10509 ],
10510 "word_bit_width": 16
10511 },
10512 {
10513 "phv_number": 333,
10514 "records": [
10515 {
10516 "position_offset": 18,
10517 "field_name": "ethernet.ether_type",
10518 "field_msb": 15,
10519 "field_lsb": 0,
10520 "field_width": 2,
10521 "phv_msb": 15,
10522 "phv_lsb": 0,
10523 "is_compiler_generated": false,
10524 "is_pov": false
10525 }
10526 ],
10527 "word_bit_width": 16
10528 },
10529 {
10530 "phv_number": 334,
10531 "records": [
10532 {
10533 "position_offset": 117,
10534 "field_name": "vlan_tag.ether_type",
10535 "field_msb": 15,
10536 "field_lsb": 0,
10537 "field_width": 2,
10538 "phv_msb": 15,
10539 "phv_lsb": 0,
10540 "is_compiler_generated": false,
10541 "is_pov": false
10542 }
10543 ],
10544 "word_bit_width": 16
10545 },
10546 {
10547 "phv_number": 335,
10548 "records": [
10549 {
10550 "position_offset": 63,
10551 "field_name": "ipv4.total_len",
10552 "field_msb": 15,
10553 "field_lsb": 0,
10554 "field_width": 2,
10555 "phv_msb": 15,
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": 336,
10565 "records": [
10566 {
10567 "position_offset": 55,
10568 "field_name": "ipv4.identification",
10569 "field_msb": 15,
10570 "field_lsb": 0,
10571 "field_width": 2,
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": 337,
10582 "records": [
10583 {
10584 "position_offset": 89,
10585 "field_name": "tcp.dst_port",
10586 "field_msb": 15,
10587 "field_lsb": 0,
10588 "field_width": 2,
10589 "phv_msb": 15,
10590 "phv_lsb": 0,
10591 "is_compiler_generated": false,
10592 "is_pov": false
10593 },
10594 {
10595 "position_offset": 110,
10596 "field_name": "udp.len",
10597 "field_msb": 15,
10598 "field_lsb": 0,
10599 "field_width": 2,
10600 "phv_msb": 15,
10601 "phv_lsb": 0,
10602 "is_compiler_generated": false,
10603 "is_pov": false
10604 },
10605 {
10606 "position_offset": 33,
10607 "field_name": "icmp.sequence_number",
10608 "field_msb": 15,
10609 "field_lsb": 0,
10610 "field_width": 2,
10611 "phv_msb": 15,
10612 "phv_lsb": 0,
10613 "is_compiler_generated": false,
10614 "is_pov": false
10615 }
10616 ],
10617 "word_bit_width": 16
10618 },
10619 {
10620 "phv_number": 344,
10621 "records": [
10622 {
10623 "position_offset": 103,
10624 "field_name": "tcp.window",
10625 "field_msb": 15,
10626 "field_lsb": 0,
10627 "field_width": 2,
10628 "phv_msb": 15,
10629 "phv_lsb": 0,
10630 "is_compiler_generated": false,
10631 "is_pov": false
10632 },
10633 {
10634 "position_offset": 106,
10635 "field_name": "udp.checksum",
10636 "field_msb": 15,
10637 "field_lsb": 0,
10638 "field_width": 2,
10639 "phv_msb": 15,
10640 "phv_lsb": 0,
10641 "is_compiler_generated": false,
10642 "is_pov": false
10643 }
10644 ],
10645 "word_bit_width": 16
10646 },
10647 {
10648 "phv_number": 345,
10649 "records": [
10650 {
10651 "position_offset": 83,
10652 "field_name": "tcp.checksum",
10653 "field_msb": 15,
10654 "field_lsb": 0,
10655 "field_width": 2,
10656 "phv_msb": 15,
10657 "phv_lsb": 0,
10658 "is_compiler_generated": false,
10659 "is_pov": false
10660 }
10661 ],
10662 "word_bit_width": 16
10663 },
10664 {
10665 "phv_number": 346,
10666 "records": [
10667 {
10668 "position_offset": 101,
10669 "field_name": "tcp.urgent_ptr",
10670 "field_msb": 15,
10671 "field_lsb": 0,
10672 "field_width": 2,
10673 "phv_msb": 15,
10674 "phv_lsb": 0,
10675 "is_compiler_generated": false,
10676 "is_pov": false
10677 }
10678 ],
10679 "word_bit_width": 16
10680 }
10681 ],
10682 "stage_number": 4
10683 },
10684 {
10685 "ingress": [
10686 {
10687 "phv_number": 0,
10688 "records": [
10689 {
10690 "position_offset": 12,
10691 "field_name": "ethernet.dst_addr",
10692 "field_msb": 47,
10693 "field_lsb": 16,
10694 "field_width": 6,
10695 "phv_msb": 31,
10696 "phv_lsb": 0,
10697 "is_compiler_generated": false,
10698 "is_pov": false
10699 }
10700 ],
10701 "word_bit_width": 32
10702 },
10703 {
10704 "phv_number": 1,
10705 "records": [
10706 {
10707 "position_offset": 20,
10708 "field_name": "ethernet.src_addr",
10709 "field_msb": 47,
10710 "field_lsb": 16,
10711 "field_width": 6,
10712 "phv_msb": 31,
10713 "phv_lsb": 0,
10714 "is_compiler_generated": false,
10715 "is_pov": false
10716 }
10717 ],
10718 "word_bit_width": 32
10719 },
10720 {
10721 "phv_number": 2,
10722 "records": [
10723 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080010724 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -080010725 "field_name": "ipv4.src_addr",
10726 "field_msb": 31,
10727 "field_lsb": 0,
10728 "field_width": 4,
10729 "phv_msb": 31,
10730 "phv_lsb": 0,
10731 "is_compiler_generated": false,
10732 "is_pov": false
10733 }
10734 ],
10735 "word_bit_width": 32
10736 },
10737 {
10738 "phv_number": 3,
10739 "records": [
10740 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080010741 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -080010742 "field_name": "ipv4.dst_addr",
10743 "field_msb": 31,
10744 "field_lsb": 0,
10745 "field_width": 4,
10746 "phv_msb": 31,
10747 "phv_lsb": 0,
10748 "is_compiler_generated": false,
10749 "is_pov": false
10750 }
10751 ],
10752 "word_bit_width": 32
10753 },
10754 {
10755 "phv_number": 4,
10756 "records": [
10757 {
10758 "position_offset": 33,
10759 "field_name": "fabric_metadata.next_id",
10760 "field_msb": 31,
10761 "field_lsb": 0,
10762 "field_width": 4,
10763 "phv_msb": 31,
10764 "phv_lsb": 0,
10765 "is_compiler_generated": false,
10766 "is_pov": false
10767 }
10768 ],
10769 "word_bit_width": 32
10770 },
10771 {
10772 "phv_number": 64,
10773 "records": [
10774 {
10775 "position_offset": 45,
10776 "field_name": "icmp.icmp_type",
10777 "field_msb": 7,
10778 "field_lsb": 0,
10779 "field_width": 1,
10780 "phv_msb": 7,
10781 "phv_lsb": 0,
10782 "is_compiler_generated": false,
10783 "is_pov": false
10784 }
10785 ],
10786 "word_bit_width": 8
10787 },
10788 {
10789 "phv_number": 65,
10790 "records": [
10791 {
10792 "position_offset": 44,
10793 "field_name": "icmp.icmp_code",
10794 "field_msb": 7,
10795 "field_lsb": 0,
10796 "field_width": 1,
10797 "phv_msb": 7,
10798 "phv_lsb": 0,
10799 "is_compiler_generated": false,
10800 "is_pov": false
10801 }
10802 ],
10803 "word_bit_width": 8
10804 },
10805 {
10806 "phv_number": 66,
10807 "records": [
10808 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080010809 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080010810 "field_name": "mpls.label",
10811 "field_msb": 3,
10812 "field_lsb": 0,
10813 "field_width": 2,
10814 "phv_msb": 7,
10815 "phv_lsb": 4,
10816 "is_compiler_generated": false,
10817 "is_pov": false
10818 },
10819 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080010820 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080010821 "field_name": "mpls.tc",
10822 "field_msb": 7,
10823 "field_lsb": 0,
10824 "field_width": 1,
10825 "phv_msb": 3,
10826 "phv_lsb": 1,
10827 "is_compiler_generated": false,
10828 "is_pov": false
10829 },
10830 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080010831 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -080010832 "field_name": "mpls.bos",
10833 "field_msb": 7,
10834 "field_lsb": 0,
10835 "field_width": 1,
10836 "phv_msb": 0,
10837 "phv_lsb": 0,
10838 "is_compiler_generated": false,
10839 "is_pov": false
10840 }
10841 ],
10842 "word_bit_width": 8
10843 },
10844 {
10845 "phv_number": 67,
10846 "records": [
10847 {
10848 "position_offset": 1,
10849 "field_name": "$bridged_metadata_indicator",
10850 "field_msb": 7,
10851 "field_lsb": 0,
10852 "field_width": 1,
10853 "phv_msb": 7,
10854 "phv_lsb": 0,
10855 "is_compiler_generated": false,
10856 "is_pov": false
10857 }
10858 ],
10859 "word_bit_width": 8
10860 },
10861 {
10862 "phv_number": 68,
10863 "records": [
10864 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080010865 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -080010866 "field_name": "ipv4.ttl",
10867 "field_msb": 7,
10868 "field_lsb": 0,
10869 "field_width": 1,
10870 "phv_msb": 7,
10871 "phv_lsb": 0,
10872 "is_compiler_generated": false,
10873 "is_pov": false
10874 }
10875 ],
10876 "word_bit_width": 8
10877 },
10878 {
10879 "phv_number": 69,
10880 "records": [
10881 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080010882 "position_offset": 91,
Carmelo Cascone04098db2018-01-30 18:10:32 -080010883 "field_name": "mpls.ttl",
10884 "field_msb": 7,
10885 "field_lsb": 0,
10886 "field_width": 1,
10887 "phv_msb": 7,
10888 "phv_lsb": 0,
10889 "is_compiler_generated": false,
10890 "is_pov": false
10891 }
10892 ],
10893 "word_bit_width": 8
10894 },
10895 {
10896 "phv_number": 70,
10897 "records": [
10898 {
10899 "position_offset": 28,
10900 "field_name": "fabric_metadata.ip_proto",
10901 "field_msb": 7,
10902 "field_lsb": 0,
10903 "field_width": 1,
10904 "phv_msb": 7,
10905 "phv_lsb": 0,
10906 "is_compiler_generated": false,
10907 "is_pov": false
10908 }
10909 ],
10910 "word_bit_width": 8
10911 },
10912 {
10913 "phv_number": 71,
10914 "records": [
10915 {
10916 "position_offset": 0,
10917 "field_name": "$always_deparse",
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 "position_offset": 40,
10928 "field_name": "hasExited_0",
10929 "field_msb": 7,
10930 "field_lsb": 0,
10931 "field_width": 1,
10932 "phv_msb": 4,
10933 "phv_lsb": 4,
10934 "is_compiler_generated": false,
10935 "is_pov": false
10936 },
10937 {
10938 "position_offset": 0,
10939 "field_name": "POV",
10940 "field_msb": 7,
10941 "field_lsb": 0,
10942 "field_width": 0,
10943 "phv_msb": 1,
10944 "phv_lsb": 1,
10945 "is_compiler_generated": false,
10946 "is_pov": true,
10947 "pov_headers": [
10948 {
10949 "bit_index": 1,
10950 "position_offset": 2,
10951 "header_name": "arp",
10952 "hidden": false
10953 }
10954 ]
10955 },
10956 {
10957 "position_offset": 0,
10958 "field_name": "POV",
10959 "field_msb": 7,
10960 "field_lsb": 0,
10961 "field_width": 0,
10962 "phv_msb": 2,
10963 "phv_lsb": 2,
10964 "is_compiler_generated": false,
10965 "is_pov": true,
10966 "pov_headers": [
10967 {
10968 "bit_index": 2,
10969 "position_offset": 11,
10970 "header_name": "ethernet",
10971 "hidden": false
10972 }
10973 ]
10974 },
10975 {
10976 "position_offset": 0,
10977 "field_name": "POV",
10978 "field_msb": 7,
10979 "field_lsb": 0,
10980 "field_width": 0,
10981 "phv_msb": 3,
10982 "phv_lsb": 3,
10983 "is_compiler_generated": false,
10984 "is_pov": true,
10985 "pov_headers": [
10986 {
10987 "bit_index": 3,
10988 "position_offset": 41,
10989 "header_name": "icmp",
10990 "hidden": false
10991 }
10992 ]
10993 },
10994 {
10995 "position_offset": 0,
10996 "field_name": "POV",
10997 "field_msb": 7,
10998 "field_lsb": 0,
10999 "field_width": 0,
11000 "phv_msb": 5,
11001 "phv_lsb": 5,
11002 "is_compiler_generated": false,
11003 "is_pov": true,
11004 "pov_headers": [
11005 {
11006 "bit_index": 5,
Carmelo Casconeecb35762018-02-03 17:30:05 -080011007 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011008 "header_name": "ipv4",
11009 "hidden": false
11010 }
11011 ]
11012 },
11013 {
11014 "position_offset": 0,
11015 "field_name": "POV",
11016 "field_msb": 7,
11017 "field_lsb": 0,
11018 "field_width": 0,
11019 "phv_msb": 6,
11020 "phv_lsb": 6,
11021 "is_compiler_generated": false,
11022 "is_pov": true,
11023 "pov_headers": [
11024 {
11025 "bit_index": 6,
Carmelo Casconeecb35762018-02-03 17:30:05 -080011026 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011027 "header_name": "mpls",
11028 "hidden": false
11029 }
11030 ]
11031 },
11032 {
11033 "position_offset": 0,
11034 "field_name": "POV",
11035 "field_msb": 7,
11036 "field_lsb": 0,
11037 "field_width": 0,
11038 "phv_msb": 7,
11039 "phv_lsb": 7,
11040 "is_compiler_generated": false,
11041 "is_pov": true,
11042 "pov_headers": [
11043 {
11044 "bit_index": 7,
Carmelo Casconeecb35762018-02-03 17:30:05 -080011045 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011046 "header_name": "packet_out",
11047 "hidden": false
11048 }
11049 ]
11050 }
11051 ],
11052 "word_bit_width": 8
11053 },
11054 {
11055 "phv_number": 72,
11056 "records": [
11057 {
11058 "position_offset": 39,
11059 "field_name": "fabric_metadata.pop_vlan_at_egress",
11060 "field_msb": 7,
11061 "field_lsb": 0,
11062 "field_width": 1,
11063 "phv_msb": 3,
11064 "phv_lsb": 3,
11065 "is_compiler_generated": false,
11066 "is_pov": false
11067 },
11068 {
11069 "position_offset": 0,
11070 "field_name": "POV",
11071 "field_msb": 7,
11072 "field_lsb": 0,
11073 "field_width": 0,
11074 "phv_msb": 0,
11075 "phv_lsb": 0,
11076 "is_compiler_generated": false,
11077 "is_pov": true,
11078 "pov_headers": [
11079 {
11080 "bit_index": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -080011081 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011082 "header_name": "tcp",
11083 "hidden": false
11084 }
11085 ]
11086 },
11087 {
11088 "position_offset": 0,
11089 "field_name": "POV",
11090 "field_msb": 7,
11091 "field_lsb": 0,
11092 "field_width": 0,
11093 "phv_msb": 1,
11094 "phv_lsb": 1,
11095 "is_compiler_generated": false,
11096 "is_pov": true,
11097 "pov_headers": [
11098 {
11099 "bit_index": 1,
Carmelo Casconeecb35762018-02-03 17:30:05 -080011100 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011101 "header_name": "udp",
11102 "hidden": false
11103 }
11104 ]
11105 },
11106 {
11107 "position_offset": 0,
11108 "field_name": "POV",
11109 "field_msb": 7,
11110 "field_lsb": 0,
11111 "field_width": 0,
11112 "phv_msb": 2,
11113 "phv_lsb": 2,
11114 "is_compiler_generated": false,
11115 "is_pov": true,
11116 "pov_headers": [
11117 {
11118 "bit_index": 2,
Carmelo Casconeecb35762018-02-03 17:30:05 -080011119 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011120 "header_name": "vlan_tag",
11121 "hidden": false
11122 }
11123 ]
11124 }
11125 ],
11126 "word_bit_width": 8
11127 },
11128 {
11129 "phv_number": 128,
11130 "records": [
11131 {
11132 "position_offset": 62,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011133 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
11134 "field_msb": 15,
11135 "field_lsb": 0,
11136 "field_width": 2,
11137 "phv_msb": 8,
11138 "phv_lsb": 0,
11139 "is_compiler_generated": false,
11140 "is_pov": false
11141 }
11142 ],
11143 "word_bit_width": 16
11144 },
11145 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011146 "phv_number": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011147 "records": [
11148 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011149 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011150 "field_name": "packet_out.egress_port",
11151 "field_msb": 15,
11152 "field_lsb": 0,
11153 "field_width": 2,
11154 "phv_msb": 15,
11155 "phv_lsb": 7,
11156 "is_compiler_generated": false,
11157 "is_pov": false
11158 },
11159 {
11160 "position_offset": 26,
11161 "field_name": "fabric_metadata.fwd_type",
11162 "field_msb": 15,
11163 "field_lsb": 0,
11164 "field_width": 2,
11165 "phv_msb": 5,
11166 "phv_lsb": 3,
11167 "is_compiler_generated": false,
11168 "is_pov": false
11169 },
11170 {
11171 "position_offset": 60,
11172 "field_name": "ig_intr_md_for_tm.drop_ctl",
11173 "field_msb": 15,
11174 "field_lsb": 0,
11175 "field_width": 2,
11176 "phv_msb": 2,
11177 "phv_lsb": 0,
11178 "is_compiler_generated": false,
11179 "is_pov": false
11180 }
11181 ],
11182 "word_bit_width": 16
11183 },
11184 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011185 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011186 "records": [
11187 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011188 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011189 "field_name": "vlan_tag.pri",
11190 "field_msb": 15,
11191 "field_lsb": 0,
11192 "field_width": 2,
11193 "phv_msb": 15,
11194 "phv_lsb": 13,
11195 "is_compiler_generated": false,
11196 "is_pov": false
11197 },
11198 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011199 "position_offset": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011200 "field_name": "vlan_tag.cfi",
11201 "field_msb": 15,
11202 "field_lsb": 0,
11203 "field_width": 2,
11204 "phv_msb": 12,
11205 "phv_lsb": 12,
11206 "is_compiler_generated": false,
11207 "is_pov": false
11208 },
11209 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011210 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011211 "field_name": "vlan_tag.vlan_id",
11212 "field_msb": 15,
11213 "field_lsb": 0,
11214 "field_width": 2,
11215 "phv_msb": 11,
11216 "phv_lsb": 0,
11217 "is_compiler_generated": false,
11218 "is_pov": false
11219 }
11220 ],
11221 "word_bit_width": 16
11222 },
11223 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011224 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011225 "records": [
11226 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011227 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011228 "field_name": "mpls.label",
11229 "field_msb": 19,
11230 "field_lsb": 4,
11231 "field_width": 2,
11232 "phv_msb": 15,
11233 "phv_lsb": 0,
11234 "is_compiler_generated": false,
11235 "is_pov": false
11236 }
11237 ],
11238 "word_bit_width": 16
11239 },
11240 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011241 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011242 "records": [
11243 {
11244 "position_offset": 58,
11245 "field_name": "ig_intr_md.ingress_port",
11246 "field_msb": 15,
11247 "field_lsb": 0,
11248 "field_width": 2,
11249 "phv_msb": 8,
11250 "phv_lsb": 0,
11251 "is_compiler_generated": false,
11252 "is_pov": false
11253 }
11254 ],
11255 "word_bit_width": 16
11256 },
11257 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011258 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011259 "records": [
11260 {
11261 "position_offset": 31,
11262 "field_name": "fabric_metadata.l4_src_port",
11263 "field_msb": 15,
11264 "field_lsb": 0,
11265 "field_width": 2,
11266 "phv_msb": 15,
11267 "phv_lsb": 0,
11268 "is_compiler_generated": false,
11269 "is_pov": false
11270 }
11271 ],
11272 "word_bit_width": 16
11273 },
11274 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011275 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011276 "records": [
11277 {
11278 "position_offset": 18,
11279 "field_name": "ethernet.ether_type",
11280 "field_msb": 15,
11281 "field_lsb": 0,
11282 "field_width": 2,
11283 "phv_msb": 15,
11284 "phv_lsb": 0,
11285 "is_compiler_generated": false,
11286 "is_pov": false
11287 }
11288 ],
11289 "word_bit_width": 16
11290 },
11291 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011292 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011293 "records": [
11294 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011295 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011296 "field_name": "vlan_tag.ether_type",
11297 "field_msb": 15,
11298 "field_lsb": 0,
11299 "field_width": 2,
11300 "phv_msb": 15,
11301 "phv_lsb": 0,
11302 "is_compiler_generated": false,
11303 "is_pov": false
11304 }
11305 ],
11306 "word_bit_width": 16
11307 },
11308 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011309 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011310 "records": [
11311 {
11312 "position_offset": 12,
11313 "field_name": "ethernet.dst_addr",
11314 "field_msb": 15,
11315 "field_lsb": 0,
11316 "field_width": 6,
11317 "phv_msb": 15,
11318 "phv_lsb": 0,
11319 "is_compiler_generated": false,
11320 "is_pov": false
11321 }
11322 ],
11323 "word_bit_width": 16
11324 },
11325 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011326 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011327 "records": [
11328 {
11329 "position_offset": 20,
11330 "field_name": "ethernet.src_addr",
11331 "field_msb": 15,
11332 "field_lsb": 0,
11333 "field_width": 6,
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 Casconeecb35762018-02-03 17:30:05 -080011343 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011344 "records": [
11345 {
11346 "position_offset": 29,
11347 "field_name": "fabric_metadata.l4_dst_port",
11348 "field_msb": 15,
11349 "field_lsb": 0,
11350 "field_width": 2,
11351 "phv_msb": 15,
11352 "phv_lsb": 0,
11353 "is_compiler_generated": false,
11354 "is_pov": false
11355 }
11356 ],
11357 "word_bit_width": 16
11358 },
11359 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011360 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011361 "records": [
11362 {
11363 "position_offset": 37,
11364 "field_name": "fabric_metadata.original_ether_type",
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 {
11377 "phv_number": 260,
11378 "records": [
11379 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011380 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011381 "field_name": "tcp.seq_no",
11382 "field_msb": 31,
11383 "field_lsb": 0,
11384 "field_width": 4,
11385 "phv_msb": 31,
11386 "phv_lsb": 0,
11387 "is_compiler_generated": false,
11388 "is_pov": false
11389 },
11390 {
11391 "position_offset": 50,
11392 "field_name": "icmp.timestamp",
11393 "field_msb": 31,
11394 "field_lsb": 0,
11395 "field_width": 8,
11396 "phv_msb": 31,
11397 "phv_lsb": 0,
11398 "is_compiler_generated": false,
11399 "is_pov": false
11400 }
11401 ],
11402 "word_bit_width": 32
11403 },
11404 {
11405 "phv_number": 261,
11406 "records": [
11407 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011408 "position_offset": 96,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011409 "field_name": "tcp.ack_no",
11410 "field_msb": 31,
11411 "field_lsb": 0,
11412 "field_width": 4,
11413 "phv_msb": 31,
11414 "phv_lsb": 0,
11415 "is_compiler_generated": false,
11416 "is_pov": false
11417 },
11418 {
11419 "position_offset": 50,
11420 "field_name": "icmp.timestamp",
11421 "field_msb": 63,
11422 "field_lsb": 32,
11423 "field_width": 8,
11424 "phv_msb": 31,
11425 "phv_lsb": 0,
11426 "is_compiler_generated": false,
11427 "is_pov": false
11428 }
11429 ],
11430 "word_bit_width": 32
11431 },
11432 {
11433 "phv_number": 292,
11434 "records": [
11435 {
11436 "position_offset": 3,
11437 "field_name": "arp.hw_addr_len",
11438 "field_msb": 7,
11439 "field_lsb": 0,
11440 "field_width": 1,
11441 "phv_msb": 7,
11442 "phv_lsb": 0,
11443 "is_compiler_generated": false,
11444 "is_pov": false
11445 },
11446 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011447 "position_offset": 85,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011448 "field_name": "ipv4.version",
11449 "field_msb": 7,
11450 "field_lsb": 0,
11451 "field_width": 1,
11452 "phv_msb": 7,
11453 "phv_lsb": 4,
11454 "is_compiler_generated": false,
11455 "is_pov": false
11456 },
11457 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011458 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011459 "field_name": "ipv4.ihl",
11460 "field_msb": 7,
11461 "field_lsb": 0,
11462 "field_width": 1,
11463 "phv_msb": 3,
11464 "phv_lsb": 0,
11465 "is_compiler_generated": false,
11466 "is_pov": false
11467 }
11468 ],
11469 "word_bit_width": 8
11470 },
11471 {
11472 "phv_number": 293,
11473 "records": [
11474 {
11475 "position_offset": 8,
11476 "field_name": "arp.proto_addr_len",
11477 "field_msb": 7,
11478 "field_lsb": 0,
11479 "field_width": 1,
11480 "phv_msb": 7,
11481 "phv_lsb": 0,
11482 "is_compiler_generated": false,
11483 "is_pov": false
11484 },
11485 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011486 "position_offset": 65,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011487 "field_name": "ipv4.diffserv",
11488 "field_msb": 7,
11489 "field_lsb": 0,
11490 "field_width": 1,
11491 "phv_msb": 7,
11492 "phv_lsb": 0,
11493 "is_compiler_generated": false,
11494 "is_pov": false
11495 }
11496 ],
11497 "word_bit_width": 8
11498 },
11499 {
11500 "phv_number": 294,
11501 "records": [
11502 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011503 "position_offset": 77,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011504 "field_name": "ipv4.protocol",
11505 "field_msb": 7,
11506 "field_lsb": 0,
11507 "field_width": 1,
11508 "phv_msb": 7,
11509 "phv_lsb": 0,
11510 "is_compiler_generated": false,
11511 "is_pov": false
11512 }
11513 ],
11514 "word_bit_width": 8
11515 },
11516 {
11517 "phv_number": 326,
11518 "records": [
11519 {
11520 "position_offset": 4,
11521 "field_name": "arp.hw_type",
11522 "field_msb": 15,
11523 "field_lsb": 0,
11524 "field_width": 2,
11525 "phv_msb": 15,
11526 "phv_lsb": 0,
11527 "is_compiler_generated": false,
11528 "is_pov": false
11529 },
11530 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011531 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011532 "field_name": "tcp.data_offset",
11533 "field_msb": 15,
11534 "field_lsb": 0,
11535 "field_width": 2,
11536 "phv_msb": 15,
11537 "phv_lsb": 12,
11538 "is_compiler_generated": false,
11539 "is_pov": false
11540 },
11541 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011542 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011543 "field_name": "tcp.res",
11544 "field_msb": 15,
11545 "field_lsb": 0,
11546 "field_width": 2,
11547 "phv_msb": 11,
11548 "phv_lsb": 9,
11549 "is_compiler_generated": false,
11550 "is_pov": false
11551 },
11552 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011553 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011554 "field_name": "tcp.ecn",
11555 "field_msb": 15,
11556 "field_lsb": 0,
11557 "field_width": 2,
11558 "phv_msb": 8,
11559 "phv_lsb": 6,
11560 "is_compiler_generated": false,
11561 "is_pov": false
11562 },
11563 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011564 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011565 "field_name": "tcp.ctrl",
11566 "field_msb": 15,
11567 "field_lsb": 0,
11568 "field_width": 2,
11569 "phv_msb": 5,
11570 "phv_lsb": 0,
11571 "is_compiler_generated": false,
11572 "is_pov": false
11573 },
11574 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011575 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011576 "field_name": "udp.src_port",
11577 "field_msb": 15,
11578 "field_lsb": 0,
11579 "field_width": 2,
11580 "phv_msb": 15,
11581 "phv_lsb": 0,
11582 "is_compiler_generated": false,
11583 "is_pov": false
11584 },
11585 {
11586 "position_offset": 42,
11587 "field_name": "icmp.checksum",
11588 "field_msb": 15,
11589 "field_lsb": 0,
11590 "field_width": 2,
11591 "phv_msb": 15,
11592 "phv_lsb": 0,
11593 "is_compiler_generated": false,
11594 "is_pov": false
11595 }
11596 ],
11597 "word_bit_width": 16
11598 },
11599 {
11600 "phv_number": 327,
11601 "records": [
11602 {
11603 "position_offset": 9,
11604 "field_name": "arp.proto_type",
11605 "field_msb": 15,
11606 "field_lsb": 0,
11607 "field_width": 2,
11608 "phv_msb": 15,
11609 "phv_lsb": 0,
11610 "is_compiler_generated": false,
11611 "is_pov": false
11612 },
11613 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011614 "position_offset": 116,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011615 "field_name": "tcp.src_port",
11616 "field_msb": 15,
11617 "field_lsb": 0,
11618 "field_width": 2,
11619 "phv_msb": 15,
11620 "phv_lsb": 0,
11621 "is_compiler_generated": false,
11622 "is_pov": false
11623 },
11624 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011625 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011626 "field_name": "udp.dst_port",
11627 "field_msb": 15,
11628 "field_lsb": 0,
11629 "field_width": 2,
11630 "phv_msb": 15,
11631 "phv_lsb": 0,
11632 "is_compiler_generated": false,
11633 "is_pov": false
11634 },
11635 {
11636 "position_offset": 46,
11637 "field_name": "icmp.identifier",
11638 "field_msb": 15,
11639 "field_lsb": 0,
11640 "field_width": 2,
11641 "phv_msb": 15,
11642 "phv_lsb": 0,
11643 "is_compiler_generated": false,
11644 "is_pov": false
11645 }
11646 ],
11647 "word_bit_width": 16
11648 },
11649 {
11650 "phv_number": 328,
11651 "records": [
11652 {
11653 "position_offset": 6,
11654 "field_name": "arp.opcode",
11655 "field_msb": 15,
11656 "field_lsb": 0,
11657 "field_width": 2,
11658 "phv_msb": 15,
11659 "phv_lsb": 0,
11660 "is_compiler_generated": false,
11661 "is_pov": false
11662 },
11663 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011664 "position_offset": 70,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011665 "field_name": "ipv4.flags",
11666 "field_msb": 15,
11667 "field_lsb": 0,
11668 "field_width": 2,
11669 "phv_msb": 15,
11670 "phv_lsb": 13,
11671 "is_compiler_generated": false,
11672 "is_pov": false
11673 },
11674 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011675 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011676 "field_name": "ipv4.frag_offset",
11677 "field_msb": 15,
11678 "field_lsb": 0,
11679 "field_width": 2,
11680 "phv_msb": 12,
11681 "phv_lsb": 0,
11682 "is_compiler_generated": false,
11683 "is_pov": false
11684 }
11685 ],
11686 "word_bit_width": 16
11687 },
11688 {
11689 "phv_number": 329,
11690 "records": [
11691 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011692 "position_offset": 82,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011693 "field_name": "ipv4.total_len",
11694 "field_msb": 15,
11695 "field_lsb": 0,
11696 "field_width": 2,
11697 "phv_msb": 15,
11698 "phv_lsb": 0,
11699 "is_compiler_generated": false,
11700 "is_pov": false
11701 }
11702 ],
11703 "word_bit_width": 16
11704 },
11705 {
11706 "phv_number": 330,
11707 "records": [
11708 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011709 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011710 "field_name": "ipv4.identification",
11711 "field_msb": 15,
11712 "field_lsb": 0,
11713 "field_width": 2,
11714 "phv_msb": 15,
11715 "phv_lsb": 0,
11716 "is_compiler_generated": false,
11717 "is_pov": false
11718 }
11719 ],
11720 "word_bit_width": 16
11721 },
11722 {
11723 "phv_number": 331,
11724 "records": [
11725 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011726 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011727 "field_name": "tcp.dst_port",
11728 "field_msb": 15,
11729 "field_lsb": 0,
11730 "field_width": 2,
11731 "phv_msb": 15,
11732 "phv_lsb": 0,
11733 "is_compiler_generated": false,
11734 "is_pov": false
11735 },
11736 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011737 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011738 "field_name": "udp.len",
11739 "field_msb": 15,
11740 "field_lsb": 0,
11741 "field_width": 2,
11742 "phv_msb": 15,
11743 "phv_lsb": 0,
11744 "is_compiler_generated": false,
11745 "is_pov": false
11746 },
11747 {
11748 "position_offset": 48,
11749 "field_name": "icmp.sequence_number",
11750 "field_msb": 15,
11751 "field_lsb": 0,
11752 "field_width": 2,
11753 "phv_msb": 15,
11754 "phv_lsb": 0,
11755 "is_compiler_generated": false,
11756 "is_pov": false
11757 }
11758 ],
11759 "word_bit_width": 16
11760 },
11761 {
11762 "phv_number": 338,
11763 "records": [
11764 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011765 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011766 "field_name": "tcp.window",
11767 "field_msb": 15,
11768 "field_lsb": 0,
11769 "field_width": 2,
11770 "phv_msb": 15,
11771 "phv_lsb": 0,
11772 "is_compiler_generated": false,
11773 "is_pov": false
11774 },
11775 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011776 "position_offset": 123,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011777 "field_name": "udp.checksum",
11778 "field_msb": 15,
11779 "field_lsb": 0,
11780 "field_width": 2,
11781 "phv_msb": 15,
11782 "phv_lsb": 0,
11783 "is_compiler_generated": false,
11784 "is_pov": false
11785 }
11786 ],
11787 "word_bit_width": 16
11788 },
11789 {
11790 "phv_number": 339,
11791 "records": [
11792 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011793 "position_offset": 100,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011794 "field_name": "tcp.checksum",
11795 "field_msb": 15,
11796 "field_lsb": 0,
11797 "field_width": 2,
11798 "phv_msb": 15,
11799 "phv_lsb": 0,
11800 "is_compiler_generated": false,
11801 "is_pov": false
11802 }
11803 ],
11804 "word_bit_width": 16
11805 },
11806 {
11807 "phv_number": 340,
11808 "records": [
11809 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080011810 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -080011811 "field_name": "tcp.urgent_ptr",
11812 "field_msb": 15,
11813 "field_lsb": 0,
11814 "field_width": 2,
11815 "phv_msb": 15,
11816 "phv_lsb": 0,
11817 "is_compiler_generated": false,
11818 "is_pov": false
11819 }
11820 ],
11821 "word_bit_width": 16
11822 }
11823 ],
11824 "egress": [
11825 {
11826 "phv_number": 80,
11827 "records": [
11828 {
11829 "position_offset": 0,
11830 "field_name": "POV",
11831 "field_msb": 7,
11832 "field_lsb": 0,
11833 "field_width": 0,
11834 "phv_msb": 0,
11835 "phv_lsb": 0,
11836 "is_compiler_generated": false,
11837 "is_pov": true,
11838 "pov_headers": [
11839 {
11840 "bit_index": 0,
11841 "position_offset": 0,
11842 "header_name": "arp",
11843 "hidden": false
11844 }
11845 ]
11846 },
11847 {
11848 "position_offset": 0,
11849 "field_name": "POV",
11850 "field_msb": 7,
11851 "field_lsb": 0,
11852 "field_width": 0,
11853 "phv_msb": 2,
11854 "phv_lsb": 2,
11855 "is_compiler_generated": false,
11856 "is_pov": true,
11857 "pov_headers": [
11858 {
11859 "bit_index": 2,
11860 "position_offset": 11,
11861 "header_name": "ethernet",
11862 "hidden": false
11863 }
11864 ]
11865 },
11866 {
11867 "position_offset": 0,
11868 "field_name": "POV",
11869 "field_msb": 7,
11870 "field_lsb": 0,
11871 "field_width": 0,
11872 "phv_msb": 3,
11873 "phv_lsb": 3,
11874 "is_compiler_generated": false,
11875 "is_pov": true,
11876 "pov_headers": [
11877 {
11878 "bit_index": 3,
11879 "position_offset": 26,
11880 "header_name": "icmp",
11881 "hidden": false
11882 }
11883 ]
11884 },
11885 {
11886 "position_offset": 0,
11887 "field_name": "POV",
11888 "field_msb": 7,
11889 "field_lsb": 0,
11890 "field_width": 0,
11891 "phv_msb": 5,
11892 "phv_lsb": 5,
11893 "is_compiler_generated": false,
11894 "is_pov": true,
11895 "pov_headers": [
11896 {
11897 "bit_index": 5,
11898 "position_offset": 45,
11899 "header_name": "ipv4",
11900 "hidden": false
11901 }
11902 ]
11903 },
11904 {
11905 "position_offset": 0,
11906 "field_name": "POV",
11907 "field_msb": 7,
11908 "field_lsb": 0,
11909 "field_width": 0,
11910 "phv_msb": 6,
11911 "phv_lsb": 6,
11912 "is_compiler_generated": false,
11913 "is_pov": true,
11914 "pov_headers": [
11915 {
11916 "bit_index": 6,
11917 "position_offset": 67,
11918 "header_name": "mpls",
11919 "hidden": false
11920 }
11921 ]
11922 },
11923 {
11924 "position_offset": 0,
11925 "field_name": "POV",
11926 "field_msb": 7,
11927 "field_lsb": 0,
11928 "field_width": 0,
11929 "phv_msb": 7,
11930 "phv_lsb": 7,
11931 "is_compiler_generated": false,
11932 "is_pov": true,
11933 "pov_headers": [
11934 {
11935 "bit_index": 7,
11936 "position_offset": 73,
11937 "header_name": "packet_in",
11938 "hidden": false
11939 }
11940 ]
11941 }
11942 ],
11943 "word_bit_width": 8
11944 },
11945 {
11946 "phv_number": 81,
11947 "records": [
11948 {
11949 "position_offset": 0,
11950 "field_name": "POV",
11951 "field_msb": 7,
11952 "field_lsb": 0,
11953 "field_width": 0,
11954 "phv_msb": 0,
11955 "phv_lsb": 0,
11956 "is_compiler_generated": false,
11957 "is_pov": true,
11958 "pov_headers": [
11959 {
11960 "bit_index": 0,
11961 "position_offset": 78,
11962 "header_name": "tcp",
11963 "hidden": false
11964 }
11965 ]
11966 },
11967 {
11968 "position_offset": 0,
11969 "field_name": "POV",
11970 "field_msb": 7,
11971 "field_lsb": 0,
11972 "field_width": 0,
11973 "phv_msb": 1,
11974 "phv_lsb": 1,
11975 "is_compiler_generated": false,
11976 "is_pov": true,
11977 "pov_headers": [
11978 {
11979 "bit_index": 1,
11980 "position_offset": 105,
11981 "header_name": "udp",
11982 "hidden": false
11983 }
11984 ]
11985 },
11986 {
11987 "position_offset": 0,
11988 "field_name": "POV",
11989 "field_msb": 7,
11990 "field_lsb": 0,
11991 "field_width": 0,
11992 "phv_msb": 2,
11993 "phv_lsb": 2,
11994 "is_compiler_generated": false,
11995 "is_pov": true,
11996 "pov_headers": [
11997 {
11998 "bit_index": 2,
11999 "position_offset": 114,
12000 "header_name": "vlan_tag",
12001 "hidden": false
12002 }
12003 ]
12004 }
12005 ],
12006 "word_bit_width": 8
12007 },
12008 {
12009 "phv_number": 144,
12010 "records": [
12011 {
12012 "position_offset": 9,
12013 "field_name": "eg_intr_md.egress_port",
12014 "field_msb": 15,
12015 "field_lsb": 0,
12016 "field_width": 2,
12017 "phv_msb": 8,
12018 "phv_lsb": 0,
12019 "is_compiler_generated": false,
12020 "is_pov": false
12021 }
12022 ],
12023 "word_bit_width": 16
12024 },
12025 {
12026 "phv_number": 145,
12027 "records": [
12028 {
12029 "position_offset": 76,
12030 "field_name": "packet_in.ingress_port",
12031 "field_msb": 15,
12032 "field_lsb": 0,
12033 "field_width": 2,
12034 "phv_msb": 15,
12035 "phv_lsb": 7,
12036 "is_compiler_generated": false,
12037 "is_pov": false
12038 },
12039 {
12040 "position_offset": 74,
12041 "field_name": "packet_in._pad",
12042 "field_msb": 15,
12043 "field_lsb": 0,
12044 "field_width": 2,
12045 "phv_msb": 6,
12046 "phv_lsb": 0,
12047 "is_compiler_generated": false,
12048 "is_pov": false
12049 }
12050 ],
12051 "word_bit_width": 16
12052 },
12053 {
12054 "phv_number": 146,
12055 "records": [
12056 {
12057 "position_offset": 43,
12058 "field_name": "ig_intr_md.ingress_port",
12059 "field_msb": 15,
12060 "field_lsb": 0,
12061 "field_width": 2,
12062 "phv_msb": 8,
12063 "phv_lsb": 0,
12064 "is_compiler_generated": false,
12065 "is_pov": false
12066 }
12067 ],
12068 "word_bit_width": 16
12069 },
12070 {
12071 "phv_number": 256,
12072 "records": [
12073 {
12074 "position_offset": 12,
12075 "field_name": "ethernet.dst_addr",
12076 "field_msb": 47,
12077 "field_lsb": 16,
12078 "field_width": 6,
12079 "phv_msb": 31,
12080 "phv_lsb": 0,
12081 "is_compiler_generated": false,
12082 "is_pov": false
12083 }
12084 ],
12085 "word_bit_width": 32
12086 },
12087 {
12088 "phv_number": 257,
12089 "records": [
12090 {
12091 "position_offset": 20,
12092 "field_name": "ethernet.src_addr",
12093 "field_msb": 47,
12094 "field_lsb": 16,
12095 "field_width": 6,
12096 "phv_msb": 31,
12097 "phv_lsb": 0,
12098 "is_compiler_generated": false,
12099 "is_pov": false
12100 }
12101 ],
12102 "word_bit_width": 32
12103 },
12104 {
12105 "phv_number": 258,
12106 "records": [
12107 {
12108 "position_offset": 59,
12109 "field_name": "ipv4.src_addr",
12110 "field_msb": 31,
12111 "field_lsb": 0,
12112 "field_width": 4,
12113 "phv_msb": 31,
12114 "phv_lsb": 0,
12115 "is_compiler_generated": false,
12116 "is_pov": false
12117 }
12118 ],
12119 "word_bit_width": 32
12120 },
12121 {
12122 "phv_number": 259,
12123 "records": [
12124 {
12125 "position_offset": 47,
12126 "field_name": "ipv4.dst_addr",
12127 "field_msb": 31,
12128 "field_lsb": 0,
12129 "field_width": 4,
12130 "phv_msb": 31,
12131 "phv_lsb": 0,
12132 "is_compiler_generated": false,
12133 "is_pov": false
12134 }
12135 ],
12136 "word_bit_width": 32
12137 },
12138 {
12139 "phv_number": 264,
12140 "records": [
12141 {
12142 "position_offset": 95,
12143 "field_name": "tcp.seq_no",
12144 "field_msb": 31,
12145 "field_lsb": 0,
12146 "field_width": 4,
12147 "phv_msb": 31,
12148 "phv_lsb": 0,
12149 "is_compiler_generated": false,
12150 "is_pov": false
12151 },
12152 {
12153 "position_offset": 35,
12154 "field_name": "icmp.timestamp",
12155 "field_msb": 31,
12156 "field_lsb": 0,
12157 "field_width": 8,
12158 "phv_msb": 31,
12159 "phv_lsb": 0,
12160 "is_compiler_generated": false,
12161 "is_pov": false
12162 }
12163 ],
12164 "word_bit_width": 32
12165 },
12166 {
12167 "phv_number": 265,
12168 "records": [
12169 {
12170 "position_offset": 79,
12171 "field_name": "tcp.ack_no",
12172 "field_msb": 31,
12173 "field_lsb": 0,
12174 "field_width": 4,
12175 "phv_msb": 31,
12176 "phv_lsb": 0,
12177 "is_compiler_generated": false,
12178 "is_pov": false
12179 },
12180 {
12181 "position_offset": 35,
12182 "field_name": "icmp.timestamp",
12183 "field_msb": 63,
12184 "field_lsb": 32,
12185 "field_width": 8,
12186 "phv_msb": 31,
12187 "phv_lsb": 0,
12188 "is_compiler_generated": false,
12189 "is_pov": false
12190 }
12191 ],
12192 "word_bit_width": 32
12193 },
12194 {
12195 "phv_number": 288,
12196 "records": [
12197 {
12198 "position_offset": 1,
12199 "field_name": "arp.hw_addr_len",
12200 "field_msb": 7,
12201 "field_lsb": 0,
12202 "field_width": 1,
12203 "phv_msb": 7,
12204 "phv_lsb": 0,
12205 "is_compiler_generated": false,
12206 "is_pov": false
12207 },
12208 {
12209 "position_offset": 66,
12210 "field_name": "ipv4.version",
12211 "field_msb": 7,
12212 "field_lsb": 0,
12213 "field_width": 1,
12214 "phv_msb": 7,
12215 "phv_lsb": 4,
12216 "is_compiler_generated": false,
12217 "is_pov": false
12218 },
12219 {
12220 "position_offset": 57,
12221 "field_name": "ipv4.ihl",
12222 "field_msb": 7,
12223 "field_lsb": 0,
12224 "field_width": 1,
12225 "phv_msb": 3,
12226 "phv_lsb": 0,
12227 "is_compiler_generated": false,
12228 "is_pov": false
12229 }
12230 ],
12231 "word_bit_width": 8
12232 },
12233 {
12234 "phv_number": 289,
12235 "records": [
12236 {
12237 "position_offset": 6,
12238 "field_name": "arp.proto_addr_len",
12239 "field_msb": 7,
12240 "field_lsb": 0,
12241 "field_width": 1,
12242 "phv_msb": 7,
12243 "phv_lsb": 0,
12244 "is_compiler_generated": false,
12245 "is_pov": false
12246 },
12247 {
12248 "position_offset": 30,
12249 "field_name": "icmp.icmp_type",
12250 "field_msb": 7,
12251 "field_lsb": 0,
12252 "field_width": 1,
12253 "phv_msb": 7,
12254 "phv_lsb": 0,
12255 "is_compiler_generated": false,
12256 "is_pov": false
12257 }
12258 ],
12259 "word_bit_width": 8
12260 },
12261 {
12262 "phv_number": 290,
12263 "records": [
12264 {
12265 "position_offset": 46,
12266 "field_name": "ipv4.diffserv",
12267 "field_msb": 7,
12268 "field_lsb": 0,
12269 "field_width": 1,
12270 "phv_msb": 7,
12271 "phv_lsb": 0,
12272 "is_compiler_generated": false,
12273 "is_pov": false
12274 }
12275 ],
12276 "word_bit_width": 8
12277 },
12278 {
12279 "phv_number": 291,
12280 "records": [
12281 {
12282 "position_offset": 29,
12283 "field_name": "icmp.icmp_code",
12284 "field_msb": 7,
12285 "field_lsb": 0,
12286 "field_width": 1,
12287 "phv_msb": 7,
12288 "phv_lsb": 0,
12289 "is_compiler_generated": false,
12290 "is_pov": false
12291 }
12292 ],
12293 "word_bit_width": 8
12294 },
12295 {
12296 "phv_number": 296,
12297 "records": [
12298 {
12299 "position_offset": 69,
12300 "field_name": "mpls.label",
12301 "field_msb": 3,
12302 "field_lsb": 0,
12303 "field_width": 2,
12304 "phv_msb": 7,
12305 "phv_lsb": 4,
12306 "is_compiler_generated": false,
12307 "is_pov": false
12308 },
12309 {
12310 "position_offset": 71,
12311 "field_name": "mpls.tc",
12312 "field_msb": 7,
12313 "field_lsb": 0,
12314 "field_width": 1,
12315 "phv_msb": 3,
12316 "phv_lsb": 1,
12317 "is_compiler_generated": false,
12318 "is_pov": false
12319 },
12320 {
12321 "position_offset": 68,
12322 "field_name": "mpls.bos",
12323 "field_msb": 7,
12324 "field_lsb": 0,
12325 "field_width": 1,
12326 "phv_msb": 0,
12327 "phv_lsb": 0,
12328 "is_compiler_generated": false,
12329 "is_pov": false
12330 }
12331 ],
12332 "word_bit_width": 8
12333 },
12334 {
12335 "phv_number": 297,
12336 "records": [
12337 {
12338 "position_offset": 65,
12339 "field_name": "ipv4.ttl",
12340 "field_msb": 7,
12341 "field_lsb": 0,
12342 "field_width": 1,
12343 "phv_msb": 7,
12344 "phv_lsb": 0,
12345 "is_compiler_generated": false,
12346 "is_pov": false
12347 }
12348 ],
12349 "word_bit_width": 8
12350 },
12351 {
12352 "phv_number": 298,
12353 "records": [
12354 {
12355 "position_offset": 58,
12356 "field_name": "ipv4.protocol",
12357 "field_msb": 7,
12358 "field_lsb": 0,
12359 "field_width": 1,
12360 "phv_msb": 7,
12361 "phv_lsb": 0,
12362 "is_compiler_generated": false,
12363 "is_pov": false
12364 }
12365 ],
12366 "word_bit_width": 8
12367 },
12368 {
12369 "phv_number": 299,
12370 "records": [
12371 {
12372 "position_offset": 72,
12373 "field_name": "mpls.ttl",
12374 "field_msb": 7,
12375 "field_lsb": 0,
12376 "field_width": 1,
12377 "phv_msb": 7,
12378 "phv_lsb": 0,
12379 "is_compiler_generated": false,
12380 "is_pov": false
12381 }
12382 ],
12383 "word_bit_width": 8
12384 },
12385 {
12386 "phv_number": 320,
12387 "records": [
12388 {
12389 "position_offset": 119,
12390 "field_name": "vlan_tag.pri",
12391 "field_msb": 15,
12392 "field_lsb": 0,
12393 "field_width": 2,
12394 "phv_msb": 15,
12395 "phv_lsb": 13,
12396 "is_compiler_generated": false,
12397 "is_pov": false
12398 },
12399 {
12400 "position_offset": 115,
12401 "field_name": "vlan_tag.cfi",
12402 "field_msb": 15,
12403 "field_lsb": 0,
12404 "field_width": 2,
12405 "phv_msb": 12,
12406 "phv_lsb": 12,
12407 "is_compiler_generated": false,
12408 "is_pov": false
12409 },
12410 {
12411 "position_offset": 121,
12412 "field_name": "vlan_tag.vlan_id",
12413 "field_msb": 15,
12414 "field_lsb": 0,
12415 "field_width": 2,
12416 "phv_msb": 11,
12417 "phv_lsb": 0,
12418 "is_compiler_generated": false,
12419 "is_pov": false
12420 }
12421 ],
12422 "word_bit_width": 16
12423 },
12424 {
12425 "phv_number": 321,
12426 "records": [
12427 {
12428 "position_offset": 2,
12429 "field_name": "arp.hw_type",
12430 "field_msb": 15,
12431 "field_lsb": 0,
12432 "field_width": 2,
12433 "phv_msb": 15,
12434 "phv_lsb": 0,
12435 "is_compiler_generated": false,
12436 "is_pov": false
12437 },
12438 {
12439 "position_offset": 99,
12440 "field_name": "tcp.src_port",
12441 "field_msb": 15,
12442 "field_lsb": 0,
12443 "field_width": 2,
12444 "phv_msb": 15,
12445 "phv_lsb": 0,
12446 "is_compiler_generated": false,
12447 "is_pov": false
12448 },
12449 {
12450 "position_offset": 112,
12451 "field_name": "udp.src_port",
12452 "field_msb": 15,
12453 "field_lsb": 0,
12454 "field_width": 2,
12455 "phv_msb": 15,
12456 "phv_lsb": 0,
12457 "is_compiler_generated": false,
12458 "is_pov": false
12459 },
12460 {
12461 "position_offset": 27,
12462 "field_name": "icmp.checksum",
12463 "field_msb": 15,
12464 "field_lsb": 0,
12465 "field_width": 2,
12466 "phv_msb": 15,
12467 "phv_lsb": 0,
12468 "is_compiler_generated": false,
12469 "is_pov": false
12470 }
12471 ],
12472 "word_bit_width": 16
12473 },
12474 {
12475 "phv_number": 322,
12476 "records": [
12477 {
12478 "position_offset": 7,
12479 "field_name": "arp.proto_type",
12480 "field_msb": 15,
12481 "field_lsb": 0,
12482 "field_width": 2,
12483 "phv_msb": 15,
12484 "phv_lsb": 0,
12485 "is_compiler_generated": false,
12486 "is_pov": false
12487 },
12488 {
12489 "position_offset": 69,
12490 "field_name": "mpls.label",
12491 "field_msb": 19,
12492 "field_lsb": 4,
12493 "field_width": 2,
12494 "phv_msb": 15,
12495 "phv_lsb": 0,
12496 "is_compiler_generated": false,
12497 "is_pov": false
12498 }
12499 ],
12500 "word_bit_width": 16
12501 },
12502 {
12503 "phv_number": 323,
12504 "records": [
12505 {
12506 "position_offset": 4,
12507 "field_name": "arp.opcode",
12508 "field_msb": 15,
12509 "field_lsb": 0,
12510 "field_width": 2,
12511 "phv_msb": 15,
12512 "phv_lsb": 0,
12513 "is_compiler_generated": false,
12514 "is_pov": false
12515 },
12516 {
12517 "position_offset": 87,
12518 "field_name": "tcp.data_offset",
12519 "field_msb": 15,
12520 "field_lsb": 0,
12521 "field_width": 2,
12522 "phv_msb": 15,
12523 "phv_lsb": 12,
12524 "is_compiler_generated": false,
12525 "is_pov": false
12526 },
12527 {
12528 "position_offset": 93,
12529 "field_name": "tcp.res",
12530 "field_msb": 15,
12531 "field_lsb": 0,
12532 "field_width": 2,
12533 "phv_msb": 11,
12534 "phv_lsb": 9,
12535 "is_compiler_generated": false,
12536 "is_pov": false
12537 },
12538 {
12539 "position_offset": 91,
12540 "field_name": "tcp.ecn",
12541 "field_msb": 15,
12542 "field_lsb": 0,
12543 "field_width": 2,
12544 "phv_msb": 8,
12545 "phv_lsb": 6,
12546 "is_compiler_generated": false,
12547 "is_pov": false
12548 },
12549 {
12550 "position_offset": 85,
12551 "field_name": "tcp.ctrl",
12552 "field_msb": 15,
12553 "field_lsb": 0,
12554 "field_width": 2,
12555 "phv_msb": 5,
12556 "phv_lsb": 0,
12557 "is_compiler_generated": false,
12558 "is_pov": false
12559 },
12560 {
12561 "position_offset": 108,
12562 "field_name": "udp.dst_port",
12563 "field_msb": 15,
12564 "field_lsb": 0,
12565 "field_width": 2,
12566 "phv_msb": 15,
12567 "phv_lsb": 0,
12568 "is_compiler_generated": false,
12569 "is_pov": false
12570 },
12571 {
12572 "position_offset": 31,
12573 "field_name": "icmp.identifier",
12574 "field_msb": 15,
12575 "field_lsb": 0,
12576 "field_width": 2,
12577 "phv_msb": 15,
12578 "phv_lsb": 0,
12579 "is_compiler_generated": false,
12580 "is_pov": false
12581 }
12582 ],
12583 "word_bit_width": 16
12584 },
12585 {
12586 "phv_number": 324,
12587 "records": [
12588 {
12589 "position_offset": 51,
12590 "field_name": "ipv4.flags",
12591 "field_msb": 15,
12592 "field_lsb": 0,
12593 "field_width": 2,
12594 "phv_msb": 15,
12595 "phv_lsb": 13,
12596 "is_compiler_generated": false,
12597 "is_pov": false
12598 },
12599 {
12600 "position_offset": 53,
12601 "field_name": "ipv4.frag_offset",
12602 "field_msb": 15,
12603 "field_lsb": 0,
12604 "field_width": 2,
12605 "phv_msb": 12,
12606 "phv_lsb": 0,
12607 "is_compiler_generated": false,
12608 "is_pov": false
12609 }
12610 ],
12611 "word_bit_width": 16
12612 },
12613 {
12614 "phv_number": 325,
12615 "records": [
12616 {
12617 "position_offset": 12,
12618 "field_name": "ethernet.dst_addr",
12619 "field_msb": 15,
12620 "field_lsb": 0,
12621 "field_width": 6,
12622 "phv_msb": 15,
12623 "phv_lsb": 0,
12624 "is_compiler_generated": false,
12625 "is_pov": false
12626 }
12627 ],
12628 "word_bit_width": 16
12629 },
12630 {
12631 "phv_number": 332,
12632 "records": [
12633 {
12634 "position_offset": 20,
12635 "field_name": "ethernet.src_addr",
12636 "field_msb": 15,
12637 "field_lsb": 0,
12638 "field_width": 6,
12639 "phv_msb": 15,
12640 "phv_lsb": 0,
12641 "is_compiler_generated": false,
12642 "is_pov": false
12643 }
12644 ],
12645 "word_bit_width": 16
12646 },
12647 {
12648 "phv_number": 333,
12649 "records": [
12650 {
12651 "position_offset": 18,
12652 "field_name": "ethernet.ether_type",
12653 "field_msb": 15,
12654 "field_lsb": 0,
12655 "field_width": 2,
12656 "phv_msb": 15,
12657 "phv_lsb": 0,
12658 "is_compiler_generated": false,
12659 "is_pov": false
12660 }
12661 ],
12662 "word_bit_width": 16
12663 },
12664 {
12665 "phv_number": 334,
12666 "records": [
12667 {
12668 "position_offset": 117,
12669 "field_name": "vlan_tag.ether_type",
12670 "field_msb": 15,
12671 "field_lsb": 0,
12672 "field_width": 2,
12673 "phv_msb": 15,
12674 "phv_lsb": 0,
12675 "is_compiler_generated": false,
12676 "is_pov": false
12677 }
12678 ],
12679 "word_bit_width": 16
12680 },
12681 {
12682 "phv_number": 335,
12683 "records": [
12684 {
12685 "position_offset": 63,
12686 "field_name": "ipv4.total_len",
12687 "field_msb": 15,
12688 "field_lsb": 0,
12689 "field_width": 2,
12690 "phv_msb": 15,
12691 "phv_lsb": 0,
12692 "is_compiler_generated": false,
12693 "is_pov": false
12694 }
12695 ],
12696 "word_bit_width": 16
12697 },
12698 {
12699 "phv_number": 336,
12700 "records": [
12701 {
12702 "position_offset": 55,
12703 "field_name": "ipv4.identification",
12704 "field_msb": 15,
12705 "field_lsb": 0,
12706 "field_width": 2,
12707 "phv_msb": 15,
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": 337,
12717 "records": [
12718 {
12719 "position_offset": 89,
12720 "field_name": "tcp.dst_port",
12721 "field_msb": 15,
12722 "field_lsb": 0,
12723 "field_width": 2,
12724 "phv_msb": 15,
12725 "phv_lsb": 0,
12726 "is_compiler_generated": false,
12727 "is_pov": false
12728 },
12729 {
12730 "position_offset": 110,
12731 "field_name": "udp.len",
12732 "field_msb": 15,
12733 "field_lsb": 0,
12734 "field_width": 2,
12735 "phv_msb": 15,
12736 "phv_lsb": 0,
12737 "is_compiler_generated": false,
12738 "is_pov": false
12739 },
12740 {
12741 "position_offset": 33,
12742 "field_name": "icmp.sequence_number",
12743 "field_msb": 15,
12744 "field_lsb": 0,
12745 "field_width": 2,
12746 "phv_msb": 15,
12747 "phv_lsb": 0,
12748 "is_compiler_generated": false,
12749 "is_pov": false
12750 }
12751 ],
12752 "word_bit_width": 16
12753 },
12754 {
12755 "phv_number": 344,
12756 "records": [
12757 {
12758 "position_offset": 103,
12759 "field_name": "tcp.window",
12760 "field_msb": 15,
12761 "field_lsb": 0,
12762 "field_width": 2,
12763 "phv_msb": 15,
12764 "phv_lsb": 0,
12765 "is_compiler_generated": false,
12766 "is_pov": false
12767 },
12768 {
12769 "position_offset": 106,
12770 "field_name": "udp.checksum",
12771 "field_msb": 15,
12772 "field_lsb": 0,
12773 "field_width": 2,
12774 "phv_msb": 15,
12775 "phv_lsb": 0,
12776 "is_compiler_generated": false,
12777 "is_pov": false
12778 }
12779 ],
12780 "word_bit_width": 16
12781 },
12782 {
12783 "phv_number": 345,
12784 "records": [
12785 {
12786 "position_offset": 83,
12787 "field_name": "tcp.checksum",
12788 "field_msb": 15,
12789 "field_lsb": 0,
12790 "field_width": 2,
12791 "phv_msb": 15,
12792 "phv_lsb": 0,
12793 "is_compiler_generated": false,
12794 "is_pov": false
12795 }
12796 ],
12797 "word_bit_width": 16
12798 },
12799 {
12800 "phv_number": 346,
12801 "records": [
12802 {
12803 "position_offset": 101,
12804 "field_name": "tcp.urgent_ptr",
12805 "field_msb": 15,
12806 "field_lsb": 0,
12807 "field_width": 2,
12808 "phv_msb": 15,
12809 "phv_lsb": 0,
12810 "is_compiler_generated": false,
12811 "is_pov": false
12812 }
12813 ],
12814 "word_bit_width": 16
12815 }
12816 ],
12817 "stage_number": 5
12818 },
12819 {
12820 "ingress": [
12821 {
12822 "phv_number": 0,
12823 "records": [
12824 {
12825 "position_offset": 12,
12826 "field_name": "ethernet.dst_addr",
12827 "field_msb": 47,
12828 "field_lsb": 16,
12829 "field_width": 6,
12830 "phv_msb": 31,
12831 "phv_lsb": 0,
12832 "is_compiler_generated": false,
12833 "is_pov": false
12834 }
12835 ],
12836 "word_bit_width": 32
12837 },
12838 {
12839 "phv_number": 1,
12840 "records": [
12841 {
12842 "position_offset": 20,
12843 "field_name": "ethernet.src_addr",
12844 "field_msb": 47,
12845 "field_lsb": 16,
12846 "field_width": 6,
12847 "phv_msb": 31,
12848 "phv_lsb": 0,
12849 "is_compiler_generated": false,
12850 "is_pov": false
12851 }
12852 ],
12853 "word_bit_width": 32
12854 },
12855 {
12856 "phv_number": 2,
12857 "records": [
12858 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080012859 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -080012860 "field_name": "ipv4.src_addr",
12861 "field_msb": 31,
12862 "field_lsb": 0,
12863 "field_width": 4,
12864 "phv_msb": 31,
12865 "phv_lsb": 0,
12866 "is_compiler_generated": false,
12867 "is_pov": false
12868 }
12869 ],
12870 "word_bit_width": 32
12871 },
12872 {
12873 "phv_number": 3,
12874 "records": [
12875 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080012876 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -080012877 "field_name": "ipv4.dst_addr",
12878 "field_msb": 31,
12879 "field_lsb": 0,
12880 "field_width": 4,
12881 "phv_msb": 31,
12882 "phv_lsb": 0,
12883 "is_compiler_generated": false,
12884 "is_pov": false
12885 }
12886 ],
12887 "word_bit_width": 32
12888 },
12889 {
12890 "phv_number": 4,
12891 "records": [
12892 {
12893 "position_offset": 33,
12894 "field_name": "fabric_metadata.next_id",
12895 "field_msb": 31,
12896 "field_lsb": 0,
12897 "field_width": 4,
12898 "phv_msb": 31,
12899 "phv_lsb": 0,
12900 "is_compiler_generated": false,
12901 "is_pov": false
12902 }
12903 ],
12904 "word_bit_width": 32
12905 },
12906 {
12907 "phv_number": 64,
12908 "records": [
12909 {
12910 "position_offset": 45,
12911 "field_name": "icmp.icmp_type",
12912 "field_msb": 7,
12913 "field_lsb": 0,
12914 "field_width": 1,
12915 "phv_msb": 7,
12916 "phv_lsb": 0,
12917 "is_compiler_generated": false,
12918 "is_pov": false
12919 }
12920 ],
12921 "word_bit_width": 8
12922 },
12923 {
12924 "phv_number": 65,
12925 "records": [
12926 {
12927 "position_offset": 44,
12928 "field_name": "icmp.icmp_code",
12929 "field_msb": 7,
12930 "field_lsb": 0,
12931 "field_width": 1,
12932 "phv_msb": 7,
12933 "phv_lsb": 0,
12934 "is_compiler_generated": false,
12935 "is_pov": false
12936 }
12937 ],
12938 "word_bit_width": 8
12939 },
12940 {
12941 "phv_number": 66,
12942 "records": [
12943 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080012944 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080012945 "field_name": "mpls.label",
12946 "field_msb": 3,
12947 "field_lsb": 0,
12948 "field_width": 2,
12949 "phv_msb": 7,
12950 "phv_lsb": 4,
12951 "is_compiler_generated": false,
12952 "is_pov": false
12953 },
12954 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080012955 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080012956 "field_name": "mpls.tc",
12957 "field_msb": 7,
12958 "field_lsb": 0,
12959 "field_width": 1,
12960 "phv_msb": 3,
12961 "phv_lsb": 1,
12962 "is_compiler_generated": false,
12963 "is_pov": false
12964 },
12965 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080012966 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -080012967 "field_name": "mpls.bos",
12968 "field_msb": 7,
12969 "field_lsb": 0,
12970 "field_width": 1,
12971 "phv_msb": 0,
12972 "phv_lsb": 0,
12973 "is_compiler_generated": false,
12974 "is_pov": false
12975 }
12976 ],
12977 "word_bit_width": 8
12978 },
12979 {
12980 "phv_number": 67,
12981 "records": [
12982 {
12983 "position_offset": 1,
12984 "field_name": "$bridged_metadata_indicator",
12985 "field_msb": 7,
12986 "field_lsb": 0,
12987 "field_width": 1,
12988 "phv_msb": 7,
12989 "phv_lsb": 0,
12990 "is_compiler_generated": false,
12991 "is_pov": false
12992 }
12993 ],
12994 "word_bit_width": 8
12995 },
12996 {
12997 "phv_number": 68,
12998 "records": [
12999 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013000 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013001 "field_name": "ipv4.ttl",
13002 "field_msb": 7,
13003 "field_lsb": 0,
13004 "field_width": 1,
13005 "phv_msb": 7,
13006 "phv_lsb": 0,
13007 "is_compiler_generated": false,
13008 "is_pov": false
13009 }
13010 ],
13011 "word_bit_width": 8
13012 },
13013 {
13014 "phv_number": 69,
13015 "records": [
13016 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013017 "position_offset": 91,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013018 "field_name": "mpls.ttl",
13019 "field_msb": 7,
13020 "field_lsb": 0,
13021 "field_width": 1,
13022 "phv_msb": 7,
13023 "phv_lsb": 0,
13024 "is_compiler_generated": false,
13025 "is_pov": false
13026 }
13027 ],
13028 "word_bit_width": 8
13029 },
13030 {
13031 "phv_number": 70,
13032 "records": [
13033 {
13034 "position_offset": 28,
13035 "field_name": "fabric_metadata.ip_proto",
13036 "field_msb": 7,
13037 "field_lsb": 0,
13038 "field_width": 1,
13039 "phv_msb": 7,
13040 "phv_lsb": 0,
13041 "is_compiler_generated": false,
13042 "is_pov": false
13043 }
13044 ],
13045 "word_bit_width": 8
13046 },
13047 {
13048 "phv_number": 71,
13049 "records": [
13050 {
13051 "position_offset": 0,
13052 "field_name": "$always_deparse",
13053 "field_msb": 7,
13054 "field_lsb": 0,
13055 "field_width": 1,
13056 "phv_msb": 0,
13057 "phv_lsb": 0,
13058 "is_compiler_generated": false,
13059 "is_pov": false
13060 },
13061 {
13062 "position_offset": 40,
13063 "field_name": "hasExited_0",
13064 "field_msb": 7,
13065 "field_lsb": 0,
13066 "field_width": 1,
13067 "phv_msb": 4,
13068 "phv_lsb": 4,
13069 "is_compiler_generated": false,
13070 "is_pov": false
13071 },
13072 {
13073 "position_offset": 0,
13074 "field_name": "POV",
13075 "field_msb": 7,
13076 "field_lsb": 0,
13077 "field_width": 0,
13078 "phv_msb": 1,
13079 "phv_lsb": 1,
13080 "is_compiler_generated": false,
13081 "is_pov": true,
13082 "pov_headers": [
13083 {
13084 "bit_index": 1,
13085 "position_offset": 2,
13086 "header_name": "arp",
13087 "hidden": false
13088 }
13089 ]
13090 },
13091 {
13092 "position_offset": 0,
13093 "field_name": "POV",
13094 "field_msb": 7,
13095 "field_lsb": 0,
13096 "field_width": 0,
13097 "phv_msb": 2,
13098 "phv_lsb": 2,
13099 "is_compiler_generated": false,
13100 "is_pov": true,
13101 "pov_headers": [
13102 {
13103 "bit_index": 2,
13104 "position_offset": 11,
13105 "header_name": "ethernet",
13106 "hidden": false
13107 }
13108 ]
13109 },
13110 {
13111 "position_offset": 0,
13112 "field_name": "POV",
13113 "field_msb": 7,
13114 "field_lsb": 0,
13115 "field_width": 0,
13116 "phv_msb": 3,
13117 "phv_lsb": 3,
13118 "is_compiler_generated": false,
13119 "is_pov": true,
13120 "pov_headers": [
13121 {
13122 "bit_index": 3,
13123 "position_offset": 41,
13124 "header_name": "icmp",
13125 "hidden": false
13126 }
13127 ]
13128 },
13129 {
13130 "position_offset": 0,
13131 "field_name": "POV",
13132 "field_msb": 7,
13133 "field_lsb": 0,
13134 "field_width": 0,
13135 "phv_msb": 5,
13136 "phv_lsb": 5,
13137 "is_compiler_generated": false,
13138 "is_pov": true,
13139 "pov_headers": [
13140 {
13141 "bit_index": 5,
Carmelo Casconeecb35762018-02-03 17:30:05 -080013142 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013143 "header_name": "ipv4",
13144 "hidden": false
13145 }
13146 ]
13147 },
13148 {
13149 "position_offset": 0,
13150 "field_name": "POV",
13151 "field_msb": 7,
13152 "field_lsb": 0,
13153 "field_width": 0,
13154 "phv_msb": 6,
13155 "phv_lsb": 6,
13156 "is_compiler_generated": false,
13157 "is_pov": true,
13158 "pov_headers": [
13159 {
13160 "bit_index": 6,
Carmelo Casconeecb35762018-02-03 17:30:05 -080013161 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013162 "header_name": "mpls",
13163 "hidden": false
13164 }
13165 ]
13166 },
13167 {
13168 "position_offset": 0,
13169 "field_name": "POV",
13170 "field_msb": 7,
13171 "field_lsb": 0,
13172 "field_width": 0,
13173 "phv_msb": 7,
13174 "phv_lsb": 7,
13175 "is_compiler_generated": false,
13176 "is_pov": true,
13177 "pov_headers": [
13178 {
13179 "bit_index": 7,
Carmelo Casconeecb35762018-02-03 17:30:05 -080013180 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013181 "header_name": "packet_out",
13182 "hidden": false
13183 }
13184 ]
13185 }
13186 ],
13187 "word_bit_width": 8
13188 },
13189 {
13190 "phv_number": 72,
13191 "records": [
13192 {
13193 "position_offset": 39,
13194 "field_name": "fabric_metadata.pop_vlan_at_egress",
13195 "field_msb": 7,
13196 "field_lsb": 0,
13197 "field_width": 1,
13198 "phv_msb": 3,
13199 "phv_lsb": 3,
13200 "is_compiler_generated": false,
13201 "is_pov": false
13202 },
13203 {
13204 "position_offset": 0,
13205 "field_name": "POV",
13206 "field_msb": 7,
13207 "field_lsb": 0,
13208 "field_width": 0,
13209 "phv_msb": 0,
13210 "phv_lsb": 0,
13211 "is_compiler_generated": false,
13212 "is_pov": true,
13213 "pov_headers": [
13214 {
13215 "bit_index": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -080013216 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013217 "header_name": "tcp",
13218 "hidden": false
13219 }
13220 ]
13221 },
13222 {
13223 "position_offset": 0,
13224 "field_name": "POV",
13225 "field_msb": 7,
13226 "field_lsb": 0,
13227 "field_width": 0,
13228 "phv_msb": 1,
13229 "phv_lsb": 1,
13230 "is_compiler_generated": false,
13231 "is_pov": true,
13232 "pov_headers": [
13233 {
13234 "bit_index": 1,
Carmelo Casconeecb35762018-02-03 17:30:05 -080013235 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013236 "header_name": "udp",
13237 "hidden": false
13238 }
13239 ]
13240 },
13241 {
13242 "position_offset": 0,
13243 "field_name": "POV",
13244 "field_msb": 7,
13245 "field_lsb": 0,
13246 "field_width": 0,
13247 "phv_msb": 2,
13248 "phv_lsb": 2,
13249 "is_compiler_generated": false,
13250 "is_pov": true,
13251 "pov_headers": [
13252 {
13253 "bit_index": 2,
Carmelo Casconeecb35762018-02-03 17:30:05 -080013254 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013255 "header_name": "vlan_tag",
13256 "hidden": false
13257 }
13258 ]
13259 }
13260 ],
13261 "word_bit_width": 8
13262 },
13263 {
13264 "phv_number": 128,
13265 "records": [
13266 {
13267 "position_offset": 62,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013268 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
13269 "field_msb": 15,
13270 "field_lsb": 0,
13271 "field_width": 2,
13272 "phv_msb": 8,
13273 "phv_lsb": 0,
13274 "is_compiler_generated": false,
13275 "is_pov": false
13276 }
13277 ],
13278 "word_bit_width": 16
13279 },
13280 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013281 "phv_number": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013282 "records": [
13283 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013284 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013285 "field_name": "packet_out.egress_port",
13286 "field_msb": 15,
13287 "field_lsb": 0,
13288 "field_width": 2,
13289 "phv_msb": 15,
13290 "phv_lsb": 7,
13291 "is_compiler_generated": false,
13292 "is_pov": false
13293 },
13294 {
13295 "position_offset": 26,
13296 "field_name": "fabric_metadata.fwd_type",
13297 "field_msb": 15,
13298 "field_lsb": 0,
13299 "field_width": 2,
13300 "phv_msb": 5,
13301 "phv_lsb": 3,
13302 "is_compiler_generated": false,
13303 "is_pov": false
13304 },
13305 {
13306 "position_offset": 60,
13307 "field_name": "ig_intr_md_for_tm.drop_ctl",
13308 "field_msb": 15,
13309 "field_lsb": 0,
13310 "field_width": 2,
13311 "phv_msb": 2,
13312 "phv_lsb": 0,
13313 "is_compiler_generated": false,
13314 "is_pov": false
13315 }
13316 ],
13317 "word_bit_width": 16
13318 },
13319 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013320 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013321 "records": [
13322 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013323 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013324 "field_name": "vlan_tag.pri",
13325 "field_msb": 15,
13326 "field_lsb": 0,
13327 "field_width": 2,
13328 "phv_msb": 15,
13329 "phv_lsb": 13,
13330 "is_compiler_generated": false,
13331 "is_pov": false
13332 },
13333 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013334 "position_offset": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013335 "field_name": "vlan_tag.cfi",
13336 "field_msb": 15,
13337 "field_lsb": 0,
13338 "field_width": 2,
13339 "phv_msb": 12,
13340 "phv_lsb": 12,
13341 "is_compiler_generated": false,
13342 "is_pov": false
13343 },
13344 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013345 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013346 "field_name": "vlan_tag.vlan_id",
13347 "field_msb": 15,
13348 "field_lsb": 0,
13349 "field_width": 2,
13350 "phv_msb": 11,
13351 "phv_lsb": 0,
13352 "is_compiler_generated": false,
13353 "is_pov": false
13354 }
13355 ],
13356 "word_bit_width": 16
13357 },
13358 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013359 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013360 "records": [
13361 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013362 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013363 "field_name": "mpls.label",
13364 "field_msb": 19,
13365 "field_lsb": 4,
13366 "field_width": 2,
13367 "phv_msb": 15,
13368 "phv_lsb": 0,
13369 "is_compiler_generated": false,
13370 "is_pov": false
13371 }
13372 ],
13373 "word_bit_width": 16
13374 },
13375 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013376 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013377 "records": [
13378 {
13379 "position_offset": 58,
13380 "field_name": "ig_intr_md.ingress_port",
13381 "field_msb": 15,
13382 "field_lsb": 0,
13383 "field_width": 2,
13384 "phv_msb": 8,
13385 "phv_lsb": 0,
13386 "is_compiler_generated": false,
13387 "is_pov": false
13388 }
13389 ],
13390 "word_bit_width": 16
13391 },
13392 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013393 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013394 "records": [
13395 {
13396 "position_offset": 31,
13397 "field_name": "fabric_metadata.l4_src_port",
13398 "field_msb": 15,
13399 "field_lsb": 0,
13400 "field_width": 2,
13401 "phv_msb": 15,
13402 "phv_lsb": 0,
13403 "is_compiler_generated": false,
13404 "is_pov": false
13405 }
13406 ],
13407 "word_bit_width": 16
13408 },
13409 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013410 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013411 "records": [
13412 {
13413 "position_offset": 18,
13414 "field_name": "ethernet.ether_type",
13415 "field_msb": 15,
13416 "field_lsb": 0,
13417 "field_width": 2,
13418 "phv_msb": 15,
13419 "phv_lsb": 0,
13420 "is_compiler_generated": false,
13421 "is_pov": false
13422 }
13423 ],
13424 "word_bit_width": 16
13425 },
13426 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013427 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013428 "records": [
13429 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013430 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013431 "field_name": "vlan_tag.ether_type",
13432 "field_msb": 15,
13433 "field_lsb": 0,
13434 "field_width": 2,
13435 "phv_msb": 15,
13436 "phv_lsb": 0,
13437 "is_compiler_generated": false,
13438 "is_pov": false
13439 }
13440 ],
13441 "word_bit_width": 16
13442 },
13443 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013444 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013445 "records": [
13446 {
13447 "position_offset": 12,
13448 "field_name": "ethernet.dst_addr",
13449 "field_msb": 15,
13450 "field_lsb": 0,
13451 "field_width": 6,
13452 "phv_msb": 15,
13453 "phv_lsb": 0,
13454 "is_compiler_generated": false,
13455 "is_pov": false
13456 }
13457 ],
13458 "word_bit_width": 16
13459 },
13460 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013461 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013462 "records": [
13463 {
13464 "position_offset": 20,
13465 "field_name": "ethernet.src_addr",
13466 "field_msb": 15,
13467 "field_lsb": 0,
13468 "field_width": 6,
13469 "phv_msb": 15,
13470 "phv_lsb": 0,
13471 "is_compiler_generated": false,
13472 "is_pov": false
13473 }
13474 ],
13475 "word_bit_width": 16
13476 },
13477 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013478 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013479 "records": [
13480 {
13481 "position_offset": 29,
13482 "field_name": "fabric_metadata.l4_dst_port",
13483 "field_msb": 15,
13484 "field_lsb": 0,
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 Casconeecb35762018-02-03 17:30:05 -080013495 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013496 "records": [
13497 {
13498 "position_offset": 37,
13499 "field_name": "fabric_metadata.original_ether_type",
13500 "field_msb": 15,
13501 "field_lsb": 0,
13502 "field_width": 2,
13503 "phv_msb": 15,
13504 "phv_lsb": 0,
13505 "is_compiler_generated": false,
13506 "is_pov": false
13507 }
13508 ],
13509 "word_bit_width": 16
13510 },
13511 {
13512 "phv_number": 260,
13513 "records": [
13514 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013515 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013516 "field_name": "tcp.seq_no",
13517 "field_msb": 31,
13518 "field_lsb": 0,
13519 "field_width": 4,
13520 "phv_msb": 31,
13521 "phv_lsb": 0,
13522 "is_compiler_generated": false,
13523 "is_pov": false
13524 },
13525 {
13526 "position_offset": 50,
13527 "field_name": "icmp.timestamp",
13528 "field_msb": 31,
13529 "field_lsb": 0,
13530 "field_width": 8,
13531 "phv_msb": 31,
13532 "phv_lsb": 0,
13533 "is_compiler_generated": false,
13534 "is_pov": false
13535 }
13536 ],
13537 "word_bit_width": 32
13538 },
13539 {
13540 "phv_number": 261,
13541 "records": [
13542 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013543 "position_offset": 96,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013544 "field_name": "tcp.ack_no",
13545 "field_msb": 31,
13546 "field_lsb": 0,
13547 "field_width": 4,
13548 "phv_msb": 31,
13549 "phv_lsb": 0,
13550 "is_compiler_generated": false,
13551 "is_pov": false
13552 },
13553 {
13554 "position_offset": 50,
13555 "field_name": "icmp.timestamp",
13556 "field_msb": 63,
13557 "field_lsb": 32,
13558 "field_width": 8,
13559 "phv_msb": 31,
13560 "phv_lsb": 0,
13561 "is_compiler_generated": false,
13562 "is_pov": false
13563 }
13564 ],
13565 "word_bit_width": 32
13566 },
13567 {
13568 "phv_number": 292,
13569 "records": [
13570 {
13571 "position_offset": 3,
13572 "field_name": "arp.hw_addr_len",
13573 "field_msb": 7,
13574 "field_lsb": 0,
13575 "field_width": 1,
13576 "phv_msb": 7,
13577 "phv_lsb": 0,
13578 "is_compiler_generated": false,
13579 "is_pov": false
13580 },
13581 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013582 "position_offset": 85,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013583 "field_name": "ipv4.version",
13584 "field_msb": 7,
13585 "field_lsb": 0,
13586 "field_width": 1,
13587 "phv_msb": 7,
13588 "phv_lsb": 4,
13589 "is_compiler_generated": false,
13590 "is_pov": false
13591 },
13592 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013593 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013594 "field_name": "ipv4.ihl",
13595 "field_msb": 7,
13596 "field_lsb": 0,
13597 "field_width": 1,
13598 "phv_msb": 3,
13599 "phv_lsb": 0,
13600 "is_compiler_generated": false,
13601 "is_pov": false
13602 }
13603 ],
13604 "word_bit_width": 8
13605 },
13606 {
13607 "phv_number": 293,
13608 "records": [
13609 {
13610 "position_offset": 8,
13611 "field_name": "arp.proto_addr_len",
13612 "field_msb": 7,
13613 "field_lsb": 0,
13614 "field_width": 1,
13615 "phv_msb": 7,
13616 "phv_lsb": 0,
13617 "is_compiler_generated": false,
13618 "is_pov": false
13619 },
13620 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013621 "position_offset": 65,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013622 "field_name": "ipv4.diffserv",
13623 "field_msb": 7,
13624 "field_lsb": 0,
13625 "field_width": 1,
13626 "phv_msb": 7,
13627 "phv_lsb": 0,
13628 "is_compiler_generated": false,
13629 "is_pov": false
13630 }
13631 ],
13632 "word_bit_width": 8
13633 },
13634 {
13635 "phv_number": 294,
13636 "records": [
13637 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013638 "position_offset": 77,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013639 "field_name": "ipv4.protocol",
13640 "field_msb": 7,
13641 "field_lsb": 0,
13642 "field_width": 1,
13643 "phv_msb": 7,
13644 "phv_lsb": 0,
13645 "is_compiler_generated": false,
13646 "is_pov": false
13647 }
13648 ],
13649 "word_bit_width": 8
13650 },
13651 {
13652 "phv_number": 326,
13653 "records": [
13654 {
13655 "position_offset": 4,
13656 "field_name": "arp.hw_type",
13657 "field_msb": 15,
13658 "field_lsb": 0,
13659 "field_width": 2,
13660 "phv_msb": 15,
13661 "phv_lsb": 0,
13662 "is_compiler_generated": false,
13663 "is_pov": false
13664 },
13665 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013666 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013667 "field_name": "tcp.data_offset",
13668 "field_msb": 15,
13669 "field_lsb": 0,
13670 "field_width": 2,
13671 "phv_msb": 15,
13672 "phv_lsb": 12,
13673 "is_compiler_generated": false,
13674 "is_pov": false
13675 },
13676 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013677 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013678 "field_name": "tcp.res",
13679 "field_msb": 15,
13680 "field_lsb": 0,
13681 "field_width": 2,
13682 "phv_msb": 11,
13683 "phv_lsb": 9,
13684 "is_compiler_generated": false,
13685 "is_pov": false
13686 },
13687 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013688 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013689 "field_name": "tcp.ecn",
13690 "field_msb": 15,
13691 "field_lsb": 0,
13692 "field_width": 2,
13693 "phv_msb": 8,
13694 "phv_lsb": 6,
13695 "is_compiler_generated": false,
13696 "is_pov": false
13697 },
13698 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013699 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013700 "field_name": "tcp.ctrl",
13701 "field_msb": 15,
13702 "field_lsb": 0,
13703 "field_width": 2,
13704 "phv_msb": 5,
13705 "phv_lsb": 0,
13706 "is_compiler_generated": false,
13707 "is_pov": false
13708 },
13709 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013710 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013711 "field_name": "udp.src_port",
13712 "field_msb": 15,
13713 "field_lsb": 0,
13714 "field_width": 2,
13715 "phv_msb": 15,
13716 "phv_lsb": 0,
13717 "is_compiler_generated": false,
13718 "is_pov": false
13719 },
13720 {
13721 "position_offset": 42,
13722 "field_name": "icmp.checksum",
13723 "field_msb": 15,
13724 "field_lsb": 0,
13725 "field_width": 2,
13726 "phv_msb": 15,
13727 "phv_lsb": 0,
13728 "is_compiler_generated": false,
13729 "is_pov": false
13730 }
13731 ],
13732 "word_bit_width": 16
13733 },
13734 {
13735 "phv_number": 327,
13736 "records": [
13737 {
13738 "position_offset": 9,
13739 "field_name": "arp.proto_type",
13740 "field_msb": 15,
13741 "field_lsb": 0,
13742 "field_width": 2,
13743 "phv_msb": 15,
13744 "phv_lsb": 0,
13745 "is_compiler_generated": false,
13746 "is_pov": false
13747 },
13748 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013749 "position_offset": 116,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013750 "field_name": "tcp.src_port",
13751 "field_msb": 15,
13752 "field_lsb": 0,
13753 "field_width": 2,
13754 "phv_msb": 15,
13755 "phv_lsb": 0,
13756 "is_compiler_generated": false,
13757 "is_pov": false
13758 },
13759 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013760 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013761 "field_name": "udp.dst_port",
13762 "field_msb": 15,
13763 "field_lsb": 0,
13764 "field_width": 2,
13765 "phv_msb": 15,
13766 "phv_lsb": 0,
13767 "is_compiler_generated": false,
13768 "is_pov": false
13769 },
13770 {
13771 "position_offset": 46,
13772 "field_name": "icmp.identifier",
13773 "field_msb": 15,
13774 "field_lsb": 0,
13775 "field_width": 2,
13776 "phv_msb": 15,
13777 "phv_lsb": 0,
13778 "is_compiler_generated": false,
13779 "is_pov": false
13780 }
13781 ],
13782 "word_bit_width": 16
13783 },
13784 {
13785 "phv_number": 328,
13786 "records": [
13787 {
13788 "position_offset": 6,
13789 "field_name": "arp.opcode",
13790 "field_msb": 15,
13791 "field_lsb": 0,
13792 "field_width": 2,
13793 "phv_msb": 15,
13794 "phv_lsb": 0,
13795 "is_compiler_generated": false,
13796 "is_pov": false
13797 },
13798 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013799 "position_offset": 70,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013800 "field_name": "ipv4.flags",
13801 "field_msb": 15,
13802 "field_lsb": 0,
13803 "field_width": 2,
13804 "phv_msb": 15,
13805 "phv_lsb": 13,
13806 "is_compiler_generated": false,
13807 "is_pov": false
13808 },
13809 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013810 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013811 "field_name": "ipv4.frag_offset",
13812 "field_msb": 15,
13813 "field_lsb": 0,
13814 "field_width": 2,
13815 "phv_msb": 12,
13816 "phv_lsb": 0,
13817 "is_compiler_generated": false,
13818 "is_pov": false
13819 }
13820 ],
13821 "word_bit_width": 16
13822 },
13823 {
13824 "phv_number": 329,
13825 "records": [
13826 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013827 "position_offset": 82,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013828 "field_name": "ipv4.total_len",
13829 "field_msb": 15,
13830 "field_lsb": 0,
13831 "field_width": 2,
13832 "phv_msb": 15,
13833 "phv_lsb": 0,
13834 "is_compiler_generated": false,
13835 "is_pov": false
13836 }
13837 ],
13838 "word_bit_width": 16
13839 },
13840 {
13841 "phv_number": 330,
13842 "records": [
13843 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013844 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013845 "field_name": "ipv4.identification",
13846 "field_msb": 15,
13847 "field_lsb": 0,
13848 "field_width": 2,
13849 "phv_msb": 15,
13850 "phv_lsb": 0,
13851 "is_compiler_generated": false,
13852 "is_pov": false
13853 }
13854 ],
13855 "word_bit_width": 16
13856 },
13857 {
13858 "phv_number": 331,
13859 "records": [
13860 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013861 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013862 "field_name": "tcp.dst_port",
13863 "field_msb": 15,
13864 "field_lsb": 0,
13865 "field_width": 2,
13866 "phv_msb": 15,
13867 "phv_lsb": 0,
13868 "is_compiler_generated": false,
13869 "is_pov": false
13870 },
13871 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013872 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013873 "field_name": "udp.len",
13874 "field_msb": 15,
13875 "field_lsb": 0,
13876 "field_width": 2,
13877 "phv_msb": 15,
13878 "phv_lsb": 0,
13879 "is_compiler_generated": false,
13880 "is_pov": false
13881 },
13882 {
13883 "position_offset": 48,
13884 "field_name": "icmp.sequence_number",
13885 "field_msb": 15,
13886 "field_lsb": 0,
13887 "field_width": 2,
13888 "phv_msb": 15,
13889 "phv_lsb": 0,
13890 "is_compiler_generated": false,
13891 "is_pov": false
13892 }
13893 ],
13894 "word_bit_width": 16
13895 },
13896 {
13897 "phv_number": 338,
13898 "records": [
13899 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013900 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013901 "field_name": "tcp.window",
13902 "field_msb": 15,
13903 "field_lsb": 0,
13904 "field_width": 2,
13905 "phv_msb": 15,
13906 "phv_lsb": 0,
13907 "is_compiler_generated": false,
13908 "is_pov": false
13909 },
13910 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013911 "position_offset": 123,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013912 "field_name": "udp.checksum",
13913 "field_msb": 15,
13914 "field_lsb": 0,
13915 "field_width": 2,
13916 "phv_msb": 15,
13917 "phv_lsb": 0,
13918 "is_compiler_generated": false,
13919 "is_pov": false
13920 }
13921 ],
13922 "word_bit_width": 16
13923 },
13924 {
13925 "phv_number": 339,
13926 "records": [
13927 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013928 "position_offset": 100,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013929 "field_name": "tcp.checksum",
13930 "field_msb": 15,
13931 "field_lsb": 0,
13932 "field_width": 2,
13933 "phv_msb": 15,
13934 "phv_lsb": 0,
13935 "is_compiler_generated": false,
13936 "is_pov": false
13937 }
13938 ],
13939 "word_bit_width": 16
13940 },
13941 {
13942 "phv_number": 340,
13943 "records": [
13944 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080013945 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -080013946 "field_name": "tcp.urgent_ptr",
13947 "field_msb": 15,
13948 "field_lsb": 0,
13949 "field_width": 2,
13950 "phv_msb": 15,
13951 "phv_lsb": 0,
13952 "is_compiler_generated": false,
13953 "is_pov": false
13954 }
13955 ],
13956 "word_bit_width": 16
13957 }
13958 ],
13959 "egress": [
13960 {
13961 "phv_number": 80,
13962 "records": [
13963 {
13964 "position_offset": 0,
13965 "field_name": "POV",
13966 "field_msb": 7,
13967 "field_lsb": 0,
13968 "field_width": 0,
13969 "phv_msb": 0,
13970 "phv_lsb": 0,
13971 "is_compiler_generated": false,
13972 "is_pov": true,
13973 "pov_headers": [
13974 {
13975 "bit_index": 0,
13976 "position_offset": 0,
13977 "header_name": "arp",
13978 "hidden": false
13979 }
13980 ]
13981 },
13982 {
13983 "position_offset": 0,
13984 "field_name": "POV",
13985 "field_msb": 7,
13986 "field_lsb": 0,
13987 "field_width": 0,
13988 "phv_msb": 2,
13989 "phv_lsb": 2,
13990 "is_compiler_generated": false,
13991 "is_pov": true,
13992 "pov_headers": [
13993 {
13994 "bit_index": 2,
13995 "position_offset": 11,
13996 "header_name": "ethernet",
13997 "hidden": false
13998 }
13999 ]
14000 },
14001 {
14002 "position_offset": 0,
14003 "field_name": "POV",
14004 "field_msb": 7,
14005 "field_lsb": 0,
14006 "field_width": 0,
14007 "phv_msb": 3,
14008 "phv_lsb": 3,
14009 "is_compiler_generated": false,
14010 "is_pov": true,
14011 "pov_headers": [
14012 {
14013 "bit_index": 3,
14014 "position_offset": 26,
14015 "header_name": "icmp",
14016 "hidden": false
14017 }
14018 ]
14019 },
14020 {
14021 "position_offset": 0,
14022 "field_name": "POV",
14023 "field_msb": 7,
14024 "field_lsb": 0,
14025 "field_width": 0,
14026 "phv_msb": 5,
14027 "phv_lsb": 5,
14028 "is_compiler_generated": false,
14029 "is_pov": true,
14030 "pov_headers": [
14031 {
14032 "bit_index": 5,
14033 "position_offset": 45,
14034 "header_name": "ipv4",
14035 "hidden": false
14036 }
14037 ]
14038 },
14039 {
14040 "position_offset": 0,
14041 "field_name": "POV",
14042 "field_msb": 7,
14043 "field_lsb": 0,
14044 "field_width": 0,
14045 "phv_msb": 6,
14046 "phv_lsb": 6,
14047 "is_compiler_generated": false,
14048 "is_pov": true,
14049 "pov_headers": [
14050 {
14051 "bit_index": 6,
14052 "position_offset": 67,
14053 "header_name": "mpls",
14054 "hidden": false
14055 }
14056 ]
14057 },
14058 {
14059 "position_offset": 0,
14060 "field_name": "POV",
14061 "field_msb": 7,
14062 "field_lsb": 0,
14063 "field_width": 0,
14064 "phv_msb": 7,
14065 "phv_lsb": 7,
14066 "is_compiler_generated": false,
14067 "is_pov": true,
14068 "pov_headers": [
14069 {
14070 "bit_index": 7,
14071 "position_offset": 73,
14072 "header_name": "packet_in",
14073 "hidden": false
14074 }
14075 ]
14076 }
14077 ],
14078 "word_bit_width": 8
14079 },
14080 {
14081 "phv_number": 81,
14082 "records": [
14083 {
14084 "position_offset": 0,
14085 "field_name": "POV",
14086 "field_msb": 7,
14087 "field_lsb": 0,
14088 "field_width": 0,
14089 "phv_msb": 0,
14090 "phv_lsb": 0,
14091 "is_compiler_generated": false,
14092 "is_pov": true,
14093 "pov_headers": [
14094 {
14095 "bit_index": 0,
14096 "position_offset": 78,
14097 "header_name": "tcp",
14098 "hidden": false
14099 }
14100 ]
14101 },
14102 {
14103 "position_offset": 0,
14104 "field_name": "POV",
14105 "field_msb": 7,
14106 "field_lsb": 0,
14107 "field_width": 0,
14108 "phv_msb": 1,
14109 "phv_lsb": 1,
14110 "is_compiler_generated": false,
14111 "is_pov": true,
14112 "pov_headers": [
14113 {
14114 "bit_index": 1,
14115 "position_offset": 105,
14116 "header_name": "udp",
14117 "hidden": false
14118 }
14119 ]
14120 },
14121 {
14122 "position_offset": 0,
14123 "field_name": "POV",
14124 "field_msb": 7,
14125 "field_lsb": 0,
14126 "field_width": 0,
14127 "phv_msb": 2,
14128 "phv_lsb": 2,
14129 "is_compiler_generated": false,
14130 "is_pov": true,
14131 "pov_headers": [
14132 {
14133 "bit_index": 2,
14134 "position_offset": 114,
14135 "header_name": "vlan_tag",
14136 "hidden": false
14137 }
14138 ]
14139 }
14140 ],
14141 "word_bit_width": 8
14142 },
14143 {
14144 "phv_number": 144,
14145 "records": [
14146 {
14147 "position_offset": 9,
14148 "field_name": "eg_intr_md.egress_port",
14149 "field_msb": 15,
14150 "field_lsb": 0,
14151 "field_width": 2,
14152 "phv_msb": 8,
14153 "phv_lsb": 0,
14154 "is_compiler_generated": false,
14155 "is_pov": false
14156 }
14157 ],
14158 "word_bit_width": 16
14159 },
14160 {
14161 "phv_number": 145,
14162 "records": [
14163 {
14164 "position_offset": 76,
14165 "field_name": "packet_in.ingress_port",
14166 "field_msb": 15,
14167 "field_lsb": 0,
14168 "field_width": 2,
14169 "phv_msb": 15,
14170 "phv_lsb": 7,
14171 "is_compiler_generated": false,
14172 "is_pov": false
14173 },
14174 {
14175 "position_offset": 74,
14176 "field_name": "packet_in._pad",
14177 "field_msb": 15,
14178 "field_lsb": 0,
14179 "field_width": 2,
14180 "phv_msb": 6,
14181 "phv_lsb": 0,
14182 "is_compiler_generated": false,
14183 "is_pov": false
14184 }
14185 ],
14186 "word_bit_width": 16
14187 },
14188 {
14189 "phv_number": 146,
14190 "records": [
14191 {
14192 "position_offset": 43,
14193 "field_name": "ig_intr_md.ingress_port",
14194 "field_msb": 15,
14195 "field_lsb": 0,
14196 "field_width": 2,
14197 "phv_msb": 8,
14198 "phv_lsb": 0,
14199 "is_compiler_generated": false,
14200 "is_pov": false
14201 }
14202 ],
14203 "word_bit_width": 16
14204 },
14205 {
14206 "phv_number": 256,
14207 "records": [
14208 {
14209 "position_offset": 12,
14210 "field_name": "ethernet.dst_addr",
14211 "field_msb": 47,
14212 "field_lsb": 16,
14213 "field_width": 6,
14214 "phv_msb": 31,
14215 "phv_lsb": 0,
14216 "is_compiler_generated": false,
14217 "is_pov": false
14218 }
14219 ],
14220 "word_bit_width": 32
14221 },
14222 {
14223 "phv_number": 257,
14224 "records": [
14225 {
14226 "position_offset": 20,
14227 "field_name": "ethernet.src_addr",
14228 "field_msb": 47,
14229 "field_lsb": 16,
14230 "field_width": 6,
14231 "phv_msb": 31,
14232 "phv_lsb": 0,
14233 "is_compiler_generated": false,
14234 "is_pov": false
14235 }
14236 ],
14237 "word_bit_width": 32
14238 },
14239 {
14240 "phv_number": 258,
14241 "records": [
14242 {
14243 "position_offset": 59,
14244 "field_name": "ipv4.src_addr",
14245 "field_msb": 31,
14246 "field_lsb": 0,
14247 "field_width": 4,
14248 "phv_msb": 31,
14249 "phv_lsb": 0,
14250 "is_compiler_generated": false,
14251 "is_pov": false
14252 }
14253 ],
14254 "word_bit_width": 32
14255 },
14256 {
14257 "phv_number": 259,
14258 "records": [
14259 {
14260 "position_offset": 47,
14261 "field_name": "ipv4.dst_addr",
14262 "field_msb": 31,
14263 "field_lsb": 0,
14264 "field_width": 4,
14265 "phv_msb": 31,
14266 "phv_lsb": 0,
14267 "is_compiler_generated": false,
14268 "is_pov": false
14269 }
14270 ],
14271 "word_bit_width": 32
14272 },
14273 {
14274 "phv_number": 264,
14275 "records": [
14276 {
14277 "position_offset": 95,
14278 "field_name": "tcp.seq_no",
14279 "field_msb": 31,
14280 "field_lsb": 0,
14281 "field_width": 4,
14282 "phv_msb": 31,
14283 "phv_lsb": 0,
14284 "is_compiler_generated": false,
14285 "is_pov": false
14286 },
14287 {
14288 "position_offset": 35,
14289 "field_name": "icmp.timestamp",
14290 "field_msb": 31,
14291 "field_lsb": 0,
14292 "field_width": 8,
14293 "phv_msb": 31,
14294 "phv_lsb": 0,
14295 "is_compiler_generated": false,
14296 "is_pov": false
14297 }
14298 ],
14299 "word_bit_width": 32
14300 },
14301 {
14302 "phv_number": 265,
14303 "records": [
14304 {
14305 "position_offset": 79,
14306 "field_name": "tcp.ack_no",
14307 "field_msb": 31,
14308 "field_lsb": 0,
14309 "field_width": 4,
14310 "phv_msb": 31,
14311 "phv_lsb": 0,
14312 "is_compiler_generated": false,
14313 "is_pov": false
14314 },
14315 {
14316 "position_offset": 35,
14317 "field_name": "icmp.timestamp",
14318 "field_msb": 63,
14319 "field_lsb": 32,
14320 "field_width": 8,
14321 "phv_msb": 31,
14322 "phv_lsb": 0,
14323 "is_compiler_generated": false,
14324 "is_pov": false
14325 }
14326 ],
14327 "word_bit_width": 32
14328 },
14329 {
14330 "phv_number": 288,
14331 "records": [
14332 {
14333 "position_offset": 1,
14334 "field_name": "arp.hw_addr_len",
14335 "field_msb": 7,
14336 "field_lsb": 0,
14337 "field_width": 1,
14338 "phv_msb": 7,
14339 "phv_lsb": 0,
14340 "is_compiler_generated": false,
14341 "is_pov": false
14342 },
14343 {
14344 "position_offset": 66,
14345 "field_name": "ipv4.version",
14346 "field_msb": 7,
14347 "field_lsb": 0,
14348 "field_width": 1,
14349 "phv_msb": 7,
14350 "phv_lsb": 4,
14351 "is_compiler_generated": false,
14352 "is_pov": false
14353 },
14354 {
14355 "position_offset": 57,
14356 "field_name": "ipv4.ihl",
14357 "field_msb": 7,
14358 "field_lsb": 0,
14359 "field_width": 1,
14360 "phv_msb": 3,
14361 "phv_lsb": 0,
14362 "is_compiler_generated": false,
14363 "is_pov": false
14364 }
14365 ],
14366 "word_bit_width": 8
14367 },
14368 {
14369 "phv_number": 289,
14370 "records": [
14371 {
14372 "position_offset": 6,
14373 "field_name": "arp.proto_addr_len",
14374 "field_msb": 7,
14375 "field_lsb": 0,
14376 "field_width": 1,
14377 "phv_msb": 7,
14378 "phv_lsb": 0,
14379 "is_compiler_generated": false,
14380 "is_pov": false
14381 },
14382 {
14383 "position_offset": 30,
14384 "field_name": "icmp.icmp_type",
14385 "field_msb": 7,
14386 "field_lsb": 0,
14387 "field_width": 1,
14388 "phv_msb": 7,
14389 "phv_lsb": 0,
14390 "is_compiler_generated": false,
14391 "is_pov": false
14392 }
14393 ],
14394 "word_bit_width": 8
14395 },
14396 {
14397 "phv_number": 290,
14398 "records": [
14399 {
14400 "position_offset": 46,
14401 "field_name": "ipv4.diffserv",
14402 "field_msb": 7,
14403 "field_lsb": 0,
14404 "field_width": 1,
14405 "phv_msb": 7,
14406 "phv_lsb": 0,
14407 "is_compiler_generated": false,
14408 "is_pov": false
14409 }
14410 ],
14411 "word_bit_width": 8
14412 },
14413 {
14414 "phv_number": 291,
14415 "records": [
14416 {
14417 "position_offset": 29,
14418 "field_name": "icmp.icmp_code",
14419 "field_msb": 7,
14420 "field_lsb": 0,
14421 "field_width": 1,
14422 "phv_msb": 7,
14423 "phv_lsb": 0,
14424 "is_compiler_generated": false,
14425 "is_pov": false
14426 }
14427 ],
14428 "word_bit_width": 8
14429 },
14430 {
14431 "phv_number": 296,
14432 "records": [
14433 {
14434 "position_offset": 69,
14435 "field_name": "mpls.label",
14436 "field_msb": 3,
14437 "field_lsb": 0,
14438 "field_width": 2,
14439 "phv_msb": 7,
14440 "phv_lsb": 4,
14441 "is_compiler_generated": false,
14442 "is_pov": false
14443 },
14444 {
14445 "position_offset": 71,
14446 "field_name": "mpls.tc",
14447 "field_msb": 7,
14448 "field_lsb": 0,
14449 "field_width": 1,
14450 "phv_msb": 3,
14451 "phv_lsb": 1,
14452 "is_compiler_generated": false,
14453 "is_pov": false
14454 },
14455 {
14456 "position_offset": 68,
14457 "field_name": "mpls.bos",
14458 "field_msb": 7,
14459 "field_lsb": 0,
14460 "field_width": 1,
14461 "phv_msb": 0,
14462 "phv_lsb": 0,
14463 "is_compiler_generated": false,
14464 "is_pov": false
14465 }
14466 ],
14467 "word_bit_width": 8
14468 },
14469 {
14470 "phv_number": 297,
14471 "records": [
14472 {
14473 "position_offset": 65,
14474 "field_name": "ipv4.ttl",
14475 "field_msb": 7,
14476 "field_lsb": 0,
14477 "field_width": 1,
14478 "phv_msb": 7,
14479 "phv_lsb": 0,
14480 "is_compiler_generated": false,
14481 "is_pov": false
14482 }
14483 ],
14484 "word_bit_width": 8
14485 },
14486 {
14487 "phv_number": 298,
14488 "records": [
14489 {
14490 "position_offset": 58,
14491 "field_name": "ipv4.protocol",
14492 "field_msb": 7,
14493 "field_lsb": 0,
14494 "field_width": 1,
14495 "phv_msb": 7,
14496 "phv_lsb": 0,
14497 "is_compiler_generated": false,
14498 "is_pov": false
14499 }
14500 ],
14501 "word_bit_width": 8
14502 },
14503 {
14504 "phv_number": 299,
14505 "records": [
14506 {
14507 "position_offset": 72,
14508 "field_name": "mpls.ttl",
14509 "field_msb": 7,
14510 "field_lsb": 0,
14511 "field_width": 1,
14512 "phv_msb": 7,
14513 "phv_lsb": 0,
14514 "is_compiler_generated": false,
14515 "is_pov": false
14516 }
14517 ],
14518 "word_bit_width": 8
14519 },
14520 {
14521 "phv_number": 320,
14522 "records": [
14523 {
14524 "position_offset": 119,
14525 "field_name": "vlan_tag.pri",
14526 "field_msb": 15,
14527 "field_lsb": 0,
14528 "field_width": 2,
14529 "phv_msb": 15,
14530 "phv_lsb": 13,
14531 "is_compiler_generated": false,
14532 "is_pov": false
14533 },
14534 {
14535 "position_offset": 115,
14536 "field_name": "vlan_tag.cfi",
14537 "field_msb": 15,
14538 "field_lsb": 0,
14539 "field_width": 2,
14540 "phv_msb": 12,
14541 "phv_lsb": 12,
14542 "is_compiler_generated": false,
14543 "is_pov": false
14544 },
14545 {
14546 "position_offset": 121,
14547 "field_name": "vlan_tag.vlan_id",
14548 "field_msb": 15,
14549 "field_lsb": 0,
14550 "field_width": 2,
14551 "phv_msb": 11,
14552 "phv_lsb": 0,
14553 "is_compiler_generated": false,
14554 "is_pov": false
14555 }
14556 ],
14557 "word_bit_width": 16
14558 },
14559 {
14560 "phv_number": 321,
14561 "records": [
14562 {
14563 "position_offset": 2,
14564 "field_name": "arp.hw_type",
14565 "field_msb": 15,
14566 "field_lsb": 0,
14567 "field_width": 2,
14568 "phv_msb": 15,
14569 "phv_lsb": 0,
14570 "is_compiler_generated": false,
14571 "is_pov": false
14572 },
14573 {
14574 "position_offset": 99,
14575 "field_name": "tcp.src_port",
14576 "field_msb": 15,
14577 "field_lsb": 0,
14578 "field_width": 2,
14579 "phv_msb": 15,
14580 "phv_lsb": 0,
14581 "is_compiler_generated": false,
14582 "is_pov": false
14583 },
14584 {
14585 "position_offset": 112,
14586 "field_name": "udp.src_port",
14587 "field_msb": 15,
14588 "field_lsb": 0,
14589 "field_width": 2,
14590 "phv_msb": 15,
14591 "phv_lsb": 0,
14592 "is_compiler_generated": false,
14593 "is_pov": false
14594 },
14595 {
14596 "position_offset": 27,
14597 "field_name": "icmp.checksum",
14598 "field_msb": 15,
14599 "field_lsb": 0,
14600 "field_width": 2,
14601 "phv_msb": 15,
14602 "phv_lsb": 0,
14603 "is_compiler_generated": false,
14604 "is_pov": false
14605 }
14606 ],
14607 "word_bit_width": 16
14608 },
14609 {
14610 "phv_number": 322,
14611 "records": [
14612 {
14613 "position_offset": 7,
14614 "field_name": "arp.proto_type",
14615 "field_msb": 15,
14616 "field_lsb": 0,
14617 "field_width": 2,
14618 "phv_msb": 15,
14619 "phv_lsb": 0,
14620 "is_compiler_generated": false,
14621 "is_pov": false
14622 },
14623 {
14624 "position_offset": 69,
14625 "field_name": "mpls.label",
14626 "field_msb": 19,
14627 "field_lsb": 4,
14628 "field_width": 2,
14629 "phv_msb": 15,
14630 "phv_lsb": 0,
14631 "is_compiler_generated": false,
14632 "is_pov": false
14633 }
14634 ],
14635 "word_bit_width": 16
14636 },
14637 {
14638 "phv_number": 323,
14639 "records": [
14640 {
14641 "position_offset": 4,
14642 "field_name": "arp.opcode",
14643 "field_msb": 15,
14644 "field_lsb": 0,
14645 "field_width": 2,
14646 "phv_msb": 15,
14647 "phv_lsb": 0,
14648 "is_compiler_generated": false,
14649 "is_pov": false
14650 },
14651 {
14652 "position_offset": 87,
14653 "field_name": "tcp.data_offset",
14654 "field_msb": 15,
14655 "field_lsb": 0,
14656 "field_width": 2,
14657 "phv_msb": 15,
14658 "phv_lsb": 12,
14659 "is_compiler_generated": false,
14660 "is_pov": false
14661 },
14662 {
14663 "position_offset": 93,
14664 "field_name": "tcp.res",
14665 "field_msb": 15,
14666 "field_lsb": 0,
14667 "field_width": 2,
14668 "phv_msb": 11,
14669 "phv_lsb": 9,
14670 "is_compiler_generated": false,
14671 "is_pov": false
14672 },
14673 {
14674 "position_offset": 91,
14675 "field_name": "tcp.ecn",
14676 "field_msb": 15,
14677 "field_lsb": 0,
14678 "field_width": 2,
14679 "phv_msb": 8,
14680 "phv_lsb": 6,
14681 "is_compiler_generated": false,
14682 "is_pov": false
14683 },
14684 {
14685 "position_offset": 85,
14686 "field_name": "tcp.ctrl",
14687 "field_msb": 15,
14688 "field_lsb": 0,
14689 "field_width": 2,
14690 "phv_msb": 5,
14691 "phv_lsb": 0,
14692 "is_compiler_generated": false,
14693 "is_pov": false
14694 },
14695 {
14696 "position_offset": 108,
14697 "field_name": "udp.dst_port",
14698 "field_msb": 15,
14699 "field_lsb": 0,
14700 "field_width": 2,
14701 "phv_msb": 15,
14702 "phv_lsb": 0,
14703 "is_compiler_generated": false,
14704 "is_pov": false
14705 },
14706 {
14707 "position_offset": 31,
14708 "field_name": "icmp.identifier",
14709 "field_msb": 15,
14710 "field_lsb": 0,
14711 "field_width": 2,
14712 "phv_msb": 15,
14713 "phv_lsb": 0,
14714 "is_compiler_generated": false,
14715 "is_pov": false
14716 }
14717 ],
14718 "word_bit_width": 16
14719 },
14720 {
14721 "phv_number": 324,
14722 "records": [
14723 {
14724 "position_offset": 51,
14725 "field_name": "ipv4.flags",
14726 "field_msb": 15,
14727 "field_lsb": 0,
14728 "field_width": 2,
14729 "phv_msb": 15,
14730 "phv_lsb": 13,
14731 "is_compiler_generated": false,
14732 "is_pov": false
14733 },
14734 {
14735 "position_offset": 53,
14736 "field_name": "ipv4.frag_offset",
14737 "field_msb": 15,
14738 "field_lsb": 0,
14739 "field_width": 2,
14740 "phv_msb": 12,
14741 "phv_lsb": 0,
14742 "is_compiler_generated": false,
14743 "is_pov": false
14744 }
14745 ],
14746 "word_bit_width": 16
14747 },
14748 {
14749 "phv_number": 325,
14750 "records": [
14751 {
14752 "position_offset": 12,
14753 "field_name": "ethernet.dst_addr",
14754 "field_msb": 15,
14755 "field_lsb": 0,
14756 "field_width": 6,
14757 "phv_msb": 15,
14758 "phv_lsb": 0,
14759 "is_compiler_generated": false,
14760 "is_pov": false
14761 }
14762 ],
14763 "word_bit_width": 16
14764 },
14765 {
14766 "phv_number": 332,
14767 "records": [
14768 {
14769 "position_offset": 20,
14770 "field_name": "ethernet.src_addr",
14771 "field_msb": 15,
14772 "field_lsb": 0,
14773 "field_width": 6,
14774 "phv_msb": 15,
14775 "phv_lsb": 0,
14776 "is_compiler_generated": false,
14777 "is_pov": false
14778 }
14779 ],
14780 "word_bit_width": 16
14781 },
14782 {
14783 "phv_number": 333,
14784 "records": [
14785 {
14786 "position_offset": 18,
14787 "field_name": "ethernet.ether_type",
14788 "field_msb": 15,
14789 "field_lsb": 0,
14790 "field_width": 2,
14791 "phv_msb": 15,
14792 "phv_lsb": 0,
14793 "is_compiler_generated": false,
14794 "is_pov": false
14795 }
14796 ],
14797 "word_bit_width": 16
14798 },
14799 {
14800 "phv_number": 334,
14801 "records": [
14802 {
14803 "position_offset": 117,
14804 "field_name": "vlan_tag.ether_type",
14805 "field_msb": 15,
14806 "field_lsb": 0,
14807 "field_width": 2,
14808 "phv_msb": 15,
14809 "phv_lsb": 0,
14810 "is_compiler_generated": false,
14811 "is_pov": false
14812 }
14813 ],
14814 "word_bit_width": 16
14815 },
14816 {
14817 "phv_number": 335,
14818 "records": [
14819 {
14820 "position_offset": 63,
14821 "field_name": "ipv4.total_len",
14822 "field_msb": 15,
14823 "field_lsb": 0,
14824 "field_width": 2,
14825 "phv_msb": 15,
14826 "phv_lsb": 0,
14827 "is_compiler_generated": false,
14828 "is_pov": false
14829 }
14830 ],
14831 "word_bit_width": 16
14832 },
14833 {
14834 "phv_number": 336,
14835 "records": [
14836 {
14837 "position_offset": 55,
14838 "field_name": "ipv4.identification",
14839 "field_msb": 15,
14840 "field_lsb": 0,
14841 "field_width": 2,
14842 "phv_msb": 15,
14843 "phv_lsb": 0,
14844 "is_compiler_generated": false,
14845 "is_pov": false
14846 }
14847 ],
14848 "word_bit_width": 16
14849 },
14850 {
14851 "phv_number": 337,
14852 "records": [
14853 {
14854 "position_offset": 89,
14855 "field_name": "tcp.dst_port",
14856 "field_msb": 15,
14857 "field_lsb": 0,
14858 "field_width": 2,
14859 "phv_msb": 15,
14860 "phv_lsb": 0,
14861 "is_compiler_generated": false,
14862 "is_pov": false
14863 },
14864 {
14865 "position_offset": 110,
14866 "field_name": "udp.len",
14867 "field_msb": 15,
14868 "field_lsb": 0,
14869 "field_width": 2,
14870 "phv_msb": 15,
14871 "phv_lsb": 0,
14872 "is_compiler_generated": false,
14873 "is_pov": false
14874 },
14875 {
14876 "position_offset": 33,
14877 "field_name": "icmp.sequence_number",
14878 "field_msb": 15,
14879 "field_lsb": 0,
14880 "field_width": 2,
14881 "phv_msb": 15,
14882 "phv_lsb": 0,
14883 "is_compiler_generated": false,
14884 "is_pov": false
14885 }
14886 ],
14887 "word_bit_width": 16
14888 },
14889 {
14890 "phv_number": 344,
14891 "records": [
14892 {
14893 "position_offset": 103,
14894 "field_name": "tcp.window",
14895 "field_msb": 15,
14896 "field_lsb": 0,
14897 "field_width": 2,
14898 "phv_msb": 15,
14899 "phv_lsb": 0,
14900 "is_compiler_generated": false,
14901 "is_pov": false
14902 },
14903 {
14904 "position_offset": 106,
14905 "field_name": "udp.checksum",
14906 "field_msb": 15,
14907 "field_lsb": 0,
14908 "field_width": 2,
14909 "phv_msb": 15,
14910 "phv_lsb": 0,
14911 "is_compiler_generated": false,
14912 "is_pov": false
14913 }
14914 ],
14915 "word_bit_width": 16
14916 },
14917 {
14918 "phv_number": 345,
14919 "records": [
14920 {
14921 "position_offset": 83,
14922 "field_name": "tcp.checksum",
14923 "field_msb": 15,
14924 "field_lsb": 0,
14925 "field_width": 2,
14926 "phv_msb": 15,
14927 "phv_lsb": 0,
14928 "is_compiler_generated": false,
14929 "is_pov": false
14930 }
14931 ],
14932 "word_bit_width": 16
14933 },
14934 {
14935 "phv_number": 346,
14936 "records": [
14937 {
14938 "position_offset": 101,
14939 "field_name": "tcp.urgent_ptr",
14940 "field_msb": 15,
14941 "field_lsb": 0,
14942 "field_width": 2,
14943 "phv_msb": 15,
14944 "phv_lsb": 0,
14945 "is_compiler_generated": false,
14946 "is_pov": false
14947 }
14948 ],
14949 "word_bit_width": 16
14950 }
14951 ],
14952 "stage_number": 6
14953 },
14954 {
14955 "ingress": [
14956 {
14957 "phv_number": 0,
14958 "records": [
14959 {
14960 "position_offset": 12,
14961 "field_name": "ethernet.dst_addr",
14962 "field_msb": 47,
14963 "field_lsb": 16,
14964 "field_width": 6,
14965 "phv_msb": 31,
14966 "phv_lsb": 0,
14967 "is_compiler_generated": false,
14968 "is_pov": false
14969 }
14970 ],
14971 "word_bit_width": 32
14972 },
14973 {
14974 "phv_number": 1,
14975 "records": [
14976 {
14977 "position_offset": 20,
14978 "field_name": "ethernet.src_addr",
14979 "field_msb": 47,
14980 "field_lsb": 16,
14981 "field_width": 6,
14982 "phv_msb": 31,
14983 "phv_lsb": 0,
14984 "is_compiler_generated": false,
14985 "is_pov": false
14986 }
14987 ],
14988 "word_bit_width": 32
14989 },
14990 {
14991 "phv_number": 2,
14992 "records": [
14993 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080014994 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -080014995 "field_name": "ipv4.src_addr",
14996 "field_msb": 31,
14997 "field_lsb": 0,
14998 "field_width": 4,
14999 "phv_msb": 31,
15000 "phv_lsb": 0,
15001 "is_compiler_generated": false,
15002 "is_pov": false
15003 }
15004 ],
15005 "word_bit_width": 32
15006 },
15007 {
15008 "phv_number": 3,
15009 "records": [
15010 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015011 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015012 "field_name": "ipv4.dst_addr",
15013 "field_msb": 31,
15014 "field_lsb": 0,
15015 "field_width": 4,
15016 "phv_msb": 31,
15017 "phv_lsb": 0,
15018 "is_compiler_generated": false,
15019 "is_pov": false
15020 }
15021 ],
15022 "word_bit_width": 32
15023 },
15024 {
15025 "phv_number": 4,
15026 "records": [
15027 {
15028 "position_offset": 33,
15029 "field_name": "fabric_metadata.next_id",
15030 "field_msb": 31,
15031 "field_lsb": 0,
15032 "field_width": 4,
15033 "phv_msb": 31,
15034 "phv_lsb": 0,
15035 "is_compiler_generated": false,
15036 "is_pov": false
15037 }
15038 ],
15039 "word_bit_width": 32
15040 },
15041 {
15042 "phv_number": 64,
15043 "records": [
15044 {
15045 "position_offset": 45,
15046 "field_name": "icmp.icmp_type",
15047 "field_msb": 7,
15048 "field_lsb": 0,
15049 "field_width": 1,
15050 "phv_msb": 7,
15051 "phv_lsb": 0,
15052 "is_compiler_generated": false,
15053 "is_pov": false
15054 }
15055 ],
15056 "word_bit_width": 8
15057 },
15058 {
15059 "phv_number": 65,
15060 "records": [
15061 {
15062 "position_offset": 44,
15063 "field_name": "icmp.icmp_code",
15064 "field_msb": 7,
15065 "field_lsb": 0,
15066 "field_width": 1,
15067 "phv_msb": 7,
15068 "phv_lsb": 0,
15069 "is_compiler_generated": false,
15070 "is_pov": false
15071 }
15072 ],
15073 "word_bit_width": 8
15074 },
15075 {
15076 "phv_number": 66,
15077 "records": [
15078 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015079 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015080 "field_name": "mpls.label",
15081 "field_msb": 3,
15082 "field_lsb": 0,
15083 "field_width": 2,
15084 "phv_msb": 7,
15085 "phv_lsb": 4,
15086 "is_compiler_generated": false,
15087 "is_pov": false
15088 },
15089 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015090 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015091 "field_name": "mpls.tc",
15092 "field_msb": 7,
15093 "field_lsb": 0,
15094 "field_width": 1,
15095 "phv_msb": 3,
15096 "phv_lsb": 1,
15097 "is_compiler_generated": false,
15098 "is_pov": false
15099 },
15100 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015101 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015102 "field_name": "mpls.bos",
15103 "field_msb": 7,
15104 "field_lsb": 0,
15105 "field_width": 1,
15106 "phv_msb": 0,
15107 "phv_lsb": 0,
15108 "is_compiler_generated": false,
15109 "is_pov": false
15110 }
15111 ],
15112 "word_bit_width": 8
15113 },
15114 {
15115 "phv_number": 67,
15116 "records": [
15117 {
15118 "position_offset": 1,
15119 "field_name": "$bridged_metadata_indicator",
15120 "field_msb": 7,
15121 "field_lsb": 0,
15122 "field_width": 1,
15123 "phv_msb": 7,
15124 "phv_lsb": 0,
15125 "is_compiler_generated": false,
15126 "is_pov": false
15127 }
15128 ],
15129 "word_bit_width": 8
15130 },
15131 {
15132 "phv_number": 68,
15133 "records": [
15134 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015135 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015136 "field_name": "ipv4.ttl",
15137 "field_msb": 7,
15138 "field_lsb": 0,
15139 "field_width": 1,
15140 "phv_msb": 7,
15141 "phv_lsb": 0,
15142 "is_compiler_generated": false,
15143 "is_pov": false
15144 }
15145 ],
15146 "word_bit_width": 8
15147 },
15148 {
15149 "phv_number": 69,
15150 "records": [
15151 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015152 "position_offset": 91,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015153 "field_name": "mpls.ttl",
15154 "field_msb": 7,
15155 "field_lsb": 0,
15156 "field_width": 1,
15157 "phv_msb": 7,
15158 "phv_lsb": 0,
15159 "is_compiler_generated": false,
15160 "is_pov": false
15161 }
15162 ],
15163 "word_bit_width": 8
15164 },
15165 {
15166 "phv_number": 70,
15167 "records": [
15168 {
15169 "position_offset": 28,
15170 "field_name": "fabric_metadata.ip_proto",
15171 "field_msb": 7,
15172 "field_lsb": 0,
15173 "field_width": 1,
15174 "phv_msb": 7,
15175 "phv_lsb": 0,
15176 "is_compiler_generated": false,
15177 "is_pov": false
15178 }
15179 ],
15180 "word_bit_width": 8
15181 },
15182 {
15183 "phv_number": 71,
15184 "records": [
15185 {
15186 "position_offset": 0,
15187 "field_name": "$always_deparse",
15188 "field_msb": 7,
15189 "field_lsb": 0,
15190 "field_width": 1,
15191 "phv_msb": 0,
15192 "phv_lsb": 0,
15193 "is_compiler_generated": false,
15194 "is_pov": false
15195 },
15196 {
15197 "position_offset": 40,
15198 "field_name": "hasExited_0",
15199 "field_msb": 7,
15200 "field_lsb": 0,
15201 "field_width": 1,
15202 "phv_msb": 4,
15203 "phv_lsb": 4,
15204 "is_compiler_generated": false,
15205 "is_pov": false
15206 },
15207 {
15208 "position_offset": 0,
15209 "field_name": "POV",
15210 "field_msb": 7,
15211 "field_lsb": 0,
15212 "field_width": 0,
15213 "phv_msb": 1,
15214 "phv_lsb": 1,
15215 "is_compiler_generated": false,
15216 "is_pov": true,
15217 "pov_headers": [
15218 {
15219 "bit_index": 1,
15220 "position_offset": 2,
15221 "header_name": "arp",
15222 "hidden": false
15223 }
15224 ]
15225 },
15226 {
15227 "position_offset": 0,
15228 "field_name": "POV",
15229 "field_msb": 7,
15230 "field_lsb": 0,
15231 "field_width": 0,
15232 "phv_msb": 2,
15233 "phv_lsb": 2,
15234 "is_compiler_generated": false,
15235 "is_pov": true,
15236 "pov_headers": [
15237 {
15238 "bit_index": 2,
15239 "position_offset": 11,
15240 "header_name": "ethernet",
15241 "hidden": false
15242 }
15243 ]
15244 },
15245 {
15246 "position_offset": 0,
15247 "field_name": "POV",
15248 "field_msb": 7,
15249 "field_lsb": 0,
15250 "field_width": 0,
15251 "phv_msb": 3,
15252 "phv_lsb": 3,
15253 "is_compiler_generated": false,
15254 "is_pov": true,
15255 "pov_headers": [
15256 {
15257 "bit_index": 3,
15258 "position_offset": 41,
15259 "header_name": "icmp",
15260 "hidden": false
15261 }
15262 ]
15263 },
15264 {
15265 "position_offset": 0,
15266 "field_name": "POV",
15267 "field_msb": 7,
15268 "field_lsb": 0,
15269 "field_width": 0,
15270 "phv_msb": 5,
15271 "phv_lsb": 5,
15272 "is_compiler_generated": false,
15273 "is_pov": true,
15274 "pov_headers": [
15275 {
15276 "bit_index": 5,
Carmelo Casconeecb35762018-02-03 17:30:05 -080015277 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015278 "header_name": "ipv4",
15279 "hidden": false
15280 }
15281 ]
15282 },
15283 {
15284 "position_offset": 0,
15285 "field_name": "POV",
15286 "field_msb": 7,
15287 "field_lsb": 0,
15288 "field_width": 0,
15289 "phv_msb": 6,
15290 "phv_lsb": 6,
15291 "is_compiler_generated": false,
15292 "is_pov": true,
15293 "pov_headers": [
15294 {
15295 "bit_index": 6,
Carmelo Casconeecb35762018-02-03 17:30:05 -080015296 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015297 "header_name": "mpls",
15298 "hidden": false
15299 }
15300 ]
15301 },
15302 {
15303 "position_offset": 0,
15304 "field_name": "POV",
15305 "field_msb": 7,
15306 "field_lsb": 0,
15307 "field_width": 0,
15308 "phv_msb": 7,
15309 "phv_lsb": 7,
15310 "is_compiler_generated": false,
15311 "is_pov": true,
15312 "pov_headers": [
15313 {
15314 "bit_index": 7,
Carmelo Casconeecb35762018-02-03 17:30:05 -080015315 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015316 "header_name": "packet_out",
15317 "hidden": false
15318 }
15319 ]
15320 }
15321 ],
15322 "word_bit_width": 8
15323 },
15324 {
15325 "phv_number": 72,
15326 "records": [
15327 {
15328 "position_offset": 39,
15329 "field_name": "fabric_metadata.pop_vlan_at_egress",
15330 "field_msb": 7,
15331 "field_lsb": 0,
15332 "field_width": 1,
15333 "phv_msb": 3,
15334 "phv_lsb": 3,
15335 "is_compiler_generated": false,
15336 "is_pov": false
15337 },
15338 {
15339 "position_offset": 0,
15340 "field_name": "POV",
15341 "field_msb": 7,
15342 "field_lsb": 0,
15343 "field_width": 0,
15344 "phv_msb": 0,
15345 "phv_lsb": 0,
15346 "is_compiler_generated": false,
15347 "is_pov": true,
15348 "pov_headers": [
15349 {
15350 "bit_index": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -080015351 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015352 "header_name": "tcp",
15353 "hidden": false
15354 }
15355 ]
15356 },
15357 {
15358 "position_offset": 0,
15359 "field_name": "POV",
15360 "field_msb": 7,
15361 "field_lsb": 0,
15362 "field_width": 0,
15363 "phv_msb": 1,
15364 "phv_lsb": 1,
15365 "is_compiler_generated": false,
15366 "is_pov": true,
15367 "pov_headers": [
15368 {
15369 "bit_index": 1,
Carmelo Casconeecb35762018-02-03 17:30:05 -080015370 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015371 "header_name": "udp",
15372 "hidden": false
15373 }
15374 ]
15375 },
15376 {
15377 "position_offset": 0,
15378 "field_name": "POV",
15379 "field_msb": 7,
15380 "field_lsb": 0,
15381 "field_width": 0,
15382 "phv_msb": 2,
15383 "phv_lsb": 2,
15384 "is_compiler_generated": false,
15385 "is_pov": true,
15386 "pov_headers": [
15387 {
15388 "bit_index": 2,
Carmelo Casconeecb35762018-02-03 17:30:05 -080015389 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015390 "header_name": "vlan_tag",
15391 "hidden": false
15392 }
15393 ]
15394 }
15395 ],
15396 "word_bit_width": 8
15397 },
15398 {
15399 "phv_number": 128,
15400 "records": [
15401 {
15402 "position_offset": 62,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015403 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
15404 "field_msb": 15,
15405 "field_lsb": 0,
15406 "field_width": 2,
15407 "phv_msb": 8,
15408 "phv_lsb": 0,
15409 "is_compiler_generated": false,
15410 "is_pov": false
15411 }
15412 ],
15413 "word_bit_width": 16
15414 },
15415 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015416 "phv_number": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015417 "records": [
15418 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015419 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015420 "field_name": "packet_out.egress_port",
15421 "field_msb": 15,
15422 "field_lsb": 0,
15423 "field_width": 2,
15424 "phv_msb": 15,
15425 "phv_lsb": 7,
15426 "is_compiler_generated": false,
15427 "is_pov": false
15428 },
15429 {
15430 "position_offset": 26,
15431 "field_name": "fabric_metadata.fwd_type",
15432 "field_msb": 15,
15433 "field_lsb": 0,
15434 "field_width": 2,
15435 "phv_msb": 5,
15436 "phv_lsb": 3,
15437 "is_compiler_generated": false,
15438 "is_pov": false
15439 },
15440 {
15441 "position_offset": 60,
15442 "field_name": "ig_intr_md_for_tm.drop_ctl",
15443 "field_msb": 15,
15444 "field_lsb": 0,
15445 "field_width": 2,
15446 "phv_msb": 2,
15447 "phv_lsb": 0,
15448 "is_compiler_generated": false,
15449 "is_pov": false
15450 }
15451 ],
15452 "word_bit_width": 16
15453 },
15454 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015455 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015456 "records": [
15457 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015458 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015459 "field_name": "vlan_tag.pri",
15460 "field_msb": 15,
15461 "field_lsb": 0,
15462 "field_width": 2,
15463 "phv_msb": 15,
15464 "phv_lsb": 13,
15465 "is_compiler_generated": false,
15466 "is_pov": false
15467 },
15468 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015469 "position_offset": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015470 "field_name": "vlan_tag.cfi",
15471 "field_msb": 15,
15472 "field_lsb": 0,
15473 "field_width": 2,
15474 "phv_msb": 12,
15475 "phv_lsb": 12,
15476 "is_compiler_generated": false,
15477 "is_pov": false
15478 },
15479 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015480 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015481 "field_name": "vlan_tag.vlan_id",
15482 "field_msb": 15,
15483 "field_lsb": 0,
15484 "field_width": 2,
15485 "phv_msb": 11,
15486 "phv_lsb": 0,
15487 "is_compiler_generated": false,
15488 "is_pov": false
15489 }
15490 ],
15491 "word_bit_width": 16
15492 },
15493 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015494 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015495 "records": [
15496 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015497 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015498 "field_name": "mpls.label",
15499 "field_msb": 19,
15500 "field_lsb": 4,
15501 "field_width": 2,
15502 "phv_msb": 15,
15503 "phv_lsb": 0,
15504 "is_compiler_generated": false,
15505 "is_pov": false
15506 }
15507 ],
15508 "word_bit_width": 16
15509 },
15510 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015511 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015512 "records": [
15513 {
15514 "position_offset": 58,
15515 "field_name": "ig_intr_md.ingress_port",
15516 "field_msb": 15,
15517 "field_lsb": 0,
15518 "field_width": 2,
15519 "phv_msb": 8,
15520 "phv_lsb": 0,
15521 "is_compiler_generated": false,
15522 "is_pov": false
15523 }
15524 ],
15525 "word_bit_width": 16
15526 },
15527 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015528 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015529 "records": [
15530 {
15531 "position_offset": 31,
15532 "field_name": "fabric_metadata.l4_src_port",
15533 "field_msb": 15,
15534 "field_lsb": 0,
15535 "field_width": 2,
15536 "phv_msb": 15,
15537 "phv_lsb": 0,
15538 "is_compiler_generated": false,
15539 "is_pov": false
15540 }
15541 ],
15542 "word_bit_width": 16
15543 },
15544 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015545 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015546 "records": [
15547 {
15548 "position_offset": 18,
15549 "field_name": "ethernet.ether_type",
15550 "field_msb": 15,
15551 "field_lsb": 0,
15552 "field_width": 2,
15553 "phv_msb": 15,
15554 "phv_lsb": 0,
15555 "is_compiler_generated": false,
15556 "is_pov": false
15557 }
15558 ],
15559 "word_bit_width": 16
15560 },
15561 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015562 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015563 "records": [
15564 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015565 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015566 "field_name": "vlan_tag.ether_type",
15567 "field_msb": 15,
15568 "field_lsb": 0,
15569 "field_width": 2,
15570 "phv_msb": 15,
15571 "phv_lsb": 0,
15572 "is_compiler_generated": false,
15573 "is_pov": false
15574 }
15575 ],
15576 "word_bit_width": 16
15577 },
15578 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015579 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015580 "records": [
15581 {
15582 "position_offset": 12,
15583 "field_name": "ethernet.dst_addr",
15584 "field_msb": 15,
15585 "field_lsb": 0,
15586 "field_width": 6,
15587 "phv_msb": 15,
15588 "phv_lsb": 0,
15589 "is_compiler_generated": false,
15590 "is_pov": false
15591 }
15592 ],
15593 "word_bit_width": 16
15594 },
15595 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015596 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015597 "records": [
15598 {
15599 "position_offset": 20,
15600 "field_name": "ethernet.src_addr",
15601 "field_msb": 15,
15602 "field_lsb": 0,
15603 "field_width": 6,
15604 "phv_msb": 15,
15605 "phv_lsb": 0,
15606 "is_compiler_generated": false,
15607 "is_pov": false
15608 }
15609 ],
15610 "word_bit_width": 16
15611 },
15612 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015613 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015614 "records": [
15615 {
15616 "position_offset": 29,
15617 "field_name": "fabric_metadata.l4_dst_port",
15618 "field_msb": 15,
15619 "field_lsb": 0,
15620 "field_width": 2,
15621 "phv_msb": 15,
15622 "phv_lsb": 0,
15623 "is_compiler_generated": false,
15624 "is_pov": false
15625 }
15626 ],
15627 "word_bit_width": 16
15628 },
15629 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015630 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015631 "records": [
15632 {
15633 "position_offset": 37,
15634 "field_name": "fabric_metadata.original_ether_type",
15635 "field_msb": 15,
15636 "field_lsb": 0,
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 {
15647 "phv_number": 260,
15648 "records": [
15649 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015650 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015651 "field_name": "tcp.seq_no",
15652 "field_msb": 31,
15653 "field_lsb": 0,
15654 "field_width": 4,
15655 "phv_msb": 31,
15656 "phv_lsb": 0,
15657 "is_compiler_generated": false,
15658 "is_pov": false
15659 },
15660 {
15661 "position_offset": 50,
15662 "field_name": "icmp.timestamp",
15663 "field_msb": 31,
15664 "field_lsb": 0,
15665 "field_width": 8,
15666 "phv_msb": 31,
15667 "phv_lsb": 0,
15668 "is_compiler_generated": false,
15669 "is_pov": false
15670 }
15671 ],
15672 "word_bit_width": 32
15673 },
15674 {
15675 "phv_number": 261,
15676 "records": [
15677 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015678 "position_offset": 96,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015679 "field_name": "tcp.ack_no",
15680 "field_msb": 31,
15681 "field_lsb": 0,
15682 "field_width": 4,
15683 "phv_msb": 31,
15684 "phv_lsb": 0,
15685 "is_compiler_generated": false,
15686 "is_pov": false
15687 },
15688 {
15689 "position_offset": 50,
15690 "field_name": "icmp.timestamp",
15691 "field_msb": 63,
15692 "field_lsb": 32,
15693 "field_width": 8,
15694 "phv_msb": 31,
15695 "phv_lsb": 0,
15696 "is_compiler_generated": false,
15697 "is_pov": false
15698 }
15699 ],
15700 "word_bit_width": 32
15701 },
15702 {
15703 "phv_number": 292,
15704 "records": [
15705 {
15706 "position_offset": 3,
15707 "field_name": "arp.hw_addr_len",
15708 "field_msb": 7,
15709 "field_lsb": 0,
15710 "field_width": 1,
15711 "phv_msb": 7,
15712 "phv_lsb": 0,
15713 "is_compiler_generated": false,
15714 "is_pov": false
15715 },
15716 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015717 "position_offset": 85,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015718 "field_name": "ipv4.version",
15719 "field_msb": 7,
15720 "field_lsb": 0,
15721 "field_width": 1,
15722 "phv_msb": 7,
15723 "phv_lsb": 4,
15724 "is_compiler_generated": false,
15725 "is_pov": false
15726 },
15727 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015728 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015729 "field_name": "ipv4.ihl",
15730 "field_msb": 7,
15731 "field_lsb": 0,
15732 "field_width": 1,
15733 "phv_msb": 3,
15734 "phv_lsb": 0,
15735 "is_compiler_generated": false,
15736 "is_pov": false
15737 }
15738 ],
15739 "word_bit_width": 8
15740 },
15741 {
15742 "phv_number": 293,
15743 "records": [
15744 {
15745 "position_offset": 8,
15746 "field_name": "arp.proto_addr_len",
15747 "field_msb": 7,
15748 "field_lsb": 0,
15749 "field_width": 1,
15750 "phv_msb": 7,
15751 "phv_lsb": 0,
15752 "is_compiler_generated": false,
15753 "is_pov": false
15754 },
15755 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015756 "position_offset": 65,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015757 "field_name": "ipv4.diffserv",
15758 "field_msb": 7,
15759 "field_lsb": 0,
15760 "field_width": 1,
15761 "phv_msb": 7,
15762 "phv_lsb": 0,
15763 "is_compiler_generated": false,
15764 "is_pov": false
15765 }
15766 ],
15767 "word_bit_width": 8
15768 },
15769 {
15770 "phv_number": 294,
15771 "records": [
15772 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015773 "position_offset": 77,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015774 "field_name": "ipv4.protocol",
15775 "field_msb": 7,
15776 "field_lsb": 0,
15777 "field_width": 1,
15778 "phv_msb": 7,
15779 "phv_lsb": 0,
15780 "is_compiler_generated": false,
15781 "is_pov": false
15782 }
15783 ],
15784 "word_bit_width": 8
15785 },
15786 {
15787 "phv_number": 326,
15788 "records": [
15789 {
15790 "position_offset": 4,
15791 "field_name": "arp.hw_type",
15792 "field_msb": 15,
15793 "field_lsb": 0,
15794 "field_width": 2,
15795 "phv_msb": 15,
15796 "phv_lsb": 0,
15797 "is_compiler_generated": false,
15798 "is_pov": false
15799 },
15800 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015801 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015802 "field_name": "tcp.data_offset",
15803 "field_msb": 15,
15804 "field_lsb": 0,
15805 "field_width": 2,
15806 "phv_msb": 15,
15807 "phv_lsb": 12,
15808 "is_compiler_generated": false,
15809 "is_pov": false
15810 },
15811 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015812 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015813 "field_name": "tcp.res",
15814 "field_msb": 15,
15815 "field_lsb": 0,
15816 "field_width": 2,
15817 "phv_msb": 11,
15818 "phv_lsb": 9,
15819 "is_compiler_generated": false,
15820 "is_pov": false
15821 },
15822 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015823 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015824 "field_name": "tcp.ecn",
15825 "field_msb": 15,
15826 "field_lsb": 0,
15827 "field_width": 2,
15828 "phv_msb": 8,
15829 "phv_lsb": 6,
15830 "is_compiler_generated": false,
15831 "is_pov": false
15832 },
15833 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015834 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015835 "field_name": "tcp.ctrl",
15836 "field_msb": 15,
15837 "field_lsb": 0,
15838 "field_width": 2,
15839 "phv_msb": 5,
15840 "phv_lsb": 0,
15841 "is_compiler_generated": false,
15842 "is_pov": false
15843 },
15844 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015845 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015846 "field_name": "udp.src_port",
15847 "field_msb": 15,
15848 "field_lsb": 0,
15849 "field_width": 2,
15850 "phv_msb": 15,
15851 "phv_lsb": 0,
15852 "is_compiler_generated": false,
15853 "is_pov": false
15854 },
15855 {
15856 "position_offset": 42,
15857 "field_name": "icmp.checksum",
15858 "field_msb": 15,
15859 "field_lsb": 0,
15860 "field_width": 2,
15861 "phv_msb": 15,
15862 "phv_lsb": 0,
15863 "is_compiler_generated": false,
15864 "is_pov": false
15865 }
15866 ],
15867 "word_bit_width": 16
15868 },
15869 {
15870 "phv_number": 327,
15871 "records": [
15872 {
15873 "position_offset": 9,
15874 "field_name": "arp.proto_type",
15875 "field_msb": 15,
15876 "field_lsb": 0,
15877 "field_width": 2,
15878 "phv_msb": 15,
15879 "phv_lsb": 0,
15880 "is_compiler_generated": false,
15881 "is_pov": false
15882 },
15883 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015884 "position_offset": 116,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015885 "field_name": "tcp.src_port",
15886 "field_msb": 15,
15887 "field_lsb": 0,
15888 "field_width": 2,
15889 "phv_msb": 15,
15890 "phv_lsb": 0,
15891 "is_compiler_generated": false,
15892 "is_pov": false
15893 },
15894 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015895 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015896 "field_name": "udp.dst_port",
15897 "field_msb": 15,
15898 "field_lsb": 0,
15899 "field_width": 2,
15900 "phv_msb": 15,
15901 "phv_lsb": 0,
15902 "is_compiler_generated": false,
15903 "is_pov": false
15904 },
15905 {
15906 "position_offset": 46,
15907 "field_name": "icmp.identifier",
15908 "field_msb": 15,
15909 "field_lsb": 0,
15910 "field_width": 2,
15911 "phv_msb": 15,
15912 "phv_lsb": 0,
15913 "is_compiler_generated": false,
15914 "is_pov": false
15915 }
15916 ],
15917 "word_bit_width": 16
15918 },
15919 {
15920 "phv_number": 328,
15921 "records": [
15922 {
15923 "position_offset": 6,
15924 "field_name": "arp.opcode",
15925 "field_msb": 15,
15926 "field_lsb": 0,
15927 "field_width": 2,
15928 "phv_msb": 15,
15929 "phv_lsb": 0,
15930 "is_compiler_generated": false,
15931 "is_pov": false
15932 },
15933 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015934 "position_offset": 70,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015935 "field_name": "ipv4.flags",
15936 "field_msb": 15,
15937 "field_lsb": 0,
15938 "field_width": 2,
15939 "phv_msb": 15,
15940 "phv_lsb": 13,
15941 "is_compiler_generated": false,
15942 "is_pov": false
15943 },
15944 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015945 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015946 "field_name": "ipv4.frag_offset",
15947 "field_msb": 15,
15948 "field_lsb": 0,
15949 "field_width": 2,
15950 "phv_msb": 12,
15951 "phv_lsb": 0,
15952 "is_compiler_generated": false,
15953 "is_pov": false
15954 }
15955 ],
15956 "word_bit_width": 16
15957 },
15958 {
15959 "phv_number": 329,
15960 "records": [
15961 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015962 "position_offset": 82,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015963 "field_name": "ipv4.total_len",
15964 "field_msb": 15,
15965 "field_lsb": 0,
15966 "field_width": 2,
15967 "phv_msb": 15,
15968 "phv_lsb": 0,
15969 "is_compiler_generated": false,
15970 "is_pov": false
15971 }
15972 ],
15973 "word_bit_width": 16
15974 },
15975 {
15976 "phv_number": 330,
15977 "records": [
15978 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015979 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015980 "field_name": "ipv4.identification",
15981 "field_msb": 15,
15982 "field_lsb": 0,
15983 "field_width": 2,
15984 "phv_msb": 15,
15985 "phv_lsb": 0,
15986 "is_compiler_generated": false,
15987 "is_pov": false
15988 }
15989 ],
15990 "word_bit_width": 16
15991 },
15992 {
15993 "phv_number": 331,
15994 "records": [
15995 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080015996 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -080015997 "field_name": "tcp.dst_port",
15998 "field_msb": 15,
15999 "field_lsb": 0,
16000 "field_width": 2,
16001 "phv_msb": 15,
16002 "phv_lsb": 0,
16003 "is_compiler_generated": false,
16004 "is_pov": false
16005 },
16006 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080016007 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016008 "field_name": "udp.len",
16009 "field_msb": 15,
16010 "field_lsb": 0,
16011 "field_width": 2,
16012 "phv_msb": 15,
16013 "phv_lsb": 0,
16014 "is_compiler_generated": false,
16015 "is_pov": false
16016 },
16017 {
16018 "position_offset": 48,
16019 "field_name": "icmp.sequence_number",
16020 "field_msb": 15,
16021 "field_lsb": 0,
16022 "field_width": 2,
16023 "phv_msb": 15,
16024 "phv_lsb": 0,
16025 "is_compiler_generated": false,
16026 "is_pov": false
16027 }
16028 ],
16029 "word_bit_width": 16
16030 },
16031 {
16032 "phv_number": 338,
16033 "records": [
16034 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080016035 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016036 "field_name": "tcp.window",
16037 "field_msb": 15,
16038 "field_lsb": 0,
16039 "field_width": 2,
16040 "phv_msb": 15,
16041 "phv_lsb": 0,
16042 "is_compiler_generated": false,
16043 "is_pov": false
16044 },
16045 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080016046 "position_offset": 123,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016047 "field_name": "udp.checksum",
16048 "field_msb": 15,
16049 "field_lsb": 0,
16050 "field_width": 2,
16051 "phv_msb": 15,
16052 "phv_lsb": 0,
16053 "is_compiler_generated": false,
16054 "is_pov": false
16055 }
16056 ],
16057 "word_bit_width": 16
16058 },
16059 {
16060 "phv_number": 339,
16061 "records": [
16062 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080016063 "position_offset": 100,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016064 "field_name": "tcp.checksum",
16065 "field_msb": 15,
16066 "field_lsb": 0,
16067 "field_width": 2,
16068 "phv_msb": 15,
16069 "phv_lsb": 0,
16070 "is_compiler_generated": false,
16071 "is_pov": false
16072 }
16073 ],
16074 "word_bit_width": 16
16075 },
16076 {
16077 "phv_number": 340,
16078 "records": [
16079 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080016080 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -080016081 "field_name": "tcp.urgent_ptr",
16082 "field_msb": 15,
16083 "field_lsb": 0,
16084 "field_width": 2,
16085 "phv_msb": 15,
16086 "phv_lsb": 0,
16087 "is_compiler_generated": false,
16088 "is_pov": false
16089 }
16090 ],
16091 "word_bit_width": 16
16092 }
16093 ],
16094 "egress": [
16095 {
16096 "phv_number": 80,
16097 "records": [
16098 {
16099 "position_offset": 0,
16100 "field_name": "POV",
16101 "field_msb": 7,
16102 "field_lsb": 0,
16103 "field_width": 0,
16104 "phv_msb": 0,
16105 "phv_lsb": 0,
16106 "is_compiler_generated": false,
16107 "is_pov": true,
16108 "pov_headers": [
16109 {
16110 "bit_index": 0,
16111 "position_offset": 0,
16112 "header_name": "arp",
16113 "hidden": false
16114 }
16115 ]
16116 },
16117 {
16118 "position_offset": 0,
16119 "field_name": "POV",
16120 "field_msb": 7,
16121 "field_lsb": 0,
16122 "field_width": 0,
16123 "phv_msb": 2,
16124 "phv_lsb": 2,
16125 "is_compiler_generated": false,
16126 "is_pov": true,
16127 "pov_headers": [
16128 {
16129 "bit_index": 2,
16130 "position_offset": 11,
16131 "header_name": "ethernet",
16132 "hidden": false
16133 }
16134 ]
16135 },
16136 {
16137 "position_offset": 0,
16138 "field_name": "POV",
16139 "field_msb": 7,
16140 "field_lsb": 0,
16141 "field_width": 0,
16142 "phv_msb": 3,
16143 "phv_lsb": 3,
16144 "is_compiler_generated": false,
16145 "is_pov": true,
16146 "pov_headers": [
16147 {
16148 "bit_index": 3,
16149 "position_offset": 26,
16150 "header_name": "icmp",
16151 "hidden": false
16152 }
16153 ]
16154 },
16155 {
16156 "position_offset": 0,
16157 "field_name": "POV",
16158 "field_msb": 7,
16159 "field_lsb": 0,
16160 "field_width": 0,
16161 "phv_msb": 5,
16162 "phv_lsb": 5,
16163 "is_compiler_generated": false,
16164 "is_pov": true,
16165 "pov_headers": [
16166 {
16167 "bit_index": 5,
16168 "position_offset": 45,
16169 "header_name": "ipv4",
16170 "hidden": false
16171 }
16172 ]
16173 },
16174 {
16175 "position_offset": 0,
16176 "field_name": "POV",
16177 "field_msb": 7,
16178 "field_lsb": 0,
16179 "field_width": 0,
16180 "phv_msb": 6,
16181 "phv_lsb": 6,
16182 "is_compiler_generated": false,
16183 "is_pov": true,
16184 "pov_headers": [
16185 {
16186 "bit_index": 6,
16187 "position_offset": 67,
16188 "header_name": "mpls",
16189 "hidden": false
16190 }
16191 ]
16192 },
16193 {
16194 "position_offset": 0,
16195 "field_name": "POV",
16196 "field_msb": 7,
16197 "field_lsb": 0,
16198 "field_width": 0,
16199 "phv_msb": 7,
16200 "phv_lsb": 7,
16201 "is_compiler_generated": false,
16202 "is_pov": true,
16203 "pov_headers": [
16204 {
16205 "bit_index": 7,
16206 "position_offset": 73,
16207 "header_name": "packet_in",
16208 "hidden": false
16209 }
16210 ]
16211 }
16212 ],
16213 "word_bit_width": 8
16214 },
16215 {
16216 "phv_number": 81,
16217 "records": [
16218 {
16219 "position_offset": 0,
16220 "field_name": "POV",
16221 "field_msb": 7,
16222 "field_lsb": 0,
16223 "field_width": 0,
16224 "phv_msb": 0,
16225 "phv_lsb": 0,
16226 "is_compiler_generated": false,
16227 "is_pov": true,
16228 "pov_headers": [
16229 {
16230 "bit_index": 0,
16231 "position_offset": 78,
16232 "header_name": "tcp",
16233 "hidden": false
16234 }
16235 ]
16236 },
16237 {
16238 "position_offset": 0,
16239 "field_name": "POV",
16240 "field_msb": 7,
16241 "field_lsb": 0,
16242 "field_width": 0,
16243 "phv_msb": 1,
16244 "phv_lsb": 1,
16245 "is_compiler_generated": false,
16246 "is_pov": true,
16247 "pov_headers": [
16248 {
16249 "bit_index": 1,
16250 "position_offset": 105,
16251 "header_name": "udp",
16252 "hidden": false
16253 }
16254 ]
16255 },
16256 {
16257 "position_offset": 0,
16258 "field_name": "POV",
16259 "field_msb": 7,
16260 "field_lsb": 0,
16261 "field_width": 0,
16262 "phv_msb": 2,
16263 "phv_lsb": 2,
16264 "is_compiler_generated": false,
16265 "is_pov": true,
16266 "pov_headers": [
16267 {
16268 "bit_index": 2,
16269 "position_offset": 114,
16270 "header_name": "vlan_tag",
16271 "hidden": false
16272 }
16273 ]
16274 }
16275 ],
16276 "word_bit_width": 8
16277 },
16278 {
16279 "phv_number": 144,
16280 "records": [
16281 {
16282 "position_offset": 9,
16283 "field_name": "eg_intr_md.egress_port",
16284 "field_msb": 15,
16285 "field_lsb": 0,
16286 "field_width": 2,
16287 "phv_msb": 8,
16288 "phv_lsb": 0,
16289 "is_compiler_generated": false,
16290 "is_pov": false
16291 }
16292 ],
16293 "word_bit_width": 16
16294 },
16295 {
16296 "phv_number": 145,
16297 "records": [
16298 {
16299 "position_offset": 76,
16300 "field_name": "packet_in.ingress_port",
16301 "field_msb": 15,
16302 "field_lsb": 0,
16303 "field_width": 2,
16304 "phv_msb": 15,
16305 "phv_lsb": 7,
16306 "is_compiler_generated": false,
16307 "is_pov": false
16308 },
16309 {
16310 "position_offset": 74,
16311 "field_name": "packet_in._pad",
16312 "field_msb": 15,
16313 "field_lsb": 0,
16314 "field_width": 2,
16315 "phv_msb": 6,
16316 "phv_lsb": 0,
16317 "is_compiler_generated": false,
16318 "is_pov": false
16319 }
16320 ],
16321 "word_bit_width": 16
16322 },
16323 {
16324 "phv_number": 146,
16325 "records": [
16326 {
16327 "position_offset": 43,
16328 "field_name": "ig_intr_md.ingress_port",
16329 "field_msb": 15,
16330 "field_lsb": 0,
16331 "field_width": 2,
16332 "phv_msb": 8,
16333 "phv_lsb": 0,
16334 "is_compiler_generated": false,
16335 "is_pov": false
16336 }
16337 ],
16338 "word_bit_width": 16
16339 },
16340 {
16341 "phv_number": 256,
16342 "records": [
16343 {
16344 "position_offset": 12,
16345 "field_name": "ethernet.dst_addr",
16346 "field_msb": 47,
16347 "field_lsb": 16,
16348 "field_width": 6,
16349 "phv_msb": 31,
16350 "phv_lsb": 0,
16351 "is_compiler_generated": false,
16352 "is_pov": false
16353 }
16354 ],
16355 "word_bit_width": 32
16356 },
16357 {
16358 "phv_number": 257,
16359 "records": [
16360 {
16361 "position_offset": 20,
16362 "field_name": "ethernet.src_addr",
16363 "field_msb": 47,
16364 "field_lsb": 16,
16365 "field_width": 6,
16366 "phv_msb": 31,
16367 "phv_lsb": 0,
16368 "is_compiler_generated": false,
16369 "is_pov": false
16370 }
16371 ],
16372 "word_bit_width": 32
16373 },
16374 {
16375 "phv_number": 258,
16376 "records": [
16377 {
16378 "position_offset": 59,
16379 "field_name": "ipv4.src_addr",
16380 "field_msb": 31,
16381 "field_lsb": 0,
16382 "field_width": 4,
16383 "phv_msb": 31,
16384 "phv_lsb": 0,
16385 "is_compiler_generated": false,
16386 "is_pov": false
16387 }
16388 ],
16389 "word_bit_width": 32
16390 },
16391 {
16392 "phv_number": 259,
16393 "records": [
16394 {
16395 "position_offset": 47,
16396 "field_name": "ipv4.dst_addr",
16397 "field_msb": 31,
16398 "field_lsb": 0,
16399 "field_width": 4,
16400 "phv_msb": 31,
16401 "phv_lsb": 0,
16402 "is_compiler_generated": false,
16403 "is_pov": false
16404 }
16405 ],
16406 "word_bit_width": 32
16407 },
16408 {
16409 "phv_number": 264,
16410 "records": [
16411 {
16412 "position_offset": 95,
16413 "field_name": "tcp.seq_no",
16414 "field_msb": 31,
16415 "field_lsb": 0,
16416 "field_width": 4,
16417 "phv_msb": 31,
16418 "phv_lsb": 0,
16419 "is_compiler_generated": false,
16420 "is_pov": false
16421 },
16422 {
16423 "position_offset": 35,
16424 "field_name": "icmp.timestamp",
16425 "field_msb": 31,
16426 "field_lsb": 0,
16427 "field_width": 8,
16428 "phv_msb": 31,
16429 "phv_lsb": 0,
16430 "is_compiler_generated": false,
16431 "is_pov": false
16432 }
16433 ],
16434 "word_bit_width": 32
16435 },
16436 {
16437 "phv_number": 265,
16438 "records": [
16439 {
16440 "position_offset": 79,
16441 "field_name": "tcp.ack_no",
16442 "field_msb": 31,
16443 "field_lsb": 0,
16444 "field_width": 4,
16445 "phv_msb": 31,
16446 "phv_lsb": 0,
16447 "is_compiler_generated": false,
16448 "is_pov": false
16449 },
16450 {
16451 "position_offset": 35,
16452 "field_name": "icmp.timestamp",
16453 "field_msb": 63,
16454 "field_lsb": 32,
16455 "field_width": 8,
16456 "phv_msb": 31,
16457 "phv_lsb": 0,
16458 "is_compiler_generated": false,
16459 "is_pov": false
16460 }
16461 ],
16462 "word_bit_width": 32
16463 },
16464 {
16465 "phv_number": 288,
16466 "records": [
16467 {
16468 "position_offset": 1,
16469 "field_name": "arp.hw_addr_len",
16470 "field_msb": 7,
16471 "field_lsb": 0,
16472 "field_width": 1,
16473 "phv_msb": 7,
16474 "phv_lsb": 0,
16475 "is_compiler_generated": false,
16476 "is_pov": false
16477 },
16478 {
16479 "position_offset": 66,
16480 "field_name": "ipv4.version",
16481 "field_msb": 7,
16482 "field_lsb": 0,
16483 "field_width": 1,
16484 "phv_msb": 7,
16485 "phv_lsb": 4,
16486 "is_compiler_generated": false,
16487 "is_pov": false
16488 },
16489 {
16490 "position_offset": 57,
16491 "field_name": "ipv4.ihl",
16492 "field_msb": 7,
16493 "field_lsb": 0,
16494 "field_width": 1,
16495 "phv_msb": 3,
16496 "phv_lsb": 0,
16497 "is_compiler_generated": false,
16498 "is_pov": false
16499 }
16500 ],
16501 "word_bit_width": 8
16502 },
16503 {
16504 "phv_number": 289,
16505 "records": [
16506 {
16507 "position_offset": 6,
16508 "field_name": "arp.proto_addr_len",
16509 "field_msb": 7,
16510 "field_lsb": 0,
16511 "field_width": 1,
16512 "phv_msb": 7,
16513 "phv_lsb": 0,
16514 "is_compiler_generated": false,
16515 "is_pov": false
16516 },
16517 {
16518 "position_offset": 30,
16519 "field_name": "icmp.icmp_type",
16520 "field_msb": 7,
16521 "field_lsb": 0,
16522 "field_width": 1,
16523 "phv_msb": 7,
16524 "phv_lsb": 0,
16525 "is_compiler_generated": false,
16526 "is_pov": false
16527 }
16528 ],
16529 "word_bit_width": 8
16530 },
16531 {
16532 "phv_number": 290,
16533 "records": [
16534 {
16535 "position_offset": 46,
16536 "field_name": "ipv4.diffserv",
16537 "field_msb": 7,
16538 "field_lsb": 0,
16539 "field_width": 1,
16540 "phv_msb": 7,
16541 "phv_lsb": 0,
16542 "is_compiler_generated": false,
16543 "is_pov": false
16544 }
16545 ],
16546 "word_bit_width": 8
16547 },
16548 {
16549 "phv_number": 291,
16550 "records": [
16551 {
16552 "position_offset": 29,
16553 "field_name": "icmp.icmp_code",
16554 "field_msb": 7,
16555 "field_lsb": 0,
16556 "field_width": 1,
16557 "phv_msb": 7,
16558 "phv_lsb": 0,
16559 "is_compiler_generated": false,
16560 "is_pov": false
16561 }
16562 ],
16563 "word_bit_width": 8
16564 },
16565 {
16566 "phv_number": 296,
16567 "records": [
16568 {
16569 "position_offset": 69,
16570 "field_name": "mpls.label",
16571 "field_msb": 3,
16572 "field_lsb": 0,
16573 "field_width": 2,
16574 "phv_msb": 7,
16575 "phv_lsb": 4,
16576 "is_compiler_generated": false,
16577 "is_pov": false
16578 },
16579 {
16580 "position_offset": 71,
16581 "field_name": "mpls.tc",
16582 "field_msb": 7,
16583 "field_lsb": 0,
16584 "field_width": 1,
16585 "phv_msb": 3,
16586 "phv_lsb": 1,
16587 "is_compiler_generated": false,
16588 "is_pov": false
16589 },
16590 {
16591 "position_offset": 68,
16592 "field_name": "mpls.bos",
16593 "field_msb": 7,
16594 "field_lsb": 0,
16595 "field_width": 1,
16596 "phv_msb": 0,
16597 "phv_lsb": 0,
16598 "is_compiler_generated": false,
16599 "is_pov": false
16600 }
16601 ],
16602 "word_bit_width": 8
16603 },
16604 {
16605 "phv_number": 297,
16606 "records": [
16607 {
16608 "position_offset": 65,
16609 "field_name": "ipv4.ttl",
16610 "field_msb": 7,
16611 "field_lsb": 0,
16612 "field_width": 1,
16613 "phv_msb": 7,
16614 "phv_lsb": 0,
16615 "is_compiler_generated": false,
16616 "is_pov": false
16617 }
16618 ],
16619 "word_bit_width": 8
16620 },
16621 {
16622 "phv_number": 298,
16623 "records": [
16624 {
16625 "position_offset": 58,
16626 "field_name": "ipv4.protocol",
16627 "field_msb": 7,
16628 "field_lsb": 0,
16629 "field_width": 1,
16630 "phv_msb": 7,
16631 "phv_lsb": 0,
16632 "is_compiler_generated": false,
16633 "is_pov": false
16634 }
16635 ],
16636 "word_bit_width": 8
16637 },
16638 {
16639 "phv_number": 299,
16640 "records": [
16641 {
16642 "position_offset": 72,
16643 "field_name": "mpls.ttl",
16644 "field_msb": 7,
16645 "field_lsb": 0,
16646 "field_width": 1,
16647 "phv_msb": 7,
16648 "phv_lsb": 0,
16649 "is_compiler_generated": false,
16650 "is_pov": false
16651 }
16652 ],
16653 "word_bit_width": 8
16654 },
16655 {
16656 "phv_number": 320,
16657 "records": [
16658 {
16659 "position_offset": 119,
16660 "field_name": "vlan_tag.pri",
16661 "field_msb": 15,
16662 "field_lsb": 0,
16663 "field_width": 2,
16664 "phv_msb": 15,
16665 "phv_lsb": 13,
16666 "is_compiler_generated": false,
16667 "is_pov": false
16668 },
16669 {
16670 "position_offset": 115,
16671 "field_name": "vlan_tag.cfi",
16672 "field_msb": 15,
16673 "field_lsb": 0,
16674 "field_width": 2,
16675 "phv_msb": 12,
16676 "phv_lsb": 12,
16677 "is_compiler_generated": false,
16678 "is_pov": false
16679 },
16680 {
16681 "position_offset": 121,
16682 "field_name": "vlan_tag.vlan_id",
16683 "field_msb": 15,
16684 "field_lsb": 0,
16685 "field_width": 2,
16686 "phv_msb": 11,
16687 "phv_lsb": 0,
16688 "is_compiler_generated": false,
16689 "is_pov": false
16690 }
16691 ],
16692 "word_bit_width": 16
16693 },
16694 {
16695 "phv_number": 321,
16696 "records": [
16697 {
16698 "position_offset": 2,
16699 "field_name": "arp.hw_type",
16700 "field_msb": 15,
16701 "field_lsb": 0,
16702 "field_width": 2,
16703 "phv_msb": 15,
16704 "phv_lsb": 0,
16705 "is_compiler_generated": false,
16706 "is_pov": false
16707 },
16708 {
16709 "position_offset": 99,
16710 "field_name": "tcp.src_port",
16711 "field_msb": 15,
16712 "field_lsb": 0,
16713 "field_width": 2,
16714 "phv_msb": 15,
16715 "phv_lsb": 0,
16716 "is_compiler_generated": false,
16717 "is_pov": false
16718 },
16719 {
16720 "position_offset": 112,
16721 "field_name": "udp.src_port",
16722 "field_msb": 15,
16723 "field_lsb": 0,
16724 "field_width": 2,
16725 "phv_msb": 15,
16726 "phv_lsb": 0,
16727 "is_compiler_generated": false,
16728 "is_pov": false
16729 },
16730 {
16731 "position_offset": 27,
16732 "field_name": "icmp.checksum",
16733 "field_msb": 15,
16734 "field_lsb": 0,
16735 "field_width": 2,
16736 "phv_msb": 15,
16737 "phv_lsb": 0,
16738 "is_compiler_generated": false,
16739 "is_pov": false
16740 }
16741 ],
16742 "word_bit_width": 16
16743 },
16744 {
16745 "phv_number": 322,
16746 "records": [
16747 {
16748 "position_offset": 7,
16749 "field_name": "arp.proto_type",
16750 "field_msb": 15,
16751 "field_lsb": 0,
16752 "field_width": 2,
16753 "phv_msb": 15,
16754 "phv_lsb": 0,
16755 "is_compiler_generated": false,
16756 "is_pov": false
16757 },
16758 {
16759 "position_offset": 69,
16760 "field_name": "mpls.label",
16761 "field_msb": 19,
16762 "field_lsb": 4,
16763 "field_width": 2,
16764 "phv_msb": 15,
16765 "phv_lsb": 0,
16766 "is_compiler_generated": false,
16767 "is_pov": false
16768 }
16769 ],
16770 "word_bit_width": 16
16771 },
16772 {
16773 "phv_number": 323,
16774 "records": [
16775 {
16776 "position_offset": 4,
16777 "field_name": "arp.opcode",
16778 "field_msb": 15,
16779 "field_lsb": 0,
16780 "field_width": 2,
16781 "phv_msb": 15,
16782 "phv_lsb": 0,
16783 "is_compiler_generated": false,
16784 "is_pov": false
16785 },
16786 {
16787 "position_offset": 87,
16788 "field_name": "tcp.data_offset",
16789 "field_msb": 15,
16790 "field_lsb": 0,
16791 "field_width": 2,
16792 "phv_msb": 15,
16793 "phv_lsb": 12,
16794 "is_compiler_generated": false,
16795 "is_pov": false
16796 },
16797 {
16798 "position_offset": 93,
16799 "field_name": "tcp.res",
16800 "field_msb": 15,
16801 "field_lsb": 0,
16802 "field_width": 2,
16803 "phv_msb": 11,
16804 "phv_lsb": 9,
16805 "is_compiler_generated": false,
16806 "is_pov": false
16807 },
16808 {
16809 "position_offset": 91,
16810 "field_name": "tcp.ecn",
16811 "field_msb": 15,
16812 "field_lsb": 0,
16813 "field_width": 2,
16814 "phv_msb": 8,
16815 "phv_lsb": 6,
16816 "is_compiler_generated": false,
16817 "is_pov": false
16818 },
16819 {
16820 "position_offset": 85,
16821 "field_name": "tcp.ctrl",
16822 "field_msb": 15,
16823 "field_lsb": 0,
16824 "field_width": 2,
16825 "phv_msb": 5,
16826 "phv_lsb": 0,
16827 "is_compiler_generated": false,
16828 "is_pov": false
16829 },
16830 {
16831 "position_offset": 108,
16832 "field_name": "udp.dst_port",
16833 "field_msb": 15,
16834 "field_lsb": 0,
16835 "field_width": 2,
16836 "phv_msb": 15,
16837 "phv_lsb": 0,
16838 "is_compiler_generated": false,
16839 "is_pov": false
16840 },
16841 {
16842 "position_offset": 31,
16843 "field_name": "icmp.identifier",
16844 "field_msb": 15,
16845 "field_lsb": 0,
16846 "field_width": 2,
16847 "phv_msb": 15,
16848 "phv_lsb": 0,
16849 "is_compiler_generated": false,
16850 "is_pov": false
16851 }
16852 ],
16853 "word_bit_width": 16
16854 },
16855 {
16856 "phv_number": 324,
16857 "records": [
16858 {
16859 "position_offset": 51,
16860 "field_name": "ipv4.flags",
16861 "field_msb": 15,
16862 "field_lsb": 0,
16863 "field_width": 2,
16864 "phv_msb": 15,
16865 "phv_lsb": 13,
16866 "is_compiler_generated": false,
16867 "is_pov": false
16868 },
16869 {
16870 "position_offset": 53,
16871 "field_name": "ipv4.frag_offset",
16872 "field_msb": 15,
16873 "field_lsb": 0,
16874 "field_width": 2,
16875 "phv_msb": 12,
16876 "phv_lsb": 0,
16877 "is_compiler_generated": false,
16878 "is_pov": false
16879 }
16880 ],
16881 "word_bit_width": 16
16882 },
16883 {
16884 "phv_number": 325,
16885 "records": [
16886 {
16887 "position_offset": 12,
16888 "field_name": "ethernet.dst_addr",
16889 "field_msb": 15,
16890 "field_lsb": 0,
16891 "field_width": 6,
16892 "phv_msb": 15,
16893 "phv_lsb": 0,
16894 "is_compiler_generated": false,
16895 "is_pov": false
16896 }
16897 ],
16898 "word_bit_width": 16
16899 },
16900 {
16901 "phv_number": 332,
16902 "records": [
16903 {
16904 "position_offset": 20,
16905 "field_name": "ethernet.src_addr",
16906 "field_msb": 15,
16907 "field_lsb": 0,
16908 "field_width": 6,
16909 "phv_msb": 15,
16910 "phv_lsb": 0,
16911 "is_compiler_generated": false,
16912 "is_pov": false
16913 }
16914 ],
16915 "word_bit_width": 16
16916 },
16917 {
16918 "phv_number": 333,
16919 "records": [
16920 {
16921 "position_offset": 18,
16922 "field_name": "ethernet.ether_type",
16923 "field_msb": 15,
16924 "field_lsb": 0,
16925 "field_width": 2,
16926 "phv_msb": 15,
16927 "phv_lsb": 0,
16928 "is_compiler_generated": false,
16929 "is_pov": false
16930 }
16931 ],
16932 "word_bit_width": 16
16933 },
16934 {
16935 "phv_number": 334,
16936 "records": [
16937 {
16938 "position_offset": 117,
16939 "field_name": "vlan_tag.ether_type",
16940 "field_msb": 15,
16941 "field_lsb": 0,
16942 "field_width": 2,
16943 "phv_msb": 15,
16944 "phv_lsb": 0,
16945 "is_compiler_generated": false,
16946 "is_pov": false
16947 }
16948 ],
16949 "word_bit_width": 16
16950 },
16951 {
16952 "phv_number": 335,
16953 "records": [
16954 {
16955 "position_offset": 63,
16956 "field_name": "ipv4.total_len",
16957 "field_msb": 15,
16958 "field_lsb": 0,
16959 "field_width": 2,
16960 "phv_msb": 15,
16961 "phv_lsb": 0,
16962 "is_compiler_generated": false,
16963 "is_pov": false
16964 }
16965 ],
16966 "word_bit_width": 16
16967 },
16968 {
16969 "phv_number": 336,
16970 "records": [
16971 {
16972 "position_offset": 55,
16973 "field_name": "ipv4.identification",
16974 "field_msb": 15,
16975 "field_lsb": 0,
16976 "field_width": 2,
16977 "phv_msb": 15,
16978 "phv_lsb": 0,
16979 "is_compiler_generated": false,
16980 "is_pov": false
16981 }
16982 ],
16983 "word_bit_width": 16
16984 },
16985 {
16986 "phv_number": 337,
16987 "records": [
16988 {
16989 "position_offset": 89,
16990 "field_name": "tcp.dst_port",
16991 "field_msb": 15,
16992 "field_lsb": 0,
16993 "field_width": 2,
16994 "phv_msb": 15,
16995 "phv_lsb": 0,
16996 "is_compiler_generated": false,
16997 "is_pov": false
16998 },
16999 {
17000 "position_offset": 110,
17001 "field_name": "udp.len",
17002 "field_msb": 15,
17003 "field_lsb": 0,
17004 "field_width": 2,
17005 "phv_msb": 15,
17006 "phv_lsb": 0,
17007 "is_compiler_generated": false,
17008 "is_pov": false
17009 },
17010 {
17011 "position_offset": 33,
17012 "field_name": "icmp.sequence_number",
17013 "field_msb": 15,
17014 "field_lsb": 0,
17015 "field_width": 2,
17016 "phv_msb": 15,
17017 "phv_lsb": 0,
17018 "is_compiler_generated": false,
17019 "is_pov": false
17020 }
17021 ],
17022 "word_bit_width": 16
17023 },
17024 {
17025 "phv_number": 344,
17026 "records": [
17027 {
17028 "position_offset": 103,
17029 "field_name": "tcp.window",
17030 "field_msb": 15,
17031 "field_lsb": 0,
17032 "field_width": 2,
17033 "phv_msb": 15,
17034 "phv_lsb": 0,
17035 "is_compiler_generated": false,
17036 "is_pov": false
17037 },
17038 {
17039 "position_offset": 106,
17040 "field_name": "udp.checksum",
17041 "field_msb": 15,
17042 "field_lsb": 0,
17043 "field_width": 2,
17044 "phv_msb": 15,
17045 "phv_lsb": 0,
17046 "is_compiler_generated": false,
17047 "is_pov": false
17048 }
17049 ],
17050 "word_bit_width": 16
17051 },
17052 {
17053 "phv_number": 345,
17054 "records": [
17055 {
17056 "position_offset": 83,
17057 "field_name": "tcp.checksum",
17058 "field_msb": 15,
17059 "field_lsb": 0,
17060 "field_width": 2,
17061 "phv_msb": 15,
17062 "phv_lsb": 0,
17063 "is_compiler_generated": false,
17064 "is_pov": false
17065 }
17066 ],
17067 "word_bit_width": 16
17068 },
17069 {
17070 "phv_number": 346,
17071 "records": [
17072 {
17073 "position_offset": 101,
17074 "field_name": "tcp.urgent_ptr",
17075 "field_msb": 15,
17076 "field_lsb": 0,
17077 "field_width": 2,
17078 "phv_msb": 15,
17079 "phv_lsb": 0,
17080 "is_compiler_generated": false,
17081 "is_pov": false
17082 }
17083 ],
17084 "word_bit_width": 16
17085 }
17086 ],
17087 "stage_number": 7
17088 },
17089 {
17090 "ingress": [
17091 {
17092 "phv_number": 0,
17093 "records": [
17094 {
17095 "position_offset": 12,
17096 "field_name": "ethernet.dst_addr",
17097 "field_msb": 47,
17098 "field_lsb": 16,
17099 "field_width": 6,
17100 "phv_msb": 31,
17101 "phv_lsb": 0,
17102 "is_compiler_generated": false,
17103 "is_pov": false
17104 }
17105 ],
17106 "word_bit_width": 32
17107 },
17108 {
17109 "phv_number": 1,
17110 "records": [
17111 {
17112 "position_offset": 20,
17113 "field_name": "ethernet.src_addr",
17114 "field_msb": 47,
17115 "field_lsb": 16,
17116 "field_width": 6,
17117 "phv_msb": 31,
17118 "phv_lsb": 0,
17119 "is_compiler_generated": false,
17120 "is_pov": false
17121 }
17122 ],
17123 "word_bit_width": 32
17124 },
17125 {
17126 "phv_number": 2,
17127 "records": [
17128 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017129 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017130 "field_name": "ipv4.src_addr",
17131 "field_msb": 31,
17132 "field_lsb": 0,
17133 "field_width": 4,
17134 "phv_msb": 31,
17135 "phv_lsb": 0,
17136 "is_compiler_generated": false,
17137 "is_pov": false
17138 }
17139 ],
17140 "word_bit_width": 32
17141 },
17142 {
17143 "phv_number": 3,
17144 "records": [
17145 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017146 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017147 "field_name": "ipv4.dst_addr",
17148 "field_msb": 31,
17149 "field_lsb": 0,
17150 "field_width": 4,
17151 "phv_msb": 31,
17152 "phv_lsb": 0,
17153 "is_compiler_generated": false,
17154 "is_pov": false
17155 }
17156 ],
17157 "word_bit_width": 32
17158 },
17159 {
17160 "phv_number": 4,
17161 "records": [
17162 {
17163 "position_offset": 33,
17164 "field_name": "fabric_metadata.next_id",
17165 "field_msb": 31,
17166 "field_lsb": 0,
17167 "field_width": 4,
17168 "phv_msb": 31,
17169 "phv_lsb": 0,
17170 "is_compiler_generated": false,
17171 "is_pov": false
17172 }
17173 ],
17174 "word_bit_width": 32
17175 },
17176 {
17177 "phv_number": 64,
17178 "records": [
17179 {
17180 "position_offset": 45,
17181 "field_name": "icmp.icmp_type",
17182 "field_msb": 7,
17183 "field_lsb": 0,
17184 "field_width": 1,
17185 "phv_msb": 7,
17186 "phv_lsb": 0,
17187 "is_compiler_generated": false,
17188 "is_pov": false
17189 }
17190 ],
17191 "word_bit_width": 8
17192 },
17193 {
17194 "phv_number": 65,
17195 "records": [
17196 {
17197 "position_offset": 44,
17198 "field_name": "icmp.icmp_code",
17199 "field_msb": 7,
17200 "field_lsb": 0,
17201 "field_width": 1,
17202 "phv_msb": 7,
17203 "phv_lsb": 0,
17204 "is_compiler_generated": false,
17205 "is_pov": false
17206 }
17207 ],
17208 "word_bit_width": 8
17209 },
17210 {
17211 "phv_number": 66,
17212 "records": [
17213 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017214 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017215 "field_name": "mpls.label",
17216 "field_msb": 3,
17217 "field_lsb": 0,
17218 "field_width": 2,
17219 "phv_msb": 7,
17220 "phv_lsb": 4,
17221 "is_compiler_generated": false,
17222 "is_pov": false
17223 },
17224 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017225 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017226 "field_name": "mpls.tc",
17227 "field_msb": 7,
17228 "field_lsb": 0,
17229 "field_width": 1,
17230 "phv_msb": 3,
17231 "phv_lsb": 1,
17232 "is_compiler_generated": false,
17233 "is_pov": false
17234 },
17235 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017236 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017237 "field_name": "mpls.bos",
17238 "field_msb": 7,
17239 "field_lsb": 0,
17240 "field_width": 1,
17241 "phv_msb": 0,
17242 "phv_lsb": 0,
17243 "is_compiler_generated": false,
17244 "is_pov": false
17245 }
17246 ],
17247 "word_bit_width": 8
17248 },
17249 {
17250 "phv_number": 67,
17251 "records": [
17252 {
17253 "position_offset": 1,
17254 "field_name": "$bridged_metadata_indicator",
17255 "field_msb": 7,
17256 "field_lsb": 0,
17257 "field_width": 1,
17258 "phv_msb": 7,
17259 "phv_lsb": 0,
17260 "is_compiler_generated": false,
17261 "is_pov": false
17262 }
17263 ],
17264 "word_bit_width": 8
17265 },
17266 {
17267 "phv_number": 68,
17268 "records": [
17269 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017270 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017271 "field_name": "ipv4.ttl",
17272 "field_msb": 7,
17273 "field_lsb": 0,
17274 "field_width": 1,
17275 "phv_msb": 7,
17276 "phv_lsb": 0,
17277 "is_compiler_generated": false,
17278 "is_pov": false
17279 }
17280 ],
17281 "word_bit_width": 8
17282 },
17283 {
17284 "phv_number": 69,
17285 "records": [
17286 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017287 "position_offset": 91,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017288 "field_name": "mpls.ttl",
17289 "field_msb": 7,
17290 "field_lsb": 0,
17291 "field_width": 1,
17292 "phv_msb": 7,
17293 "phv_lsb": 0,
17294 "is_compiler_generated": false,
17295 "is_pov": false
17296 }
17297 ],
17298 "word_bit_width": 8
17299 },
17300 {
17301 "phv_number": 70,
17302 "records": [
17303 {
17304 "position_offset": 28,
17305 "field_name": "fabric_metadata.ip_proto",
17306 "field_msb": 7,
17307 "field_lsb": 0,
17308 "field_width": 1,
17309 "phv_msb": 7,
17310 "phv_lsb": 0,
17311 "is_compiler_generated": false,
17312 "is_pov": false
17313 }
17314 ],
17315 "word_bit_width": 8
17316 },
17317 {
17318 "phv_number": 71,
17319 "records": [
17320 {
17321 "position_offset": 0,
17322 "field_name": "$always_deparse",
17323 "field_msb": 7,
17324 "field_lsb": 0,
17325 "field_width": 1,
17326 "phv_msb": 0,
17327 "phv_lsb": 0,
17328 "is_compiler_generated": false,
17329 "is_pov": false
17330 },
17331 {
17332 "position_offset": 40,
17333 "field_name": "hasExited_0",
17334 "field_msb": 7,
17335 "field_lsb": 0,
17336 "field_width": 1,
17337 "phv_msb": 4,
17338 "phv_lsb": 4,
17339 "is_compiler_generated": false,
17340 "is_pov": false
17341 },
17342 {
17343 "position_offset": 0,
17344 "field_name": "POV",
17345 "field_msb": 7,
17346 "field_lsb": 0,
17347 "field_width": 0,
17348 "phv_msb": 1,
17349 "phv_lsb": 1,
17350 "is_compiler_generated": false,
17351 "is_pov": true,
17352 "pov_headers": [
17353 {
17354 "bit_index": 1,
17355 "position_offset": 2,
17356 "header_name": "arp",
17357 "hidden": false
17358 }
17359 ]
17360 },
17361 {
17362 "position_offset": 0,
17363 "field_name": "POV",
17364 "field_msb": 7,
17365 "field_lsb": 0,
17366 "field_width": 0,
17367 "phv_msb": 2,
17368 "phv_lsb": 2,
17369 "is_compiler_generated": false,
17370 "is_pov": true,
17371 "pov_headers": [
17372 {
17373 "bit_index": 2,
17374 "position_offset": 11,
17375 "header_name": "ethernet",
17376 "hidden": false
17377 }
17378 ]
17379 },
17380 {
17381 "position_offset": 0,
17382 "field_name": "POV",
17383 "field_msb": 7,
17384 "field_lsb": 0,
17385 "field_width": 0,
17386 "phv_msb": 3,
17387 "phv_lsb": 3,
17388 "is_compiler_generated": false,
17389 "is_pov": true,
17390 "pov_headers": [
17391 {
17392 "bit_index": 3,
17393 "position_offset": 41,
17394 "header_name": "icmp",
17395 "hidden": false
17396 }
17397 ]
17398 },
17399 {
17400 "position_offset": 0,
17401 "field_name": "POV",
17402 "field_msb": 7,
17403 "field_lsb": 0,
17404 "field_width": 0,
17405 "phv_msb": 5,
17406 "phv_lsb": 5,
17407 "is_compiler_generated": false,
17408 "is_pov": true,
17409 "pov_headers": [
17410 {
17411 "bit_index": 5,
Carmelo Casconeecb35762018-02-03 17:30:05 -080017412 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017413 "header_name": "ipv4",
17414 "hidden": false
17415 }
17416 ]
17417 },
17418 {
17419 "position_offset": 0,
17420 "field_name": "POV",
17421 "field_msb": 7,
17422 "field_lsb": 0,
17423 "field_width": 0,
17424 "phv_msb": 6,
17425 "phv_lsb": 6,
17426 "is_compiler_generated": false,
17427 "is_pov": true,
17428 "pov_headers": [
17429 {
17430 "bit_index": 6,
Carmelo Casconeecb35762018-02-03 17:30:05 -080017431 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017432 "header_name": "mpls",
17433 "hidden": false
17434 }
17435 ]
17436 },
17437 {
17438 "position_offset": 0,
17439 "field_name": "POV",
17440 "field_msb": 7,
17441 "field_lsb": 0,
17442 "field_width": 0,
17443 "phv_msb": 7,
17444 "phv_lsb": 7,
17445 "is_compiler_generated": false,
17446 "is_pov": true,
17447 "pov_headers": [
17448 {
17449 "bit_index": 7,
Carmelo Casconeecb35762018-02-03 17:30:05 -080017450 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017451 "header_name": "packet_out",
17452 "hidden": false
17453 }
17454 ]
17455 }
17456 ],
17457 "word_bit_width": 8
17458 },
17459 {
17460 "phv_number": 72,
17461 "records": [
17462 {
17463 "position_offset": 39,
17464 "field_name": "fabric_metadata.pop_vlan_at_egress",
17465 "field_msb": 7,
17466 "field_lsb": 0,
17467 "field_width": 1,
17468 "phv_msb": 3,
17469 "phv_lsb": 3,
17470 "is_compiler_generated": false,
17471 "is_pov": false
17472 },
17473 {
17474 "position_offset": 0,
17475 "field_name": "POV",
17476 "field_msb": 7,
17477 "field_lsb": 0,
17478 "field_width": 0,
17479 "phv_msb": 0,
17480 "phv_lsb": 0,
17481 "is_compiler_generated": false,
17482 "is_pov": true,
17483 "pov_headers": [
17484 {
17485 "bit_index": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -080017486 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017487 "header_name": "tcp",
17488 "hidden": false
17489 }
17490 ]
17491 },
17492 {
17493 "position_offset": 0,
17494 "field_name": "POV",
17495 "field_msb": 7,
17496 "field_lsb": 0,
17497 "field_width": 0,
17498 "phv_msb": 1,
17499 "phv_lsb": 1,
17500 "is_compiler_generated": false,
17501 "is_pov": true,
17502 "pov_headers": [
17503 {
17504 "bit_index": 1,
Carmelo Casconeecb35762018-02-03 17:30:05 -080017505 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017506 "header_name": "udp",
17507 "hidden": false
17508 }
17509 ]
17510 },
17511 {
17512 "position_offset": 0,
17513 "field_name": "POV",
17514 "field_msb": 7,
17515 "field_lsb": 0,
17516 "field_width": 0,
17517 "phv_msb": 2,
17518 "phv_lsb": 2,
17519 "is_compiler_generated": false,
17520 "is_pov": true,
17521 "pov_headers": [
17522 {
17523 "bit_index": 2,
Carmelo Casconeecb35762018-02-03 17:30:05 -080017524 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017525 "header_name": "vlan_tag",
17526 "hidden": false
17527 }
17528 ]
17529 }
17530 ],
17531 "word_bit_width": 8
17532 },
17533 {
17534 "phv_number": 128,
17535 "records": [
17536 {
17537 "position_offset": 62,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017538 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
17539 "field_msb": 15,
17540 "field_lsb": 0,
17541 "field_width": 2,
17542 "phv_msb": 8,
17543 "phv_lsb": 0,
17544 "is_compiler_generated": false,
17545 "is_pov": false
17546 }
17547 ],
17548 "word_bit_width": 16
17549 },
17550 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017551 "phv_number": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017552 "records": [
17553 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017554 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017555 "field_name": "packet_out.egress_port",
17556 "field_msb": 15,
17557 "field_lsb": 0,
17558 "field_width": 2,
17559 "phv_msb": 15,
17560 "phv_lsb": 7,
17561 "is_compiler_generated": false,
17562 "is_pov": false
17563 },
17564 {
17565 "position_offset": 26,
17566 "field_name": "fabric_metadata.fwd_type",
17567 "field_msb": 15,
17568 "field_lsb": 0,
17569 "field_width": 2,
17570 "phv_msb": 5,
17571 "phv_lsb": 3,
17572 "is_compiler_generated": false,
17573 "is_pov": false
17574 },
17575 {
17576 "position_offset": 60,
17577 "field_name": "ig_intr_md_for_tm.drop_ctl",
17578 "field_msb": 15,
17579 "field_lsb": 0,
17580 "field_width": 2,
17581 "phv_msb": 2,
17582 "phv_lsb": 0,
17583 "is_compiler_generated": false,
17584 "is_pov": false
17585 }
17586 ],
17587 "word_bit_width": 16
17588 },
17589 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017590 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017591 "records": [
17592 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017593 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017594 "field_name": "vlan_tag.pri",
17595 "field_msb": 15,
17596 "field_lsb": 0,
17597 "field_width": 2,
17598 "phv_msb": 15,
17599 "phv_lsb": 13,
17600 "is_compiler_generated": false,
17601 "is_pov": false
17602 },
17603 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017604 "position_offset": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017605 "field_name": "vlan_tag.cfi",
17606 "field_msb": 15,
17607 "field_lsb": 0,
17608 "field_width": 2,
17609 "phv_msb": 12,
17610 "phv_lsb": 12,
17611 "is_compiler_generated": false,
17612 "is_pov": false
17613 },
17614 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017615 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017616 "field_name": "vlan_tag.vlan_id",
17617 "field_msb": 15,
17618 "field_lsb": 0,
17619 "field_width": 2,
17620 "phv_msb": 11,
17621 "phv_lsb": 0,
17622 "is_compiler_generated": false,
17623 "is_pov": false
17624 }
17625 ],
17626 "word_bit_width": 16
17627 },
17628 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017629 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017630 "records": [
17631 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017632 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017633 "field_name": "mpls.label",
17634 "field_msb": 19,
17635 "field_lsb": 4,
17636 "field_width": 2,
17637 "phv_msb": 15,
17638 "phv_lsb": 0,
17639 "is_compiler_generated": false,
17640 "is_pov": false
17641 }
17642 ],
17643 "word_bit_width": 16
17644 },
17645 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017646 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017647 "records": [
17648 {
17649 "position_offset": 58,
17650 "field_name": "ig_intr_md.ingress_port",
17651 "field_msb": 15,
17652 "field_lsb": 0,
17653 "field_width": 2,
17654 "phv_msb": 8,
17655 "phv_lsb": 0,
17656 "is_compiler_generated": false,
17657 "is_pov": false
17658 }
17659 ],
17660 "word_bit_width": 16
17661 },
17662 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017663 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017664 "records": [
17665 {
17666 "position_offset": 31,
17667 "field_name": "fabric_metadata.l4_src_port",
17668 "field_msb": 15,
17669 "field_lsb": 0,
17670 "field_width": 2,
17671 "phv_msb": 15,
17672 "phv_lsb": 0,
17673 "is_compiler_generated": false,
17674 "is_pov": false
17675 }
17676 ],
17677 "word_bit_width": 16
17678 },
17679 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017680 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017681 "records": [
17682 {
17683 "position_offset": 18,
17684 "field_name": "ethernet.ether_type",
17685 "field_msb": 15,
17686 "field_lsb": 0,
17687 "field_width": 2,
17688 "phv_msb": 15,
17689 "phv_lsb": 0,
17690 "is_compiler_generated": false,
17691 "is_pov": false
17692 }
17693 ],
17694 "word_bit_width": 16
17695 },
17696 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017697 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017698 "records": [
17699 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017700 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017701 "field_name": "vlan_tag.ether_type",
17702 "field_msb": 15,
17703 "field_lsb": 0,
17704 "field_width": 2,
17705 "phv_msb": 15,
17706 "phv_lsb": 0,
17707 "is_compiler_generated": false,
17708 "is_pov": false
17709 }
17710 ],
17711 "word_bit_width": 16
17712 },
17713 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017714 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017715 "records": [
17716 {
17717 "position_offset": 12,
17718 "field_name": "ethernet.dst_addr",
17719 "field_msb": 15,
17720 "field_lsb": 0,
17721 "field_width": 6,
17722 "phv_msb": 15,
17723 "phv_lsb": 0,
17724 "is_compiler_generated": false,
17725 "is_pov": false
17726 }
17727 ],
17728 "word_bit_width": 16
17729 },
17730 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017731 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017732 "records": [
17733 {
17734 "position_offset": 20,
17735 "field_name": "ethernet.src_addr",
17736 "field_msb": 15,
17737 "field_lsb": 0,
17738 "field_width": 6,
17739 "phv_msb": 15,
17740 "phv_lsb": 0,
17741 "is_compiler_generated": false,
17742 "is_pov": false
17743 }
17744 ],
17745 "word_bit_width": 16
17746 },
17747 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017748 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017749 "records": [
17750 {
17751 "position_offset": 29,
17752 "field_name": "fabric_metadata.l4_dst_port",
17753 "field_msb": 15,
17754 "field_lsb": 0,
17755 "field_width": 2,
17756 "phv_msb": 15,
17757 "phv_lsb": 0,
17758 "is_compiler_generated": false,
17759 "is_pov": false
17760 }
17761 ],
17762 "word_bit_width": 16
17763 },
17764 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017765 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017766 "records": [
17767 {
17768 "position_offset": 37,
17769 "field_name": "fabric_metadata.original_ether_type",
17770 "field_msb": 15,
17771 "field_lsb": 0,
17772 "field_width": 2,
17773 "phv_msb": 15,
17774 "phv_lsb": 0,
17775 "is_compiler_generated": false,
17776 "is_pov": false
17777 }
17778 ],
17779 "word_bit_width": 16
17780 },
17781 {
17782 "phv_number": 260,
17783 "records": [
17784 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017785 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017786 "field_name": "tcp.seq_no",
17787 "field_msb": 31,
17788 "field_lsb": 0,
17789 "field_width": 4,
17790 "phv_msb": 31,
17791 "phv_lsb": 0,
17792 "is_compiler_generated": false,
17793 "is_pov": false
17794 },
17795 {
17796 "position_offset": 50,
17797 "field_name": "icmp.timestamp",
17798 "field_msb": 31,
17799 "field_lsb": 0,
17800 "field_width": 8,
17801 "phv_msb": 31,
17802 "phv_lsb": 0,
17803 "is_compiler_generated": false,
17804 "is_pov": false
17805 }
17806 ],
17807 "word_bit_width": 32
17808 },
17809 {
17810 "phv_number": 261,
17811 "records": [
17812 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017813 "position_offset": 96,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017814 "field_name": "tcp.ack_no",
17815 "field_msb": 31,
17816 "field_lsb": 0,
17817 "field_width": 4,
17818 "phv_msb": 31,
17819 "phv_lsb": 0,
17820 "is_compiler_generated": false,
17821 "is_pov": false
17822 },
17823 {
17824 "position_offset": 50,
17825 "field_name": "icmp.timestamp",
17826 "field_msb": 63,
17827 "field_lsb": 32,
17828 "field_width": 8,
17829 "phv_msb": 31,
17830 "phv_lsb": 0,
17831 "is_compiler_generated": false,
17832 "is_pov": false
17833 }
17834 ],
17835 "word_bit_width": 32
17836 },
17837 {
17838 "phv_number": 292,
17839 "records": [
17840 {
17841 "position_offset": 3,
17842 "field_name": "arp.hw_addr_len",
17843 "field_msb": 7,
17844 "field_lsb": 0,
17845 "field_width": 1,
17846 "phv_msb": 7,
17847 "phv_lsb": 0,
17848 "is_compiler_generated": false,
17849 "is_pov": false
17850 },
17851 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017852 "position_offset": 85,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017853 "field_name": "ipv4.version",
17854 "field_msb": 7,
17855 "field_lsb": 0,
17856 "field_width": 1,
17857 "phv_msb": 7,
17858 "phv_lsb": 4,
17859 "is_compiler_generated": false,
17860 "is_pov": false
17861 },
17862 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017863 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017864 "field_name": "ipv4.ihl",
17865 "field_msb": 7,
17866 "field_lsb": 0,
17867 "field_width": 1,
17868 "phv_msb": 3,
17869 "phv_lsb": 0,
17870 "is_compiler_generated": false,
17871 "is_pov": false
17872 }
17873 ],
17874 "word_bit_width": 8
17875 },
17876 {
17877 "phv_number": 293,
17878 "records": [
17879 {
17880 "position_offset": 8,
17881 "field_name": "arp.proto_addr_len",
17882 "field_msb": 7,
17883 "field_lsb": 0,
17884 "field_width": 1,
17885 "phv_msb": 7,
17886 "phv_lsb": 0,
17887 "is_compiler_generated": false,
17888 "is_pov": false
17889 },
17890 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017891 "position_offset": 65,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017892 "field_name": "ipv4.diffserv",
17893 "field_msb": 7,
17894 "field_lsb": 0,
17895 "field_width": 1,
17896 "phv_msb": 7,
17897 "phv_lsb": 0,
17898 "is_compiler_generated": false,
17899 "is_pov": false
17900 }
17901 ],
17902 "word_bit_width": 8
17903 },
17904 {
17905 "phv_number": 294,
17906 "records": [
17907 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017908 "position_offset": 77,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017909 "field_name": "ipv4.protocol",
17910 "field_msb": 7,
17911 "field_lsb": 0,
17912 "field_width": 1,
17913 "phv_msb": 7,
17914 "phv_lsb": 0,
17915 "is_compiler_generated": false,
17916 "is_pov": false
17917 }
17918 ],
17919 "word_bit_width": 8
17920 },
17921 {
17922 "phv_number": 326,
17923 "records": [
17924 {
17925 "position_offset": 4,
17926 "field_name": "arp.hw_type",
17927 "field_msb": 15,
17928 "field_lsb": 0,
17929 "field_width": 2,
17930 "phv_msb": 15,
17931 "phv_lsb": 0,
17932 "is_compiler_generated": false,
17933 "is_pov": false
17934 },
17935 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017936 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017937 "field_name": "tcp.data_offset",
17938 "field_msb": 15,
17939 "field_lsb": 0,
17940 "field_width": 2,
17941 "phv_msb": 15,
17942 "phv_lsb": 12,
17943 "is_compiler_generated": false,
17944 "is_pov": false
17945 },
17946 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017947 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017948 "field_name": "tcp.res",
17949 "field_msb": 15,
17950 "field_lsb": 0,
17951 "field_width": 2,
17952 "phv_msb": 11,
17953 "phv_lsb": 9,
17954 "is_compiler_generated": false,
17955 "is_pov": false
17956 },
17957 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017958 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017959 "field_name": "tcp.ecn",
17960 "field_msb": 15,
17961 "field_lsb": 0,
17962 "field_width": 2,
17963 "phv_msb": 8,
17964 "phv_lsb": 6,
17965 "is_compiler_generated": false,
17966 "is_pov": false
17967 },
17968 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017969 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017970 "field_name": "tcp.ctrl",
17971 "field_msb": 15,
17972 "field_lsb": 0,
17973 "field_width": 2,
17974 "phv_msb": 5,
17975 "phv_lsb": 0,
17976 "is_compiler_generated": false,
17977 "is_pov": false
17978 },
17979 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080017980 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080017981 "field_name": "udp.src_port",
17982 "field_msb": 15,
17983 "field_lsb": 0,
17984 "field_width": 2,
17985 "phv_msb": 15,
17986 "phv_lsb": 0,
17987 "is_compiler_generated": false,
17988 "is_pov": false
17989 },
17990 {
17991 "position_offset": 42,
17992 "field_name": "icmp.checksum",
17993 "field_msb": 15,
17994 "field_lsb": 0,
17995 "field_width": 2,
17996 "phv_msb": 15,
17997 "phv_lsb": 0,
17998 "is_compiler_generated": false,
17999 "is_pov": false
18000 }
18001 ],
18002 "word_bit_width": 16
18003 },
18004 {
18005 "phv_number": 327,
18006 "records": [
18007 {
18008 "position_offset": 9,
18009 "field_name": "arp.proto_type",
18010 "field_msb": 15,
18011 "field_lsb": 0,
18012 "field_width": 2,
18013 "phv_msb": 15,
18014 "phv_lsb": 0,
18015 "is_compiler_generated": false,
18016 "is_pov": false
18017 },
18018 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080018019 "position_offset": 116,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018020 "field_name": "tcp.src_port",
18021 "field_msb": 15,
18022 "field_lsb": 0,
18023 "field_width": 2,
18024 "phv_msb": 15,
18025 "phv_lsb": 0,
18026 "is_compiler_generated": false,
18027 "is_pov": false
18028 },
18029 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080018030 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018031 "field_name": "udp.dst_port",
18032 "field_msb": 15,
18033 "field_lsb": 0,
18034 "field_width": 2,
18035 "phv_msb": 15,
18036 "phv_lsb": 0,
18037 "is_compiler_generated": false,
18038 "is_pov": false
18039 },
18040 {
18041 "position_offset": 46,
18042 "field_name": "icmp.identifier",
18043 "field_msb": 15,
18044 "field_lsb": 0,
18045 "field_width": 2,
18046 "phv_msb": 15,
18047 "phv_lsb": 0,
18048 "is_compiler_generated": false,
18049 "is_pov": false
18050 }
18051 ],
18052 "word_bit_width": 16
18053 },
18054 {
18055 "phv_number": 328,
18056 "records": [
18057 {
18058 "position_offset": 6,
18059 "field_name": "arp.opcode",
18060 "field_msb": 15,
18061 "field_lsb": 0,
18062 "field_width": 2,
18063 "phv_msb": 15,
18064 "phv_lsb": 0,
18065 "is_compiler_generated": false,
18066 "is_pov": false
18067 },
18068 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080018069 "position_offset": 70,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018070 "field_name": "ipv4.flags",
18071 "field_msb": 15,
18072 "field_lsb": 0,
18073 "field_width": 2,
18074 "phv_msb": 15,
18075 "phv_lsb": 13,
18076 "is_compiler_generated": false,
18077 "is_pov": false
18078 },
18079 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080018080 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018081 "field_name": "ipv4.frag_offset",
18082 "field_msb": 15,
18083 "field_lsb": 0,
18084 "field_width": 2,
18085 "phv_msb": 12,
18086 "phv_lsb": 0,
18087 "is_compiler_generated": false,
18088 "is_pov": false
18089 }
18090 ],
18091 "word_bit_width": 16
18092 },
18093 {
18094 "phv_number": 329,
18095 "records": [
18096 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080018097 "position_offset": 82,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018098 "field_name": "ipv4.total_len",
18099 "field_msb": 15,
18100 "field_lsb": 0,
18101 "field_width": 2,
18102 "phv_msb": 15,
18103 "phv_lsb": 0,
18104 "is_compiler_generated": false,
18105 "is_pov": false
18106 }
18107 ],
18108 "word_bit_width": 16
18109 },
18110 {
18111 "phv_number": 330,
18112 "records": [
18113 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080018114 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018115 "field_name": "ipv4.identification",
18116 "field_msb": 15,
18117 "field_lsb": 0,
18118 "field_width": 2,
18119 "phv_msb": 15,
18120 "phv_lsb": 0,
18121 "is_compiler_generated": false,
18122 "is_pov": false
18123 }
18124 ],
18125 "word_bit_width": 16
18126 },
18127 {
18128 "phv_number": 331,
18129 "records": [
18130 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080018131 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018132 "field_name": "tcp.dst_port",
18133 "field_msb": 15,
18134 "field_lsb": 0,
18135 "field_width": 2,
18136 "phv_msb": 15,
18137 "phv_lsb": 0,
18138 "is_compiler_generated": false,
18139 "is_pov": false
18140 },
18141 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080018142 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018143 "field_name": "udp.len",
18144 "field_msb": 15,
18145 "field_lsb": 0,
18146 "field_width": 2,
18147 "phv_msb": 15,
18148 "phv_lsb": 0,
18149 "is_compiler_generated": false,
18150 "is_pov": false
18151 },
18152 {
18153 "position_offset": 48,
18154 "field_name": "icmp.sequence_number",
18155 "field_msb": 15,
18156 "field_lsb": 0,
18157 "field_width": 2,
18158 "phv_msb": 15,
18159 "phv_lsb": 0,
18160 "is_compiler_generated": false,
18161 "is_pov": false
18162 }
18163 ],
18164 "word_bit_width": 16
18165 },
18166 {
18167 "phv_number": 338,
18168 "records": [
18169 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080018170 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018171 "field_name": "tcp.window",
18172 "field_msb": 15,
18173 "field_lsb": 0,
18174 "field_width": 2,
18175 "phv_msb": 15,
18176 "phv_lsb": 0,
18177 "is_compiler_generated": false,
18178 "is_pov": false
18179 },
18180 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080018181 "position_offset": 123,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018182 "field_name": "udp.checksum",
18183 "field_msb": 15,
18184 "field_lsb": 0,
18185 "field_width": 2,
18186 "phv_msb": 15,
18187 "phv_lsb": 0,
18188 "is_compiler_generated": false,
18189 "is_pov": false
18190 }
18191 ],
18192 "word_bit_width": 16
18193 },
18194 {
18195 "phv_number": 339,
18196 "records": [
18197 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080018198 "position_offset": 100,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018199 "field_name": "tcp.checksum",
18200 "field_msb": 15,
18201 "field_lsb": 0,
18202 "field_width": 2,
18203 "phv_msb": 15,
18204 "phv_lsb": 0,
18205 "is_compiler_generated": false,
18206 "is_pov": false
18207 }
18208 ],
18209 "word_bit_width": 16
18210 },
18211 {
18212 "phv_number": 340,
18213 "records": [
18214 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080018215 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -080018216 "field_name": "tcp.urgent_ptr",
18217 "field_msb": 15,
18218 "field_lsb": 0,
18219 "field_width": 2,
18220 "phv_msb": 15,
18221 "phv_lsb": 0,
18222 "is_compiler_generated": false,
18223 "is_pov": false
18224 }
18225 ],
18226 "word_bit_width": 16
18227 }
18228 ],
18229 "egress": [
18230 {
18231 "phv_number": 80,
18232 "records": [
18233 {
18234 "position_offset": 0,
18235 "field_name": "POV",
18236 "field_msb": 7,
18237 "field_lsb": 0,
18238 "field_width": 0,
18239 "phv_msb": 0,
18240 "phv_lsb": 0,
18241 "is_compiler_generated": false,
18242 "is_pov": true,
18243 "pov_headers": [
18244 {
18245 "bit_index": 0,
18246 "position_offset": 0,
18247 "header_name": "arp",
18248 "hidden": false
18249 }
18250 ]
18251 },
18252 {
18253 "position_offset": 0,
18254 "field_name": "POV",
18255 "field_msb": 7,
18256 "field_lsb": 0,
18257 "field_width": 0,
18258 "phv_msb": 2,
18259 "phv_lsb": 2,
18260 "is_compiler_generated": false,
18261 "is_pov": true,
18262 "pov_headers": [
18263 {
18264 "bit_index": 2,
18265 "position_offset": 11,
18266 "header_name": "ethernet",
18267 "hidden": false
18268 }
18269 ]
18270 },
18271 {
18272 "position_offset": 0,
18273 "field_name": "POV",
18274 "field_msb": 7,
18275 "field_lsb": 0,
18276 "field_width": 0,
18277 "phv_msb": 3,
18278 "phv_lsb": 3,
18279 "is_compiler_generated": false,
18280 "is_pov": true,
18281 "pov_headers": [
18282 {
18283 "bit_index": 3,
18284 "position_offset": 26,
18285 "header_name": "icmp",
18286 "hidden": false
18287 }
18288 ]
18289 },
18290 {
18291 "position_offset": 0,
18292 "field_name": "POV",
18293 "field_msb": 7,
18294 "field_lsb": 0,
18295 "field_width": 0,
18296 "phv_msb": 5,
18297 "phv_lsb": 5,
18298 "is_compiler_generated": false,
18299 "is_pov": true,
18300 "pov_headers": [
18301 {
18302 "bit_index": 5,
18303 "position_offset": 45,
18304 "header_name": "ipv4",
18305 "hidden": false
18306 }
18307 ]
18308 },
18309 {
18310 "position_offset": 0,
18311 "field_name": "POV",
18312 "field_msb": 7,
18313 "field_lsb": 0,
18314 "field_width": 0,
18315 "phv_msb": 6,
18316 "phv_lsb": 6,
18317 "is_compiler_generated": false,
18318 "is_pov": true,
18319 "pov_headers": [
18320 {
18321 "bit_index": 6,
18322 "position_offset": 67,
18323 "header_name": "mpls",
18324 "hidden": false
18325 }
18326 ]
18327 },
18328 {
18329 "position_offset": 0,
18330 "field_name": "POV",
18331 "field_msb": 7,
18332 "field_lsb": 0,
18333 "field_width": 0,
18334 "phv_msb": 7,
18335 "phv_lsb": 7,
18336 "is_compiler_generated": false,
18337 "is_pov": true,
18338 "pov_headers": [
18339 {
18340 "bit_index": 7,
18341 "position_offset": 73,
18342 "header_name": "packet_in",
18343 "hidden": false
18344 }
18345 ]
18346 }
18347 ],
18348 "word_bit_width": 8
18349 },
18350 {
18351 "phv_number": 81,
18352 "records": [
18353 {
18354 "position_offset": 0,
18355 "field_name": "POV",
18356 "field_msb": 7,
18357 "field_lsb": 0,
18358 "field_width": 0,
18359 "phv_msb": 0,
18360 "phv_lsb": 0,
18361 "is_compiler_generated": false,
18362 "is_pov": true,
18363 "pov_headers": [
18364 {
18365 "bit_index": 0,
18366 "position_offset": 78,
18367 "header_name": "tcp",
18368 "hidden": false
18369 }
18370 ]
18371 },
18372 {
18373 "position_offset": 0,
18374 "field_name": "POV",
18375 "field_msb": 7,
18376 "field_lsb": 0,
18377 "field_width": 0,
18378 "phv_msb": 1,
18379 "phv_lsb": 1,
18380 "is_compiler_generated": false,
18381 "is_pov": true,
18382 "pov_headers": [
18383 {
18384 "bit_index": 1,
18385 "position_offset": 105,
18386 "header_name": "udp",
18387 "hidden": false
18388 }
18389 ]
18390 },
18391 {
18392 "position_offset": 0,
18393 "field_name": "POV",
18394 "field_msb": 7,
18395 "field_lsb": 0,
18396 "field_width": 0,
18397 "phv_msb": 2,
18398 "phv_lsb": 2,
18399 "is_compiler_generated": false,
18400 "is_pov": true,
18401 "pov_headers": [
18402 {
18403 "bit_index": 2,
18404 "position_offset": 114,
18405 "header_name": "vlan_tag",
18406 "hidden": false
18407 }
18408 ]
18409 }
18410 ],
18411 "word_bit_width": 8
18412 },
18413 {
18414 "phv_number": 144,
18415 "records": [
18416 {
18417 "position_offset": 9,
18418 "field_name": "eg_intr_md.egress_port",
18419 "field_msb": 15,
18420 "field_lsb": 0,
18421 "field_width": 2,
18422 "phv_msb": 8,
18423 "phv_lsb": 0,
18424 "is_compiler_generated": false,
18425 "is_pov": false
18426 }
18427 ],
18428 "word_bit_width": 16
18429 },
18430 {
18431 "phv_number": 145,
18432 "records": [
18433 {
18434 "position_offset": 76,
18435 "field_name": "packet_in.ingress_port",
18436 "field_msb": 15,
18437 "field_lsb": 0,
18438 "field_width": 2,
18439 "phv_msb": 15,
18440 "phv_lsb": 7,
18441 "is_compiler_generated": false,
18442 "is_pov": false
18443 },
18444 {
18445 "position_offset": 74,
18446 "field_name": "packet_in._pad",
18447 "field_msb": 15,
18448 "field_lsb": 0,
18449 "field_width": 2,
18450 "phv_msb": 6,
18451 "phv_lsb": 0,
18452 "is_compiler_generated": false,
18453 "is_pov": false
18454 }
18455 ],
18456 "word_bit_width": 16
18457 },
18458 {
18459 "phv_number": 146,
18460 "records": [
18461 {
18462 "position_offset": 43,
18463 "field_name": "ig_intr_md.ingress_port",
18464 "field_msb": 15,
18465 "field_lsb": 0,
18466 "field_width": 2,
18467 "phv_msb": 8,
18468 "phv_lsb": 0,
18469 "is_compiler_generated": false,
18470 "is_pov": false
18471 }
18472 ],
18473 "word_bit_width": 16
18474 },
18475 {
18476 "phv_number": 256,
18477 "records": [
18478 {
18479 "position_offset": 12,
18480 "field_name": "ethernet.dst_addr",
18481 "field_msb": 47,
18482 "field_lsb": 16,
18483 "field_width": 6,
18484 "phv_msb": 31,
18485 "phv_lsb": 0,
18486 "is_compiler_generated": false,
18487 "is_pov": false
18488 }
18489 ],
18490 "word_bit_width": 32
18491 },
18492 {
18493 "phv_number": 257,
18494 "records": [
18495 {
18496 "position_offset": 20,
18497 "field_name": "ethernet.src_addr",
18498 "field_msb": 47,
18499 "field_lsb": 16,
18500 "field_width": 6,
18501 "phv_msb": 31,
18502 "phv_lsb": 0,
18503 "is_compiler_generated": false,
18504 "is_pov": false
18505 }
18506 ],
18507 "word_bit_width": 32
18508 },
18509 {
18510 "phv_number": 258,
18511 "records": [
18512 {
18513 "position_offset": 59,
18514 "field_name": "ipv4.src_addr",
18515 "field_msb": 31,
18516 "field_lsb": 0,
18517 "field_width": 4,
18518 "phv_msb": 31,
18519 "phv_lsb": 0,
18520 "is_compiler_generated": false,
18521 "is_pov": false
18522 }
18523 ],
18524 "word_bit_width": 32
18525 },
18526 {
18527 "phv_number": 259,
18528 "records": [
18529 {
18530 "position_offset": 47,
18531 "field_name": "ipv4.dst_addr",
18532 "field_msb": 31,
18533 "field_lsb": 0,
18534 "field_width": 4,
18535 "phv_msb": 31,
18536 "phv_lsb": 0,
18537 "is_compiler_generated": false,
18538 "is_pov": false
18539 }
18540 ],
18541 "word_bit_width": 32
18542 },
18543 {
18544 "phv_number": 264,
18545 "records": [
18546 {
18547 "position_offset": 95,
18548 "field_name": "tcp.seq_no",
18549 "field_msb": 31,
18550 "field_lsb": 0,
18551 "field_width": 4,
18552 "phv_msb": 31,
18553 "phv_lsb": 0,
18554 "is_compiler_generated": false,
18555 "is_pov": false
18556 },
18557 {
18558 "position_offset": 35,
18559 "field_name": "icmp.timestamp",
18560 "field_msb": 31,
18561 "field_lsb": 0,
18562 "field_width": 8,
18563 "phv_msb": 31,
18564 "phv_lsb": 0,
18565 "is_compiler_generated": false,
18566 "is_pov": false
18567 }
18568 ],
18569 "word_bit_width": 32
18570 },
18571 {
18572 "phv_number": 265,
18573 "records": [
18574 {
18575 "position_offset": 79,
18576 "field_name": "tcp.ack_no",
18577 "field_msb": 31,
18578 "field_lsb": 0,
18579 "field_width": 4,
18580 "phv_msb": 31,
18581 "phv_lsb": 0,
18582 "is_compiler_generated": false,
18583 "is_pov": false
18584 },
18585 {
18586 "position_offset": 35,
18587 "field_name": "icmp.timestamp",
18588 "field_msb": 63,
18589 "field_lsb": 32,
18590 "field_width": 8,
18591 "phv_msb": 31,
18592 "phv_lsb": 0,
18593 "is_compiler_generated": false,
18594 "is_pov": false
18595 }
18596 ],
18597 "word_bit_width": 32
18598 },
18599 {
18600 "phv_number": 288,
18601 "records": [
18602 {
18603 "position_offset": 1,
18604 "field_name": "arp.hw_addr_len",
18605 "field_msb": 7,
18606 "field_lsb": 0,
18607 "field_width": 1,
18608 "phv_msb": 7,
18609 "phv_lsb": 0,
18610 "is_compiler_generated": false,
18611 "is_pov": false
18612 },
18613 {
18614 "position_offset": 66,
18615 "field_name": "ipv4.version",
18616 "field_msb": 7,
18617 "field_lsb": 0,
18618 "field_width": 1,
18619 "phv_msb": 7,
18620 "phv_lsb": 4,
18621 "is_compiler_generated": false,
18622 "is_pov": false
18623 },
18624 {
18625 "position_offset": 57,
18626 "field_name": "ipv4.ihl",
18627 "field_msb": 7,
18628 "field_lsb": 0,
18629 "field_width": 1,
18630 "phv_msb": 3,
18631 "phv_lsb": 0,
18632 "is_compiler_generated": false,
18633 "is_pov": false
18634 }
18635 ],
18636 "word_bit_width": 8
18637 },
18638 {
18639 "phv_number": 289,
18640 "records": [
18641 {
18642 "position_offset": 6,
18643 "field_name": "arp.proto_addr_len",
18644 "field_msb": 7,
18645 "field_lsb": 0,
18646 "field_width": 1,
18647 "phv_msb": 7,
18648 "phv_lsb": 0,
18649 "is_compiler_generated": false,
18650 "is_pov": false
18651 },
18652 {
18653 "position_offset": 30,
18654 "field_name": "icmp.icmp_type",
18655 "field_msb": 7,
18656 "field_lsb": 0,
18657 "field_width": 1,
18658 "phv_msb": 7,
18659 "phv_lsb": 0,
18660 "is_compiler_generated": false,
18661 "is_pov": false
18662 }
18663 ],
18664 "word_bit_width": 8
18665 },
18666 {
18667 "phv_number": 290,
18668 "records": [
18669 {
18670 "position_offset": 46,
18671 "field_name": "ipv4.diffserv",
18672 "field_msb": 7,
18673 "field_lsb": 0,
18674 "field_width": 1,
18675 "phv_msb": 7,
18676 "phv_lsb": 0,
18677 "is_compiler_generated": false,
18678 "is_pov": false
18679 }
18680 ],
18681 "word_bit_width": 8
18682 },
18683 {
18684 "phv_number": 291,
18685 "records": [
18686 {
18687 "position_offset": 29,
18688 "field_name": "icmp.icmp_code",
18689 "field_msb": 7,
18690 "field_lsb": 0,
18691 "field_width": 1,
18692 "phv_msb": 7,
18693 "phv_lsb": 0,
18694 "is_compiler_generated": false,
18695 "is_pov": false
18696 }
18697 ],
18698 "word_bit_width": 8
18699 },
18700 {
18701 "phv_number": 296,
18702 "records": [
18703 {
18704 "position_offset": 69,
18705 "field_name": "mpls.label",
18706 "field_msb": 3,
18707 "field_lsb": 0,
18708 "field_width": 2,
18709 "phv_msb": 7,
18710 "phv_lsb": 4,
18711 "is_compiler_generated": false,
18712 "is_pov": false
18713 },
18714 {
18715 "position_offset": 71,
18716 "field_name": "mpls.tc",
18717 "field_msb": 7,
18718 "field_lsb": 0,
18719 "field_width": 1,
18720 "phv_msb": 3,
18721 "phv_lsb": 1,
18722 "is_compiler_generated": false,
18723 "is_pov": false
18724 },
18725 {
18726 "position_offset": 68,
18727 "field_name": "mpls.bos",
18728 "field_msb": 7,
18729 "field_lsb": 0,
18730 "field_width": 1,
18731 "phv_msb": 0,
18732 "phv_lsb": 0,
18733 "is_compiler_generated": false,
18734 "is_pov": false
18735 }
18736 ],
18737 "word_bit_width": 8
18738 },
18739 {
18740 "phv_number": 297,
18741 "records": [
18742 {
18743 "position_offset": 65,
18744 "field_name": "ipv4.ttl",
18745 "field_msb": 7,
18746 "field_lsb": 0,
18747 "field_width": 1,
18748 "phv_msb": 7,
18749 "phv_lsb": 0,
18750 "is_compiler_generated": false,
18751 "is_pov": false
18752 }
18753 ],
18754 "word_bit_width": 8
18755 },
18756 {
18757 "phv_number": 298,
18758 "records": [
18759 {
18760 "position_offset": 58,
18761 "field_name": "ipv4.protocol",
18762 "field_msb": 7,
18763 "field_lsb": 0,
18764 "field_width": 1,
18765 "phv_msb": 7,
18766 "phv_lsb": 0,
18767 "is_compiler_generated": false,
18768 "is_pov": false
18769 }
18770 ],
18771 "word_bit_width": 8
18772 },
18773 {
18774 "phv_number": 299,
18775 "records": [
18776 {
18777 "position_offset": 72,
18778 "field_name": "mpls.ttl",
18779 "field_msb": 7,
18780 "field_lsb": 0,
18781 "field_width": 1,
18782 "phv_msb": 7,
18783 "phv_lsb": 0,
18784 "is_compiler_generated": false,
18785 "is_pov": false
18786 }
18787 ],
18788 "word_bit_width": 8
18789 },
18790 {
18791 "phv_number": 320,
18792 "records": [
18793 {
18794 "position_offset": 119,
18795 "field_name": "vlan_tag.pri",
18796 "field_msb": 15,
18797 "field_lsb": 0,
18798 "field_width": 2,
18799 "phv_msb": 15,
18800 "phv_lsb": 13,
18801 "is_compiler_generated": false,
18802 "is_pov": false
18803 },
18804 {
18805 "position_offset": 115,
18806 "field_name": "vlan_tag.cfi",
18807 "field_msb": 15,
18808 "field_lsb": 0,
18809 "field_width": 2,
18810 "phv_msb": 12,
18811 "phv_lsb": 12,
18812 "is_compiler_generated": false,
18813 "is_pov": false
18814 },
18815 {
18816 "position_offset": 121,
18817 "field_name": "vlan_tag.vlan_id",
18818 "field_msb": 15,
18819 "field_lsb": 0,
18820 "field_width": 2,
18821 "phv_msb": 11,
18822 "phv_lsb": 0,
18823 "is_compiler_generated": false,
18824 "is_pov": false
18825 }
18826 ],
18827 "word_bit_width": 16
18828 },
18829 {
18830 "phv_number": 321,
18831 "records": [
18832 {
18833 "position_offset": 2,
18834 "field_name": "arp.hw_type",
18835 "field_msb": 15,
18836 "field_lsb": 0,
18837 "field_width": 2,
18838 "phv_msb": 15,
18839 "phv_lsb": 0,
18840 "is_compiler_generated": false,
18841 "is_pov": false
18842 },
18843 {
18844 "position_offset": 99,
18845 "field_name": "tcp.src_port",
18846 "field_msb": 15,
18847 "field_lsb": 0,
18848 "field_width": 2,
18849 "phv_msb": 15,
18850 "phv_lsb": 0,
18851 "is_compiler_generated": false,
18852 "is_pov": false
18853 },
18854 {
18855 "position_offset": 112,
18856 "field_name": "udp.src_port",
18857 "field_msb": 15,
18858 "field_lsb": 0,
18859 "field_width": 2,
18860 "phv_msb": 15,
18861 "phv_lsb": 0,
18862 "is_compiler_generated": false,
18863 "is_pov": false
18864 },
18865 {
18866 "position_offset": 27,
18867 "field_name": "icmp.checksum",
18868 "field_msb": 15,
18869 "field_lsb": 0,
18870 "field_width": 2,
18871 "phv_msb": 15,
18872 "phv_lsb": 0,
18873 "is_compiler_generated": false,
18874 "is_pov": false
18875 }
18876 ],
18877 "word_bit_width": 16
18878 },
18879 {
18880 "phv_number": 322,
18881 "records": [
18882 {
18883 "position_offset": 7,
18884 "field_name": "arp.proto_type",
18885 "field_msb": 15,
18886 "field_lsb": 0,
18887 "field_width": 2,
18888 "phv_msb": 15,
18889 "phv_lsb": 0,
18890 "is_compiler_generated": false,
18891 "is_pov": false
18892 },
18893 {
18894 "position_offset": 69,
18895 "field_name": "mpls.label",
18896 "field_msb": 19,
18897 "field_lsb": 4,
18898 "field_width": 2,
18899 "phv_msb": 15,
18900 "phv_lsb": 0,
18901 "is_compiler_generated": false,
18902 "is_pov": false
18903 }
18904 ],
18905 "word_bit_width": 16
18906 },
18907 {
18908 "phv_number": 323,
18909 "records": [
18910 {
18911 "position_offset": 4,
18912 "field_name": "arp.opcode",
18913 "field_msb": 15,
18914 "field_lsb": 0,
18915 "field_width": 2,
18916 "phv_msb": 15,
18917 "phv_lsb": 0,
18918 "is_compiler_generated": false,
18919 "is_pov": false
18920 },
18921 {
18922 "position_offset": 87,
18923 "field_name": "tcp.data_offset",
18924 "field_msb": 15,
18925 "field_lsb": 0,
18926 "field_width": 2,
18927 "phv_msb": 15,
18928 "phv_lsb": 12,
18929 "is_compiler_generated": false,
18930 "is_pov": false
18931 },
18932 {
18933 "position_offset": 93,
18934 "field_name": "tcp.res",
18935 "field_msb": 15,
18936 "field_lsb": 0,
18937 "field_width": 2,
18938 "phv_msb": 11,
18939 "phv_lsb": 9,
18940 "is_compiler_generated": false,
18941 "is_pov": false
18942 },
18943 {
18944 "position_offset": 91,
18945 "field_name": "tcp.ecn",
18946 "field_msb": 15,
18947 "field_lsb": 0,
18948 "field_width": 2,
18949 "phv_msb": 8,
18950 "phv_lsb": 6,
18951 "is_compiler_generated": false,
18952 "is_pov": false
18953 },
18954 {
18955 "position_offset": 85,
18956 "field_name": "tcp.ctrl",
18957 "field_msb": 15,
18958 "field_lsb": 0,
18959 "field_width": 2,
18960 "phv_msb": 5,
18961 "phv_lsb": 0,
18962 "is_compiler_generated": false,
18963 "is_pov": false
18964 },
18965 {
18966 "position_offset": 108,
18967 "field_name": "udp.dst_port",
18968 "field_msb": 15,
18969 "field_lsb": 0,
18970 "field_width": 2,
18971 "phv_msb": 15,
18972 "phv_lsb": 0,
18973 "is_compiler_generated": false,
18974 "is_pov": false
18975 },
18976 {
18977 "position_offset": 31,
18978 "field_name": "icmp.identifier",
18979 "field_msb": 15,
18980 "field_lsb": 0,
18981 "field_width": 2,
18982 "phv_msb": 15,
18983 "phv_lsb": 0,
18984 "is_compiler_generated": false,
18985 "is_pov": false
18986 }
18987 ],
18988 "word_bit_width": 16
18989 },
18990 {
18991 "phv_number": 324,
18992 "records": [
18993 {
18994 "position_offset": 51,
18995 "field_name": "ipv4.flags",
18996 "field_msb": 15,
18997 "field_lsb": 0,
18998 "field_width": 2,
18999 "phv_msb": 15,
19000 "phv_lsb": 13,
19001 "is_compiler_generated": false,
19002 "is_pov": false
19003 },
19004 {
19005 "position_offset": 53,
19006 "field_name": "ipv4.frag_offset",
19007 "field_msb": 15,
19008 "field_lsb": 0,
19009 "field_width": 2,
19010 "phv_msb": 12,
19011 "phv_lsb": 0,
19012 "is_compiler_generated": false,
19013 "is_pov": false
19014 }
19015 ],
19016 "word_bit_width": 16
19017 },
19018 {
19019 "phv_number": 325,
19020 "records": [
19021 {
19022 "position_offset": 12,
19023 "field_name": "ethernet.dst_addr",
19024 "field_msb": 15,
19025 "field_lsb": 0,
19026 "field_width": 6,
19027 "phv_msb": 15,
19028 "phv_lsb": 0,
19029 "is_compiler_generated": false,
19030 "is_pov": false
19031 }
19032 ],
19033 "word_bit_width": 16
19034 },
19035 {
19036 "phv_number": 332,
19037 "records": [
19038 {
19039 "position_offset": 20,
19040 "field_name": "ethernet.src_addr",
19041 "field_msb": 15,
19042 "field_lsb": 0,
19043 "field_width": 6,
19044 "phv_msb": 15,
19045 "phv_lsb": 0,
19046 "is_compiler_generated": false,
19047 "is_pov": false
19048 }
19049 ],
19050 "word_bit_width": 16
19051 },
19052 {
19053 "phv_number": 333,
19054 "records": [
19055 {
19056 "position_offset": 18,
19057 "field_name": "ethernet.ether_type",
19058 "field_msb": 15,
19059 "field_lsb": 0,
19060 "field_width": 2,
19061 "phv_msb": 15,
19062 "phv_lsb": 0,
19063 "is_compiler_generated": false,
19064 "is_pov": false
19065 }
19066 ],
19067 "word_bit_width": 16
19068 },
19069 {
19070 "phv_number": 334,
19071 "records": [
19072 {
19073 "position_offset": 117,
19074 "field_name": "vlan_tag.ether_type",
19075 "field_msb": 15,
19076 "field_lsb": 0,
19077 "field_width": 2,
19078 "phv_msb": 15,
19079 "phv_lsb": 0,
19080 "is_compiler_generated": false,
19081 "is_pov": false
19082 }
19083 ],
19084 "word_bit_width": 16
19085 },
19086 {
19087 "phv_number": 335,
19088 "records": [
19089 {
19090 "position_offset": 63,
19091 "field_name": "ipv4.total_len",
19092 "field_msb": 15,
19093 "field_lsb": 0,
19094 "field_width": 2,
19095 "phv_msb": 15,
19096 "phv_lsb": 0,
19097 "is_compiler_generated": false,
19098 "is_pov": false
19099 }
19100 ],
19101 "word_bit_width": 16
19102 },
19103 {
19104 "phv_number": 336,
19105 "records": [
19106 {
19107 "position_offset": 55,
19108 "field_name": "ipv4.identification",
19109 "field_msb": 15,
19110 "field_lsb": 0,
19111 "field_width": 2,
19112 "phv_msb": 15,
19113 "phv_lsb": 0,
19114 "is_compiler_generated": false,
19115 "is_pov": false
19116 }
19117 ],
19118 "word_bit_width": 16
19119 },
19120 {
19121 "phv_number": 337,
19122 "records": [
19123 {
19124 "position_offset": 89,
19125 "field_name": "tcp.dst_port",
19126 "field_msb": 15,
19127 "field_lsb": 0,
19128 "field_width": 2,
19129 "phv_msb": 15,
19130 "phv_lsb": 0,
19131 "is_compiler_generated": false,
19132 "is_pov": false
19133 },
19134 {
19135 "position_offset": 110,
19136 "field_name": "udp.len",
19137 "field_msb": 15,
19138 "field_lsb": 0,
19139 "field_width": 2,
19140 "phv_msb": 15,
19141 "phv_lsb": 0,
19142 "is_compiler_generated": false,
19143 "is_pov": false
19144 },
19145 {
19146 "position_offset": 33,
19147 "field_name": "icmp.sequence_number",
19148 "field_msb": 15,
19149 "field_lsb": 0,
19150 "field_width": 2,
19151 "phv_msb": 15,
19152 "phv_lsb": 0,
19153 "is_compiler_generated": false,
19154 "is_pov": false
19155 }
19156 ],
19157 "word_bit_width": 16
19158 },
19159 {
19160 "phv_number": 344,
19161 "records": [
19162 {
19163 "position_offset": 103,
19164 "field_name": "tcp.window",
19165 "field_msb": 15,
19166 "field_lsb": 0,
19167 "field_width": 2,
19168 "phv_msb": 15,
19169 "phv_lsb": 0,
19170 "is_compiler_generated": false,
19171 "is_pov": false
19172 },
19173 {
19174 "position_offset": 106,
19175 "field_name": "udp.checksum",
19176 "field_msb": 15,
19177 "field_lsb": 0,
19178 "field_width": 2,
19179 "phv_msb": 15,
19180 "phv_lsb": 0,
19181 "is_compiler_generated": false,
19182 "is_pov": false
19183 }
19184 ],
19185 "word_bit_width": 16
19186 },
19187 {
19188 "phv_number": 345,
19189 "records": [
19190 {
19191 "position_offset": 83,
19192 "field_name": "tcp.checksum",
19193 "field_msb": 15,
19194 "field_lsb": 0,
19195 "field_width": 2,
19196 "phv_msb": 15,
19197 "phv_lsb": 0,
19198 "is_compiler_generated": false,
19199 "is_pov": false
19200 }
19201 ],
19202 "word_bit_width": 16
19203 },
19204 {
19205 "phv_number": 346,
19206 "records": [
19207 {
19208 "position_offset": 101,
19209 "field_name": "tcp.urgent_ptr",
19210 "field_msb": 15,
19211 "field_lsb": 0,
19212 "field_width": 2,
19213 "phv_msb": 15,
19214 "phv_lsb": 0,
19215 "is_compiler_generated": false,
19216 "is_pov": false
19217 }
19218 ],
19219 "word_bit_width": 16
19220 }
19221 ],
19222 "stage_number": 8
19223 },
19224 {
19225 "ingress": [
19226 {
19227 "phv_number": 0,
19228 "records": [
19229 {
19230 "position_offset": 12,
19231 "field_name": "ethernet.dst_addr",
19232 "field_msb": 47,
19233 "field_lsb": 16,
19234 "field_width": 6,
19235 "phv_msb": 31,
19236 "phv_lsb": 0,
19237 "is_compiler_generated": false,
19238 "is_pov": false
19239 }
19240 ],
19241 "word_bit_width": 32
19242 },
19243 {
19244 "phv_number": 1,
19245 "records": [
19246 {
19247 "position_offset": 20,
19248 "field_name": "ethernet.src_addr",
19249 "field_msb": 47,
19250 "field_lsb": 16,
19251 "field_width": 6,
19252 "phv_msb": 31,
19253 "phv_lsb": 0,
19254 "is_compiler_generated": false,
19255 "is_pov": false
19256 }
19257 ],
19258 "word_bit_width": 32
19259 },
19260 {
19261 "phv_number": 2,
19262 "records": [
19263 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019264 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019265 "field_name": "ipv4.src_addr",
19266 "field_msb": 31,
19267 "field_lsb": 0,
19268 "field_width": 4,
19269 "phv_msb": 31,
19270 "phv_lsb": 0,
19271 "is_compiler_generated": false,
19272 "is_pov": false
19273 }
19274 ],
19275 "word_bit_width": 32
19276 },
19277 {
19278 "phv_number": 3,
19279 "records": [
19280 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019281 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019282 "field_name": "ipv4.dst_addr",
19283 "field_msb": 31,
19284 "field_lsb": 0,
19285 "field_width": 4,
19286 "phv_msb": 31,
19287 "phv_lsb": 0,
19288 "is_compiler_generated": false,
19289 "is_pov": false
19290 }
19291 ],
19292 "word_bit_width": 32
19293 },
19294 {
19295 "phv_number": 4,
19296 "records": [
19297 {
19298 "position_offset": 33,
19299 "field_name": "fabric_metadata.next_id",
19300 "field_msb": 31,
19301 "field_lsb": 0,
19302 "field_width": 4,
19303 "phv_msb": 31,
19304 "phv_lsb": 0,
19305 "is_compiler_generated": false,
19306 "is_pov": false
19307 }
19308 ],
19309 "word_bit_width": 32
19310 },
19311 {
19312 "phv_number": 64,
19313 "records": [
19314 {
19315 "position_offset": 45,
19316 "field_name": "icmp.icmp_type",
19317 "field_msb": 7,
19318 "field_lsb": 0,
19319 "field_width": 1,
19320 "phv_msb": 7,
19321 "phv_lsb": 0,
19322 "is_compiler_generated": false,
19323 "is_pov": false
19324 }
19325 ],
19326 "word_bit_width": 8
19327 },
19328 {
19329 "phv_number": 65,
19330 "records": [
19331 {
19332 "position_offset": 44,
19333 "field_name": "icmp.icmp_code",
19334 "field_msb": 7,
19335 "field_lsb": 0,
19336 "field_width": 1,
19337 "phv_msb": 7,
19338 "phv_lsb": 0,
19339 "is_compiler_generated": false,
19340 "is_pov": false
19341 }
19342 ],
19343 "word_bit_width": 8
19344 },
19345 {
19346 "phv_number": 66,
19347 "records": [
19348 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019349 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019350 "field_name": "mpls.label",
19351 "field_msb": 3,
19352 "field_lsb": 0,
19353 "field_width": 2,
19354 "phv_msb": 7,
19355 "phv_lsb": 4,
19356 "is_compiler_generated": false,
19357 "is_pov": false
19358 },
19359 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019360 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019361 "field_name": "mpls.tc",
19362 "field_msb": 7,
19363 "field_lsb": 0,
19364 "field_width": 1,
19365 "phv_msb": 3,
19366 "phv_lsb": 1,
19367 "is_compiler_generated": false,
19368 "is_pov": false
19369 },
19370 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019371 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019372 "field_name": "mpls.bos",
19373 "field_msb": 7,
19374 "field_lsb": 0,
19375 "field_width": 1,
19376 "phv_msb": 0,
19377 "phv_lsb": 0,
19378 "is_compiler_generated": false,
19379 "is_pov": false
19380 }
19381 ],
19382 "word_bit_width": 8
19383 },
19384 {
19385 "phv_number": 67,
19386 "records": [
19387 {
19388 "position_offset": 1,
19389 "field_name": "$bridged_metadata_indicator",
19390 "field_msb": 7,
19391 "field_lsb": 0,
19392 "field_width": 1,
19393 "phv_msb": 7,
19394 "phv_lsb": 0,
19395 "is_compiler_generated": false,
19396 "is_pov": false
19397 }
19398 ],
19399 "word_bit_width": 8
19400 },
19401 {
19402 "phv_number": 68,
19403 "records": [
19404 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019405 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019406 "field_name": "ipv4.ttl",
19407 "field_msb": 7,
19408 "field_lsb": 0,
19409 "field_width": 1,
19410 "phv_msb": 7,
19411 "phv_lsb": 0,
19412 "is_compiler_generated": false,
19413 "is_pov": false
19414 }
19415 ],
19416 "word_bit_width": 8
19417 },
19418 {
19419 "phv_number": 69,
19420 "records": [
19421 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019422 "position_offset": 91,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019423 "field_name": "mpls.ttl",
19424 "field_msb": 7,
19425 "field_lsb": 0,
19426 "field_width": 1,
19427 "phv_msb": 7,
19428 "phv_lsb": 0,
19429 "is_compiler_generated": false,
19430 "is_pov": false
19431 }
19432 ],
19433 "word_bit_width": 8
19434 },
19435 {
19436 "phv_number": 70,
19437 "records": [
19438 {
19439 "position_offset": 28,
19440 "field_name": "fabric_metadata.ip_proto",
19441 "field_msb": 7,
19442 "field_lsb": 0,
19443 "field_width": 1,
19444 "phv_msb": 7,
19445 "phv_lsb": 0,
19446 "is_compiler_generated": false,
19447 "is_pov": false
19448 }
19449 ],
19450 "word_bit_width": 8
19451 },
19452 {
19453 "phv_number": 71,
19454 "records": [
19455 {
19456 "position_offset": 0,
19457 "field_name": "$always_deparse",
19458 "field_msb": 7,
19459 "field_lsb": 0,
19460 "field_width": 1,
19461 "phv_msb": 0,
19462 "phv_lsb": 0,
19463 "is_compiler_generated": false,
19464 "is_pov": false
19465 },
19466 {
19467 "position_offset": 40,
19468 "field_name": "hasExited_0",
19469 "field_msb": 7,
19470 "field_lsb": 0,
19471 "field_width": 1,
19472 "phv_msb": 4,
19473 "phv_lsb": 4,
19474 "is_compiler_generated": false,
19475 "is_pov": false
19476 },
19477 {
19478 "position_offset": 0,
19479 "field_name": "POV",
19480 "field_msb": 7,
19481 "field_lsb": 0,
19482 "field_width": 0,
19483 "phv_msb": 1,
19484 "phv_lsb": 1,
19485 "is_compiler_generated": false,
19486 "is_pov": true,
19487 "pov_headers": [
19488 {
19489 "bit_index": 1,
19490 "position_offset": 2,
19491 "header_name": "arp",
19492 "hidden": false
19493 }
19494 ]
19495 },
19496 {
19497 "position_offset": 0,
19498 "field_name": "POV",
19499 "field_msb": 7,
19500 "field_lsb": 0,
19501 "field_width": 0,
19502 "phv_msb": 2,
19503 "phv_lsb": 2,
19504 "is_compiler_generated": false,
19505 "is_pov": true,
19506 "pov_headers": [
19507 {
19508 "bit_index": 2,
19509 "position_offset": 11,
19510 "header_name": "ethernet",
19511 "hidden": false
19512 }
19513 ]
19514 },
19515 {
19516 "position_offset": 0,
19517 "field_name": "POV",
19518 "field_msb": 7,
19519 "field_lsb": 0,
19520 "field_width": 0,
19521 "phv_msb": 3,
19522 "phv_lsb": 3,
19523 "is_compiler_generated": false,
19524 "is_pov": true,
19525 "pov_headers": [
19526 {
19527 "bit_index": 3,
19528 "position_offset": 41,
19529 "header_name": "icmp",
19530 "hidden": false
19531 }
19532 ]
19533 },
19534 {
19535 "position_offset": 0,
19536 "field_name": "POV",
19537 "field_msb": 7,
19538 "field_lsb": 0,
19539 "field_width": 0,
19540 "phv_msb": 5,
19541 "phv_lsb": 5,
19542 "is_compiler_generated": false,
19543 "is_pov": true,
19544 "pov_headers": [
19545 {
19546 "bit_index": 5,
Carmelo Casconeecb35762018-02-03 17:30:05 -080019547 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019548 "header_name": "ipv4",
19549 "hidden": false
19550 }
19551 ]
19552 },
19553 {
19554 "position_offset": 0,
19555 "field_name": "POV",
19556 "field_msb": 7,
19557 "field_lsb": 0,
19558 "field_width": 0,
19559 "phv_msb": 6,
19560 "phv_lsb": 6,
19561 "is_compiler_generated": false,
19562 "is_pov": true,
19563 "pov_headers": [
19564 {
19565 "bit_index": 6,
Carmelo Casconeecb35762018-02-03 17:30:05 -080019566 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019567 "header_name": "mpls",
19568 "hidden": false
19569 }
19570 ]
19571 },
19572 {
19573 "position_offset": 0,
19574 "field_name": "POV",
19575 "field_msb": 7,
19576 "field_lsb": 0,
19577 "field_width": 0,
19578 "phv_msb": 7,
19579 "phv_lsb": 7,
19580 "is_compiler_generated": false,
19581 "is_pov": true,
19582 "pov_headers": [
19583 {
19584 "bit_index": 7,
Carmelo Casconeecb35762018-02-03 17:30:05 -080019585 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019586 "header_name": "packet_out",
19587 "hidden": false
19588 }
19589 ]
19590 }
19591 ],
19592 "word_bit_width": 8
19593 },
19594 {
19595 "phv_number": 72,
19596 "records": [
19597 {
19598 "position_offset": 39,
19599 "field_name": "fabric_metadata.pop_vlan_at_egress",
19600 "field_msb": 7,
19601 "field_lsb": 0,
19602 "field_width": 1,
19603 "phv_msb": 3,
19604 "phv_lsb": 3,
19605 "is_compiler_generated": false,
19606 "is_pov": false
19607 },
19608 {
19609 "position_offset": 0,
19610 "field_name": "POV",
19611 "field_msb": 7,
19612 "field_lsb": 0,
19613 "field_width": 0,
19614 "phv_msb": 0,
19615 "phv_lsb": 0,
19616 "is_compiler_generated": false,
19617 "is_pov": true,
19618 "pov_headers": [
19619 {
19620 "bit_index": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -080019621 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019622 "header_name": "tcp",
19623 "hidden": false
19624 }
19625 ]
19626 },
19627 {
19628 "position_offset": 0,
19629 "field_name": "POV",
19630 "field_msb": 7,
19631 "field_lsb": 0,
19632 "field_width": 0,
19633 "phv_msb": 1,
19634 "phv_lsb": 1,
19635 "is_compiler_generated": false,
19636 "is_pov": true,
19637 "pov_headers": [
19638 {
19639 "bit_index": 1,
Carmelo Casconeecb35762018-02-03 17:30:05 -080019640 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019641 "header_name": "udp",
19642 "hidden": false
19643 }
19644 ]
19645 },
19646 {
19647 "position_offset": 0,
19648 "field_name": "POV",
19649 "field_msb": 7,
19650 "field_lsb": 0,
19651 "field_width": 0,
19652 "phv_msb": 2,
19653 "phv_lsb": 2,
19654 "is_compiler_generated": false,
19655 "is_pov": true,
19656 "pov_headers": [
19657 {
19658 "bit_index": 2,
Carmelo Casconeecb35762018-02-03 17:30:05 -080019659 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019660 "header_name": "vlan_tag",
19661 "hidden": false
19662 }
19663 ]
19664 }
19665 ],
19666 "word_bit_width": 8
19667 },
19668 {
19669 "phv_number": 128,
19670 "records": [
19671 {
19672 "position_offset": 62,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019673 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
19674 "field_msb": 15,
19675 "field_lsb": 0,
19676 "field_width": 2,
19677 "phv_msb": 8,
19678 "phv_lsb": 0,
19679 "is_compiler_generated": false,
19680 "is_pov": false
19681 }
19682 ],
19683 "word_bit_width": 16
19684 },
19685 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019686 "phv_number": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019687 "records": [
19688 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019689 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019690 "field_name": "packet_out.egress_port",
19691 "field_msb": 15,
19692 "field_lsb": 0,
19693 "field_width": 2,
19694 "phv_msb": 15,
19695 "phv_lsb": 7,
19696 "is_compiler_generated": false,
19697 "is_pov": false
19698 },
19699 {
19700 "position_offset": 26,
19701 "field_name": "fabric_metadata.fwd_type",
19702 "field_msb": 15,
19703 "field_lsb": 0,
19704 "field_width": 2,
19705 "phv_msb": 5,
19706 "phv_lsb": 3,
19707 "is_compiler_generated": false,
19708 "is_pov": false
19709 },
19710 {
19711 "position_offset": 60,
19712 "field_name": "ig_intr_md_for_tm.drop_ctl",
19713 "field_msb": 15,
19714 "field_lsb": 0,
19715 "field_width": 2,
19716 "phv_msb": 2,
19717 "phv_lsb": 0,
19718 "is_compiler_generated": false,
19719 "is_pov": false
19720 }
19721 ],
19722 "word_bit_width": 16
19723 },
19724 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019725 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019726 "records": [
19727 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019728 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019729 "field_name": "vlan_tag.pri",
19730 "field_msb": 15,
19731 "field_lsb": 0,
19732 "field_width": 2,
19733 "phv_msb": 15,
19734 "phv_lsb": 13,
19735 "is_compiler_generated": false,
19736 "is_pov": false
19737 },
19738 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019739 "position_offset": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019740 "field_name": "vlan_tag.cfi",
19741 "field_msb": 15,
19742 "field_lsb": 0,
19743 "field_width": 2,
19744 "phv_msb": 12,
19745 "phv_lsb": 12,
19746 "is_compiler_generated": false,
19747 "is_pov": false
19748 },
19749 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019750 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019751 "field_name": "vlan_tag.vlan_id",
19752 "field_msb": 15,
19753 "field_lsb": 0,
19754 "field_width": 2,
19755 "phv_msb": 11,
19756 "phv_lsb": 0,
19757 "is_compiler_generated": false,
19758 "is_pov": false
19759 }
19760 ],
19761 "word_bit_width": 16
19762 },
19763 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019764 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019765 "records": [
19766 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019767 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019768 "field_name": "mpls.label",
19769 "field_msb": 19,
19770 "field_lsb": 4,
19771 "field_width": 2,
19772 "phv_msb": 15,
19773 "phv_lsb": 0,
19774 "is_compiler_generated": false,
19775 "is_pov": false
19776 }
19777 ],
19778 "word_bit_width": 16
19779 },
19780 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019781 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019782 "records": [
19783 {
19784 "position_offset": 58,
19785 "field_name": "ig_intr_md.ingress_port",
19786 "field_msb": 15,
19787 "field_lsb": 0,
19788 "field_width": 2,
19789 "phv_msb": 8,
19790 "phv_lsb": 0,
19791 "is_compiler_generated": false,
19792 "is_pov": false
19793 }
19794 ],
19795 "word_bit_width": 16
19796 },
19797 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019798 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019799 "records": [
19800 {
19801 "position_offset": 31,
19802 "field_name": "fabric_metadata.l4_src_port",
19803 "field_msb": 15,
19804 "field_lsb": 0,
19805 "field_width": 2,
19806 "phv_msb": 15,
19807 "phv_lsb": 0,
19808 "is_compiler_generated": false,
19809 "is_pov": false
19810 }
19811 ],
19812 "word_bit_width": 16
19813 },
19814 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019815 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019816 "records": [
19817 {
19818 "position_offset": 18,
19819 "field_name": "ethernet.ether_type",
19820 "field_msb": 15,
19821 "field_lsb": 0,
19822 "field_width": 2,
19823 "phv_msb": 15,
19824 "phv_lsb": 0,
19825 "is_compiler_generated": false,
19826 "is_pov": false
19827 }
19828 ],
19829 "word_bit_width": 16
19830 },
19831 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019832 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019833 "records": [
19834 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019835 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019836 "field_name": "vlan_tag.ether_type",
19837 "field_msb": 15,
19838 "field_lsb": 0,
19839 "field_width": 2,
19840 "phv_msb": 15,
19841 "phv_lsb": 0,
19842 "is_compiler_generated": false,
19843 "is_pov": false
19844 }
19845 ],
19846 "word_bit_width": 16
19847 },
19848 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019849 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019850 "records": [
19851 {
19852 "position_offset": 12,
19853 "field_name": "ethernet.dst_addr",
19854 "field_msb": 15,
19855 "field_lsb": 0,
19856 "field_width": 6,
19857 "phv_msb": 15,
19858 "phv_lsb": 0,
19859 "is_compiler_generated": false,
19860 "is_pov": false
19861 }
19862 ],
19863 "word_bit_width": 16
19864 },
19865 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019866 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019867 "records": [
19868 {
19869 "position_offset": 20,
19870 "field_name": "ethernet.src_addr",
19871 "field_msb": 15,
19872 "field_lsb": 0,
19873 "field_width": 6,
19874 "phv_msb": 15,
19875 "phv_lsb": 0,
19876 "is_compiler_generated": false,
19877 "is_pov": false
19878 }
19879 ],
19880 "word_bit_width": 16
19881 },
19882 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019883 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019884 "records": [
19885 {
19886 "position_offset": 29,
19887 "field_name": "fabric_metadata.l4_dst_port",
19888 "field_msb": 15,
19889 "field_lsb": 0,
19890 "field_width": 2,
19891 "phv_msb": 15,
19892 "phv_lsb": 0,
19893 "is_compiler_generated": false,
19894 "is_pov": false
19895 }
19896 ],
19897 "word_bit_width": 16
19898 },
19899 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019900 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019901 "records": [
19902 {
19903 "position_offset": 37,
19904 "field_name": "fabric_metadata.original_ether_type",
19905 "field_msb": 15,
19906 "field_lsb": 0,
19907 "field_width": 2,
19908 "phv_msb": 15,
19909 "phv_lsb": 0,
19910 "is_compiler_generated": false,
19911 "is_pov": false
19912 }
19913 ],
19914 "word_bit_width": 16
19915 },
19916 {
19917 "phv_number": 260,
19918 "records": [
19919 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019920 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019921 "field_name": "tcp.seq_no",
19922 "field_msb": 31,
19923 "field_lsb": 0,
19924 "field_width": 4,
19925 "phv_msb": 31,
19926 "phv_lsb": 0,
19927 "is_compiler_generated": false,
19928 "is_pov": false
19929 },
19930 {
19931 "position_offset": 50,
19932 "field_name": "icmp.timestamp",
19933 "field_msb": 31,
19934 "field_lsb": 0,
19935 "field_width": 8,
19936 "phv_msb": 31,
19937 "phv_lsb": 0,
19938 "is_compiler_generated": false,
19939 "is_pov": false
19940 }
19941 ],
19942 "word_bit_width": 32
19943 },
19944 {
19945 "phv_number": 261,
19946 "records": [
19947 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019948 "position_offset": 96,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019949 "field_name": "tcp.ack_no",
19950 "field_msb": 31,
19951 "field_lsb": 0,
19952 "field_width": 4,
19953 "phv_msb": 31,
19954 "phv_lsb": 0,
19955 "is_compiler_generated": false,
19956 "is_pov": false
19957 },
19958 {
19959 "position_offset": 50,
19960 "field_name": "icmp.timestamp",
19961 "field_msb": 63,
19962 "field_lsb": 32,
19963 "field_width": 8,
19964 "phv_msb": 31,
19965 "phv_lsb": 0,
19966 "is_compiler_generated": false,
19967 "is_pov": false
19968 }
19969 ],
19970 "word_bit_width": 32
19971 },
19972 {
19973 "phv_number": 292,
19974 "records": [
19975 {
19976 "position_offset": 3,
19977 "field_name": "arp.hw_addr_len",
19978 "field_msb": 7,
19979 "field_lsb": 0,
19980 "field_width": 1,
19981 "phv_msb": 7,
19982 "phv_lsb": 0,
19983 "is_compiler_generated": false,
19984 "is_pov": false
19985 },
19986 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019987 "position_offset": 85,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019988 "field_name": "ipv4.version",
19989 "field_msb": 7,
19990 "field_lsb": 0,
19991 "field_width": 1,
19992 "phv_msb": 7,
19993 "phv_lsb": 4,
19994 "is_compiler_generated": false,
19995 "is_pov": false
19996 },
19997 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080019998 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -080019999 "field_name": "ipv4.ihl",
20000 "field_msb": 7,
20001 "field_lsb": 0,
20002 "field_width": 1,
20003 "phv_msb": 3,
20004 "phv_lsb": 0,
20005 "is_compiler_generated": false,
20006 "is_pov": false
20007 }
20008 ],
20009 "word_bit_width": 8
20010 },
20011 {
20012 "phv_number": 293,
20013 "records": [
20014 {
20015 "position_offset": 8,
20016 "field_name": "arp.proto_addr_len",
20017 "field_msb": 7,
20018 "field_lsb": 0,
20019 "field_width": 1,
20020 "phv_msb": 7,
20021 "phv_lsb": 0,
20022 "is_compiler_generated": false,
20023 "is_pov": false
20024 },
20025 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020026 "position_offset": 65,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020027 "field_name": "ipv4.diffserv",
20028 "field_msb": 7,
20029 "field_lsb": 0,
20030 "field_width": 1,
20031 "phv_msb": 7,
20032 "phv_lsb": 0,
20033 "is_compiler_generated": false,
20034 "is_pov": false
20035 }
20036 ],
20037 "word_bit_width": 8
20038 },
20039 {
20040 "phv_number": 294,
20041 "records": [
20042 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020043 "position_offset": 77,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020044 "field_name": "ipv4.protocol",
20045 "field_msb": 7,
20046 "field_lsb": 0,
20047 "field_width": 1,
20048 "phv_msb": 7,
20049 "phv_lsb": 0,
20050 "is_compiler_generated": false,
20051 "is_pov": false
20052 }
20053 ],
20054 "word_bit_width": 8
20055 },
20056 {
20057 "phv_number": 326,
20058 "records": [
20059 {
20060 "position_offset": 4,
20061 "field_name": "arp.hw_type",
20062 "field_msb": 15,
20063 "field_lsb": 0,
20064 "field_width": 2,
20065 "phv_msb": 15,
20066 "phv_lsb": 0,
20067 "is_compiler_generated": false,
20068 "is_pov": false
20069 },
20070 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020071 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020072 "field_name": "tcp.data_offset",
20073 "field_msb": 15,
20074 "field_lsb": 0,
20075 "field_width": 2,
20076 "phv_msb": 15,
20077 "phv_lsb": 12,
20078 "is_compiler_generated": false,
20079 "is_pov": false
20080 },
20081 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020082 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020083 "field_name": "tcp.res",
20084 "field_msb": 15,
20085 "field_lsb": 0,
20086 "field_width": 2,
20087 "phv_msb": 11,
20088 "phv_lsb": 9,
20089 "is_compiler_generated": false,
20090 "is_pov": false
20091 },
20092 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020093 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020094 "field_name": "tcp.ecn",
20095 "field_msb": 15,
20096 "field_lsb": 0,
20097 "field_width": 2,
20098 "phv_msb": 8,
20099 "phv_lsb": 6,
20100 "is_compiler_generated": false,
20101 "is_pov": false
20102 },
20103 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020104 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020105 "field_name": "tcp.ctrl",
20106 "field_msb": 15,
20107 "field_lsb": 0,
20108 "field_width": 2,
20109 "phv_msb": 5,
20110 "phv_lsb": 0,
20111 "is_compiler_generated": false,
20112 "is_pov": false
20113 },
20114 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020115 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020116 "field_name": "udp.src_port",
20117 "field_msb": 15,
20118 "field_lsb": 0,
20119 "field_width": 2,
20120 "phv_msb": 15,
20121 "phv_lsb": 0,
20122 "is_compiler_generated": false,
20123 "is_pov": false
20124 },
20125 {
20126 "position_offset": 42,
20127 "field_name": "icmp.checksum",
20128 "field_msb": 15,
20129 "field_lsb": 0,
20130 "field_width": 2,
20131 "phv_msb": 15,
20132 "phv_lsb": 0,
20133 "is_compiler_generated": false,
20134 "is_pov": false
20135 }
20136 ],
20137 "word_bit_width": 16
20138 },
20139 {
20140 "phv_number": 327,
20141 "records": [
20142 {
20143 "position_offset": 9,
20144 "field_name": "arp.proto_type",
20145 "field_msb": 15,
20146 "field_lsb": 0,
20147 "field_width": 2,
20148 "phv_msb": 15,
20149 "phv_lsb": 0,
20150 "is_compiler_generated": false,
20151 "is_pov": false
20152 },
20153 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020154 "position_offset": 116,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020155 "field_name": "tcp.src_port",
20156 "field_msb": 15,
20157 "field_lsb": 0,
20158 "field_width": 2,
20159 "phv_msb": 15,
20160 "phv_lsb": 0,
20161 "is_compiler_generated": false,
20162 "is_pov": false
20163 },
20164 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020165 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020166 "field_name": "udp.dst_port",
20167 "field_msb": 15,
20168 "field_lsb": 0,
20169 "field_width": 2,
20170 "phv_msb": 15,
20171 "phv_lsb": 0,
20172 "is_compiler_generated": false,
20173 "is_pov": false
20174 },
20175 {
20176 "position_offset": 46,
20177 "field_name": "icmp.identifier",
20178 "field_msb": 15,
20179 "field_lsb": 0,
20180 "field_width": 2,
20181 "phv_msb": 15,
20182 "phv_lsb": 0,
20183 "is_compiler_generated": false,
20184 "is_pov": false
20185 }
20186 ],
20187 "word_bit_width": 16
20188 },
20189 {
20190 "phv_number": 328,
20191 "records": [
20192 {
20193 "position_offset": 6,
20194 "field_name": "arp.opcode",
20195 "field_msb": 15,
20196 "field_lsb": 0,
20197 "field_width": 2,
20198 "phv_msb": 15,
20199 "phv_lsb": 0,
20200 "is_compiler_generated": false,
20201 "is_pov": false
20202 },
20203 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020204 "position_offset": 70,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020205 "field_name": "ipv4.flags",
20206 "field_msb": 15,
20207 "field_lsb": 0,
20208 "field_width": 2,
20209 "phv_msb": 15,
20210 "phv_lsb": 13,
20211 "is_compiler_generated": false,
20212 "is_pov": false
20213 },
20214 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020215 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020216 "field_name": "ipv4.frag_offset",
20217 "field_msb": 15,
20218 "field_lsb": 0,
20219 "field_width": 2,
20220 "phv_msb": 12,
20221 "phv_lsb": 0,
20222 "is_compiler_generated": false,
20223 "is_pov": false
20224 }
20225 ],
20226 "word_bit_width": 16
20227 },
20228 {
20229 "phv_number": 329,
20230 "records": [
20231 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020232 "position_offset": 82,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020233 "field_name": "ipv4.total_len",
20234 "field_msb": 15,
20235 "field_lsb": 0,
20236 "field_width": 2,
20237 "phv_msb": 15,
20238 "phv_lsb": 0,
20239 "is_compiler_generated": false,
20240 "is_pov": false
20241 }
20242 ],
20243 "word_bit_width": 16
20244 },
20245 {
20246 "phv_number": 330,
20247 "records": [
20248 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020249 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020250 "field_name": "ipv4.identification",
20251 "field_msb": 15,
20252 "field_lsb": 0,
20253 "field_width": 2,
20254 "phv_msb": 15,
20255 "phv_lsb": 0,
20256 "is_compiler_generated": false,
20257 "is_pov": false
20258 }
20259 ],
20260 "word_bit_width": 16
20261 },
20262 {
20263 "phv_number": 331,
20264 "records": [
20265 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020266 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020267 "field_name": "tcp.dst_port",
20268 "field_msb": 15,
20269 "field_lsb": 0,
20270 "field_width": 2,
20271 "phv_msb": 15,
20272 "phv_lsb": 0,
20273 "is_compiler_generated": false,
20274 "is_pov": false
20275 },
20276 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020277 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020278 "field_name": "udp.len",
20279 "field_msb": 15,
20280 "field_lsb": 0,
20281 "field_width": 2,
20282 "phv_msb": 15,
20283 "phv_lsb": 0,
20284 "is_compiler_generated": false,
20285 "is_pov": false
20286 },
20287 {
20288 "position_offset": 48,
20289 "field_name": "icmp.sequence_number",
20290 "field_msb": 15,
20291 "field_lsb": 0,
20292 "field_width": 2,
20293 "phv_msb": 15,
20294 "phv_lsb": 0,
20295 "is_compiler_generated": false,
20296 "is_pov": false
20297 }
20298 ],
20299 "word_bit_width": 16
20300 },
20301 {
20302 "phv_number": 338,
20303 "records": [
20304 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020305 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020306 "field_name": "tcp.window",
20307 "field_msb": 15,
20308 "field_lsb": 0,
20309 "field_width": 2,
20310 "phv_msb": 15,
20311 "phv_lsb": 0,
20312 "is_compiler_generated": false,
20313 "is_pov": false
20314 },
20315 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020316 "position_offset": 123,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020317 "field_name": "udp.checksum",
20318 "field_msb": 15,
20319 "field_lsb": 0,
20320 "field_width": 2,
20321 "phv_msb": 15,
20322 "phv_lsb": 0,
20323 "is_compiler_generated": false,
20324 "is_pov": false
20325 }
20326 ],
20327 "word_bit_width": 16
20328 },
20329 {
20330 "phv_number": 339,
20331 "records": [
20332 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020333 "position_offset": 100,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020334 "field_name": "tcp.checksum",
20335 "field_msb": 15,
20336 "field_lsb": 0,
20337 "field_width": 2,
20338 "phv_msb": 15,
20339 "phv_lsb": 0,
20340 "is_compiler_generated": false,
20341 "is_pov": false
20342 }
20343 ],
20344 "word_bit_width": 16
20345 },
20346 {
20347 "phv_number": 340,
20348 "records": [
20349 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080020350 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -080020351 "field_name": "tcp.urgent_ptr",
20352 "field_msb": 15,
20353 "field_lsb": 0,
20354 "field_width": 2,
20355 "phv_msb": 15,
20356 "phv_lsb": 0,
20357 "is_compiler_generated": false,
20358 "is_pov": false
20359 }
20360 ],
20361 "word_bit_width": 16
20362 }
20363 ],
20364 "egress": [
20365 {
20366 "phv_number": 80,
20367 "records": [
20368 {
20369 "position_offset": 0,
20370 "field_name": "POV",
20371 "field_msb": 7,
20372 "field_lsb": 0,
20373 "field_width": 0,
20374 "phv_msb": 0,
20375 "phv_lsb": 0,
20376 "is_compiler_generated": false,
20377 "is_pov": true,
20378 "pov_headers": [
20379 {
20380 "bit_index": 0,
20381 "position_offset": 0,
20382 "header_name": "arp",
20383 "hidden": false
20384 }
20385 ]
20386 },
20387 {
20388 "position_offset": 0,
20389 "field_name": "POV",
20390 "field_msb": 7,
20391 "field_lsb": 0,
20392 "field_width": 0,
20393 "phv_msb": 2,
20394 "phv_lsb": 2,
20395 "is_compiler_generated": false,
20396 "is_pov": true,
20397 "pov_headers": [
20398 {
20399 "bit_index": 2,
20400 "position_offset": 11,
20401 "header_name": "ethernet",
20402 "hidden": false
20403 }
20404 ]
20405 },
20406 {
20407 "position_offset": 0,
20408 "field_name": "POV",
20409 "field_msb": 7,
20410 "field_lsb": 0,
20411 "field_width": 0,
20412 "phv_msb": 3,
20413 "phv_lsb": 3,
20414 "is_compiler_generated": false,
20415 "is_pov": true,
20416 "pov_headers": [
20417 {
20418 "bit_index": 3,
20419 "position_offset": 26,
20420 "header_name": "icmp",
20421 "hidden": false
20422 }
20423 ]
20424 },
20425 {
20426 "position_offset": 0,
20427 "field_name": "POV",
20428 "field_msb": 7,
20429 "field_lsb": 0,
20430 "field_width": 0,
20431 "phv_msb": 5,
20432 "phv_lsb": 5,
20433 "is_compiler_generated": false,
20434 "is_pov": true,
20435 "pov_headers": [
20436 {
20437 "bit_index": 5,
20438 "position_offset": 45,
20439 "header_name": "ipv4",
20440 "hidden": false
20441 }
20442 ]
20443 },
20444 {
20445 "position_offset": 0,
20446 "field_name": "POV",
20447 "field_msb": 7,
20448 "field_lsb": 0,
20449 "field_width": 0,
20450 "phv_msb": 6,
20451 "phv_lsb": 6,
20452 "is_compiler_generated": false,
20453 "is_pov": true,
20454 "pov_headers": [
20455 {
20456 "bit_index": 6,
20457 "position_offset": 67,
20458 "header_name": "mpls",
20459 "hidden": false
20460 }
20461 ]
20462 },
20463 {
20464 "position_offset": 0,
20465 "field_name": "POV",
20466 "field_msb": 7,
20467 "field_lsb": 0,
20468 "field_width": 0,
20469 "phv_msb": 7,
20470 "phv_lsb": 7,
20471 "is_compiler_generated": false,
20472 "is_pov": true,
20473 "pov_headers": [
20474 {
20475 "bit_index": 7,
20476 "position_offset": 73,
20477 "header_name": "packet_in",
20478 "hidden": false
20479 }
20480 ]
20481 }
20482 ],
20483 "word_bit_width": 8
20484 },
20485 {
20486 "phv_number": 81,
20487 "records": [
20488 {
20489 "position_offset": 0,
20490 "field_name": "POV",
20491 "field_msb": 7,
20492 "field_lsb": 0,
20493 "field_width": 0,
20494 "phv_msb": 0,
20495 "phv_lsb": 0,
20496 "is_compiler_generated": false,
20497 "is_pov": true,
20498 "pov_headers": [
20499 {
20500 "bit_index": 0,
20501 "position_offset": 78,
20502 "header_name": "tcp",
20503 "hidden": false
20504 }
20505 ]
20506 },
20507 {
20508 "position_offset": 0,
20509 "field_name": "POV",
20510 "field_msb": 7,
20511 "field_lsb": 0,
20512 "field_width": 0,
20513 "phv_msb": 1,
20514 "phv_lsb": 1,
20515 "is_compiler_generated": false,
20516 "is_pov": true,
20517 "pov_headers": [
20518 {
20519 "bit_index": 1,
20520 "position_offset": 105,
20521 "header_name": "udp",
20522 "hidden": false
20523 }
20524 ]
20525 },
20526 {
20527 "position_offset": 0,
20528 "field_name": "POV",
20529 "field_msb": 7,
20530 "field_lsb": 0,
20531 "field_width": 0,
20532 "phv_msb": 2,
20533 "phv_lsb": 2,
20534 "is_compiler_generated": false,
20535 "is_pov": true,
20536 "pov_headers": [
20537 {
20538 "bit_index": 2,
20539 "position_offset": 114,
20540 "header_name": "vlan_tag",
20541 "hidden": false
20542 }
20543 ]
20544 }
20545 ],
20546 "word_bit_width": 8
20547 },
20548 {
20549 "phv_number": 144,
20550 "records": [
20551 {
20552 "position_offset": 9,
20553 "field_name": "eg_intr_md.egress_port",
20554 "field_msb": 15,
20555 "field_lsb": 0,
20556 "field_width": 2,
20557 "phv_msb": 8,
20558 "phv_lsb": 0,
20559 "is_compiler_generated": false,
20560 "is_pov": false
20561 }
20562 ],
20563 "word_bit_width": 16
20564 },
20565 {
20566 "phv_number": 145,
20567 "records": [
20568 {
20569 "position_offset": 76,
20570 "field_name": "packet_in.ingress_port",
20571 "field_msb": 15,
20572 "field_lsb": 0,
20573 "field_width": 2,
20574 "phv_msb": 15,
20575 "phv_lsb": 7,
20576 "is_compiler_generated": false,
20577 "is_pov": false
20578 },
20579 {
20580 "position_offset": 74,
20581 "field_name": "packet_in._pad",
20582 "field_msb": 15,
20583 "field_lsb": 0,
20584 "field_width": 2,
20585 "phv_msb": 6,
20586 "phv_lsb": 0,
20587 "is_compiler_generated": false,
20588 "is_pov": false
20589 }
20590 ],
20591 "word_bit_width": 16
20592 },
20593 {
20594 "phv_number": 146,
20595 "records": [
20596 {
20597 "position_offset": 43,
20598 "field_name": "ig_intr_md.ingress_port",
20599 "field_msb": 15,
20600 "field_lsb": 0,
20601 "field_width": 2,
20602 "phv_msb": 8,
20603 "phv_lsb": 0,
20604 "is_compiler_generated": false,
20605 "is_pov": false
20606 }
20607 ],
20608 "word_bit_width": 16
20609 },
20610 {
20611 "phv_number": 256,
20612 "records": [
20613 {
20614 "position_offset": 12,
20615 "field_name": "ethernet.dst_addr",
20616 "field_msb": 47,
20617 "field_lsb": 16,
20618 "field_width": 6,
20619 "phv_msb": 31,
20620 "phv_lsb": 0,
20621 "is_compiler_generated": false,
20622 "is_pov": false
20623 }
20624 ],
20625 "word_bit_width": 32
20626 },
20627 {
20628 "phv_number": 257,
20629 "records": [
20630 {
20631 "position_offset": 20,
20632 "field_name": "ethernet.src_addr",
20633 "field_msb": 47,
20634 "field_lsb": 16,
20635 "field_width": 6,
20636 "phv_msb": 31,
20637 "phv_lsb": 0,
20638 "is_compiler_generated": false,
20639 "is_pov": false
20640 }
20641 ],
20642 "word_bit_width": 32
20643 },
20644 {
20645 "phv_number": 258,
20646 "records": [
20647 {
20648 "position_offset": 59,
20649 "field_name": "ipv4.src_addr",
20650 "field_msb": 31,
20651 "field_lsb": 0,
20652 "field_width": 4,
20653 "phv_msb": 31,
20654 "phv_lsb": 0,
20655 "is_compiler_generated": false,
20656 "is_pov": false
20657 }
20658 ],
20659 "word_bit_width": 32
20660 },
20661 {
20662 "phv_number": 259,
20663 "records": [
20664 {
20665 "position_offset": 47,
20666 "field_name": "ipv4.dst_addr",
20667 "field_msb": 31,
20668 "field_lsb": 0,
20669 "field_width": 4,
20670 "phv_msb": 31,
20671 "phv_lsb": 0,
20672 "is_compiler_generated": false,
20673 "is_pov": false
20674 }
20675 ],
20676 "word_bit_width": 32
20677 },
20678 {
20679 "phv_number": 264,
20680 "records": [
20681 {
20682 "position_offset": 95,
20683 "field_name": "tcp.seq_no",
20684 "field_msb": 31,
20685 "field_lsb": 0,
20686 "field_width": 4,
20687 "phv_msb": 31,
20688 "phv_lsb": 0,
20689 "is_compiler_generated": false,
20690 "is_pov": false
20691 },
20692 {
20693 "position_offset": 35,
20694 "field_name": "icmp.timestamp",
20695 "field_msb": 31,
20696 "field_lsb": 0,
20697 "field_width": 8,
20698 "phv_msb": 31,
20699 "phv_lsb": 0,
20700 "is_compiler_generated": false,
20701 "is_pov": false
20702 }
20703 ],
20704 "word_bit_width": 32
20705 },
20706 {
20707 "phv_number": 265,
20708 "records": [
20709 {
20710 "position_offset": 79,
20711 "field_name": "tcp.ack_no",
20712 "field_msb": 31,
20713 "field_lsb": 0,
20714 "field_width": 4,
20715 "phv_msb": 31,
20716 "phv_lsb": 0,
20717 "is_compiler_generated": false,
20718 "is_pov": false
20719 },
20720 {
20721 "position_offset": 35,
20722 "field_name": "icmp.timestamp",
20723 "field_msb": 63,
20724 "field_lsb": 32,
20725 "field_width": 8,
20726 "phv_msb": 31,
20727 "phv_lsb": 0,
20728 "is_compiler_generated": false,
20729 "is_pov": false
20730 }
20731 ],
20732 "word_bit_width": 32
20733 },
20734 {
20735 "phv_number": 288,
20736 "records": [
20737 {
20738 "position_offset": 1,
20739 "field_name": "arp.hw_addr_len",
20740 "field_msb": 7,
20741 "field_lsb": 0,
20742 "field_width": 1,
20743 "phv_msb": 7,
20744 "phv_lsb": 0,
20745 "is_compiler_generated": false,
20746 "is_pov": false
20747 },
20748 {
20749 "position_offset": 66,
20750 "field_name": "ipv4.version",
20751 "field_msb": 7,
20752 "field_lsb": 0,
20753 "field_width": 1,
20754 "phv_msb": 7,
20755 "phv_lsb": 4,
20756 "is_compiler_generated": false,
20757 "is_pov": false
20758 },
20759 {
20760 "position_offset": 57,
20761 "field_name": "ipv4.ihl",
20762 "field_msb": 7,
20763 "field_lsb": 0,
20764 "field_width": 1,
20765 "phv_msb": 3,
20766 "phv_lsb": 0,
20767 "is_compiler_generated": false,
20768 "is_pov": false
20769 }
20770 ],
20771 "word_bit_width": 8
20772 },
20773 {
20774 "phv_number": 289,
20775 "records": [
20776 {
20777 "position_offset": 6,
20778 "field_name": "arp.proto_addr_len",
20779 "field_msb": 7,
20780 "field_lsb": 0,
20781 "field_width": 1,
20782 "phv_msb": 7,
20783 "phv_lsb": 0,
20784 "is_compiler_generated": false,
20785 "is_pov": false
20786 },
20787 {
20788 "position_offset": 30,
20789 "field_name": "icmp.icmp_type",
20790 "field_msb": 7,
20791 "field_lsb": 0,
20792 "field_width": 1,
20793 "phv_msb": 7,
20794 "phv_lsb": 0,
20795 "is_compiler_generated": false,
20796 "is_pov": false
20797 }
20798 ],
20799 "word_bit_width": 8
20800 },
20801 {
20802 "phv_number": 290,
20803 "records": [
20804 {
20805 "position_offset": 46,
20806 "field_name": "ipv4.diffserv",
20807 "field_msb": 7,
20808 "field_lsb": 0,
20809 "field_width": 1,
20810 "phv_msb": 7,
20811 "phv_lsb": 0,
20812 "is_compiler_generated": false,
20813 "is_pov": false
20814 }
20815 ],
20816 "word_bit_width": 8
20817 },
20818 {
20819 "phv_number": 291,
20820 "records": [
20821 {
20822 "position_offset": 29,
20823 "field_name": "icmp.icmp_code",
20824 "field_msb": 7,
20825 "field_lsb": 0,
20826 "field_width": 1,
20827 "phv_msb": 7,
20828 "phv_lsb": 0,
20829 "is_compiler_generated": false,
20830 "is_pov": false
20831 }
20832 ],
20833 "word_bit_width": 8
20834 },
20835 {
20836 "phv_number": 296,
20837 "records": [
20838 {
20839 "position_offset": 69,
20840 "field_name": "mpls.label",
20841 "field_msb": 3,
20842 "field_lsb": 0,
20843 "field_width": 2,
20844 "phv_msb": 7,
20845 "phv_lsb": 4,
20846 "is_compiler_generated": false,
20847 "is_pov": false
20848 },
20849 {
20850 "position_offset": 71,
20851 "field_name": "mpls.tc",
20852 "field_msb": 7,
20853 "field_lsb": 0,
20854 "field_width": 1,
20855 "phv_msb": 3,
20856 "phv_lsb": 1,
20857 "is_compiler_generated": false,
20858 "is_pov": false
20859 },
20860 {
20861 "position_offset": 68,
20862 "field_name": "mpls.bos",
20863 "field_msb": 7,
20864 "field_lsb": 0,
20865 "field_width": 1,
20866 "phv_msb": 0,
20867 "phv_lsb": 0,
20868 "is_compiler_generated": false,
20869 "is_pov": false
20870 }
20871 ],
20872 "word_bit_width": 8
20873 },
20874 {
20875 "phv_number": 297,
20876 "records": [
20877 {
20878 "position_offset": 65,
20879 "field_name": "ipv4.ttl",
20880 "field_msb": 7,
20881 "field_lsb": 0,
20882 "field_width": 1,
20883 "phv_msb": 7,
20884 "phv_lsb": 0,
20885 "is_compiler_generated": false,
20886 "is_pov": false
20887 }
20888 ],
20889 "word_bit_width": 8
20890 },
20891 {
20892 "phv_number": 298,
20893 "records": [
20894 {
20895 "position_offset": 58,
20896 "field_name": "ipv4.protocol",
20897 "field_msb": 7,
20898 "field_lsb": 0,
20899 "field_width": 1,
20900 "phv_msb": 7,
20901 "phv_lsb": 0,
20902 "is_compiler_generated": false,
20903 "is_pov": false
20904 }
20905 ],
20906 "word_bit_width": 8
20907 },
20908 {
20909 "phv_number": 299,
20910 "records": [
20911 {
20912 "position_offset": 72,
20913 "field_name": "mpls.ttl",
20914 "field_msb": 7,
20915 "field_lsb": 0,
20916 "field_width": 1,
20917 "phv_msb": 7,
20918 "phv_lsb": 0,
20919 "is_compiler_generated": false,
20920 "is_pov": false
20921 }
20922 ],
20923 "word_bit_width": 8
20924 },
20925 {
20926 "phv_number": 320,
20927 "records": [
20928 {
20929 "position_offset": 119,
20930 "field_name": "vlan_tag.pri",
20931 "field_msb": 15,
20932 "field_lsb": 0,
20933 "field_width": 2,
20934 "phv_msb": 15,
20935 "phv_lsb": 13,
20936 "is_compiler_generated": false,
20937 "is_pov": false
20938 },
20939 {
20940 "position_offset": 115,
20941 "field_name": "vlan_tag.cfi",
20942 "field_msb": 15,
20943 "field_lsb": 0,
20944 "field_width": 2,
20945 "phv_msb": 12,
20946 "phv_lsb": 12,
20947 "is_compiler_generated": false,
20948 "is_pov": false
20949 },
20950 {
20951 "position_offset": 121,
20952 "field_name": "vlan_tag.vlan_id",
20953 "field_msb": 15,
20954 "field_lsb": 0,
20955 "field_width": 2,
20956 "phv_msb": 11,
20957 "phv_lsb": 0,
20958 "is_compiler_generated": false,
20959 "is_pov": false
20960 }
20961 ],
20962 "word_bit_width": 16
20963 },
20964 {
20965 "phv_number": 321,
20966 "records": [
20967 {
20968 "position_offset": 2,
20969 "field_name": "arp.hw_type",
20970 "field_msb": 15,
20971 "field_lsb": 0,
20972 "field_width": 2,
20973 "phv_msb": 15,
20974 "phv_lsb": 0,
20975 "is_compiler_generated": false,
20976 "is_pov": false
20977 },
20978 {
20979 "position_offset": 99,
20980 "field_name": "tcp.src_port",
20981 "field_msb": 15,
20982 "field_lsb": 0,
20983 "field_width": 2,
20984 "phv_msb": 15,
20985 "phv_lsb": 0,
20986 "is_compiler_generated": false,
20987 "is_pov": false
20988 },
20989 {
20990 "position_offset": 112,
20991 "field_name": "udp.src_port",
20992 "field_msb": 15,
20993 "field_lsb": 0,
20994 "field_width": 2,
20995 "phv_msb": 15,
20996 "phv_lsb": 0,
20997 "is_compiler_generated": false,
20998 "is_pov": false
20999 },
21000 {
21001 "position_offset": 27,
21002 "field_name": "icmp.checksum",
21003 "field_msb": 15,
21004 "field_lsb": 0,
21005 "field_width": 2,
21006 "phv_msb": 15,
21007 "phv_lsb": 0,
21008 "is_compiler_generated": false,
21009 "is_pov": false
21010 }
21011 ],
21012 "word_bit_width": 16
21013 },
21014 {
21015 "phv_number": 322,
21016 "records": [
21017 {
21018 "position_offset": 7,
21019 "field_name": "arp.proto_type",
21020 "field_msb": 15,
21021 "field_lsb": 0,
21022 "field_width": 2,
21023 "phv_msb": 15,
21024 "phv_lsb": 0,
21025 "is_compiler_generated": false,
21026 "is_pov": false
21027 },
21028 {
21029 "position_offset": 69,
21030 "field_name": "mpls.label",
21031 "field_msb": 19,
21032 "field_lsb": 4,
21033 "field_width": 2,
21034 "phv_msb": 15,
21035 "phv_lsb": 0,
21036 "is_compiler_generated": false,
21037 "is_pov": false
21038 }
21039 ],
21040 "word_bit_width": 16
21041 },
21042 {
21043 "phv_number": 323,
21044 "records": [
21045 {
21046 "position_offset": 4,
21047 "field_name": "arp.opcode",
21048 "field_msb": 15,
21049 "field_lsb": 0,
21050 "field_width": 2,
21051 "phv_msb": 15,
21052 "phv_lsb": 0,
21053 "is_compiler_generated": false,
21054 "is_pov": false
21055 },
21056 {
21057 "position_offset": 87,
21058 "field_name": "tcp.data_offset",
21059 "field_msb": 15,
21060 "field_lsb": 0,
21061 "field_width": 2,
21062 "phv_msb": 15,
21063 "phv_lsb": 12,
21064 "is_compiler_generated": false,
21065 "is_pov": false
21066 },
21067 {
21068 "position_offset": 93,
21069 "field_name": "tcp.res",
21070 "field_msb": 15,
21071 "field_lsb": 0,
21072 "field_width": 2,
21073 "phv_msb": 11,
21074 "phv_lsb": 9,
21075 "is_compiler_generated": false,
21076 "is_pov": false
21077 },
21078 {
21079 "position_offset": 91,
21080 "field_name": "tcp.ecn",
21081 "field_msb": 15,
21082 "field_lsb": 0,
21083 "field_width": 2,
21084 "phv_msb": 8,
21085 "phv_lsb": 6,
21086 "is_compiler_generated": false,
21087 "is_pov": false
21088 },
21089 {
21090 "position_offset": 85,
21091 "field_name": "tcp.ctrl",
21092 "field_msb": 15,
21093 "field_lsb": 0,
21094 "field_width": 2,
21095 "phv_msb": 5,
21096 "phv_lsb": 0,
21097 "is_compiler_generated": false,
21098 "is_pov": false
21099 },
21100 {
21101 "position_offset": 108,
21102 "field_name": "udp.dst_port",
21103 "field_msb": 15,
21104 "field_lsb": 0,
21105 "field_width": 2,
21106 "phv_msb": 15,
21107 "phv_lsb": 0,
21108 "is_compiler_generated": false,
21109 "is_pov": false
21110 },
21111 {
21112 "position_offset": 31,
21113 "field_name": "icmp.identifier",
21114 "field_msb": 15,
21115 "field_lsb": 0,
21116 "field_width": 2,
21117 "phv_msb": 15,
21118 "phv_lsb": 0,
21119 "is_compiler_generated": false,
21120 "is_pov": false
21121 }
21122 ],
21123 "word_bit_width": 16
21124 },
21125 {
21126 "phv_number": 324,
21127 "records": [
21128 {
21129 "position_offset": 51,
21130 "field_name": "ipv4.flags",
21131 "field_msb": 15,
21132 "field_lsb": 0,
21133 "field_width": 2,
21134 "phv_msb": 15,
21135 "phv_lsb": 13,
21136 "is_compiler_generated": false,
21137 "is_pov": false
21138 },
21139 {
21140 "position_offset": 53,
21141 "field_name": "ipv4.frag_offset",
21142 "field_msb": 15,
21143 "field_lsb": 0,
21144 "field_width": 2,
21145 "phv_msb": 12,
21146 "phv_lsb": 0,
21147 "is_compiler_generated": false,
21148 "is_pov": false
21149 }
21150 ],
21151 "word_bit_width": 16
21152 },
21153 {
21154 "phv_number": 325,
21155 "records": [
21156 {
21157 "position_offset": 12,
21158 "field_name": "ethernet.dst_addr",
21159 "field_msb": 15,
21160 "field_lsb": 0,
21161 "field_width": 6,
21162 "phv_msb": 15,
21163 "phv_lsb": 0,
21164 "is_compiler_generated": false,
21165 "is_pov": false
21166 }
21167 ],
21168 "word_bit_width": 16
21169 },
21170 {
21171 "phv_number": 332,
21172 "records": [
21173 {
21174 "position_offset": 20,
21175 "field_name": "ethernet.src_addr",
21176 "field_msb": 15,
21177 "field_lsb": 0,
21178 "field_width": 6,
21179 "phv_msb": 15,
21180 "phv_lsb": 0,
21181 "is_compiler_generated": false,
21182 "is_pov": false
21183 }
21184 ],
21185 "word_bit_width": 16
21186 },
21187 {
21188 "phv_number": 333,
21189 "records": [
21190 {
21191 "position_offset": 18,
21192 "field_name": "ethernet.ether_type",
21193 "field_msb": 15,
21194 "field_lsb": 0,
21195 "field_width": 2,
21196 "phv_msb": 15,
21197 "phv_lsb": 0,
21198 "is_compiler_generated": false,
21199 "is_pov": false
21200 }
21201 ],
21202 "word_bit_width": 16
21203 },
21204 {
21205 "phv_number": 334,
21206 "records": [
21207 {
21208 "position_offset": 117,
21209 "field_name": "vlan_tag.ether_type",
21210 "field_msb": 15,
21211 "field_lsb": 0,
21212 "field_width": 2,
21213 "phv_msb": 15,
21214 "phv_lsb": 0,
21215 "is_compiler_generated": false,
21216 "is_pov": false
21217 }
21218 ],
21219 "word_bit_width": 16
21220 },
21221 {
21222 "phv_number": 335,
21223 "records": [
21224 {
21225 "position_offset": 63,
21226 "field_name": "ipv4.total_len",
21227 "field_msb": 15,
21228 "field_lsb": 0,
21229 "field_width": 2,
21230 "phv_msb": 15,
21231 "phv_lsb": 0,
21232 "is_compiler_generated": false,
21233 "is_pov": false
21234 }
21235 ],
21236 "word_bit_width": 16
21237 },
21238 {
21239 "phv_number": 336,
21240 "records": [
21241 {
21242 "position_offset": 55,
21243 "field_name": "ipv4.identification",
21244 "field_msb": 15,
21245 "field_lsb": 0,
21246 "field_width": 2,
21247 "phv_msb": 15,
21248 "phv_lsb": 0,
21249 "is_compiler_generated": false,
21250 "is_pov": false
21251 }
21252 ],
21253 "word_bit_width": 16
21254 },
21255 {
21256 "phv_number": 337,
21257 "records": [
21258 {
21259 "position_offset": 89,
21260 "field_name": "tcp.dst_port",
21261 "field_msb": 15,
21262 "field_lsb": 0,
21263 "field_width": 2,
21264 "phv_msb": 15,
21265 "phv_lsb": 0,
21266 "is_compiler_generated": false,
21267 "is_pov": false
21268 },
21269 {
21270 "position_offset": 110,
21271 "field_name": "udp.len",
21272 "field_msb": 15,
21273 "field_lsb": 0,
21274 "field_width": 2,
21275 "phv_msb": 15,
21276 "phv_lsb": 0,
21277 "is_compiler_generated": false,
21278 "is_pov": false
21279 },
21280 {
21281 "position_offset": 33,
21282 "field_name": "icmp.sequence_number",
21283 "field_msb": 15,
21284 "field_lsb": 0,
21285 "field_width": 2,
21286 "phv_msb": 15,
21287 "phv_lsb": 0,
21288 "is_compiler_generated": false,
21289 "is_pov": false
21290 }
21291 ],
21292 "word_bit_width": 16
21293 },
21294 {
21295 "phv_number": 344,
21296 "records": [
21297 {
21298 "position_offset": 103,
21299 "field_name": "tcp.window",
21300 "field_msb": 15,
21301 "field_lsb": 0,
21302 "field_width": 2,
21303 "phv_msb": 15,
21304 "phv_lsb": 0,
21305 "is_compiler_generated": false,
21306 "is_pov": false
21307 },
21308 {
21309 "position_offset": 106,
21310 "field_name": "udp.checksum",
21311 "field_msb": 15,
21312 "field_lsb": 0,
21313 "field_width": 2,
21314 "phv_msb": 15,
21315 "phv_lsb": 0,
21316 "is_compiler_generated": false,
21317 "is_pov": false
21318 }
21319 ],
21320 "word_bit_width": 16
21321 },
21322 {
21323 "phv_number": 345,
21324 "records": [
21325 {
21326 "position_offset": 83,
21327 "field_name": "tcp.checksum",
21328 "field_msb": 15,
21329 "field_lsb": 0,
21330 "field_width": 2,
21331 "phv_msb": 15,
21332 "phv_lsb": 0,
21333 "is_compiler_generated": false,
21334 "is_pov": false
21335 }
21336 ],
21337 "word_bit_width": 16
21338 },
21339 {
21340 "phv_number": 346,
21341 "records": [
21342 {
21343 "position_offset": 101,
21344 "field_name": "tcp.urgent_ptr",
21345 "field_msb": 15,
21346 "field_lsb": 0,
21347 "field_width": 2,
21348 "phv_msb": 15,
21349 "phv_lsb": 0,
21350 "is_compiler_generated": false,
21351 "is_pov": false
21352 }
21353 ],
21354 "word_bit_width": 16
21355 }
21356 ],
21357 "stage_number": 9
21358 },
21359 {
21360 "ingress": [
21361 {
21362 "phv_number": 0,
21363 "records": [
21364 {
21365 "position_offset": 12,
21366 "field_name": "ethernet.dst_addr",
21367 "field_msb": 47,
21368 "field_lsb": 16,
21369 "field_width": 6,
21370 "phv_msb": 31,
21371 "phv_lsb": 0,
21372 "is_compiler_generated": false,
21373 "is_pov": false
21374 }
21375 ],
21376 "word_bit_width": 32
21377 },
21378 {
21379 "phv_number": 1,
21380 "records": [
21381 {
21382 "position_offset": 20,
21383 "field_name": "ethernet.src_addr",
21384 "field_msb": 47,
21385 "field_lsb": 16,
21386 "field_width": 6,
21387 "phv_msb": 31,
21388 "phv_lsb": 0,
21389 "is_compiler_generated": false,
21390 "is_pov": false
21391 }
21392 ],
21393 "word_bit_width": 32
21394 },
21395 {
21396 "phv_number": 2,
21397 "records": [
21398 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021399 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021400 "field_name": "ipv4.src_addr",
21401 "field_msb": 31,
21402 "field_lsb": 0,
21403 "field_width": 4,
21404 "phv_msb": 31,
21405 "phv_lsb": 0,
21406 "is_compiler_generated": false,
21407 "is_pov": false
21408 }
21409 ],
21410 "word_bit_width": 32
21411 },
21412 {
21413 "phv_number": 3,
21414 "records": [
21415 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021416 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021417 "field_name": "ipv4.dst_addr",
21418 "field_msb": 31,
21419 "field_lsb": 0,
21420 "field_width": 4,
21421 "phv_msb": 31,
21422 "phv_lsb": 0,
21423 "is_compiler_generated": false,
21424 "is_pov": false
21425 }
21426 ],
21427 "word_bit_width": 32
21428 },
21429 {
21430 "phv_number": 4,
21431 "records": [
21432 {
21433 "position_offset": 33,
21434 "field_name": "fabric_metadata.next_id",
21435 "field_msb": 31,
21436 "field_lsb": 0,
21437 "field_width": 4,
21438 "phv_msb": 31,
21439 "phv_lsb": 0,
21440 "is_compiler_generated": false,
21441 "is_pov": false
21442 }
21443 ],
21444 "word_bit_width": 32
21445 },
21446 {
21447 "phv_number": 64,
21448 "records": [
21449 {
21450 "position_offset": 45,
21451 "field_name": "icmp.icmp_type",
21452 "field_msb": 7,
21453 "field_lsb": 0,
21454 "field_width": 1,
21455 "phv_msb": 7,
21456 "phv_lsb": 0,
21457 "is_compiler_generated": false,
21458 "is_pov": false
21459 }
21460 ],
21461 "word_bit_width": 8
21462 },
21463 {
21464 "phv_number": 65,
21465 "records": [
21466 {
21467 "position_offset": 44,
21468 "field_name": "icmp.icmp_code",
21469 "field_msb": 7,
21470 "field_lsb": 0,
21471 "field_width": 1,
21472 "phv_msb": 7,
21473 "phv_lsb": 0,
21474 "is_compiler_generated": false,
21475 "is_pov": false
21476 }
21477 ],
21478 "word_bit_width": 8
21479 },
21480 {
21481 "phv_number": 66,
21482 "records": [
21483 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021484 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021485 "field_name": "mpls.label",
21486 "field_msb": 3,
21487 "field_lsb": 0,
21488 "field_width": 2,
21489 "phv_msb": 7,
21490 "phv_lsb": 4,
21491 "is_compiler_generated": false,
21492 "is_pov": false
21493 },
21494 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021495 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021496 "field_name": "mpls.tc",
21497 "field_msb": 7,
21498 "field_lsb": 0,
21499 "field_width": 1,
21500 "phv_msb": 3,
21501 "phv_lsb": 1,
21502 "is_compiler_generated": false,
21503 "is_pov": false
21504 },
21505 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021506 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021507 "field_name": "mpls.bos",
21508 "field_msb": 7,
21509 "field_lsb": 0,
21510 "field_width": 1,
21511 "phv_msb": 0,
21512 "phv_lsb": 0,
21513 "is_compiler_generated": false,
21514 "is_pov": false
21515 }
21516 ],
21517 "word_bit_width": 8
21518 },
21519 {
21520 "phv_number": 67,
21521 "records": [
21522 {
21523 "position_offset": 1,
21524 "field_name": "$bridged_metadata_indicator",
21525 "field_msb": 7,
21526 "field_lsb": 0,
21527 "field_width": 1,
21528 "phv_msb": 7,
21529 "phv_lsb": 0,
21530 "is_compiler_generated": false,
21531 "is_pov": false
21532 }
21533 ],
21534 "word_bit_width": 8
21535 },
21536 {
21537 "phv_number": 68,
21538 "records": [
21539 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021540 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021541 "field_name": "ipv4.ttl",
21542 "field_msb": 7,
21543 "field_lsb": 0,
21544 "field_width": 1,
21545 "phv_msb": 7,
21546 "phv_lsb": 0,
21547 "is_compiler_generated": false,
21548 "is_pov": false
21549 }
21550 ],
21551 "word_bit_width": 8
21552 },
21553 {
21554 "phv_number": 69,
21555 "records": [
21556 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021557 "position_offset": 91,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021558 "field_name": "mpls.ttl",
21559 "field_msb": 7,
21560 "field_lsb": 0,
21561 "field_width": 1,
21562 "phv_msb": 7,
21563 "phv_lsb": 0,
21564 "is_compiler_generated": false,
21565 "is_pov": false
21566 }
21567 ],
21568 "word_bit_width": 8
21569 },
21570 {
21571 "phv_number": 70,
21572 "records": [
21573 {
21574 "position_offset": 28,
21575 "field_name": "fabric_metadata.ip_proto",
21576 "field_msb": 7,
21577 "field_lsb": 0,
21578 "field_width": 1,
21579 "phv_msb": 7,
21580 "phv_lsb": 0,
21581 "is_compiler_generated": false,
21582 "is_pov": false
21583 }
21584 ],
21585 "word_bit_width": 8
21586 },
21587 {
21588 "phv_number": 71,
21589 "records": [
21590 {
21591 "position_offset": 0,
21592 "field_name": "$always_deparse",
21593 "field_msb": 7,
21594 "field_lsb": 0,
21595 "field_width": 1,
21596 "phv_msb": 0,
21597 "phv_lsb": 0,
21598 "is_compiler_generated": false,
21599 "is_pov": false
21600 },
21601 {
21602 "position_offset": 40,
21603 "field_name": "hasExited_0",
21604 "field_msb": 7,
21605 "field_lsb": 0,
21606 "field_width": 1,
21607 "phv_msb": 4,
21608 "phv_lsb": 4,
21609 "is_compiler_generated": false,
21610 "is_pov": false
21611 },
21612 {
21613 "position_offset": 0,
21614 "field_name": "POV",
21615 "field_msb": 7,
21616 "field_lsb": 0,
21617 "field_width": 0,
21618 "phv_msb": 1,
21619 "phv_lsb": 1,
21620 "is_compiler_generated": false,
21621 "is_pov": true,
21622 "pov_headers": [
21623 {
21624 "bit_index": 1,
21625 "position_offset": 2,
21626 "header_name": "arp",
21627 "hidden": false
21628 }
21629 ]
21630 },
21631 {
21632 "position_offset": 0,
21633 "field_name": "POV",
21634 "field_msb": 7,
21635 "field_lsb": 0,
21636 "field_width": 0,
21637 "phv_msb": 2,
21638 "phv_lsb": 2,
21639 "is_compiler_generated": false,
21640 "is_pov": true,
21641 "pov_headers": [
21642 {
21643 "bit_index": 2,
21644 "position_offset": 11,
21645 "header_name": "ethernet",
21646 "hidden": false
21647 }
21648 ]
21649 },
21650 {
21651 "position_offset": 0,
21652 "field_name": "POV",
21653 "field_msb": 7,
21654 "field_lsb": 0,
21655 "field_width": 0,
21656 "phv_msb": 3,
21657 "phv_lsb": 3,
21658 "is_compiler_generated": false,
21659 "is_pov": true,
21660 "pov_headers": [
21661 {
21662 "bit_index": 3,
21663 "position_offset": 41,
21664 "header_name": "icmp",
21665 "hidden": false
21666 }
21667 ]
21668 },
21669 {
21670 "position_offset": 0,
21671 "field_name": "POV",
21672 "field_msb": 7,
21673 "field_lsb": 0,
21674 "field_width": 0,
21675 "phv_msb": 5,
21676 "phv_lsb": 5,
21677 "is_compiler_generated": false,
21678 "is_pov": true,
21679 "pov_headers": [
21680 {
21681 "bit_index": 5,
Carmelo Casconeecb35762018-02-03 17:30:05 -080021682 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021683 "header_name": "ipv4",
21684 "hidden": false
21685 }
21686 ]
21687 },
21688 {
21689 "position_offset": 0,
21690 "field_name": "POV",
21691 "field_msb": 7,
21692 "field_lsb": 0,
21693 "field_width": 0,
21694 "phv_msb": 6,
21695 "phv_lsb": 6,
21696 "is_compiler_generated": false,
21697 "is_pov": true,
21698 "pov_headers": [
21699 {
21700 "bit_index": 6,
Carmelo Casconeecb35762018-02-03 17:30:05 -080021701 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021702 "header_name": "mpls",
21703 "hidden": false
21704 }
21705 ]
21706 },
21707 {
21708 "position_offset": 0,
21709 "field_name": "POV",
21710 "field_msb": 7,
21711 "field_lsb": 0,
21712 "field_width": 0,
21713 "phv_msb": 7,
21714 "phv_lsb": 7,
21715 "is_compiler_generated": false,
21716 "is_pov": true,
21717 "pov_headers": [
21718 {
21719 "bit_index": 7,
Carmelo Casconeecb35762018-02-03 17:30:05 -080021720 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021721 "header_name": "packet_out",
21722 "hidden": false
21723 }
21724 ]
21725 }
21726 ],
21727 "word_bit_width": 8
21728 },
21729 {
21730 "phv_number": 72,
21731 "records": [
21732 {
21733 "position_offset": 39,
21734 "field_name": "fabric_metadata.pop_vlan_at_egress",
21735 "field_msb": 7,
21736 "field_lsb": 0,
21737 "field_width": 1,
21738 "phv_msb": 3,
21739 "phv_lsb": 3,
21740 "is_compiler_generated": false,
21741 "is_pov": false
21742 },
21743 {
21744 "position_offset": 0,
21745 "field_name": "POV",
21746 "field_msb": 7,
21747 "field_lsb": 0,
21748 "field_width": 0,
21749 "phv_msb": 0,
21750 "phv_lsb": 0,
21751 "is_compiler_generated": false,
21752 "is_pov": true,
21753 "pov_headers": [
21754 {
21755 "bit_index": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -080021756 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021757 "header_name": "tcp",
21758 "hidden": false
21759 }
21760 ]
21761 },
21762 {
21763 "position_offset": 0,
21764 "field_name": "POV",
21765 "field_msb": 7,
21766 "field_lsb": 0,
21767 "field_width": 0,
21768 "phv_msb": 1,
21769 "phv_lsb": 1,
21770 "is_compiler_generated": false,
21771 "is_pov": true,
21772 "pov_headers": [
21773 {
21774 "bit_index": 1,
Carmelo Casconeecb35762018-02-03 17:30:05 -080021775 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021776 "header_name": "udp",
21777 "hidden": false
21778 }
21779 ]
21780 },
21781 {
21782 "position_offset": 0,
21783 "field_name": "POV",
21784 "field_msb": 7,
21785 "field_lsb": 0,
21786 "field_width": 0,
21787 "phv_msb": 2,
21788 "phv_lsb": 2,
21789 "is_compiler_generated": false,
21790 "is_pov": true,
21791 "pov_headers": [
21792 {
21793 "bit_index": 2,
Carmelo Casconeecb35762018-02-03 17:30:05 -080021794 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021795 "header_name": "vlan_tag",
21796 "hidden": false
21797 }
21798 ]
21799 }
21800 ],
21801 "word_bit_width": 8
21802 },
21803 {
21804 "phv_number": 128,
21805 "records": [
21806 {
21807 "position_offset": 62,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021808 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
21809 "field_msb": 15,
21810 "field_lsb": 0,
21811 "field_width": 2,
21812 "phv_msb": 8,
21813 "phv_lsb": 0,
21814 "is_compiler_generated": false,
21815 "is_pov": false
21816 }
21817 ],
21818 "word_bit_width": 16
21819 },
21820 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021821 "phv_number": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021822 "records": [
21823 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021824 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021825 "field_name": "packet_out.egress_port",
21826 "field_msb": 15,
21827 "field_lsb": 0,
21828 "field_width": 2,
21829 "phv_msb": 15,
21830 "phv_lsb": 7,
21831 "is_compiler_generated": false,
21832 "is_pov": false
21833 },
21834 {
21835 "position_offset": 26,
21836 "field_name": "fabric_metadata.fwd_type",
21837 "field_msb": 15,
21838 "field_lsb": 0,
21839 "field_width": 2,
21840 "phv_msb": 5,
21841 "phv_lsb": 3,
21842 "is_compiler_generated": false,
21843 "is_pov": false
21844 },
21845 {
21846 "position_offset": 60,
21847 "field_name": "ig_intr_md_for_tm.drop_ctl",
21848 "field_msb": 15,
21849 "field_lsb": 0,
21850 "field_width": 2,
21851 "phv_msb": 2,
21852 "phv_lsb": 0,
21853 "is_compiler_generated": false,
21854 "is_pov": false
21855 }
21856 ],
21857 "word_bit_width": 16
21858 },
21859 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021860 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021861 "records": [
21862 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021863 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021864 "field_name": "vlan_tag.pri",
21865 "field_msb": 15,
21866 "field_lsb": 0,
21867 "field_width": 2,
21868 "phv_msb": 15,
21869 "phv_lsb": 13,
21870 "is_compiler_generated": false,
21871 "is_pov": false
21872 },
21873 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021874 "position_offset": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021875 "field_name": "vlan_tag.cfi",
21876 "field_msb": 15,
21877 "field_lsb": 0,
21878 "field_width": 2,
21879 "phv_msb": 12,
21880 "phv_lsb": 12,
21881 "is_compiler_generated": false,
21882 "is_pov": false
21883 },
21884 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021885 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021886 "field_name": "vlan_tag.vlan_id",
21887 "field_msb": 15,
21888 "field_lsb": 0,
21889 "field_width": 2,
21890 "phv_msb": 11,
21891 "phv_lsb": 0,
21892 "is_compiler_generated": false,
21893 "is_pov": false
21894 }
21895 ],
21896 "word_bit_width": 16
21897 },
21898 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021899 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021900 "records": [
21901 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021902 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021903 "field_name": "mpls.label",
21904 "field_msb": 19,
21905 "field_lsb": 4,
21906 "field_width": 2,
21907 "phv_msb": 15,
21908 "phv_lsb": 0,
21909 "is_compiler_generated": false,
21910 "is_pov": false
21911 }
21912 ],
21913 "word_bit_width": 16
21914 },
21915 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021916 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021917 "records": [
21918 {
21919 "position_offset": 58,
21920 "field_name": "ig_intr_md.ingress_port",
21921 "field_msb": 15,
21922 "field_lsb": 0,
21923 "field_width": 2,
21924 "phv_msb": 8,
21925 "phv_lsb": 0,
21926 "is_compiler_generated": false,
21927 "is_pov": false
21928 }
21929 ],
21930 "word_bit_width": 16
21931 },
21932 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021933 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021934 "records": [
21935 {
21936 "position_offset": 31,
21937 "field_name": "fabric_metadata.l4_src_port",
21938 "field_msb": 15,
21939 "field_lsb": 0,
21940 "field_width": 2,
21941 "phv_msb": 15,
21942 "phv_lsb": 0,
21943 "is_compiler_generated": false,
21944 "is_pov": false
21945 }
21946 ],
21947 "word_bit_width": 16
21948 },
21949 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021950 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021951 "records": [
21952 {
21953 "position_offset": 18,
21954 "field_name": "ethernet.ether_type",
21955 "field_msb": 15,
21956 "field_lsb": 0,
21957 "field_width": 2,
21958 "phv_msb": 15,
21959 "phv_lsb": 0,
21960 "is_compiler_generated": false,
21961 "is_pov": false
21962 }
21963 ],
21964 "word_bit_width": 16
21965 },
21966 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021967 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021968 "records": [
21969 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021970 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021971 "field_name": "vlan_tag.ether_type",
21972 "field_msb": 15,
21973 "field_lsb": 0,
21974 "field_width": 2,
21975 "phv_msb": 15,
21976 "phv_lsb": 0,
21977 "is_compiler_generated": false,
21978 "is_pov": false
21979 }
21980 ],
21981 "word_bit_width": 16
21982 },
21983 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080021984 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080021985 "records": [
21986 {
21987 "position_offset": 12,
21988 "field_name": "ethernet.dst_addr",
21989 "field_msb": 15,
21990 "field_lsb": 0,
21991 "field_width": 6,
21992 "phv_msb": 15,
21993 "phv_lsb": 0,
21994 "is_compiler_generated": false,
21995 "is_pov": false
21996 }
21997 ],
21998 "word_bit_width": 16
21999 },
22000 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022001 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022002 "records": [
22003 {
22004 "position_offset": 20,
22005 "field_name": "ethernet.src_addr",
22006 "field_msb": 15,
22007 "field_lsb": 0,
22008 "field_width": 6,
22009 "phv_msb": 15,
22010 "phv_lsb": 0,
22011 "is_compiler_generated": false,
22012 "is_pov": false
22013 }
22014 ],
22015 "word_bit_width": 16
22016 },
22017 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022018 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022019 "records": [
22020 {
22021 "position_offset": 29,
22022 "field_name": "fabric_metadata.l4_dst_port",
22023 "field_msb": 15,
22024 "field_lsb": 0,
22025 "field_width": 2,
22026 "phv_msb": 15,
22027 "phv_lsb": 0,
22028 "is_compiler_generated": false,
22029 "is_pov": false
22030 }
22031 ],
22032 "word_bit_width": 16
22033 },
22034 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022035 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022036 "records": [
22037 {
22038 "position_offset": 37,
22039 "field_name": "fabric_metadata.original_ether_type",
22040 "field_msb": 15,
22041 "field_lsb": 0,
22042 "field_width": 2,
22043 "phv_msb": 15,
22044 "phv_lsb": 0,
22045 "is_compiler_generated": false,
22046 "is_pov": false
22047 }
22048 ],
22049 "word_bit_width": 16
22050 },
22051 {
22052 "phv_number": 260,
22053 "records": [
22054 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022055 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022056 "field_name": "tcp.seq_no",
22057 "field_msb": 31,
22058 "field_lsb": 0,
22059 "field_width": 4,
22060 "phv_msb": 31,
22061 "phv_lsb": 0,
22062 "is_compiler_generated": false,
22063 "is_pov": false
22064 },
22065 {
22066 "position_offset": 50,
22067 "field_name": "icmp.timestamp",
22068 "field_msb": 31,
22069 "field_lsb": 0,
22070 "field_width": 8,
22071 "phv_msb": 31,
22072 "phv_lsb": 0,
22073 "is_compiler_generated": false,
22074 "is_pov": false
22075 }
22076 ],
22077 "word_bit_width": 32
22078 },
22079 {
22080 "phv_number": 261,
22081 "records": [
22082 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022083 "position_offset": 96,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022084 "field_name": "tcp.ack_no",
22085 "field_msb": 31,
22086 "field_lsb": 0,
22087 "field_width": 4,
22088 "phv_msb": 31,
22089 "phv_lsb": 0,
22090 "is_compiler_generated": false,
22091 "is_pov": false
22092 },
22093 {
22094 "position_offset": 50,
22095 "field_name": "icmp.timestamp",
22096 "field_msb": 63,
22097 "field_lsb": 32,
22098 "field_width": 8,
22099 "phv_msb": 31,
22100 "phv_lsb": 0,
22101 "is_compiler_generated": false,
22102 "is_pov": false
22103 }
22104 ],
22105 "word_bit_width": 32
22106 },
22107 {
22108 "phv_number": 292,
22109 "records": [
22110 {
22111 "position_offset": 3,
22112 "field_name": "arp.hw_addr_len",
22113 "field_msb": 7,
22114 "field_lsb": 0,
22115 "field_width": 1,
22116 "phv_msb": 7,
22117 "phv_lsb": 0,
22118 "is_compiler_generated": false,
22119 "is_pov": false
22120 },
22121 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022122 "position_offset": 85,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022123 "field_name": "ipv4.version",
22124 "field_msb": 7,
22125 "field_lsb": 0,
22126 "field_width": 1,
22127 "phv_msb": 7,
22128 "phv_lsb": 4,
22129 "is_compiler_generated": false,
22130 "is_pov": false
22131 },
22132 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022133 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022134 "field_name": "ipv4.ihl",
22135 "field_msb": 7,
22136 "field_lsb": 0,
22137 "field_width": 1,
22138 "phv_msb": 3,
22139 "phv_lsb": 0,
22140 "is_compiler_generated": false,
22141 "is_pov": false
22142 }
22143 ],
22144 "word_bit_width": 8
22145 },
22146 {
22147 "phv_number": 293,
22148 "records": [
22149 {
22150 "position_offset": 8,
22151 "field_name": "arp.proto_addr_len",
22152 "field_msb": 7,
22153 "field_lsb": 0,
22154 "field_width": 1,
22155 "phv_msb": 7,
22156 "phv_lsb": 0,
22157 "is_compiler_generated": false,
22158 "is_pov": false
22159 },
22160 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022161 "position_offset": 65,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022162 "field_name": "ipv4.diffserv",
22163 "field_msb": 7,
22164 "field_lsb": 0,
22165 "field_width": 1,
22166 "phv_msb": 7,
22167 "phv_lsb": 0,
22168 "is_compiler_generated": false,
22169 "is_pov": false
22170 }
22171 ],
22172 "word_bit_width": 8
22173 },
22174 {
22175 "phv_number": 294,
22176 "records": [
22177 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022178 "position_offset": 77,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022179 "field_name": "ipv4.protocol",
22180 "field_msb": 7,
22181 "field_lsb": 0,
22182 "field_width": 1,
22183 "phv_msb": 7,
22184 "phv_lsb": 0,
22185 "is_compiler_generated": false,
22186 "is_pov": false
22187 }
22188 ],
22189 "word_bit_width": 8
22190 },
22191 {
22192 "phv_number": 326,
22193 "records": [
22194 {
22195 "position_offset": 4,
22196 "field_name": "arp.hw_type",
22197 "field_msb": 15,
22198 "field_lsb": 0,
22199 "field_width": 2,
22200 "phv_msb": 15,
22201 "phv_lsb": 0,
22202 "is_compiler_generated": false,
22203 "is_pov": false
22204 },
22205 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022206 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022207 "field_name": "tcp.data_offset",
22208 "field_msb": 15,
22209 "field_lsb": 0,
22210 "field_width": 2,
22211 "phv_msb": 15,
22212 "phv_lsb": 12,
22213 "is_compiler_generated": false,
22214 "is_pov": false
22215 },
22216 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022217 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022218 "field_name": "tcp.res",
22219 "field_msb": 15,
22220 "field_lsb": 0,
22221 "field_width": 2,
22222 "phv_msb": 11,
22223 "phv_lsb": 9,
22224 "is_compiler_generated": false,
22225 "is_pov": false
22226 },
22227 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022228 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022229 "field_name": "tcp.ecn",
22230 "field_msb": 15,
22231 "field_lsb": 0,
22232 "field_width": 2,
22233 "phv_msb": 8,
22234 "phv_lsb": 6,
22235 "is_compiler_generated": false,
22236 "is_pov": false
22237 },
22238 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022239 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022240 "field_name": "tcp.ctrl",
22241 "field_msb": 15,
22242 "field_lsb": 0,
22243 "field_width": 2,
22244 "phv_msb": 5,
22245 "phv_lsb": 0,
22246 "is_compiler_generated": false,
22247 "is_pov": false
22248 },
22249 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022250 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022251 "field_name": "udp.src_port",
22252 "field_msb": 15,
22253 "field_lsb": 0,
22254 "field_width": 2,
22255 "phv_msb": 15,
22256 "phv_lsb": 0,
22257 "is_compiler_generated": false,
22258 "is_pov": false
22259 },
22260 {
22261 "position_offset": 42,
22262 "field_name": "icmp.checksum",
22263 "field_msb": 15,
22264 "field_lsb": 0,
22265 "field_width": 2,
22266 "phv_msb": 15,
22267 "phv_lsb": 0,
22268 "is_compiler_generated": false,
22269 "is_pov": false
22270 }
22271 ],
22272 "word_bit_width": 16
22273 },
22274 {
22275 "phv_number": 327,
22276 "records": [
22277 {
22278 "position_offset": 9,
22279 "field_name": "arp.proto_type",
22280 "field_msb": 15,
22281 "field_lsb": 0,
22282 "field_width": 2,
22283 "phv_msb": 15,
22284 "phv_lsb": 0,
22285 "is_compiler_generated": false,
22286 "is_pov": false
22287 },
22288 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022289 "position_offset": 116,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022290 "field_name": "tcp.src_port",
22291 "field_msb": 15,
22292 "field_lsb": 0,
22293 "field_width": 2,
22294 "phv_msb": 15,
22295 "phv_lsb": 0,
22296 "is_compiler_generated": false,
22297 "is_pov": false
22298 },
22299 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022300 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022301 "field_name": "udp.dst_port",
22302 "field_msb": 15,
22303 "field_lsb": 0,
22304 "field_width": 2,
22305 "phv_msb": 15,
22306 "phv_lsb": 0,
22307 "is_compiler_generated": false,
22308 "is_pov": false
22309 },
22310 {
22311 "position_offset": 46,
22312 "field_name": "icmp.identifier",
22313 "field_msb": 15,
22314 "field_lsb": 0,
22315 "field_width": 2,
22316 "phv_msb": 15,
22317 "phv_lsb": 0,
22318 "is_compiler_generated": false,
22319 "is_pov": false
22320 }
22321 ],
22322 "word_bit_width": 16
22323 },
22324 {
22325 "phv_number": 328,
22326 "records": [
22327 {
22328 "position_offset": 6,
22329 "field_name": "arp.opcode",
22330 "field_msb": 15,
22331 "field_lsb": 0,
22332 "field_width": 2,
22333 "phv_msb": 15,
22334 "phv_lsb": 0,
22335 "is_compiler_generated": false,
22336 "is_pov": false
22337 },
22338 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022339 "position_offset": 70,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022340 "field_name": "ipv4.flags",
22341 "field_msb": 15,
22342 "field_lsb": 0,
22343 "field_width": 2,
22344 "phv_msb": 15,
22345 "phv_lsb": 13,
22346 "is_compiler_generated": false,
22347 "is_pov": false
22348 },
22349 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022350 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022351 "field_name": "ipv4.frag_offset",
22352 "field_msb": 15,
22353 "field_lsb": 0,
22354 "field_width": 2,
22355 "phv_msb": 12,
22356 "phv_lsb": 0,
22357 "is_compiler_generated": false,
22358 "is_pov": false
22359 }
22360 ],
22361 "word_bit_width": 16
22362 },
22363 {
22364 "phv_number": 329,
22365 "records": [
22366 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022367 "position_offset": 82,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022368 "field_name": "ipv4.total_len",
22369 "field_msb": 15,
22370 "field_lsb": 0,
22371 "field_width": 2,
22372 "phv_msb": 15,
22373 "phv_lsb": 0,
22374 "is_compiler_generated": false,
22375 "is_pov": false
22376 }
22377 ],
22378 "word_bit_width": 16
22379 },
22380 {
22381 "phv_number": 330,
22382 "records": [
22383 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022384 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022385 "field_name": "ipv4.identification",
22386 "field_msb": 15,
22387 "field_lsb": 0,
22388 "field_width": 2,
22389 "phv_msb": 15,
22390 "phv_lsb": 0,
22391 "is_compiler_generated": false,
22392 "is_pov": false
22393 }
22394 ],
22395 "word_bit_width": 16
22396 },
22397 {
22398 "phv_number": 331,
22399 "records": [
22400 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022401 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022402 "field_name": "tcp.dst_port",
22403 "field_msb": 15,
22404 "field_lsb": 0,
22405 "field_width": 2,
22406 "phv_msb": 15,
22407 "phv_lsb": 0,
22408 "is_compiler_generated": false,
22409 "is_pov": false
22410 },
22411 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022412 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022413 "field_name": "udp.len",
22414 "field_msb": 15,
22415 "field_lsb": 0,
22416 "field_width": 2,
22417 "phv_msb": 15,
22418 "phv_lsb": 0,
22419 "is_compiler_generated": false,
22420 "is_pov": false
22421 },
22422 {
22423 "position_offset": 48,
22424 "field_name": "icmp.sequence_number",
22425 "field_msb": 15,
22426 "field_lsb": 0,
22427 "field_width": 2,
22428 "phv_msb": 15,
22429 "phv_lsb": 0,
22430 "is_compiler_generated": false,
22431 "is_pov": false
22432 }
22433 ],
22434 "word_bit_width": 16
22435 },
22436 {
22437 "phv_number": 338,
22438 "records": [
22439 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022440 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022441 "field_name": "tcp.window",
22442 "field_msb": 15,
22443 "field_lsb": 0,
22444 "field_width": 2,
22445 "phv_msb": 15,
22446 "phv_lsb": 0,
22447 "is_compiler_generated": false,
22448 "is_pov": false
22449 },
22450 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022451 "position_offset": 123,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022452 "field_name": "udp.checksum",
22453 "field_msb": 15,
22454 "field_lsb": 0,
22455 "field_width": 2,
22456 "phv_msb": 15,
22457 "phv_lsb": 0,
22458 "is_compiler_generated": false,
22459 "is_pov": false
22460 }
22461 ],
22462 "word_bit_width": 16
22463 },
22464 {
22465 "phv_number": 339,
22466 "records": [
22467 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022468 "position_offset": 100,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022469 "field_name": "tcp.checksum",
22470 "field_msb": 15,
22471 "field_lsb": 0,
22472 "field_width": 2,
22473 "phv_msb": 15,
22474 "phv_lsb": 0,
22475 "is_compiler_generated": false,
22476 "is_pov": false
22477 }
22478 ],
22479 "word_bit_width": 16
22480 },
22481 {
22482 "phv_number": 340,
22483 "records": [
22484 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080022485 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -080022486 "field_name": "tcp.urgent_ptr",
22487 "field_msb": 15,
22488 "field_lsb": 0,
22489 "field_width": 2,
22490 "phv_msb": 15,
22491 "phv_lsb": 0,
22492 "is_compiler_generated": false,
22493 "is_pov": false
22494 }
22495 ],
22496 "word_bit_width": 16
22497 }
22498 ],
22499 "egress": [
22500 {
22501 "phv_number": 80,
22502 "records": [
22503 {
22504 "position_offset": 0,
22505 "field_name": "POV",
22506 "field_msb": 7,
22507 "field_lsb": 0,
22508 "field_width": 0,
22509 "phv_msb": 0,
22510 "phv_lsb": 0,
22511 "is_compiler_generated": false,
22512 "is_pov": true,
22513 "pov_headers": [
22514 {
22515 "bit_index": 0,
22516 "position_offset": 0,
22517 "header_name": "arp",
22518 "hidden": false
22519 }
22520 ]
22521 },
22522 {
22523 "position_offset": 0,
22524 "field_name": "POV",
22525 "field_msb": 7,
22526 "field_lsb": 0,
22527 "field_width": 0,
22528 "phv_msb": 2,
22529 "phv_lsb": 2,
22530 "is_compiler_generated": false,
22531 "is_pov": true,
22532 "pov_headers": [
22533 {
22534 "bit_index": 2,
22535 "position_offset": 11,
22536 "header_name": "ethernet",
22537 "hidden": false
22538 }
22539 ]
22540 },
22541 {
22542 "position_offset": 0,
22543 "field_name": "POV",
22544 "field_msb": 7,
22545 "field_lsb": 0,
22546 "field_width": 0,
22547 "phv_msb": 3,
22548 "phv_lsb": 3,
22549 "is_compiler_generated": false,
22550 "is_pov": true,
22551 "pov_headers": [
22552 {
22553 "bit_index": 3,
22554 "position_offset": 26,
22555 "header_name": "icmp",
22556 "hidden": false
22557 }
22558 ]
22559 },
22560 {
22561 "position_offset": 0,
22562 "field_name": "POV",
22563 "field_msb": 7,
22564 "field_lsb": 0,
22565 "field_width": 0,
22566 "phv_msb": 5,
22567 "phv_lsb": 5,
22568 "is_compiler_generated": false,
22569 "is_pov": true,
22570 "pov_headers": [
22571 {
22572 "bit_index": 5,
22573 "position_offset": 45,
22574 "header_name": "ipv4",
22575 "hidden": false
22576 }
22577 ]
22578 },
22579 {
22580 "position_offset": 0,
22581 "field_name": "POV",
22582 "field_msb": 7,
22583 "field_lsb": 0,
22584 "field_width": 0,
22585 "phv_msb": 6,
22586 "phv_lsb": 6,
22587 "is_compiler_generated": false,
22588 "is_pov": true,
22589 "pov_headers": [
22590 {
22591 "bit_index": 6,
22592 "position_offset": 67,
22593 "header_name": "mpls",
22594 "hidden": false
22595 }
22596 ]
22597 },
22598 {
22599 "position_offset": 0,
22600 "field_name": "POV",
22601 "field_msb": 7,
22602 "field_lsb": 0,
22603 "field_width": 0,
22604 "phv_msb": 7,
22605 "phv_lsb": 7,
22606 "is_compiler_generated": false,
22607 "is_pov": true,
22608 "pov_headers": [
22609 {
22610 "bit_index": 7,
22611 "position_offset": 73,
22612 "header_name": "packet_in",
22613 "hidden": false
22614 }
22615 ]
22616 }
22617 ],
22618 "word_bit_width": 8
22619 },
22620 {
22621 "phv_number": 81,
22622 "records": [
22623 {
22624 "position_offset": 0,
22625 "field_name": "POV",
22626 "field_msb": 7,
22627 "field_lsb": 0,
22628 "field_width": 0,
22629 "phv_msb": 0,
22630 "phv_lsb": 0,
22631 "is_compiler_generated": false,
22632 "is_pov": true,
22633 "pov_headers": [
22634 {
22635 "bit_index": 0,
22636 "position_offset": 78,
22637 "header_name": "tcp",
22638 "hidden": false
22639 }
22640 ]
22641 },
22642 {
22643 "position_offset": 0,
22644 "field_name": "POV",
22645 "field_msb": 7,
22646 "field_lsb": 0,
22647 "field_width": 0,
22648 "phv_msb": 1,
22649 "phv_lsb": 1,
22650 "is_compiler_generated": false,
22651 "is_pov": true,
22652 "pov_headers": [
22653 {
22654 "bit_index": 1,
22655 "position_offset": 105,
22656 "header_name": "udp",
22657 "hidden": false
22658 }
22659 ]
22660 },
22661 {
22662 "position_offset": 0,
22663 "field_name": "POV",
22664 "field_msb": 7,
22665 "field_lsb": 0,
22666 "field_width": 0,
22667 "phv_msb": 2,
22668 "phv_lsb": 2,
22669 "is_compiler_generated": false,
22670 "is_pov": true,
22671 "pov_headers": [
22672 {
22673 "bit_index": 2,
22674 "position_offset": 114,
22675 "header_name": "vlan_tag",
22676 "hidden": false
22677 }
22678 ]
22679 }
22680 ],
22681 "word_bit_width": 8
22682 },
22683 {
22684 "phv_number": 144,
22685 "records": [
22686 {
22687 "position_offset": 9,
22688 "field_name": "eg_intr_md.egress_port",
22689 "field_msb": 15,
22690 "field_lsb": 0,
22691 "field_width": 2,
22692 "phv_msb": 8,
22693 "phv_lsb": 0,
22694 "is_compiler_generated": false,
22695 "is_pov": false
22696 }
22697 ],
22698 "word_bit_width": 16
22699 },
22700 {
22701 "phv_number": 145,
22702 "records": [
22703 {
22704 "position_offset": 76,
22705 "field_name": "packet_in.ingress_port",
22706 "field_msb": 15,
22707 "field_lsb": 0,
22708 "field_width": 2,
22709 "phv_msb": 15,
22710 "phv_lsb": 7,
22711 "is_compiler_generated": false,
22712 "is_pov": false
22713 },
22714 {
22715 "position_offset": 74,
22716 "field_name": "packet_in._pad",
22717 "field_msb": 15,
22718 "field_lsb": 0,
22719 "field_width": 2,
22720 "phv_msb": 6,
22721 "phv_lsb": 0,
22722 "is_compiler_generated": false,
22723 "is_pov": false
22724 }
22725 ],
22726 "word_bit_width": 16
22727 },
22728 {
22729 "phv_number": 146,
22730 "records": [
22731 {
22732 "position_offset": 43,
22733 "field_name": "ig_intr_md.ingress_port",
22734 "field_msb": 15,
22735 "field_lsb": 0,
22736 "field_width": 2,
22737 "phv_msb": 8,
22738 "phv_lsb": 0,
22739 "is_compiler_generated": false,
22740 "is_pov": false
22741 }
22742 ],
22743 "word_bit_width": 16
22744 },
22745 {
22746 "phv_number": 256,
22747 "records": [
22748 {
22749 "position_offset": 12,
22750 "field_name": "ethernet.dst_addr",
22751 "field_msb": 47,
22752 "field_lsb": 16,
22753 "field_width": 6,
22754 "phv_msb": 31,
22755 "phv_lsb": 0,
22756 "is_compiler_generated": false,
22757 "is_pov": false
22758 }
22759 ],
22760 "word_bit_width": 32
22761 },
22762 {
22763 "phv_number": 257,
22764 "records": [
22765 {
22766 "position_offset": 20,
22767 "field_name": "ethernet.src_addr",
22768 "field_msb": 47,
22769 "field_lsb": 16,
22770 "field_width": 6,
22771 "phv_msb": 31,
22772 "phv_lsb": 0,
22773 "is_compiler_generated": false,
22774 "is_pov": false
22775 }
22776 ],
22777 "word_bit_width": 32
22778 },
22779 {
22780 "phv_number": 258,
22781 "records": [
22782 {
22783 "position_offset": 59,
22784 "field_name": "ipv4.src_addr",
22785 "field_msb": 31,
22786 "field_lsb": 0,
22787 "field_width": 4,
22788 "phv_msb": 31,
22789 "phv_lsb": 0,
22790 "is_compiler_generated": false,
22791 "is_pov": false
22792 }
22793 ],
22794 "word_bit_width": 32
22795 },
22796 {
22797 "phv_number": 259,
22798 "records": [
22799 {
22800 "position_offset": 47,
22801 "field_name": "ipv4.dst_addr",
22802 "field_msb": 31,
22803 "field_lsb": 0,
22804 "field_width": 4,
22805 "phv_msb": 31,
22806 "phv_lsb": 0,
22807 "is_compiler_generated": false,
22808 "is_pov": false
22809 }
22810 ],
22811 "word_bit_width": 32
22812 },
22813 {
22814 "phv_number": 264,
22815 "records": [
22816 {
22817 "position_offset": 95,
22818 "field_name": "tcp.seq_no",
22819 "field_msb": 31,
22820 "field_lsb": 0,
22821 "field_width": 4,
22822 "phv_msb": 31,
22823 "phv_lsb": 0,
22824 "is_compiler_generated": false,
22825 "is_pov": false
22826 },
22827 {
22828 "position_offset": 35,
22829 "field_name": "icmp.timestamp",
22830 "field_msb": 31,
22831 "field_lsb": 0,
22832 "field_width": 8,
22833 "phv_msb": 31,
22834 "phv_lsb": 0,
22835 "is_compiler_generated": false,
22836 "is_pov": false
22837 }
22838 ],
22839 "word_bit_width": 32
22840 },
22841 {
22842 "phv_number": 265,
22843 "records": [
22844 {
22845 "position_offset": 79,
22846 "field_name": "tcp.ack_no",
22847 "field_msb": 31,
22848 "field_lsb": 0,
22849 "field_width": 4,
22850 "phv_msb": 31,
22851 "phv_lsb": 0,
22852 "is_compiler_generated": false,
22853 "is_pov": false
22854 },
22855 {
22856 "position_offset": 35,
22857 "field_name": "icmp.timestamp",
22858 "field_msb": 63,
22859 "field_lsb": 32,
22860 "field_width": 8,
22861 "phv_msb": 31,
22862 "phv_lsb": 0,
22863 "is_compiler_generated": false,
22864 "is_pov": false
22865 }
22866 ],
22867 "word_bit_width": 32
22868 },
22869 {
22870 "phv_number": 288,
22871 "records": [
22872 {
22873 "position_offset": 1,
22874 "field_name": "arp.hw_addr_len",
22875 "field_msb": 7,
22876 "field_lsb": 0,
22877 "field_width": 1,
22878 "phv_msb": 7,
22879 "phv_lsb": 0,
22880 "is_compiler_generated": false,
22881 "is_pov": false
22882 },
22883 {
22884 "position_offset": 66,
22885 "field_name": "ipv4.version",
22886 "field_msb": 7,
22887 "field_lsb": 0,
22888 "field_width": 1,
22889 "phv_msb": 7,
22890 "phv_lsb": 4,
22891 "is_compiler_generated": false,
22892 "is_pov": false
22893 },
22894 {
22895 "position_offset": 57,
22896 "field_name": "ipv4.ihl",
22897 "field_msb": 7,
22898 "field_lsb": 0,
22899 "field_width": 1,
22900 "phv_msb": 3,
22901 "phv_lsb": 0,
22902 "is_compiler_generated": false,
22903 "is_pov": false
22904 }
22905 ],
22906 "word_bit_width": 8
22907 },
22908 {
22909 "phv_number": 289,
22910 "records": [
22911 {
22912 "position_offset": 6,
22913 "field_name": "arp.proto_addr_len",
22914 "field_msb": 7,
22915 "field_lsb": 0,
22916 "field_width": 1,
22917 "phv_msb": 7,
22918 "phv_lsb": 0,
22919 "is_compiler_generated": false,
22920 "is_pov": false
22921 },
22922 {
22923 "position_offset": 30,
22924 "field_name": "icmp.icmp_type",
22925 "field_msb": 7,
22926 "field_lsb": 0,
22927 "field_width": 1,
22928 "phv_msb": 7,
22929 "phv_lsb": 0,
22930 "is_compiler_generated": false,
22931 "is_pov": false
22932 }
22933 ],
22934 "word_bit_width": 8
22935 },
22936 {
22937 "phv_number": 290,
22938 "records": [
22939 {
22940 "position_offset": 46,
22941 "field_name": "ipv4.diffserv",
22942 "field_msb": 7,
22943 "field_lsb": 0,
22944 "field_width": 1,
22945 "phv_msb": 7,
22946 "phv_lsb": 0,
22947 "is_compiler_generated": false,
22948 "is_pov": false
22949 }
22950 ],
22951 "word_bit_width": 8
22952 },
22953 {
22954 "phv_number": 291,
22955 "records": [
22956 {
22957 "position_offset": 29,
22958 "field_name": "icmp.icmp_code",
22959 "field_msb": 7,
22960 "field_lsb": 0,
22961 "field_width": 1,
22962 "phv_msb": 7,
22963 "phv_lsb": 0,
22964 "is_compiler_generated": false,
22965 "is_pov": false
22966 }
22967 ],
22968 "word_bit_width": 8
22969 },
22970 {
22971 "phv_number": 296,
22972 "records": [
22973 {
22974 "position_offset": 69,
22975 "field_name": "mpls.label",
22976 "field_msb": 3,
22977 "field_lsb": 0,
22978 "field_width": 2,
22979 "phv_msb": 7,
22980 "phv_lsb": 4,
22981 "is_compiler_generated": false,
22982 "is_pov": false
22983 },
22984 {
22985 "position_offset": 71,
22986 "field_name": "mpls.tc",
22987 "field_msb": 7,
22988 "field_lsb": 0,
22989 "field_width": 1,
22990 "phv_msb": 3,
22991 "phv_lsb": 1,
22992 "is_compiler_generated": false,
22993 "is_pov": false
22994 },
22995 {
22996 "position_offset": 68,
22997 "field_name": "mpls.bos",
22998 "field_msb": 7,
22999 "field_lsb": 0,
23000 "field_width": 1,
23001 "phv_msb": 0,
23002 "phv_lsb": 0,
23003 "is_compiler_generated": false,
23004 "is_pov": false
23005 }
23006 ],
23007 "word_bit_width": 8
23008 },
23009 {
23010 "phv_number": 297,
23011 "records": [
23012 {
23013 "position_offset": 65,
23014 "field_name": "ipv4.ttl",
23015 "field_msb": 7,
23016 "field_lsb": 0,
23017 "field_width": 1,
23018 "phv_msb": 7,
23019 "phv_lsb": 0,
23020 "is_compiler_generated": false,
23021 "is_pov": false
23022 }
23023 ],
23024 "word_bit_width": 8
23025 },
23026 {
23027 "phv_number": 298,
23028 "records": [
23029 {
23030 "position_offset": 58,
23031 "field_name": "ipv4.protocol",
23032 "field_msb": 7,
23033 "field_lsb": 0,
23034 "field_width": 1,
23035 "phv_msb": 7,
23036 "phv_lsb": 0,
23037 "is_compiler_generated": false,
23038 "is_pov": false
23039 }
23040 ],
23041 "word_bit_width": 8
23042 },
23043 {
23044 "phv_number": 299,
23045 "records": [
23046 {
23047 "position_offset": 72,
23048 "field_name": "mpls.ttl",
23049 "field_msb": 7,
23050 "field_lsb": 0,
23051 "field_width": 1,
23052 "phv_msb": 7,
23053 "phv_lsb": 0,
23054 "is_compiler_generated": false,
23055 "is_pov": false
23056 }
23057 ],
23058 "word_bit_width": 8
23059 },
23060 {
23061 "phv_number": 320,
23062 "records": [
23063 {
23064 "position_offset": 119,
23065 "field_name": "vlan_tag.pri",
23066 "field_msb": 15,
23067 "field_lsb": 0,
23068 "field_width": 2,
23069 "phv_msb": 15,
23070 "phv_lsb": 13,
23071 "is_compiler_generated": false,
23072 "is_pov": false
23073 },
23074 {
23075 "position_offset": 115,
23076 "field_name": "vlan_tag.cfi",
23077 "field_msb": 15,
23078 "field_lsb": 0,
23079 "field_width": 2,
23080 "phv_msb": 12,
23081 "phv_lsb": 12,
23082 "is_compiler_generated": false,
23083 "is_pov": false
23084 },
23085 {
23086 "position_offset": 121,
23087 "field_name": "vlan_tag.vlan_id",
23088 "field_msb": 15,
23089 "field_lsb": 0,
23090 "field_width": 2,
23091 "phv_msb": 11,
23092 "phv_lsb": 0,
23093 "is_compiler_generated": false,
23094 "is_pov": false
23095 }
23096 ],
23097 "word_bit_width": 16
23098 },
23099 {
23100 "phv_number": 321,
23101 "records": [
23102 {
23103 "position_offset": 2,
23104 "field_name": "arp.hw_type",
23105 "field_msb": 15,
23106 "field_lsb": 0,
23107 "field_width": 2,
23108 "phv_msb": 15,
23109 "phv_lsb": 0,
23110 "is_compiler_generated": false,
23111 "is_pov": false
23112 },
23113 {
23114 "position_offset": 99,
23115 "field_name": "tcp.src_port",
23116 "field_msb": 15,
23117 "field_lsb": 0,
23118 "field_width": 2,
23119 "phv_msb": 15,
23120 "phv_lsb": 0,
23121 "is_compiler_generated": false,
23122 "is_pov": false
23123 },
23124 {
23125 "position_offset": 112,
23126 "field_name": "udp.src_port",
23127 "field_msb": 15,
23128 "field_lsb": 0,
23129 "field_width": 2,
23130 "phv_msb": 15,
23131 "phv_lsb": 0,
23132 "is_compiler_generated": false,
23133 "is_pov": false
23134 },
23135 {
23136 "position_offset": 27,
23137 "field_name": "icmp.checksum",
23138 "field_msb": 15,
23139 "field_lsb": 0,
23140 "field_width": 2,
23141 "phv_msb": 15,
23142 "phv_lsb": 0,
23143 "is_compiler_generated": false,
23144 "is_pov": false
23145 }
23146 ],
23147 "word_bit_width": 16
23148 },
23149 {
23150 "phv_number": 322,
23151 "records": [
23152 {
23153 "position_offset": 7,
23154 "field_name": "arp.proto_type",
23155 "field_msb": 15,
23156 "field_lsb": 0,
23157 "field_width": 2,
23158 "phv_msb": 15,
23159 "phv_lsb": 0,
23160 "is_compiler_generated": false,
23161 "is_pov": false
23162 },
23163 {
23164 "position_offset": 69,
23165 "field_name": "mpls.label",
23166 "field_msb": 19,
23167 "field_lsb": 4,
23168 "field_width": 2,
23169 "phv_msb": 15,
23170 "phv_lsb": 0,
23171 "is_compiler_generated": false,
23172 "is_pov": false
23173 }
23174 ],
23175 "word_bit_width": 16
23176 },
23177 {
23178 "phv_number": 323,
23179 "records": [
23180 {
23181 "position_offset": 4,
23182 "field_name": "arp.opcode",
23183 "field_msb": 15,
23184 "field_lsb": 0,
23185 "field_width": 2,
23186 "phv_msb": 15,
23187 "phv_lsb": 0,
23188 "is_compiler_generated": false,
23189 "is_pov": false
23190 },
23191 {
23192 "position_offset": 87,
23193 "field_name": "tcp.data_offset",
23194 "field_msb": 15,
23195 "field_lsb": 0,
23196 "field_width": 2,
23197 "phv_msb": 15,
23198 "phv_lsb": 12,
23199 "is_compiler_generated": false,
23200 "is_pov": false
23201 },
23202 {
23203 "position_offset": 93,
23204 "field_name": "tcp.res",
23205 "field_msb": 15,
23206 "field_lsb": 0,
23207 "field_width": 2,
23208 "phv_msb": 11,
23209 "phv_lsb": 9,
23210 "is_compiler_generated": false,
23211 "is_pov": false
23212 },
23213 {
23214 "position_offset": 91,
23215 "field_name": "tcp.ecn",
23216 "field_msb": 15,
23217 "field_lsb": 0,
23218 "field_width": 2,
23219 "phv_msb": 8,
23220 "phv_lsb": 6,
23221 "is_compiler_generated": false,
23222 "is_pov": false
23223 },
23224 {
23225 "position_offset": 85,
23226 "field_name": "tcp.ctrl",
23227 "field_msb": 15,
23228 "field_lsb": 0,
23229 "field_width": 2,
23230 "phv_msb": 5,
23231 "phv_lsb": 0,
23232 "is_compiler_generated": false,
23233 "is_pov": false
23234 },
23235 {
23236 "position_offset": 108,
23237 "field_name": "udp.dst_port",
23238 "field_msb": 15,
23239 "field_lsb": 0,
23240 "field_width": 2,
23241 "phv_msb": 15,
23242 "phv_lsb": 0,
23243 "is_compiler_generated": false,
23244 "is_pov": false
23245 },
23246 {
23247 "position_offset": 31,
23248 "field_name": "icmp.identifier",
23249 "field_msb": 15,
23250 "field_lsb": 0,
23251 "field_width": 2,
23252 "phv_msb": 15,
23253 "phv_lsb": 0,
23254 "is_compiler_generated": false,
23255 "is_pov": false
23256 }
23257 ],
23258 "word_bit_width": 16
23259 },
23260 {
23261 "phv_number": 324,
23262 "records": [
23263 {
23264 "position_offset": 51,
23265 "field_name": "ipv4.flags",
23266 "field_msb": 15,
23267 "field_lsb": 0,
23268 "field_width": 2,
23269 "phv_msb": 15,
23270 "phv_lsb": 13,
23271 "is_compiler_generated": false,
23272 "is_pov": false
23273 },
23274 {
23275 "position_offset": 53,
23276 "field_name": "ipv4.frag_offset",
23277 "field_msb": 15,
23278 "field_lsb": 0,
23279 "field_width": 2,
23280 "phv_msb": 12,
23281 "phv_lsb": 0,
23282 "is_compiler_generated": false,
23283 "is_pov": false
23284 }
23285 ],
23286 "word_bit_width": 16
23287 },
23288 {
23289 "phv_number": 325,
23290 "records": [
23291 {
23292 "position_offset": 12,
23293 "field_name": "ethernet.dst_addr",
23294 "field_msb": 15,
23295 "field_lsb": 0,
23296 "field_width": 6,
23297 "phv_msb": 15,
23298 "phv_lsb": 0,
23299 "is_compiler_generated": false,
23300 "is_pov": false
23301 }
23302 ],
23303 "word_bit_width": 16
23304 },
23305 {
23306 "phv_number": 332,
23307 "records": [
23308 {
23309 "position_offset": 20,
23310 "field_name": "ethernet.src_addr",
23311 "field_msb": 15,
23312 "field_lsb": 0,
23313 "field_width": 6,
23314 "phv_msb": 15,
23315 "phv_lsb": 0,
23316 "is_compiler_generated": false,
23317 "is_pov": false
23318 }
23319 ],
23320 "word_bit_width": 16
23321 },
23322 {
23323 "phv_number": 333,
23324 "records": [
23325 {
23326 "position_offset": 18,
23327 "field_name": "ethernet.ether_type",
23328 "field_msb": 15,
23329 "field_lsb": 0,
23330 "field_width": 2,
23331 "phv_msb": 15,
23332 "phv_lsb": 0,
23333 "is_compiler_generated": false,
23334 "is_pov": false
23335 }
23336 ],
23337 "word_bit_width": 16
23338 },
23339 {
23340 "phv_number": 334,
23341 "records": [
23342 {
23343 "position_offset": 117,
23344 "field_name": "vlan_tag.ether_type",
23345 "field_msb": 15,
23346 "field_lsb": 0,
23347 "field_width": 2,
23348 "phv_msb": 15,
23349 "phv_lsb": 0,
23350 "is_compiler_generated": false,
23351 "is_pov": false
23352 }
23353 ],
23354 "word_bit_width": 16
23355 },
23356 {
23357 "phv_number": 335,
23358 "records": [
23359 {
23360 "position_offset": 63,
23361 "field_name": "ipv4.total_len",
23362 "field_msb": 15,
23363 "field_lsb": 0,
23364 "field_width": 2,
23365 "phv_msb": 15,
23366 "phv_lsb": 0,
23367 "is_compiler_generated": false,
23368 "is_pov": false
23369 }
23370 ],
23371 "word_bit_width": 16
23372 },
23373 {
23374 "phv_number": 336,
23375 "records": [
23376 {
23377 "position_offset": 55,
23378 "field_name": "ipv4.identification",
23379 "field_msb": 15,
23380 "field_lsb": 0,
23381 "field_width": 2,
23382 "phv_msb": 15,
23383 "phv_lsb": 0,
23384 "is_compiler_generated": false,
23385 "is_pov": false
23386 }
23387 ],
23388 "word_bit_width": 16
23389 },
23390 {
23391 "phv_number": 337,
23392 "records": [
23393 {
23394 "position_offset": 89,
23395 "field_name": "tcp.dst_port",
23396 "field_msb": 15,
23397 "field_lsb": 0,
23398 "field_width": 2,
23399 "phv_msb": 15,
23400 "phv_lsb": 0,
23401 "is_compiler_generated": false,
23402 "is_pov": false
23403 },
23404 {
23405 "position_offset": 110,
23406 "field_name": "udp.len",
23407 "field_msb": 15,
23408 "field_lsb": 0,
23409 "field_width": 2,
23410 "phv_msb": 15,
23411 "phv_lsb": 0,
23412 "is_compiler_generated": false,
23413 "is_pov": false
23414 },
23415 {
23416 "position_offset": 33,
23417 "field_name": "icmp.sequence_number",
23418 "field_msb": 15,
23419 "field_lsb": 0,
23420 "field_width": 2,
23421 "phv_msb": 15,
23422 "phv_lsb": 0,
23423 "is_compiler_generated": false,
23424 "is_pov": false
23425 }
23426 ],
23427 "word_bit_width": 16
23428 },
23429 {
23430 "phv_number": 344,
23431 "records": [
23432 {
23433 "position_offset": 103,
23434 "field_name": "tcp.window",
23435 "field_msb": 15,
23436 "field_lsb": 0,
23437 "field_width": 2,
23438 "phv_msb": 15,
23439 "phv_lsb": 0,
23440 "is_compiler_generated": false,
23441 "is_pov": false
23442 },
23443 {
23444 "position_offset": 106,
23445 "field_name": "udp.checksum",
23446 "field_msb": 15,
23447 "field_lsb": 0,
23448 "field_width": 2,
23449 "phv_msb": 15,
23450 "phv_lsb": 0,
23451 "is_compiler_generated": false,
23452 "is_pov": false
23453 }
23454 ],
23455 "word_bit_width": 16
23456 },
23457 {
23458 "phv_number": 345,
23459 "records": [
23460 {
23461 "position_offset": 83,
23462 "field_name": "tcp.checksum",
23463 "field_msb": 15,
23464 "field_lsb": 0,
23465 "field_width": 2,
23466 "phv_msb": 15,
23467 "phv_lsb": 0,
23468 "is_compiler_generated": false,
23469 "is_pov": false
23470 }
23471 ],
23472 "word_bit_width": 16
23473 },
23474 {
23475 "phv_number": 346,
23476 "records": [
23477 {
23478 "position_offset": 101,
23479 "field_name": "tcp.urgent_ptr",
23480 "field_msb": 15,
23481 "field_lsb": 0,
23482 "field_width": 2,
23483 "phv_msb": 15,
23484 "phv_lsb": 0,
23485 "is_compiler_generated": false,
23486 "is_pov": false
23487 }
23488 ],
23489 "word_bit_width": 16
23490 }
23491 ],
23492 "stage_number": 10
23493 },
23494 {
23495 "ingress": [
23496 {
23497 "phv_number": 0,
23498 "records": [
23499 {
23500 "position_offset": 12,
23501 "field_name": "ethernet.dst_addr",
23502 "field_msb": 47,
23503 "field_lsb": 16,
23504 "field_width": 6,
23505 "phv_msb": 31,
23506 "phv_lsb": 0,
23507 "is_compiler_generated": false,
23508 "is_pov": false
23509 }
23510 ],
23511 "word_bit_width": 32
23512 },
23513 {
23514 "phv_number": 1,
23515 "records": [
23516 {
23517 "position_offset": 20,
23518 "field_name": "ethernet.src_addr",
23519 "field_msb": 47,
23520 "field_lsb": 16,
23521 "field_width": 6,
23522 "phv_msb": 31,
23523 "phv_lsb": 0,
23524 "is_compiler_generated": false,
23525 "is_pov": false
23526 }
23527 ],
23528 "word_bit_width": 32
23529 },
23530 {
23531 "phv_number": 2,
23532 "records": [
23533 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080023534 "position_offset": 78,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023535 "field_name": "ipv4.src_addr",
23536 "field_msb": 31,
23537 "field_lsb": 0,
23538 "field_width": 4,
23539 "phv_msb": 31,
23540 "phv_lsb": 0,
23541 "is_compiler_generated": false,
23542 "is_pov": false
23543 }
23544 ],
23545 "word_bit_width": 32
23546 },
23547 {
23548 "phv_number": 3,
23549 "records": [
23550 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080023551 "position_offset": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023552 "field_name": "ipv4.dst_addr",
23553 "field_msb": 31,
23554 "field_lsb": 0,
23555 "field_width": 4,
23556 "phv_msb": 31,
23557 "phv_lsb": 0,
23558 "is_compiler_generated": false,
23559 "is_pov": false
23560 }
23561 ],
23562 "word_bit_width": 32
23563 },
23564 {
23565 "phv_number": 4,
23566 "records": [
23567 {
23568 "position_offset": 33,
23569 "field_name": "fabric_metadata.next_id",
23570 "field_msb": 31,
23571 "field_lsb": 0,
23572 "field_width": 4,
23573 "phv_msb": 31,
23574 "phv_lsb": 0,
23575 "is_compiler_generated": false,
23576 "is_pov": false
23577 }
23578 ],
23579 "word_bit_width": 32
23580 },
23581 {
23582 "phv_number": 64,
23583 "records": [
23584 {
23585 "position_offset": 45,
23586 "field_name": "icmp.icmp_type",
23587 "field_msb": 7,
23588 "field_lsb": 0,
23589 "field_width": 1,
23590 "phv_msb": 7,
23591 "phv_lsb": 0,
23592 "is_compiler_generated": false,
23593 "is_pov": false
23594 }
23595 ],
23596 "word_bit_width": 8
23597 },
23598 {
23599 "phv_number": 65,
23600 "records": [
23601 {
23602 "position_offset": 44,
23603 "field_name": "icmp.icmp_code",
23604 "field_msb": 7,
23605 "field_lsb": 0,
23606 "field_width": 1,
23607 "phv_msb": 7,
23608 "phv_lsb": 0,
23609 "is_compiler_generated": false,
23610 "is_pov": false
23611 }
23612 ],
23613 "word_bit_width": 8
23614 },
23615 {
23616 "phv_number": 66,
23617 "records": [
23618 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080023619 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023620 "field_name": "mpls.label",
23621 "field_msb": 3,
23622 "field_lsb": 0,
23623 "field_width": 2,
23624 "phv_msb": 7,
23625 "phv_lsb": 4,
23626 "is_compiler_generated": false,
23627 "is_pov": false
23628 },
23629 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080023630 "position_offset": 90,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023631 "field_name": "mpls.tc",
23632 "field_msb": 7,
23633 "field_lsb": 0,
23634 "field_width": 1,
23635 "phv_msb": 3,
23636 "phv_lsb": 1,
23637 "is_compiler_generated": false,
23638 "is_pov": false
23639 },
23640 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080023641 "position_offset": 87,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023642 "field_name": "mpls.bos",
23643 "field_msb": 7,
23644 "field_lsb": 0,
23645 "field_width": 1,
23646 "phv_msb": 0,
23647 "phv_lsb": 0,
23648 "is_compiler_generated": false,
23649 "is_pov": false
23650 }
23651 ],
23652 "word_bit_width": 8
23653 },
23654 {
23655 "phv_number": 67,
23656 "records": [
23657 {
23658 "position_offset": 1,
23659 "field_name": "$bridged_metadata_indicator",
23660 "field_msb": 7,
23661 "field_lsb": 0,
23662 "field_width": 1,
23663 "phv_msb": 7,
23664 "phv_lsb": 0,
23665 "is_compiler_generated": false,
23666 "is_pov": false
23667 }
23668 ],
23669 "word_bit_width": 8
23670 },
23671 {
23672 "phv_number": 68,
23673 "records": [
23674 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080023675 "position_offset": 84,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023676 "field_name": "ipv4.ttl",
23677 "field_msb": 7,
23678 "field_lsb": 0,
23679 "field_width": 1,
23680 "phv_msb": 7,
23681 "phv_lsb": 0,
23682 "is_compiler_generated": false,
23683 "is_pov": false
23684 }
23685 ],
23686 "word_bit_width": 8
23687 },
23688 {
23689 "phv_number": 69,
23690 "records": [
23691 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080023692 "position_offset": 91,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023693 "field_name": "mpls.ttl",
23694 "field_msb": 7,
23695 "field_lsb": 0,
23696 "field_width": 1,
23697 "phv_msb": 7,
23698 "phv_lsb": 0,
23699 "is_compiler_generated": false,
23700 "is_pov": false
23701 }
23702 ],
23703 "word_bit_width": 8
23704 },
23705 {
23706 "phv_number": 70,
23707 "records": [
23708 {
23709 "position_offset": 28,
23710 "field_name": "fabric_metadata.ip_proto",
23711 "field_msb": 7,
23712 "field_lsb": 0,
23713 "field_width": 1,
23714 "phv_msb": 7,
23715 "phv_lsb": 0,
23716 "is_compiler_generated": false,
23717 "is_pov": false
23718 }
23719 ],
23720 "word_bit_width": 8
23721 },
23722 {
23723 "phv_number": 71,
23724 "records": [
23725 {
23726 "position_offset": 0,
23727 "field_name": "$always_deparse",
23728 "field_msb": 7,
23729 "field_lsb": 0,
23730 "field_width": 1,
23731 "phv_msb": 0,
23732 "phv_lsb": 0,
23733 "is_compiler_generated": false,
23734 "is_pov": false
23735 },
23736 {
23737 "position_offset": 40,
23738 "field_name": "hasExited_0",
23739 "field_msb": 7,
23740 "field_lsb": 0,
23741 "field_width": 1,
23742 "phv_msb": 4,
23743 "phv_lsb": 4,
23744 "is_compiler_generated": false,
23745 "is_pov": false
23746 },
23747 {
23748 "position_offset": 0,
23749 "field_name": "POV",
23750 "field_msb": 7,
23751 "field_lsb": 0,
23752 "field_width": 0,
23753 "phv_msb": 1,
23754 "phv_lsb": 1,
23755 "is_compiler_generated": false,
23756 "is_pov": true,
23757 "pov_headers": [
23758 {
23759 "bit_index": 1,
23760 "position_offset": 2,
23761 "header_name": "arp",
23762 "hidden": false
23763 }
23764 ]
23765 },
23766 {
23767 "position_offset": 0,
23768 "field_name": "POV",
23769 "field_msb": 7,
23770 "field_lsb": 0,
23771 "field_width": 0,
23772 "phv_msb": 2,
23773 "phv_lsb": 2,
23774 "is_compiler_generated": false,
23775 "is_pov": true,
23776 "pov_headers": [
23777 {
23778 "bit_index": 2,
23779 "position_offset": 11,
23780 "header_name": "ethernet",
23781 "hidden": false
23782 }
23783 ]
23784 },
23785 {
23786 "position_offset": 0,
23787 "field_name": "POV",
23788 "field_msb": 7,
23789 "field_lsb": 0,
23790 "field_width": 0,
23791 "phv_msb": 3,
23792 "phv_lsb": 3,
23793 "is_compiler_generated": false,
23794 "is_pov": true,
23795 "pov_headers": [
23796 {
23797 "bit_index": 3,
23798 "position_offset": 41,
23799 "header_name": "icmp",
23800 "hidden": false
23801 }
23802 ]
23803 },
23804 {
23805 "position_offset": 0,
23806 "field_name": "POV",
23807 "field_msb": 7,
23808 "field_lsb": 0,
23809 "field_width": 0,
23810 "phv_msb": 5,
23811 "phv_lsb": 5,
23812 "is_compiler_generated": false,
23813 "is_pov": true,
23814 "pov_headers": [
23815 {
23816 "bit_index": 5,
Carmelo Casconeecb35762018-02-03 17:30:05 -080023817 "position_offset": 64,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023818 "header_name": "ipv4",
23819 "hidden": false
23820 }
23821 ]
23822 },
23823 {
23824 "position_offset": 0,
23825 "field_name": "POV",
23826 "field_msb": 7,
23827 "field_lsb": 0,
23828 "field_width": 0,
23829 "phv_msb": 6,
23830 "phv_lsb": 6,
23831 "is_compiler_generated": false,
23832 "is_pov": true,
23833 "pov_headers": [
23834 {
23835 "bit_index": 6,
Carmelo Casconeecb35762018-02-03 17:30:05 -080023836 "position_offset": 86,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023837 "header_name": "mpls",
23838 "hidden": false
23839 }
23840 ]
23841 },
23842 {
23843 "position_offset": 0,
23844 "field_name": "POV",
23845 "field_msb": 7,
23846 "field_lsb": 0,
23847 "field_width": 0,
23848 "phv_msb": 7,
23849 "phv_lsb": 7,
23850 "is_compiler_generated": false,
23851 "is_pov": true,
23852 "pov_headers": [
23853 {
23854 "bit_index": 7,
Carmelo Casconeecb35762018-02-03 17:30:05 -080023855 "position_offset": 92,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023856 "header_name": "packet_out",
23857 "hidden": false
23858 }
23859 ]
23860 }
23861 ],
23862 "word_bit_width": 8
23863 },
23864 {
23865 "phv_number": 72,
23866 "records": [
23867 {
23868 "position_offset": 39,
23869 "field_name": "fabric_metadata.pop_vlan_at_egress",
23870 "field_msb": 7,
23871 "field_lsb": 0,
23872 "field_width": 1,
23873 "phv_msb": 3,
23874 "phv_lsb": 3,
23875 "is_compiler_generated": false,
23876 "is_pov": false
23877 },
23878 {
23879 "position_offset": 0,
23880 "field_name": "POV",
23881 "field_msb": 7,
23882 "field_lsb": 0,
23883 "field_width": 0,
23884 "phv_msb": 0,
23885 "phv_lsb": 0,
23886 "is_compiler_generated": false,
23887 "is_pov": true,
23888 "pov_headers": [
23889 {
23890 "bit_index": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -080023891 "position_offset": 95,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023892 "header_name": "tcp",
23893 "hidden": false
23894 }
23895 ]
23896 },
23897 {
23898 "position_offset": 0,
23899 "field_name": "POV",
23900 "field_msb": 7,
23901 "field_lsb": 0,
23902 "field_width": 0,
23903 "phv_msb": 1,
23904 "phv_lsb": 1,
23905 "is_compiler_generated": false,
23906 "is_pov": true,
23907 "pov_headers": [
23908 {
23909 "bit_index": 1,
Carmelo Casconeecb35762018-02-03 17:30:05 -080023910 "position_offset": 122,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023911 "header_name": "udp",
23912 "hidden": false
23913 }
23914 ]
23915 },
23916 {
23917 "position_offset": 0,
23918 "field_name": "POV",
23919 "field_msb": 7,
23920 "field_lsb": 0,
23921 "field_width": 0,
23922 "phv_msb": 2,
23923 "phv_lsb": 2,
23924 "is_compiler_generated": false,
23925 "is_pov": true,
23926 "pov_headers": [
23927 {
23928 "bit_index": 2,
Carmelo Casconeecb35762018-02-03 17:30:05 -080023929 "position_offset": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023930 "header_name": "vlan_tag",
23931 "hidden": false
23932 }
23933 ]
23934 }
23935 ],
23936 "word_bit_width": 8
23937 },
23938 {
23939 "phv_number": 128,
23940 "records": [
23941 {
23942 "position_offset": 62,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023943 "field_name": "ig_intr_md_for_tm.ucast_egress_port",
23944 "field_msb": 15,
23945 "field_lsb": 0,
23946 "field_width": 2,
23947 "phv_msb": 8,
23948 "phv_lsb": 0,
23949 "is_compiler_generated": false,
23950 "is_pov": false
23951 }
23952 ],
23953 "word_bit_width": 16
23954 },
23955 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080023956 "phv_number": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023957 "records": [
23958 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080023959 "position_offset": 93,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023960 "field_name": "packet_out.egress_port",
23961 "field_msb": 15,
23962 "field_lsb": 0,
23963 "field_width": 2,
23964 "phv_msb": 15,
23965 "phv_lsb": 7,
23966 "is_compiler_generated": false,
23967 "is_pov": false
23968 },
23969 {
23970 "position_offset": 26,
23971 "field_name": "fabric_metadata.fwd_type",
23972 "field_msb": 15,
23973 "field_lsb": 0,
23974 "field_width": 2,
23975 "phv_msb": 5,
23976 "phv_lsb": 3,
23977 "is_compiler_generated": false,
23978 "is_pov": false
23979 },
23980 {
23981 "position_offset": 60,
23982 "field_name": "ig_intr_md_for_tm.drop_ctl",
23983 "field_msb": 15,
23984 "field_lsb": 0,
23985 "field_width": 2,
23986 "phv_msb": 2,
23987 "phv_lsb": 0,
23988 "is_compiler_generated": false,
23989 "is_pov": false
23990 }
23991 ],
23992 "word_bit_width": 16
23993 },
23994 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080023995 "phv_number": 130,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023996 "records": [
23997 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080023998 "position_offset": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080023999 "field_name": "vlan_tag.pri",
24000 "field_msb": 15,
24001 "field_lsb": 0,
24002 "field_width": 2,
24003 "phv_msb": 15,
24004 "phv_lsb": 13,
24005 "is_compiler_generated": false,
24006 "is_pov": false
24007 },
24008 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024009 "position_offset": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024010 "field_name": "vlan_tag.cfi",
24011 "field_msb": 15,
24012 "field_lsb": 0,
24013 "field_width": 2,
24014 "phv_msb": 12,
24015 "phv_lsb": 12,
24016 "is_compiler_generated": false,
24017 "is_pov": false
24018 },
24019 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024020 "position_offset": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024021 "field_name": "vlan_tag.vlan_id",
24022 "field_msb": 15,
24023 "field_lsb": 0,
24024 "field_width": 2,
24025 "phv_msb": 11,
24026 "phv_lsb": 0,
24027 "is_compiler_generated": false,
24028 "is_pov": false
24029 }
24030 ],
24031 "word_bit_width": 16
24032 },
24033 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024034 "phv_number": 131,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024035 "records": [
24036 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024037 "position_offset": 88,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024038 "field_name": "mpls.label",
24039 "field_msb": 19,
24040 "field_lsb": 4,
24041 "field_width": 2,
24042 "phv_msb": 15,
24043 "phv_lsb": 0,
24044 "is_compiler_generated": false,
24045 "is_pov": false
24046 }
24047 ],
24048 "word_bit_width": 16
24049 },
24050 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024051 "phv_number": 132,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024052 "records": [
24053 {
24054 "position_offset": 58,
24055 "field_name": "ig_intr_md.ingress_port",
24056 "field_msb": 15,
24057 "field_lsb": 0,
24058 "field_width": 2,
24059 "phv_msb": 8,
24060 "phv_lsb": 0,
24061 "is_compiler_generated": false,
24062 "is_pov": false
24063 }
24064 ],
24065 "word_bit_width": 16
24066 },
24067 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024068 "phv_number": 133,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024069 "records": [
24070 {
24071 "position_offset": 31,
24072 "field_name": "fabric_metadata.l4_src_port",
24073 "field_msb": 15,
24074 "field_lsb": 0,
24075 "field_width": 2,
24076 "phv_msb": 15,
24077 "phv_lsb": 0,
24078 "is_compiler_generated": false,
24079 "is_pov": false
24080 }
24081 ],
24082 "word_bit_width": 16
24083 },
24084 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024085 "phv_number": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024086 "records": [
24087 {
24088 "position_offset": 18,
24089 "field_name": "ethernet.ether_type",
24090 "field_msb": 15,
24091 "field_lsb": 0,
24092 "field_width": 2,
24093 "phv_msb": 15,
24094 "phv_lsb": 0,
24095 "is_compiler_generated": false,
24096 "is_pov": false
24097 }
24098 ],
24099 "word_bit_width": 16
24100 },
24101 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024102 "phv_number": 135,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024103 "records": [
24104 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024105 "position_offset": 134,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024106 "field_name": "vlan_tag.ether_type",
24107 "field_msb": 15,
24108 "field_lsb": 0,
24109 "field_width": 2,
24110 "phv_msb": 15,
24111 "phv_lsb": 0,
24112 "is_compiler_generated": false,
24113 "is_pov": false
24114 }
24115 ],
24116 "word_bit_width": 16
24117 },
24118 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024119 "phv_number": 136,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024120 "records": [
24121 {
24122 "position_offset": 12,
24123 "field_name": "ethernet.dst_addr",
24124 "field_msb": 15,
24125 "field_lsb": 0,
24126 "field_width": 6,
24127 "phv_msb": 15,
24128 "phv_lsb": 0,
24129 "is_compiler_generated": false,
24130 "is_pov": false
24131 }
24132 ],
24133 "word_bit_width": 16
24134 },
24135 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024136 "phv_number": 137,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024137 "records": [
24138 {
24139 "position_offset": 20,
24140 "field_name": "ethernet.src_addr",
24141 "field_msb": 15,
24142 "field_lsb": 0,
24143 "field_width": 6,
24144 "phv_msb": 15,
24145 "phv_lsb": 0,
24146 "is_compiler_generated": false,
24147 "is_pov": false
24148 }
24149 ],
24150 "word_bit_width": 16
24151 },
24152 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024153 "phv_number": 138,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024154 "records": [
24155 {
24156 "position_offset": 29,
24157 "field_name": "fabric_metadata.l4_dst_port",
24158 "field_msb": 15,
24159 "field_lsb": 0,
24160 "field_width": 2,
24161 "phv_msb": 15,
24162 "phv_lsb": 0,
24163 "is_compiler_generated": false,
24164 "is_pov": false
24165 }
24166 ],
24167 "word_bit_width": 16
24168 },
24169 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024170 "phv_number": 139,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024171 "records": [
24172 {
24173 "position_offset": 37,
24174 "field_name": "fabric_metadata.original_ether_type",
24175 "field_msb": 15,
24176 "field_lsb": 0,
24177 "field_width": 2,
24178 "phv_msb": 15,
24179 "phv_lsb": 0,
24180 "is_compiler_generated": false,
24181 "is_pov": false
24182 }
24183 ],
24184 "word_bit_width": 16
24185 },
24186 {
24187 "phv_number": 260,
24188 "records": [
24189 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024190 "position_offset": 112,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024191 "field_name": "tcp.seq_no",
24192 "field_msb": 31,
24193 "field_lsb": 0,
24194 "field_width": 4,
24195 "phv_msb": 31,
24196 "phv_lsb": 0,
24197 "is_compiler_generated": false,
24198 "is_pov": false
24199 },
24200 {
24201 "position_offset": 50,
24202 "field_name": "icmp.timestamp",
24203 "field_msb": 31,
24204 "field_lsb": 0,
24205 "field_width": 8,
24206 "phv_msb": 31,
24207 "phv_lsb": 0,
24208 "is_compiler_generated": false,
24209 "is_pov": false
24210 }
24211 ],
24212 "word_bit_width": 32
24213 },
24214 {
24215 "phv_number": 261,
24216 "records": [
24217 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024218 "position_offset": 96,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024219 "field_name": "tcp.ack_no",
24220 "field_msb": 31,
24221 "field_lsb": 0,
24222 "field_width": 4,
24223 "phv_msb": 31,
24224 "phv_lsb": 0,
24225 "is_compiler_generated": false,
24226 "is_pov": false
24227 },
24228 {
24229 "position_offset": 50,
24230 "field_name": "icmp.timestamp",
24231 "field_msb": 63,
24232 "field_lsb": 32,
24233 "field_width": 8,
24234 "phv_msb": 31,
24235 "phv_lsb": 0,
24236 "is_compiler_generated": false,
24237 "is_pov": false
24238 }
24239 ],
24240 "word_bit_width": 32
24241 },
24242 {
24243 "phv_number": 292,
24244 "records": [
24245 {
24246 "position_offset": 3,
24247 "field_name": "arp.hw_addr_len",
24248 "field_msb": 7,
24249 "field_lsb": 0,
24250 "field_width": 1,
24251 "phv_msb": 7,
24252 "phv_lsb": 0,
24253 "is_compiler_generated": false,
24254 "is_pov": false
24255 },
24256 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024257 "position_offset": 85,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024258 "field_name": "ipv4.version",
24259 "field_msb": 7,
24260 "field_lsb": 0,
24261 "field_width": 1,
24262 "phv_msb": 7,
24263 "phv_lsb": 4,
24264 "is_compiler_generated": false,
24265 "is_pov": false
24266 },
24267 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024268 "position_offset": 76,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024269 "field_name": "ipv4.ihl",
24270 "field_msb": 7,
24271 "field_lsb": 0,
24272 "field_width": 1,
24273 "phv_msb": 3,
24274 "phv_lsb": 0,
24275 "is_compiler_generated": false,
24276 "is_pov": false
24277 }
24278 ],
24279 "word_bit_width": 8
24280 },
24281 {
24282 "phv_number": 293,
24283 "records": [
24284 {
24285 "position_offset": 8,
24286 "field_name": "arp.proto_addr_len",
24287 "field_msb": 7,
24288 "field_lsb": 0,
24289 "field_width": 1,
24290 "phv_msb": 7,
24291 "phv_lsb": 0,
24292 "is_compiler_generated": false,
24293 "is_pov": false
24294 },
24295 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024296 "position_offset": 65,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024297 "field_name": "ipv4.diffserv",
24298 "field_msb": 7,
24299 "field_lsb": 0,
24300 "field_width": 1,
24301 "phv_msb": 7,
24302 "phv_lsb": 0,
24303 "is_compiler_generated": false,
24304 "is_pov": false
24305 }
24306 ],
24307 "word_bit_width": 8
24308 },
24309 {
24310 "phv_number": 294,
24311 "records": [
24312 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024313 "position_offset": 77,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024314 "field_name": "ipv4.protocol",
24315 "field_msb": 7,
24316 "field_lsb": 0,
24317 "field_width": 1,
24318 "phv_msb": 7,
24319 "phv_lsb": 0,
24320 "is_compiler_generated": false,
24321 "is_pov": false
24322 }
24323 ],
24324 "word_bit_width": 8
24325 },
24326 {
24327 "phv_number": 326,
24328 "records": [
24329 {
24330 "position_offset": 4,
24331 "field_name": "arp.hw_type",
24332 "field_msb": 15,
24333 "field_lsb": 0,
24334 "field_width": 2,
24335 "phv_msb": 15,
24336 "phv_lsb": 0,
24337 "is_compiler_generated": false,
24338 "is_pov": false
24339 },
24340 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024341 "position_offset": 104,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024342 "field_name": "tcp.data_offset",
24343 "field_msb": 15,
24344 "field_lsb": 0,
24345 "field_width": 2,
24346 "phv_msb": 15,
24347 "phv_lsb": 12,
24348 "is_compiler_generated": false,
24349 "is_pov": false
24350 },
24351 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024352 "position_offset": 110,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024353 "field_name": "tcp.res",
24354 "field_msb": 15,
24355 "field_lsb": 0,
24356 "field_width": 2,
24357 "phv_msb": 11,
24358 "phv_lsb": 9,
24359 "is_compiler_generated": false,
24360 "is_pov": false
24361 },
24362 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024363 "position_offset": 108,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024364 "field_name": "tcp.ecn",
24365 "field_msb": 15,
24366 "field_lsb": 0,
24367 "field_width": 2,
24368 "phv_msb": 8,
24369 "phv_lsb": 6,
24370 "is_compiler_generated": false,
24371 "is_pov": false
24372 },
24373 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024374 "position_offset": 102,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024375 "field_name": "tcp.ctrl",
24376 "field_msb": 15,
24377 "field_lsb": 0,
24378 "field_width": 2,
24379 "phv_msb": 5,
24380 "phv_lsb": 0,
24381 "is_compiler_generated": false,
24382 "is_pov": false
24383 },
24384 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024385 "position_offset": 129,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024386 "field_name": "udp.src_port",
24387 "field_msb": 15,
24388 "field_lsb": 0,
24389 "field_width": 2,
24390 "phv_msb": 15,
24391 "phv_lsb": 0,
24392 "is_compiler_generated": false,
24393 "is_pov": false
24394 },
24395 {
24396 "position_offset": 42,
24397 "field_name": "icmp.checksum",
24398 "field_msb": 15,
24399 "field_lsb": 0,
24400 "field_width": 2,
24401 "phv_msb": 15,
24402 "phv_lsb": 0,
24403 "is_compiler_generated": false,
24404 "is_pov": false
24405 }
24406 ],
24407 "word_bit_width": 16
24408 },
24409 {
24410 "phv_number": 327,
24411 "records": [
24412 {
24413 "position_offset": 9,
24414 "field_name": "arp.proto_type",
24415 "field_msb": 15,
24416 "field_lsb": 0,
24417 "field_width": 2,
24418 "phv_msb": 15,
24419 "phv_lsb": 0,
24420 "is_compiler_generated": false,
24421 "is_pov": false
24422 },
24423 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024424 "position_offset": 116,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024425 "field_name": "tcp.src_port",
24426 "field_msb": 15,
24427 "field_lsb": 0,
24428 "field_width": 2,
24429 "phv_msb": 15,
24430 "phv_lsb": 0,
24431 "is_compiler_generated": false,
24432 "is_pov": false
24433 },
24434 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024435 "position_offset": 125,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024436 "field_name": "udp.dst_port",
24437 "field_msb": 15,
24438 "field_lsb": 0,
24439 "field_width": 2,
24440 "phv_msb": 15,
24441 "phv_lsb": 0,
24442 "is_compiler_generated": false,
24443 "is_pov": false
24444 },
24445 {
24446 "position_offset": 46,
24447 "field_name": "icmp.identifier",
24448 "field_msb": 15,
24449 "field_lsb": 0,
24450 "field_width": 2,
24451 "phv_msb": 15,
24452 "phv_lsb": 0,
24453 "is_compiler_generated": false,
24454 "is_pov": false
24455 }
24456 ],
24457 "word_bit_width": 16
24458 },
24459 {
24460 "phv_number": 328,
24461 "records": [
24462 {
24463 "position_offset": 6,
24464 "field_name": "arp.opcode",
24465 "field_msb": 15,
24466 "field_lsb": 0,
24467 "field_width": 2,
24468 "phv_msb": 15,
24469 "phv_lsb": 0,
24470 "is_compiler_generated": false,
24471 "is_pov": false
24472 },
24473 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024474 "position_offset": 70,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024475 "field_name": "ipv4.flags",
24476 "field_msb": 15,
24477 "field_lsb": 0,
24478 "field_width": 2,
24479 "phv_msb": 15,
24480 "phv_lsb": 13,
24481 "is_compiler_generated": false,
24482 "is_pov": false
24483 },
24484 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024485 "position_offset": 72,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024486 "field_name": "ipv4.frag_offset",
24487 "field_msb": 15,
24488 "field_lsb": 0,
24489 "field_width": 2,
24490 "phv_msb": 12,
24491 "phv_lsb": 0,
24492 "is_compiler_generated": false,
24493 "is_pov": false
24494 }
24495 ],
24496 "word_bit_width": 16
24497 },
24498 {
24499 "phv_number": 329,
24500 "records": [
24501 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024502 "position_offset": 82,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024503 "field_name": "ipv4.total_len",
24504 "field_msb": 15,
24505 "field_lsb": 0,
24506 "field_width": 2,
24507 "phv_msb": 15,
24508 "phv_lsb": 0,
24509 "is_compiler_generated": false,
24510 "is_pov": false
24511 }
24512 ],
24513 "word_bit_width": 16
24514 },
24515 {
24516 "phv_number": 330,
24517 "records": [
24518 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024519 "position_offset": 74,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024520 "field_name": "ipv4.identification",
24521 "field_msb": 15,
24522 "field_lsb": 0,
24523 "field_width": 2,
24524 "phv_msb": 15,
24525 "phv_lsb": 0,
24526 "is_compiler_generated": false,
24527 "is_pov": false
24528 }
24529 ],
24530 "word_bit_width": 16
24531 },
24532 {
24533 "phv_number": 331,
24534 "records": [
24535 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024536 "position_offset": 106,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024537 "field_name": "tcp.dst_port",
24538 "field_msb": 15,
24539 "field_lsb": 0,
24540 "field_width": 2,
24541 "phv_msb": 15,
24542 "phv_lsb": 0,
24543 "is_compiler_generated": false,
24544 "is_pov": false
24545 },
24546 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024547 "position_offset": 127,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024548 "field_name": "udp.len",
24549 "field_msb": 15,
24550 "field_lsb": 0,
24551 "field_width": 2,
24552 "phv_msb": 15,
24553 "phv_lsb": 0,
24554 "is_compiler_generated": false,
24555 "is_pov": false
24556 },
24557 {
24558 "position_offset": 48,
24559 "field_name": "icmp.sequence_number",
24560 "field_msb": 15,
24561 "field_lsb": 0,
24562 "field_width": 2,
24563 "phv_msb": 15,
24564 "phv_lsb": 0,
24565 "is_compiler_generated": false,
24566 "is_pov": false
24567 }
24568 ],
24569 "word_bit_width": 16
24570 },
24571 {
24572 "phv_number": 338,
24573 "records": [
24574 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024575 "position_offset": 120,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024576 "field_name": "tcp.window",
24577 "field_msb": 15,
24578 "field_lsb": 0,
24579 "field_width": 2,
24580 "phv_msb": 15,
24581 "phv_lsb": 0,
24582 "is_compiler_generated": false,
24583 "is_pov": false
24584 },
24585 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024586 "position_offset": 123,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024587 "field_name": "udp.checksum",
24588 "field_msb": 15,
24589 "field_lsb": 0,
24590 "field_width": 2,
24591 "phv_msb": 15,
24592 "phv_lsb": 0,
24593 "is_compiler_generated": false,
24594 "is_pov": false
24595 }
24596 ],
24597 "word_bit_width": 16
24598 },
24599 {
24600 "phv_number": 339,
24601 "records": [
24602 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024603 "position_offset": 100,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024604 "field_name": "tcp.checksum",
24605 "field_msb": 15,
24606 "field_lsb": 0,
24607 "field_width": 2,
24608 "phv_msb": 15,
24609 "phv_lsb": 0,
24610 "is_compiler_generated": false,
24611 "is_pov": false
24612 }
24613 ],
24614 "word_bit_width": 16
24615 },
24616 {
24617 "phv_number": 340,
24618 "records": [
24619 {
Carmelo Casconeecb35762018-02-03 17:30:05 -080024620 "position_offset": 118,
Carmelo Cascone04098db2018-01-30 18:10:32 -080024621 "field_name": "tcp.urgent_ptr",
24622 "field_msb": 15,
24623 "field_lsb": 0,
24624 "field_width": 2,
24625 "phv_msb": 15,
24626 "phv_lsb": 0,
24627 "is_compiler_generated": false,
24628 "is_pov": false
24629 }
24630 ],
24631 "word_bit_width": 16
24632 }
24633 ],
24634 "egress": [
24635 {
24636 "phv_number": 80,
24637 "records": [
24638 {
24639 "position_offset": 0,
24640 "field_name": "POV",
24641 "field_msb": 7,
24642 "field_lsb": 0,
24643 "field_width": 0,
24644 "phv_msb": 0,
24645 "phv_lsb": 0,
24646 "is_compiler_generated": false,
24647 "is_pov": true,
24648 "pov_headers": [
24649 {
24650 "bit_index": 0,
24651 "position_offset": 0,
24652 "header_name": "arp",
24653 "hidden": false
24654 }
24655 ]
24656 },
24657 {
24658 "position_offset": 0,
24659 "field_name": "POV",
24660 "field_msb": 7,
24661 "field_lsb": 0,
24662 "field_width": 0,
24663 "phv_msb": 2,
24664 "phv_lsb": 2,
24665 "is_compiler_generated": false,
24666 "is_pov": true,
24667 "pov_headers": [
24668 {
24669 "bit_index": 2,
24670 "position_offset": 11,
24671 "header_name": "ethernet",
24672 "hidden": false
24673 }
24674 ]
24675 },
24676 {
24677 "position_offset": 0,
24678 "field_name": "POV",
24679 "field_msb": 7,
24680 "field_lsb": 0,
24681 "field_width": 0,
24682 "phv_msb": 3,
24683 "phv_lsb": 3,
24684 "is_compiler_generated": false,
24685 "is_pov": true,
24686 "pov_headers": [
24687 {
24688 "bit_index": 3,
24689 "position_offset": 26,
24690 "header_name": "icmp",
24691 "hidden": false
24692 }
24693 ]
24694 },
24695 {
24696 "position_offset": 0,
24697 "field_name": "POV",
24698 "field_msb": 7,
24699 "field_lsb": 0,
24700 "field_width": 0,
24701 "phv_msb": 5,
24702 "phv_lsb": 5,
24703 "is_compiler_generated": false,
24704 "is_pov": true,
24705 "pov_headers": [
24706 {
24707 "bit_index": 5,
24708 "position_offset": 45,
24709 "header_name": "ipv4",
24710 "hidden": false
24711 }
24712 ]
24713 },
24714 {
24715 "position_offset": 0,
24716 "field_name": "POV",
24717 "field_msb": 7,
24718 "field_lsb": 0,
24719 "field_width": 0,
24720 "phv_msb": 6,
24721 "phv_lsb": 6,
24722 "is_compiler_generated": false,
24723 "is_pov": true,
24724 "pov_headers": [
24725 {
24726 "bit_index": 6,
24727 "position_offset": 67,
24728 "header_name": "mpls",
24729 "hidden": false
24730 }
24731 ]
24732 },
24733 {
24734 "position_offset": 0,
24735 "field_name": "POV",
24736 "field_msb": 7,
24737 "field_lsb": 0,
24738 "field_width": 0,
24739 "phv_msb": 7,
24740 "phv_lsb": 7,
24741 "is_compiler_generated": false,
24742 "is_pov": true,
24743 "pov_headers": [
24744 {
24745 "bit_index": 7,
24746 "position_offset": 73,
24747 "header_name": "packet_in",
24748 "hidden": false
24749 }
24750 ]
24751 }
24752 ],
24753 "word_bit_width": 8
24754 },
24755 {
24756 "phv_number": 81,
24757 "records": [
24758 {
24759 "position_offset": 0,
24760 "field_name": "POV",
24761 "field_msb": 7,
24762 "field_lsb": 0,
24763 "field_width": 0,
24764 "phv_msb": 0,
24765 "phv_lsb": 0,
24766 "is_compiler_generated": false,
24767 "is_pov": true,
24768 "pov_headers": [
24769 {
24770 "bit_index": 0,
24771 "position_offset": 78,
24772 "header_name": "tcp",
24773 "hidden": false
24774 }
24775 ]
24776 },
24777 {
24778 "position_offset": 0,
24779 "field_name": "POV",
24780 "field_msb": 7,
24781 "field_lsb": 0,
24782 "field_width": 0,
24783 "phv_msb": 1,
24784 "phv_lsb": 1,
24785 "is_compiler_generated": false,
24786 "is_pov": true,
24787 "pov_headers": [
24788 {
24789 "bit_index": 1,
24790 "position_offset": 105,
24791 "header_name": "udp",
24792 "hidden": false
24793 }
24794 ]
24795 },
24796 {
24797 "position_offset": 0,
24798 "field_name": "POV",
24799 "field_msb": 7,
24800 "field_lsb": 0,
24801 "field_width": 0,
24802 "phv_msb": 2,
24803 "phv_lsb": 2,
24804 "is_compiler_generated": false,
24805 "is_pov": true,
24806 "pov_headers": [
24807 {
24808 "bit_index": 2,
24809 "position_offset": 114,
24810 "header_name": "vlan_tag",
24811 "hidden": false
24812 }
24813 ]
24814 }
24815 ],
24816 "word_bit_width": 8
24817 },
24818 {
24819 "phv_number": 144,
24820 "records": [
24821 {
24822 "position_offset": 9,
24823 "field_name": "eg_intr_md.egress_port",
24824 "field_msb": 15,
24825 "field_lsb": 0,
24826 "field_width": 2,
24827 "phv_msb": 8,
24828 "phv_lsb": 0,
24829 "is_compiler_generated": false,
24830 "is_pov": false
24831 }
24832 ],
24833 "word_bit_width": 16
24834 },
24835 {
24836 "phv_number": 145,
24837 "records": [
24838 {
24839 "position_offset": 76,
24840 "field_name": "packet_in.ingress_port",
24841 "field_msb": 15,
24842 "field_lsb": 0,
24843 "field_width": 2,
24844 "phv_msb": 15,
24845 "phv_lsb": 7,
24846 "is_compiler_generated": false,
24847 "is_pov": false
24848 },
24849 {
24850 "position_offset": 74,
24851 "field_name": "packet_in._pad",
24852 "field_msb": 15,
24853 "field_lsb": 0,
24854 "field_width": 2,
24855 "phv_msb": 6,
24856 "phv_lsb": 0,
24857 "is_compiler_generated": false,
24858 "is_pov": false
24859 }
24860 ],
24861 "word_bit_width": 16
24862 },
24863 {
24864 "phv_number": 146,
24865 "records": [
24866 {
24867 "position_offset": 43,
24868 "field_name": "ig_intr_md.ingress_port",
24869 "field_msb": 15,
24870 "field_lsb": 0,
24871 "field_width": 2,
24872 "phv_msb": 8,
24873 "phv_lsb": 0,
24874 "is_compiler_generated": false,
24875 "is_pov": false
24876 }
24877 ],
24878 "word_bit_width": 16
24879 },
24880 {
24881 "phv_number": 256,
24882 "records": [
24883 {
24884 "position_offset": 12,
24885 "field_name": "ethernet.dst_addr",
24886 "field_msb": 47,
24887 "field_lsb": 16,
24888 "field_width": 6,
24889 "phv_msb": 31,
24890 "phv_lsb": 0,
24891 "is_compiler_generated": false,
24892 "is_pov": false
24893 }
24894 ],
24895 "word_bit_width": 32
24896 },
24897 {
24898 "phv_number": 257,
24899 "records": [
24900 {
24901 "position_offset": 20,
24902 "field_name": "ethernet.src_addr",
24903 "field_msb": 47,
24904 "field_lsb": 16,
24905 "field_width": 6,
24906 "phv_msb": 31,
24907 "phv_lsb": 0,
24908 "is_compiler_generated": false,
24909 "is_pov": false
24910 }
24911 ],
24912 "word_bit_width": 32
24913 },
24914 {
24915 "phv_number": 258,
24916 "records": [
24917 {
24918 "position_offset": 59,
24919 "field_name": "ipv4.src_addr",
24920 "field_msb": 31,
24921 "field_lsb": 0,
24922 "field_width": 4,
24923 "phv_msb": 31,
24924 "phv_lsb": 0,
24925 "is_compiler_generated": false,
24926 "is_pov": false
24927 }
24928 ],
24929 "word_bit_width": 32
24930 },
24931 {
24932 "phv_number": 259,
24933 "records": [
24934 {
24935 "position_offset": 47,
24936 "field_name": "ipv4.dst_addr",
24937 "field_msb": 31,
24938 "field_lsb": 0,
24939 "field_width": 4,
24940 "phv_msb": 31,
24941 "phv_lsb": 0,
24942 "is_compiler_generated": false,
24943 "is_pov": false
24944 }
24945 ],
24946 "word_bit_width": 32
24947 },
24948 {
24949 "phv_number": 264,
24950 "records": [
24951 {
24952 "position_offset": 95,
24953 "field_name": "tcp.seq_no",
24954 "field_msb": 31,
24955 "field_lsb": 0,
24956 "field_width": 4,
24957 "phv_msb": 31,
24958 "phv_lsb": 0,
24959 "is_compiler_generated": false,
24960 "is_pov": false
24961 },
24962 {
24963 "position_offset": 35,
24964 "field_name": "icmp.timestamp",
24965 "field_msb": 31,
24966 "field_lsb": 0,
24967 "field_width": 8,
24968 "phv_msb": 31,
24969 "phv_lsb": 0,
24970 "is_compiler_generated": false,
24971 "is_pov": false
24972 }
24973 ],
24974 "word_bit_width": 32
24975 },
24976 {
24977 "phv_number": 265,
24978 "records": [
24979 {
24980 "position_offset": 79,
24981 "field_name": "tcp.ack_no",
24982 "field_msb": 31,
24983 "field_lsb": 0,
24984 "field_width": 4,
24985 "phv_msb": 31,
24986 "phv_lsb": 0,
24987 "is_compiler_generated": false,
24988 "is_pov": false
24989 },
24990 {
24991 "position_offset": 35,
24992 "field_name": "icmp.timestamp",
24993 "field_msb": 63,
24994 "field_lsb": 32,
24995 "field_width": 8,
24996 "phv_msb": 31,
24997 "phv_lsb": 0,
24998 "is_compiler_generated": false,
24999 "is_pov": false
25000 }
25001 ],
25002 "word_bit_width": 32
25003 },
25004 {
25005 "phv_number": 288,
25006 "records": [
25007 {
25008 "position_offset": 1,
25009 "field_name": "arp.hw_addr_len",
25010 "field_msb": 7,
25011 "field_lsb": 0,
25012 "field_width": 1,
25013 "phv_msb": 7,
25014 "phv_lsb": 0,
25015 "is_compiler_generated": false,
25016 "is_pov": false
25017 },
25018 {
25019 "position_offset": 66,
25020 "field_name": "ipv4.version",
25021 "field_msb": 7,
25022 "field_lsb": 0,
25023 "field_width": 1,
25024 "phv_msb": 7,
25025 "phv_lsb": 4,
25026 "is_compiler_generated": false,
25027 "is_pov": false
25028 },
25029 {
25030 "position_offset": 57,
25031 "field_name": "ipv4.ihl",
25032 "field_msb": 7,
25033 "field_lsb": 0,
25034 "field_width": 1,
25035 "phv_msb": 3,
25036 "phv_lsb": 0,
25037 "is_compiler_generated": false,
25038 "is_pov": false
25039 }
25040 ],
25041 "word_bit_width": 8
25042 },
25043 {
25044 "phv_number": 289,
25045 "records": [
25046 {
25047 "position_offset": 6,
25048 "field_name": "arp.proto_addr_len",
25049 "field_msb": 7,
25050 "field_lsb": 0,
25051 "field_width": 1,
25052 "phv_msb": 7,
25053 "phv_lsb": 0,
25054 "is_compiler_generated": false,
25055 "is_pov": false
25056 },
25057 {
25058 "position_offset": 30,
25059 "field_name": "icmp.icmp_type",
25060 "field_msb": 7,
25061 "field_lsb": 0,
25062 "field_width": 1,
25063 "phv_msb": 7,
25064 "phv_lsb": 0,
25065 "is_compiler_generated": false,
25066 "is_pov": false
25067 }
25068 ],
25069 "word_bit_width": 8
25070 },
25071 {
25072 "phv_number": 290,
25073 "records": [
25074 {
25075 "position_offset": 46,
25076 "field_name": "ipv4.diffserv",
25077 "field_msb": 7,
25078 "field_lsb": 0,
25079 "field_width": 1,
25080 "phv_msb": 7,
25081 "phv_lsb": 0,
25082 "is_compiler_generated": false,
25083 "is_pov": false
25084 }
25085 ],
25086 "word_bit_width": 8
25087 },
25088 {
25089 "phv_number": 291,
25090 "records": [
25091 {
25092 "position_offset": 29,
25093 "field_name": "icmp.icmp_code",
25094 "field_msb": 7,
25095 "field_lsb": 0,
25096 "field_width": 1,
25097 "phv_msb": 7,
25098 "phv_lsb": 0,
25099 "is_compiler_generated": false,
25100 "is_pov": false
25101 }
25102 ],
25103 "word_bit_width": 8
25104 },
25105 {
25106 "phv_number": 296,
25107 "records": [
25108 {
25109 "position_offset": 69,
25110 "field_name": "mpls.label",
25111 "field_msb": 3,
25112 "field_lsb": 0,
25113 "field_width": 2,
25114 "phv_msb": 7,
25115 "phv_lsb": 4,
25116 "is_compiler_generated": false,
25117 "is_pov": false
25118 },
25119 {
25120 "position_offset": 71,
25121 "field_name": "mpls.tc",
25122 "field_msb": 7,
25123 "field_lsb": 0,
25124 "field_width": 1,
25125 "phv_msb": 3,
25126 "phv_lsb": 1,
25127 "is_compiler_generated": false,
25128 "is_pov": false
25129 },
25130 {
25131 "position_offset": 68,
25132 "field_name": "mpls.bos",
25133 "field_msb": 7,
25134 "field_lsb": 0,
25135 "field_width": 1,
25136 "phv_msb": 0,
25137 "phv_lsb": 0,
25138 "is_compiler_generated": false,
25139 "is_pov": false
25140 }
25141 ],
25142 "word_bit_width": 8
25143 },
25144 {
25145 "phv_number": 297,
25146 "records": [
25147 {
25148 "position_offset": 65,
25149 "field_name": "ipv4.ttl",
25150 "field_msb": 7,
25151 "field_lsb": 0,
25152 "field_width": 1,
25153 "phv_msb": 7,
25154 "phv_lsb": 0,
25155 "is_compiler_generated": false,
25156 "is_pov": false
25157 }
25158 ],
25159 "word_bit_width": 8
25160 },
25161 {
25162 "phv_number": 298,
25163 "records": [
25164 {
25165 "position_offset": 58,
25166 "field_name": "ipv4.protocol",
25167 "field_msb": 7,
25168 "field_lsb": 0,
25169 "field_width": 1,
25170 "phv_msb": 7,
25171 "phv_lsb": 0,
25172 "is_compiler_generated": false,
25173 "is_pov": false
25174 }
25175 ],
25176 "word_bit_width": 8
25177 },
25178 {
25179 "phv_number": 299,
25180 "records": [
25181 {
25182 "position_offset": 72,
25183 "field_name": "mpls.ttl",
25184 "field_msb": 7,
25185 "field_lsb": 0,
25186 "field_width": 1,
25187 "phv_msb": 7,
25188 "phv_lsb": 0,
25189 "is_compiler_generated": false,
25190 "is_pov": false
25191 }
25192 ],
25193 "word_bit_width": 8
25194 },
25195 {
25196 "phv_number": 320,
25197 "records": [
25198 {
25199 "position_offset": 119,
25200 "field_name": "vlan_tag.pri",
25201 "field_msb": 15,
25202 "field_lsb": 0,
25203 "field_width": 2,
25204 "phv_msb": 15,
25205 "phv_lsb": 13,
25206 "is_compiler_generated": false,
25207 "is_pov": false
25208 },
25209 {
25210 "position_offset": 115,
25211 "field_name": "vlan_tag.cfi",
25212 "field_msb": 15,
25213 "field_lsb": 0,
25214 "field_width": 2,
25215 "phv_msb": 12,
25216 "phv_lsb": 12,
25217 "is_compiler_generated": false,
25218 "is_pov": false
25219 },
25220 {
25221 "position_offset": 121,
25222 "field_name": "vlan_tag.vlan_id",
25223 "field_msb": 15,
25224 "field_lsb": 0,
25225 "field_width": 2,
25226 "phv_msb": 11,
25227 "phv_lsb": 0,
25228 "is_compiler_generated": false,
25229 "is_pov": false
25230 }
25231 ],
25232 "word_bit_width": 16
25233 },
25234 {
25235 "phv_number": 321,
25236 "records": [
25237 {
25238 "position_offset": 2,
25239 "field_name": "arp.hw_type",
25240 "field_msb": 15,
25241 "field_lsb": 0,
25242 "field_width": 2,
25243 "phv_msb": 15,
25244 "phv_lsb": 0,
25245 "is_compiler_generated": false,
25246 "is_pov": false
25247 },
25248 {
25249 "position_offset": 99,
25250 "field_name": "tcp.src_port",
25251 "field_msb": 15,
25252 "field_lsb": 0,
25253 "field_width": 2,
25254 "phv_msb": 15,
25255 "phv_lsb": 0,
25256 "is_compiler_generated": false,
25257 "is_pov": false
25258 },
25259 {
25260 "position_offset": 112,
25261 "field_name": "udp.src_port",
25262 "field_msb": 15,
25263 "field_lsb": 0,
25264 "field_width": 2,
25265 "phv_msb": 15,
25266 "phv_lsb": 0,
25267 "is_compiler_generated": false,
25268 "is_pov": false
25269 },
25270 {
25271 "position_offset": 27,
25272 "field_name": "icmp.checksum",
25273 "field_msb": 15,
25274 "field_lsb": 0,
25275 "field_width": 2,
25276 "phv_msb": 15,
25277 "phv_lsb": 0,
25278 "is_compiler_generated": false,
25279 "is_pov": false
25280 }
25281 ],
25282 "word_bit_width": 16
25283 },
25284 {
25285 "phv_number": 322,
25286 "records": [
25287 {
25288 "position_offset": 7,
25289 "field_name": "arp.proto_type",
25290 "field_msb": 15,
25291 "field_lsb": 0,
25292 "field_width": 2,
25293 "phv_msb": 15,
25294 "phv_lsb": 0,
25295 "is_compiler_generated": false,
25296 "is_pov": false
25297 },
25298 {
25299 "position_offset": 69,
25300 "field_name": "mpls.label",
25301 "field_msb": 19,
25302 "field_lsb": 4,
25303 "field_width": 2,
25304 "phv_msb": 15,
25305 "phv_lsb": 0,
25306 "is_compiler_generated": false,
25307 "is_pov": false
25308 }
25309 ],
25310 "word_bit_width": 16
25311 },
25312 {
25313 "phv_number": 323,
25314 "records": [
25315 {
25316 "position_offset": 4,
25317 "field_name": "arp.opcode",
25318 "field_msb": 15,
25319 "field_lsb": 0,
25320 "field_width": 2,
25321 "phv_msb": 15,
25322 "phv_lsb": 0,
25323 "is_compiler_generated": false,
25324 "is_pov": false
25325 },
25326 {
25327 "position_offset": 87,
25328 "field_name": "tcp.data_offset",
25329 "field_msb": 15,
25330 "field_lsb": 0,
25331 "field_width": 2,
25332 "phv_msb": 15,
25333 "phv_lsb": 12,
25334 "is_compiler_generated": false,
25335 "is_pov": false
25336 },
25337 {
25338 "position_offset": 93,
25339 "field_name": "tcp.res",
25340 "field_msb": 15,
25341 "field_lsb": 0,
25342 "field_width": 2,
25343 "phv_msb": 11,
25344 "phv_lsb": 9,
25345 "is_compiler_generated": false,
25346 "is_pov": false
25347 },
25348 {
25349 "position_offset": 91,
25350 "field_name": "tcp.ecn",
25351 "field_msb": 15,
25352 "field_lsb": 0,
25353 "field_width": 2,
25354 "phv_msb": 8,
25355 "phv_lsb": 6,
25356 "is_compiler_generated": false,
25357 "is_pov": false
25358 },
25359 {
25360 "position_offset": 85,
25361 "field_name": "tcp.ctrl",
25362 "field_msb": 15,
25363 "field_lsb": 0,
25364 "field_width": 2,
25365 "phv_msb": 5,
25366 "phv_lsb": 0,
25367 "is_compiler_generated": false,
25368 "is_pov": false
25369 },
25370 {
25371 "position_offset": 108,
25372 "field_name": "udp.dst_port",
25373 "field_msb": 15,
25374 "field_lsb": 0,
25375 "field_width": 2,
25376 "phv_msb": 15,
25377 "phv_lsb": 0,
25378 "is_compiler_generated": false,
25379 "is_pov": false
25380 },
25381 {
25382 "position_offset": 31,
25383 "field_name": "icmp.identifier",
25384 "field_msb": 15,
25385 "field_lsb": 0,
25386 "field_width": 2,
25387 "phv_msb": 15,
25388 "phv_lsb": 0,
25389 "is_compiler_generated": false,
25390 "is_pov": false
25391 }
25392 ],
25393 "word_bit_width": 16
25394 },
25395 {
25396 "phv_number": 324,
25397 "records": [
25398 {
25399 "position_offset": 51,
25400 "field_name": "ipv4.flags",
25401 "field_msb": 15,
25402 "field_lsb": 0,
25403 "field_width": 2,
25404 "phv_msb": 15,
25405 "phv_lsb": 13,
25406 "is_compiler_generated": false,
25407 "is_pov": false
25408 },
25409 {
25410 "position_offset": 53,
25411 "field_name": "ipv4.frag_offset",
25412 "field_msb": 15,
25413 "field_lsb": 0,
25414 "field_width": 2,
25415 "phv_msb": 12,
25416 "phv_lsb": 0,
25417 "is_compiler_generated": false,
25418 "is_pov": false
25419 }
25420 ],
25421 "word_bit_width": 16
25422 },
25423 {
25424 "phv_number": 325,
25425 "records": [
25426 {
25427 "position_offset": 12,
25428 "field_name": "ethernet.dst_addr",
25429 "field_msb": 15,
25430 "field_lsb": 0,
25431 "field_width": 6,
25432 "phv_msb": 15,
25433 "phv_lsb": 0,
25434 "is_compiler_generated": false,
25435 "is_pov": false
25436 }
25437 ],
25438 "word_bit_width": 16
25439 },
25440 {
25441 "phv_number": 332,
25442 "records": [
25443 {
25444 "position_offset": 20,
25445 "field_name": "ethernet.src_addr",
25446 "field_msb": 15,
25447 "field_lsb": 0,
25448 "field_width": 6,
25449 "phv_msb": 15,
25450 "phv_lsb": 0,
25451 "is_compiler_generated": false,
25452 "is_pov": false
25453 }
25454 ],
25455 "word_bit_width": 16
25456 },
25457 {
25458 "phv_number": 333,
25459 "records": [
25460 {
25461 "position_offset": 18,
25462 "field_name": "ethernet.ether_type",
25463 "field_msb": 15,
25464 "field_lsb": 0,
25465 "field_width": 2,
25466 "phv_msb": 15,
25467 "phv_lsb": 0,
25468 "is_compiler_generated": false,
25469 "is_pov": false
25470 }
25471 ],
25472 "word_bit_width": 16
25473 },
25474 {
25475 "phv_number": 334,
25476 "records": [
25477 {
25478 "position_offset": 117,
25479 "field_name": "vlan_tag.ether_type",
25480 "field_msb": 15,
25481 "field_lsb": 0,
25482 "field_width": 2,
25483 "phv_msb": 15,
25484 "phv_lsb": 0,
25485 "is_compiler_generated": false,
25486 "is_pov": false
25487 }
25488 ],
25489 "word_bit_width": 16
25490 },
25491 {
25492 "phv_number": 335,
25493 "records": [
25494 {
25495 "position_offset": 63,
25496 "field_name": "ipv4.total_len",
25497 "field_msb": 15,
25498 "field_lsb": 0,
25499 "field_width": 2,
25500 "phv_msb": 15,
25501 "phv_lsb": 0,
25502 "is_compiler_generated": false,
25503 "is_pov": false
25504 }
25505 ],
25506 "word_bit_width": 16
25507 },
25508 {
25509 "phv_number": 336,
25510 "records": [
25511 {
25512 "position_offset": 55,
25513 "field_name": "ipv4.identification",
25514 "field_msb": 15,
25515 "field_lsb": 0,
25516 "field_width": 2,
25517 "phv_msb": 15,
25518 "phv_lsb": 0,
25519 "is_compiler_generated": false,
25520 "is_pov": false
25521 }
25522 ],
25523 "word_bit_width": 16
25524 },
25525 {
25526 "phv_number": 337,
25527 "records": [
25528 {
25529 "position_offset": 89,
25530 "field_name": "tcp.dst_port",
25531 "field_msb": 15,
25532 "field_lsb": 0,
25533 "field_width": 2,
25534 "phv_msb": 15,
25535 "phv_lsb": 0,
25536 "is_compiler_generated": false,
25537 "is_pov": false
25538 },
25539 {
25540 "position_offset": 110,
25541 "field_name": "udp.len",
25542 "field_msb": 15,
25543 "field_lsb": 0,
25544 "field_width": 2,
25545 "phv_msb": 15,
25546 "phv_lsb": 0,
25547 "is_compiler_generated": false,
25548 "is_pov": false
25549 },
25550 {
25551 "position_offset": 33,
25552 "field_name": "icmp.sequence_number",
25553 "field_msb": 15,
25554 "field_lsb": 0,
25555 "field_width": 2,
25556 "phv_msb": 15,
25557 "phv_lsb": 0,
25558 "is_compiler_generated": false,
25559 "is_pov": false
25560 }
25561 ],
25562 "word_bit_width": 16
25563 },
25564 {
25565 "phv_number": 344,
25566 "records": [
25567 {
25568 "position_offset": 103,
25569 "field_name": "tcp.window",
25570 "field_msb": 15,
25571 "field_lsb": 0,
25572 "field_width": 2,
25573 "phv_msb": 15,
25574 "phv_lsb": 0,
25575 "is_compiler_generated": false,
25576 "is_pov": false
25577 },
25578 {
25579 "position_offset": 106,
25580 "field_name": "udp.checksum",
25581 "field_msb": 15,
25582 "field_lsb": 0,
25583 "field_width": 2,
25584 "phv_msb": 15,
25585 "phv_lsb": 0,
25586 "is_compiler_generated": false,
25587 "is_pov": false
25588 }
25589 ],
25590 "word_bit_width": 16
25591 },
25592 {
25593 "phv_number": 345,
25594 "records": [
25595 {
25596 "position_offset": 83,
25597 "field_name": "tcp.checksum",
25598 "field_msb": 15,
25599 "field_lsb": 0,
25600 "field_width": 2,
25601 "phv_msb": 15,
25602 "phv_lsb": 0,
25603 "is_compiler_generated": false,
25604 "is_pov": false
25605 }
25606 ],
25607 "word_bit_width": 16
25608 },
25609 {
25610 "phv_number": 346,
25611 "records": [
25612 {
25613 "position_offset": 101,
25614 "field_name": "tcp.urgent_ptr",
25615 "field_msb": 15,
25616 "field_lsb": 0,
25617 "field_width": 2,
25618 "phv_msb": 15,
25619 "phv_lsb": 0,
25620 "is_compiler_generated": false,
25621 "is_pov": false
25622 }
25623 ],
25624 "word_bit_width": 16
25625 }
25626 ],
25627 "stage_number": 11
25628 }
25629 ],
25630 "tables": [
25631 {
25632 "direction": "ingress",
25633 "handle": 16777217,
25634 "name": "tbl_act",
25635 "table_type": "match",
25636 "size": 1,
25637 "preferred_match_type": "exact",
25638 "match_attributes": {
25639 "stage_tables": [
25640 {
25641 "stage_number": 0,
25642 "size": 1,
25643 "stage_table_type": "match_with_no_key",
25644 "logical_table_id": 0,
25645 "has_attached_gateway": true,
25646 "memory_resource_allocation": null,
25647 "default_next_table": 255,
25648 "pack_format": [
25649 {
25650 "table_word_width": 0,
25651 "memory_word_width": 0,
25652 "entries_per_table_word": 1,
25653 "number_memory_units_per_table_word": 0
25654 }
25655 ],
25656 "result_physical_buses": [ 1 ],
25657 "action_format": [
25658 {
25659 "action_name": "act_0",
25660 "action_handle": 536870914,
25661 "table_name": "tbl_act_8",
25662 "next_table": 0,
25663 "next_table_full": 16,
25664 "vliw_instruction": 1,
25665 "vliw_instruction_full": 64,
25666 "immediate_fields": []
25667 }
25668 ],
25669 "hash_functions": []
25670 }
25671 ],
25672 "match_type": "match_with_no_key",
25673 "uses_dynamic_key_masks": false
25674 },
25675 "actions": [
25676 {
25677 "name": "act_0",
25678 "handle": 536870914,
25679 "indirect_resources": [],
25680 "allowed_as_default_action": true,
25681 "disallowed_as_default_action_reason": "",
25682 "p4_parameters": [],
25683 "override_meter_addr": false,
25684 "override_meter_addr_pfe": false,
25685 "override_meter_full_addr": 0,
25686 "override_stat_addr": false,
25687 "override_stat_addr_pfe": false,
25688 "override_stat_full_addr": 0,
25689 "override_stateful_addr": false,
25690 "override_stateful_addr_pfe": false,
25691 "override_stateful_full_addr": 0,
25692 "is_action_meter_color_aware": false,
25693 "primitives": [
25694 {
25695 "name": "ModifyFieldPrimitive",
25696 "dest": { "type": "phv", "name": "hasExited_0" },
25697 "src": [
25698 { "type": "immmediate", "name": "0" },
25699 { "type": "phv", "name": "B7" }
25700 ]
25701 }
25702 ]
25703 }
25704 ],
25705 "default_action_handle": 536870914,
25706 "action_profile": "",
25707 "default_next_table_mask": 0,
25708 "ap_bind_indirect_res_to_match": [],
25709 "is_resource_controllable": true,
25710 "uses_range": false,
25711 "match_key_fields": [],
25712 "performs_hash_action": false,
25713 "action_data_table_refs": [],
25714 "selection_table_refs": [],
25715 "meter_table_refs": [],
25716 "statistics_table_refs": [],
25717 "stateful_table_refs": []
25718 },
25719 {
25720 "direction": "egress",
25721 "handle": 16777218,
25722 "name": "tbl_act_6",
25723 "table_type": "match",
25724 "size": 1,
25725 "preferred_match_type": "exact",
25726 "match_attributes": {
25727 "stage_tables": [
25728 {
25729 "stage_number": 0,
25730 "size": 1,
25731 "stage_table_type": "match_with_no_key",
25732 "logical_table_id": 1,
25733 "has_attached_gateway": true,
25734 "memory_resource_allocation": null,
25735 "default_next_table": 255,
25736 "pack_format": [
25737 {
25738 "table_word_width": 0,
25739 "memory_word_width": 0,
25740 "entries_per_table_word": 1,
25741 "number_memory_units_per_table_word": 0
25742 }
25743 ],
25744 "result_physical_buses": [ 0 ],
25745 "action_format": [
25746 {
25747 "action_name": "act_6",
25748 "action_handle": 536870915,
25749 "table_name": "--END_OF_PIPELINE--",
25750 "next_table": 0,
25751 "next_table_full": 255,
25752 "vliw_instruction": 1,
25753 "vliw_instruction_full": 64,
25754 "immediate_fields": []
25755 }
25756 ],
25757 "hash_functions": []
25758 }
25759 ],
25760 "match_type": "match_with_no_key",
25761 "uses_dynamic_key_masks": false
25762 },
25763 "actions": [
25764 {
25765 "name": "act_6",
25766 "handle": 536870915,
25767 "indirect_resources": [],
25768 "allowed_as_default_action": true,
25769 "disallowed_as_default_action_reason": "",
25770 "p4_parameters": [],
25771 "override_meter_addr": false,
25772 "override_meter_addr_pfe": false,
25773 "override_meter_full_addr": 0,
25774 "override_stat_addr": false,
25775 "override_stat_addr_pfe": false,
25776 "override_stat_full_addr": 0,
25777 "override_stateful_addr": false,
25778 "override_stateful_addr_pfe": false,
25779 "override_stateful_full_addr": 0,
25780 "is_action_meter_color_aware": false,
25781 "primitives": [
25782 {
25783 "name": "ModifyFieldPrimitive",
25784 "dest": { "type": "phv", "name": "packet_in.$valid" },
25785 "src": [
25786 { "type": "immmediate", "name": "1" },
25787 { "type": "phv", "name": "B16" }
25788 ]
25789 },
25790 {
25791 "name": "ModifyFieldPrimitive",
25792 "dest": { "type": "phv", "name": "packet_in.ingress_port" },
25793 "src": [
25794 { "type": "phv", "name": "H18" },
25795 { "type": "phv", "name": "H17" }
25796 ]
25797 }
25798 ]
25799 }
25800 ],
25801 "default_action_handle": 536870915,
25802 "action_profile": "",
25803 "default_next_table_mask": 0,
25804 "ap_bind_indirect_res_to_match": [],
25805 "is_resource_controllable": true,
25806 "uses_range": false,
25807 "match_key_fields": [],
25808 "performs_hash_action": false,
25809 "action_data_table_refs": [],
25810 "selection_table_refs": [],
25811 "meter_table_refs": [],
25812 "statistics_table_refs": [],
25813 "stateful_table_refs": []
25814 },
25815 {
25816 "direction": "ingress",
25817 "handle": 16777219,
25818 "name": "tbl_act_0",
25819 "table_type": "match",
25820 "size": 1,
25821 "preferred_match_type": "exact",
25822 "match_attributes": {
25823 "stage_tables": [
25824 {
25825 "stage_number": 1,
25826 "size": 1,
25827 "stage_table_type": "match_with_no_key",
25828 "logical_table_id": 0,
25829 "has_attached_gateway": true,
25830 "memory_resource_allocation": null,
25831 "default_next_table": 255,
25832 "pack_format": [
25833 {
25834 "table_word_width": 0,
25835 "memory_word_width": 0,
25836 "entries_per_table_word": 1,
25837 "number_memory_units_per_table_word": 0
25838 }
25839 ],
25840 "result_physical_buses": [ 0 ],
25841 "action_format": [
25842 {
25843 "action_name": "act",
25844 "action_handle": 536870916,
25845 "table_name": "filtering_ingress_port_vlan",
25846 "next_table": 0,
25847 "next_table_full": 32,
25848 "vliw_instruction": 1,
25849 "vliw_instruction_full": 64,
25850 "immediate_fields": []
25851 }
25852 ],
25853 "hash_functions": []
25854 }
25855 ],
25856 "match_type": "match_with_no_key",
25857 "uses_dynamic_key_masks": false
25858 },
25859 "actions": [
25860 {
25861 "name": "act",
25862 "handle": 536870916,
25863 "indirect_resources": [],
25864 "allowed_as_default_action": true,
25865 "disallowed_as_default_action_reason": "",
25866 "p4_parameters": [],
25867 "override_meter_addr": false,
25868 "override_meter_addr_pfe": false,
25869 "override_meter_full_addr": 0,
25870 "override_stat_addr": false,
25871 "override_stat_addr_pfe": false,
25872 "override_stat_full_addr": 0,
25873 "override_stateful_addr": false,
25874 "override_stateful_addr_pfe": false,
25875 "override_stateful_full_addr": 0,
25876 "is_action_meter_color_aware": false,
25877 "primitives": [
25878 {
25879 "name": "ModifyFieldPrimitive",
25880 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
25881 "src": [
Carmelo Casconeecb35762018-02-03 17:30:05 -080025882 { "type": "phv", "name": "H1" },
25883 { "type": "phv", "name": "H0" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080025884 ]
25885 },
25886 {
25887 "name": "ModifyFieldPrimitive",
25888 "dest": { "type": "phv", "name": "hasExited_0" },
25889 "src": [
25890 { "type": "immmediate", "name": "1" },
25891 { "type": "phv", "name": "B7" }
25892 ]
25893 }
25894 ]
25895 }
25896 ],
25897 "default_action_handle": 536870916,
25898 "action_profile": "",
25899 "default_next_table_mask": 0,
25900 "ap_bind_indirect_res_to_match": [],
25901 "is_resource_controllable": true,
25902 "uses_range": false,
25903 "match_key_fields": [],
25904 "performs_hash_action": false,
25905 "action_data_table_refs": [],
25906 "selection_table_refs": [],
25907 "meter_table_refs": [],
25908 "statistics_table_refs": [],
25909 "stateful_table_refs": []
25910 },
25911 {
25912 "direction": "ingress",
25913 "handle": 16777220,
25914 "name": "filtering.ingress_port_vlan",
25915 "table_type": "match",
25916 "size": 512,
25917 "match_attributes": {
25918 "stage_tables": [
25919 {
25920 "stage_number": 2,
25921 "size": 512,
25922 "stage_table_type": "ternary_match",
25923 "logical_table_id": 0,
25924 "has_attached_gateway": true,
25925 "pack_format": [
25926 {
25927 "table_word_width": 47,
25928 "memory_word_width": 47,
25929 "entries_per_table_word": 1,
25930 "number_memory_units_per_table_word": 1,
25931 "entries": [
25932 {
25933 "entry_number": 0,
25934 "fields": [
25935 {
25936 "field_name": "--tcam_payload_0--",
25937 "lsb_mem_word_offset": 0,
25938 "lsb_mem_word_idx": 0,
25939 "msb_mem_word_idx": 0,
25940 "source": "payload",
25941 "start_bit": 0,
25942 "field_width": 1
25943 },
25944 {
25945 "field_name": "--version--",
25946 "lsb_mem_word_offset": 43,
25947 "lsb_mem_word_idx": 0,
25948 "msb_mem_word_idx": 0,
25949 "source": "version",
25950 "start_bit": 0,
25951 "field_width": 2
25952 },
25953 {
25954 "field_name": "--tcam_parity_0--",
25955 "lsb_mem_word_offset": 45,
25956 "lsb_mem_word_idx": 0,
25957 "msb_mem_word_idx": 0,
25958 "source": "parity",
25959 "start_bit": 0,
25960 "field_width": 2
25961 },
25962 {
25963 "field_name": "ig_intr_md.ingress_port",
25964 "lsb_mem_word_offset": 1,
25965 "lsb_mem_word_idx": 0,
25966 "msb_mem_word_idx": 0,
25967 "source": "spec",
25968 "start_bit": 0,
25969 "field_width": 9
25970 },
25971 {
25972 "field_name": "vlan_tag.vlan_id",
25973 "lsb_mem_word_offset": 17,
25974 "lsb_mem_word_idx": 0,
25975 "msb_mem_word_idx": 0,
25976 "source": "spec",
25977 "start_bit": 0,
25978 "field_width": 12
25979 },
25980 {
25981 "field_name": "vlan_tag",
25982 "lsb_mem_word_offset": 35,
25983 "lsb_mem_word_idx": 0,
25984 "msb_mem_word_idx": 0,
25985 "source": "spec",
25986 "start_bit": 0,
25987 "field_width": 1
25988 }
25989 ]
25990 }
25991 ]
25992 }
25993 ],
25994 "memory_resource_allocation": {
25995 "memory_type": "tcam",
25996 "memory_units_and_vpns": [ { "memory_units": [ 0 ], "vpns": [ 0 ] } ],
25997 "spare_bank_memory_unit": 0
25998 },
25999 "default_next_table": 1,
26000 "result_physical_buses": [ 0 ],
26001 "ternary_indirection_stage_table": {
26002 "stage_number": 2,
26003 "stage_table_type": "ternary_indirection",
26004 "size": 4096,
26005 "pack_format": [
26006 {
26007 "memory_word_width": 128,
26008 "table_word_width": 128,
26009 "entries_per_table_word": 4,
26010 "number_memory_units_per_table_word": 1,
26011 "entries": [
26012 {
26013 "entry_number": 3,
26014 "fields": [
26015 {
26016 "start_bit": 0,
26017 "enable_pfe": false,
26018 "field_width": 3,
26019 "lsb_mem_word_idx": 0,
26020 "msb_mem_word_idx": 0,
26021 "source": "instr",
26022 "lsb_mem_word_offset": 96,
26023 "field_name": "action"
26024 },
26025 {
26026 "start_bit": 0,
26027 "enable_pfe": false,
26028 "field_width": 20,
26029 "lsb_mem_word_idx": 0,
26030 "msb_mem_word_idx": 0,
26031 "source": "immediate",
26032 "lsb_mem_word_offset": 99,
26033 "field_name": "immediate"
26034 },
26035 {
26036 "start_bit": 0,
26037 "enable_pfe": false,
26038 "field_width": 9,
26039 "lsb_mem_word_idx": 0,
26040 "msb_mem_word_idx": 0,
26041 "source": "zero",
26042 "lsb_mem_word_offset": 119,
26043 "field_name": "--padding_23_31--"
26044 }
26045 ]
26046 },
26047 {
26048 "entry_number": 2,
26049 "fields": [
26050 {
26051 "start_bit": 0,
26052 "enable_pfe": false,
26053 "field_width": 3,
26054 "lsb_mem_word_idx": 0,
26055 "msb_mem_word_idx": 0,
26056 "source": "instr",
26057 "lsb_mem_word_offset": 64,
26058 "field_name": "action"
26059 },
26060 {
26061 "start_bit": 0,
26062 "enable_pfe": false,
26063 "field_width": 20,
26064 "lsb_mem_word_idx": 0,
26065 "msb_mem_word_idx": 0,
26066 "source": "immediate",
26067 "lsb_mem_word_offset": 67,
26068 "field_name": "immediate"
26069 },
26070 {
26071 "start_bit": 0,
26072 "enable_pfe": false,
26073 "field_width": 9,
26074 "lsb_mem_word_idx": 0,
26075 "msb_mem_word_idx": 0,
26076 "source": "zero",
26077 "lsb_mem_word_offset": 87,
26078 "field_name": "--padding_23_31--"
26079 }
26080 ]
26081 },
26082 {
26083 "entry_number": 1,
26084 "fields": [
26085 {
26086 "start_bit": 0,
26087 "enable_pfe": false,
26088 "field_width": 3,
26089 "lsb_mem_word_idx": 0,
26090 "msb_mem_word_idx": 0,
26091 "source": "instr",
26092 "lsb_mem_word_offset": 32,
26093 "field_name": "action"
26094 },
26095 {
26096 "start_bit": 0,
26097 "enable_pfe": false,
26098 "field_width": 20,
26099 "lsb_mem_word_idx": 0,
26100 "msb_mem_word_idx": 0,
26101 "source": "immediate",
26102 "lsb_mem_word_offset": 35,
26103 "field_name": "immediate"
26104 },
26105 {
26106 "start_bit": 0,
26107 "enable_pfe": false,
26108 "field_width": 9,
26109 "lsb_mem_word_idx": 0,
26110 "msb_mem_word_idx": 0,
26111 "source": "zero",
26112 "lsb_mem_word_offset": 55,
26113 "field_name": "--padding_23_31--"
26114 }
26115 ]
26116 },
26117 {
26118 "entry_number": 0,
26119 "fields": [
26120 {
26121 "start_bit": 0,
26122 "enable_pfe": false,
26123 "field_width": 3,
26124 "lsb_mem_word_idx": 0,
26125 "msb_mem_word_idx": 0,
26126 "source": "instr",
26127 "lsb_mem_word_offset": 0,
26128 "field_name": "action"
26129 },
26130 {
26131 "start_bit": 0,
26132 "enable_pfe": false,
26133 "field_width": 20,
26134 "lsb_mem_word_idx": 0,
26135 "msb_mem_word_idx": 0,
26136 "source": "immediate",
26137 "lsb_mem_word_offset": 3,
26138 "field_name": "immediate"
26139 },
26140 {
26141 "start_bit": 0,
26142 "enable_pfe": false,
26143 "field_width": 9,
26144 "lsb_mem_word_idx": 0,
26145 "msb_mem_word_idx": 0,
26146 "source": "zero",
26147 "lsb_mem_word_offset": 23,
26148 "field_name": "--padding_23_31--"
26149 }
26150 ]
26151 }
26152 ]
26153 }
26154 ],
26155 "memory_resource_allocation": {
26156 "memory_type": "sram",
26157 "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
26158 "spare_bank_memory_unit": 2
26159 },
26160 "action_format": [
26161 {
26162 "action_name": "nop",
26163 "action_handle": 536870919,
26164 "table_name": "tbl_act_12",
26165 "next_table": 0,
26166 "next_table_full": 33,
26167 "vliw_instruction": 0,
26168 "vliw_instruction_full": 65,
26169 "immediate_fields": []
26170 },
26171 {
26172 "action_name": "filtering.push_internal_vlan",
26173 "action_handle": 536870917,
26174 "table_name": "tbl_act_12",
26175 "next_table": 0,
26176 "next_table_full": 33,
26177 "vliw_instruction": 1,
26178 "vliw_instruction_full": 64,
26179 "immediate_fields": [
26180 {
26181 "param_name": "constant_1",
26182 "param_type": "constant",
26183 "const_value": 1,
26184 "param_shift": 0,
26185 "dest_start": 18,
26186 "dest_width": 1
26187 },
26188 {
26189 "param_name": "constant_1",
26190 "param_type": "constant",
26191 "const_value": 1,
26192 "param_shift": 0,
26193 "dest_start": 19,
26194 "dest_width": 1
26195 },
26196 {
26197 "param_name": "constant_0",
26198 "param_type": "constant",
26199 "const_value": 0,
26200 "param_shift": 0,
26201 "dest_start": 12,
26202 "dest_width": 1
26203 },
26204 {
26205 "param_name": "constant_0",
26206 "param_type": "constant",
26207 "const_value": 0,
26208 "param_shift": 0,
26209 "dest_start": 13,
26210 "dest_width": 3
26211 },
26212 {
26213 "param_name": "new_vlan_id",
26214 "param_type": "parameter",
26215 "param_shift": 0,
26216 "dest_start": 0,
26217 "dest_width": 12
26218 }
26219 ]
26220 },
26221 {
26222 "action_name": "filtering.set_vlan",
26223 "action_handle": 536870918,
26224 "table_name": "tbl_act_12",
26225 "next_table": 0,
26226 "next_table_full": 33,
26227 "vliw_instruction": 2,
26228 "vliw_instruction_full": 66,
26229 "immediate_fields": [
26230 {
26231 "param_name": "new_vlan_id",
26232 "param_type": "parameter",
26233 "param_shift": 0,
26234 "dest_start": 0,
26235 "dest_width": 12
26236 }
26237 ]
26238 },
26239 {
26240 "action_name": "filtering.drop",
26241 "action_handle": 536870920,
26242 "table_name": "tbl_act_12",
26243 "next_table": 0,
26244 "next_table_full": 33,
26245 "vliw_instruction": 3,
26246 "vliw_instruction_full": 67,
26247 "immediate_fields": []
26248 }
26249 ]
26250 }
26251 }
26252 ],
26253 "match_type": "ternary"
26254 },
26255 "action_data_table_refs": [],
26256 "selection_table_refs": [],
26257 "meter_table_refs": [],
26258 "statistics_table_refs": [
26259 {
26260 "how_referenced": "direct",
26261 "handle": 67108865,
26262 "name": "filtering.ingress_port_vlan_counter"
26263 }
26264 ],
26265 "stateful_table_refs": [],
26266 "actions": [
26267 {
26268 "name": "nop",
26269 "handle": 536870919,
26270 "indirect_resources": [],
26271 "allowed_as_default_action": true,
26272 "disallowed_as_default_action_reason": "",
26273 "p4_parameters": [],
26274 "override_meter_addr": false,
26275 "override_meter_addr_pfe": false,
26276 "override_meter_full_addr": 0,
26277 "override_stat_addr": false,
26278 "override_stat_addr_pfe": false,
26279 "override_stat_full_addr": 0,
26280 "override_stateful_addr": false,
26281 "override_stateful_addr_pfe": false,
26282 "override_stateful_full_addr": 0,
26283 "is_action_meter_color_aware": false,
26284 "primitives": []
26285 },
26286 {
26287 "name": "filtering.push_internal_vlan",
26288 "handle": 536870917,
26289 "indirect_resources": [],
26290 "allowed_as_default_action": true,
26291 "disallowed_as_default_action_reason": "",
26292 "p4_parameters": [
26293 {
26294 "name": "new_vlan_id",
26295 "start_bit": 0,
26296 "position": 0,
26297 "bit_width": 12
26298 }
26299 ],
26300 "override_meter_addr": false,
26301 "override_meter_addr_pfe": false,
26302 "override_meter_full_addr": 0,
26303 "override_stat_addr": false,
26304 "override_stat_addr_pfe": false,
26305 "override_stat_full_addr": 0,
26306 "override_stateful_addr": false,
26307 "override_stateful_addr_pfe": false,
26308 "override_stateful_full_addr": 0,
26309 "is_action_meter_color_aware": false,
26310 "primitives": [
26311 {
26312 "name": "ModifyFieldPrimitive",
26313 "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080026314 "src": [ { "type": "phv", "name": "H6" } ]
Carmelo Cascone04098db2018-01-30 18:10:32 -080026315 },
26316 {
26317 "name": "ModifyFieldPrimitive",
26318 "dest": { "type": "phv", "name": "ethernet.ether_type" },
26319 "src": [ { "immediate": "33024" } ]
26320 },
26321 {
26322 "name": "ModifyFieldPrimitive",
26323 "dest": { "type": "phv", "name": "B8" },
26324 "src": [
26325 { "type": "immediate", "name": "$data1" },
26326 { "type": "phv", "name": "B8" }
26327 ]
26328 },
26329 {
26330 "name": "ModifyFieldPrimitive",
Carmelo Casconeecb35762018-02-03 17:30:05 -080026331 "dest": { "type": "phv", "name": "H2" },
Carmelo Cascone04098db2018-01-30 18:10:32 -080026332 "src": [ { "type": "immediate", "name": "$data0" } ]
26333 }
26334 ]
26335 },
26336 {
26337 "name": "filtering.set_vlan",
26338 "handle": 536870918,
26339 "indirect_resources": [],
26340 "allowed_as_default_action": true,
26341 "disallowed_as_default_action_reason": "",
26342 "p4_parameters": [
26343 {
26344 "name": "new_vlan_id",
26345 "start_bit": 0,
26346 "position": 0,
26347 "bit_width": 12
26348 }
26349 ],
26350 "override_meter_addr": false,
26351 "override_meter_addr_pfe": false,
26352 "override_meter_full_addr": 0,
26353 "override_stat_addr": false,
26354 "override_stat_addr_pfe": false,
26355 "override_stat_full_addr": 0,
26356 "override_stateful_addr": false,
26357 "override_stateful_addr_pfe": false,
26358 "override_stateful_full_addr": 0,
26359 "is_action_meter_color_aware": false,
26360 "primitives": [
26361 {
26362 "name": "ModifyFieldPrimitive",
26363 "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
26364 "src": [
26365 { "type": "immediate", "name": "new_vlan_id" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080026366 { "type": "phv", "name": "H2" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080026367 ]
26368 }
26369 ]
26370 },
26371 {
26372 "name": "filtering.drop",
26373 "handle": 536870920,
26374 "indirect_resources": [],
26375 "allowed_as_default_action": true,
26376 "disallowed_as_default_action_reason": "",
26377 "p4_parameters": [],
26378 "override_meter_addr": false,
26379 "override_meter_addr_pfe": false,
26380 "override_meter_full_addr": 0,
26381 "override_stat_addr": false,
26382 "override_stat_addr_pfe": false,
26383 "override_stat_full_addr": 0,
26384 "override_stateful_addr": false,
26385 "override_stateful_addr_pfe": false,
26386 "override_stateful_full_addr": 0,
26387 "is_action_meter_color_aware": false,
26388 "primitives": [
26389 {
26390 "name": "ModifyFieldPrimitive",
26391 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
26392 "src": [
26393 { "type": "immmediate", "name": "1" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080026394 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080026395 ]
26396 }
26397 ]
26398 }
26399 ],
26400 "default_action_handle": 536870919,
26401 "action_profile": "",
26402 "default_next_table_mask": 0,
26403 "ap_bind_indirect_res_to_match": [],
26404 "is_resource_controllable": true,
26405 "uses_range": false,
26406 "match_key_fields": [
26407 {
26408 "name": "ig_intr_md.ingress_port",
26409 "position": 0,
26410 "match_type": "exact",
26411 "start_bit": 0,
26412 "bit_width": 9,
26413 "bit_width_full": 9,
26414 "is_valid": false,
26415 "instance_name": "ig_intr_md",
26416 "field_name": "ingress_port"
26417 },
26418 {
26419 "name": "vlan_tag",
26420 "position": 1,
26421 "match_type": "exact",
26422 "start_bit": 0,
26423 "bit_width": 1,
26424 "bit_width_full": 1,
26425 "is_valid": true,
26426 "instance_name": "vlan_tag",
26427 "field_name": ""
26428 },
26429 {
26430 "name": "vlan_tag.vlan_id",
26431 "position": 2,
26432 "match_type": "ternary",
26433 "start_bit": 0,
26434 "bit_width": 12,
26435 "bit_width_full": 12,
26436 "is_valid": false,
26437 "instance_name": "vlan_tag",
26438 "field_name": "vlan_id"
26439 }
26440 ]
26441 },
26442 {
26443 "direction": "ingress",
26444 "handle": 67108865,
26445 "name": "filtering.ingress_port_vlan_counter",
26446 "table_type": "statistics",
26447 "size": 0,
26448 "stage_tables": [
26449 {
26450 "stage_number": 2,
26451 "size": 2048,
26452 "stage_table_type": "statistics",
26453 "logical_table_id": 0,
26454 "pack_format": [
26455 {
26456 "table_word_width": 128,
26457 "memory_word_width": 128,
26458 "entries_per_table_word": 2,
26459 "number_memory_units_per_table_word": 1
26460 }
26461 ],
26462 "memory_resource_allocation": {
26463 "memory_type": "sram",
26464 "memory_units_and_vpns": [
26465 { "memory_units": [ 78 ], "vpns": [ 0 ] },
26466 { "memory_units": [ 79 ], "vpns": [ 1 ] }
26467 ],
26468 "spare_bank_memory_unit": 79
26469 },
26470 "stats_alu_index": 3
26471 }
26472 ],
26473 "how_referenced": "direct",
26474 "enable_pfe": false,
26475 "pfe_bit_position": 0,
26476 "byte_counter_resolution": 36,
26477 "packet_counter_resolution": 28,
26478 "statistics_type": "packets_and_bytes"
26479 },
26480 {
26481 "direction": "ingress",
26482 "handle": 16777221,
26483 "name": "tbl_act_4",
26484 "table_type": "match",
26485 "size": 512,
26486 "preferred_match_type": "exact",
26487 "match_attributes": {
26488 "stage_tables": [
26489 {
26490 "stage_number": 2,
26491 "size": 1,
26492 "stage_table_type": "match_with_no_key",
26493 "logical_table_id": 1,
26494 "has_attached_gateway": true,
26495 "memory_resource_allocation": null,
26496 "default_next_table": 255,
26497 "pack_format": [
26498 {
26499 "table_word_width": 0,
26500 "memory_word_width": 0,
26501 "entries_per_table_word": 0,
26502 "number_memory_units_per_table_word": 0
26503 }
26504 ],
26505 "result_physical_buses": [ 1 ],
26506 "action_format": [
26507 {
26508 "action_name": "act_4",
26509 "action_handle": 536870921,
26510 "table_name": "filtering_fwd_classifier",
26511 "next_table": 0,
26512 "next_table_full": 48,
26513 "vliw_instruction": 0,
26514 "vliw_instruction_full": 65,
26515 "immediate_fields": []
26516 }
26517 ],
26518 "hash_functions": []
26519 }
26520 ],
26521 "match_type": "match_with_no_key",
26522 "uses_dynamic_key_masks": false
26523 },
26524 "actions": [
26525 {
26526 "name": "act_4",
26527 "handle": 536870921,
26528 "indirect_resources": [],
26529 "allowed_as_default_action": true,
26530 "disallowed_as_default_action_reason": "",
26531 "p4_parameters": [],
26532 "override_meter_addr": false,
26533 "override_meter_addr_pfe": false,
26534 "override_meter_full_addr": 0,
26535 "override_stat_addr": false,
26536 "override_stat_addr_pfe": false,
26537 "override_stat_full_addr": 0,
26538 "override_stateful_addr": false,
26539 "override_stateful_addr_pfe": false,
26540 "override_stateful_full_addr": 0,
26541 "is_action_meter_color_aware": false,
26542 "primitives": []
26543 }
26544 ],
26545 "default_action_handle": 536870921,
26546 "action_profile": "",
26547 "default_next_table_mask": 0,
26548 "ap_bind_indirect_res_to_match": [],
26549 "is_resource_controllable": true,
26550 "uses_range": false,
26551 "match_key_fields": [],
26552 "performs_hash_action": true,
26553 "action_data_table_refs": [],
26554 "selection_table_refs": [],
26555 "meter_table_refs": [],
26556 "statistics_table_refs": [
26557 {
26558 "how_referenced": "indirect",
26559 "handle": 67108866,
26560 "name": "port_counters_control.ingress_port_counter"
26561 }
26562 ],
26563 "stateful_table_refs": []
26564 },
26565 {
26566 "direction": "ingress",
26567 "handle": 67108866,
26568 "name": "port_counters_control.ingress_port_counter",
26569 "table_type": "statistics",
26570 "size": 511,
26571 "stage_tables": [
26572 {
26573 "stage_number": 2,
Carmelo Cascone8ac4fc82018-02-01 13:27:50 -080026574 "size": 2048,
Carmelo Cascone04098db2018-01-30 18:10:32 -080026575 "stage_table_type": "statistics",
26576 "logical_table_id": 1,
26577 "pack_format": [
26578 {
26579 "table_word_width": 128,
26580 "memory_word_width": 128,
Carmelo Cascone8ac4fc82018-02-01 13:27:50 -080026581 "entries_per_table_word": 2,
Carmelo Cascone04098db2018-01-30 18:10:32 -080026582 "number_memory_units_per_table_word": 1
26583 }
26584 ],
26585 "memory_resource_allocation": {
26586 "memory_type": "sram",
26587 "memory_units_and_vpns": [
26588 { "memory_units": [ 54 ], "vpns": [ 0 ] },
26589 { "memory_units": [ 55 ], "vpns": [ 1 ] }
26590 ],
26591 "spare_bank_memory_unit": 55
26592 },
26593 "stats_alu_index": 2
26594 }
26595 ],
26596 "how_referenced": "indirect",
26597 "enable_pfe": false,
26598 "pfe_bit_position": 0,
Carmelo Cascone8ac4fc82018-02-01 13:27:50 -080026599 "byte_counter_resolution": 36,
26600 "packet_counter_resolution": 28,
26601 "statistics_type": "packets_and_bytes"
Carmelo Cascone04098db2018-01-30 18:10:32 -080026602 },
26603 {
26604 "direction": "ingress",
26605 "handle": 16777222,
26606 "name": "filtering.fwd_classifier",
26607 "table_type": "match",
26608 "size": 3072,
26609 "action_data_table_refs": [],
26610 "selection_table_refs": [],
26611 "meter_table_refs": [],
26612 "statistics_table_refs": [
26613 {
26614 "how_referenced": "direct",
26615 "handle": 67108867,
26616 "name": "filtering.fwd_classifier_counter"
26617 }
26618 ],
26619 "stateful_table_refs": [],
26620 "default_action_handle": 536870922,
26621 "action_profile": "",
26622 "default_next_table_mask": 0,
26623 "ap_bind_indirect_res_to_match": [],
26624 "is_resource_controllable": true,
26625 "uses_range": false,
26626 "match_key_fields": [
26627 {
26628 "name": "ig_intr_md.ingress_port",
26629 "position": 0,
26630 "match_type": "exact",
26631 "start_bit": 0,
26632 "bit_width": 9,
26633 "bit_width_full": 9,
26634 "is_valid": false,
26635 "instance_name": "ig_intr_md",
26636 "field_name": "ingress_port"
26637 },
26638 {
26639 "name": "ethernet.dst_addr",
26640 "position": 1,
26641 "match_type": "exact",
26642 "start_bit": 0,
26643 "bit_width": 48,
26644 "bit_width_full": 48,
26645 "is_valid": false,
26646 "instance_name": "ethernet",
26647 "field_name": "dst_addr"
26648 },
26649 {
26650 "name": "fabric_metadata.original_ether_type",
26651 "position": 2,
26652 "match_type": "exact",
26653 "start_bit": 0,
26654 "bit_width": 16,
26655 "bit_width_full": 16,
26656 "is_valid": false,
26657 "instance_name": "fabric_metadata",
26658 "field_name": "original_ether_type"
26659 }
26660 ],
26661 "match_attributes": {
26662 "stage_tables": [
26663 {
26664 "stage_number": 3,
26665 "size": 3072,
26666 "stage_table_type": "hash_match",
26667 "logical_table_id": 0,
26668 "has_attached_gateway": false,
26669 "hash_functions": [
26670 {
26671 "hash_bits": [
26672 {
26673 "hash_bit": 0,
26674 "seed": 0,
26675 "bits_to_xor": [
26676 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
26677 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
26678 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
26679 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
26680 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
26681 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
26682 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
26683 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
26684 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
26685 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
26686 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
26687 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
26688 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
26689 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
26690 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
26691 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
26692 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
26693 { "field_bit": 0, "field_name": "ethernet.dst_addr" },
26694 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
26695 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
26696 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
26697 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
26698 {
26699 "field_bit": 1,
26700 "field_name": "fabric_metadata.original_ether_type"
26701 },
26702 {
26703 "field_bit": 2,
26704 "field_name": "fabric_metadata.original_ether_type"
26705 },
26706 {
26707 "field_bit": 3,
26708 "field_name": "fabric_metadata.original_ether_type"
26709 },
26710 {
26711 "field_bit": 4,
26712 "field_name": "fabric_metadata.original_ether_type"
26713 },
26714 {
26715 "field_bit": 6,
26716 "field_name": "fabric_metadata.original_ether_type"
26717 },
26718 {
26719 "field_bit": 9,
26720 "field_name": "fabric_metadata.original_ether_type"
26721 },
26722 {
26723 "field_bit": 11,
26724 "field_name": "fabric_metadata.original_ether_type"
26725 },
26726 {
26727 "field_bit": 13,
26728 "field_name": "fabric_metadata.original_ether_type"
26729 },
26730 {
26731 "field_bit": 2,
26732 "field_name": "ig_intr_md.ingress_port"
26733 },
26734 {
26735 "field_bit": 3,
26736 "field_name": "ig_intr_md.ingress_port"
26737 },
26738 {
26739 "field_bit": 5,
26740 "field_name": "ig_intr_md.ingress_port"
26741 },
26742 {
26743 "field_bit": 6,
26744 "field_name": "ig_intr_md.ingress_port"
26745 },
26746 {
26747 "field_bit": 7,
26748 "field_name": "ig_intr_md.ingress_port"
26749 },
26750 {
26751 "field_bit": 8,
26752 "field_name": "ig_intr_md.ingress_port"
26753 }
26754 ]
26755 },
26756 {
26757 "hash_bit": 1,
26758 "seed": 0,
26759 "bits_to_xor": [
26760 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
26761 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
26762 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
26763 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
26764 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
26765 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
26766 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
26767 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
26768 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
26769 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
26770 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
26771 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
26772 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
26773 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
26774 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
26775 { "field_bit": 1, "field_name": "ethernet.dst_addr" },
26776 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
26777 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
26778 {
26779 "field_bit": 0,
26780 "field_name": "fabric_metadata.original_ether_type"
26781 },
26782 {
26783 "field_bit": 5,
26784 "field_name": "fabric_metadata.original_ether_type"
26785 },
26786 {
26787 "field_bit": 6,
26788 "field_name": "fabric_metadata.original_ether_type"
26789 },
26790 {
26791 "field_bit": 10,
26792 "field_name": "fabric_metadata.original_ether_type"
26793 },
26794 {
26795 "field_bit": 11,
26796 "field_name": "fabric_metadata.original_ether_type"
26797 },
26798 {
26799 "field_bit": 12,
26800 "field_name": "fabric_metadata.original_ether_type"
26801 },
26802 {
26803 "field_bit": 14,
26804 "field_name": "fabric_metadata.original_ether_type"
26805 },
26806 {
26807 "field_bit": 0,
26808 "field_name": "ig_intr_md.ingress_port"
26809 },
26810 {
26811 "field_bit": 1,
26812 "field_name": "ig_intr_md.ingress_port"
26813 },
26814 {
26815 "field_bit": 3,
26816 "field_name": "ig_intr_md.ingress_port"
26817 },
26818 {
26819 "field_bit": 4,
26820 "field_name": "ig_intr_md.ingress_port"
26821 },
26822 {
26823 "field_bit": 5,
26824 "field_name": "ig_intr_md.ingress_port"
26825 },
26826 {
26827 "field_bit": 6,
26828 "field_name": "ig_intr_md.ingress_port"
26829 },
26830 {
26831 "field_bit": 7,
26832 "field_name": "ig_intr_md.ingress_port"
26833 }
26834 ]
26835 },
26836 {
26837 "hash_bit": 2,
26838 "seed": 0,
26839 "bits_to_xor": [
26840 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
26841 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
26842 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
26843 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
26844 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
26845 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
26846 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
26847 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
26848 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
26849 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
26850 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
26851 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
26852 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
26853 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
26854 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
26855 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
26856 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
26857 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
26858 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
26859 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
26860 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
26861 { "field_bit": 2, "field_name": "ethernet.dst_addr" },
26862 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
26863 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
26864 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
26865 {
26866 "field_bit": 0,
26867 "field_name": "fabric_metadata.original_ether_type"
26868 },
26869 {
26870 "field_bit": 2,
26871 "field_name": "fabric_metadata.original_ether_type"
26872 },
26873 {
26874 "field_bit": 4,
26875 "field_name": "fabric_metadata.original_ether_type"
26876 },
26877 {
26878 "field_bit": 6,
26879 "field_name": "fabric_metadata.original_ether_type"
26880 },
26881 {
26882 "field_bit": 8,
26883 "field_name": "fabric_metadata.original_ether_type"
26884 },
26885 {
26886 "field_bit": 9,
26887 "field_name": "fabric_metadata.original_ether_type"
26888 },
26889 {
26890 "field_bit": 10,
26891 "field_name": "fabric_metadata.original_ether_type"
26892 },
26893 {
26894 "field_bit": 11,
26895 "field_name": "fabric_metadata.original_ether_type"
26896 },
26897 {
26898 "field_bit": 15,
26899 "field_name": "fabric_metadata.original_ether_type"
26900 },
26901 {
26902 "field_bit": 0,
26903 "field_name": "ig_intr_md.ingress_port"
26904 },
26905 {
26906 "field_bit": 3,
26907 "field_name": "ig_intr_md.ingress_port"
26908 },
26909 {
26910 "field_bit": 5,
26911 "field_name": "ig_intr_md.ingress_port"
26912 },
26913 {
26914 "field_bit": 7,
26915 "field_name": "ig_intr_md.ingress_port"
26916 }
26917 ]
26918 },
26919 {
26920 "hash_bit": 3,
26921 "seed": 0,
26922 "bits_to_xor": [
26923 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
26924 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
26925 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
26926 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
26927 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
26928 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
26929 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
26930 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
26931 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
26932 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
26933 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
26934 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
26935 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
26936 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
26937 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
26938 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
26939 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
26940 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
26941 { "field_bit": 3, "field_name": "ethernet.dst_addr" },
26942 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
26943 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
26944 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
26945 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
26946 {
26947 "field_bit": 0,
26948 "field_name": "fabric_metadata.original_ether_type"
26949 },
26950 {
26951 "field_bit": 8,
26952 "field_name": "fabric_metadata.original_ether_type"
26953 },
26954 {
26955 "field_bit": 9,
26956 "field_name": "fabric_metadata.original_ether_type"
26957 },
26958 {
26959 "field_bit": 10,
26960 "field_name": "fabric_metadata.original_ether_type"
26961 },
26962 {
26963 "field_bit": 13,
26964 "field_name": "fabric_metadata.original_ether_type"
26965 },
26966 {
26967 "field_bit": 15,
26968 "field_name": "fabric_metadata.original_ether_type"
26969 },
26970 {
26971 "field_bit": 1,
26972 "field_name": "ig_intr_md.ingress_port"
26973 },
26974 {
26975 "field_bit": 2,
26976 "field_name": "ig_intr_md.ingress_port"
26977 },
26978 {
26979 "field_bit": 3,
26980 "field_name": "ig_intr_md.ingress_port"
26981 },
26982 {
26983 "field_bit": 4,
26984 "field_name": "ig_intr_md.ingress_port"
26985 },
26986 {
26987 "field_bit": 6,
26988 "field_name": "ig_intr_md.ingress_port"
26989 },
26990 {
26991 "field_bit": 7,
26992 "field_name": "ig_intr_md.ingress_port"
26993 }
26994 ]
26995 },
26996 {
26997 "hash_bit": 4,
26998 "seed": 0,
26999 "bits_to_xor": [
27000 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
27001 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27002 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
27003 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
27004 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
27005 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
27006 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
27007 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27008 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
27009 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27010 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
27011 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
27012 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
27013 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27014 { "field_bit": 4, "field_name": "ethernet.dst_addr" },
27015 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
27016 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
27017 {
27018 "field_bit": 2,
27019 "field_name": "fabric_metadata.original_ether_type"
27020 },
27021 {
27022 "field_bit": 8,
27023 "field_name": "fabric_metadata.original_ether_type"
27024 },
27025 {
27026 "field_bit": 14,
27027 "field_name": "fabric_metadata.original_ether_type"
27028 },
27029 {
27030 "field_bit": 15,
27031 "field_name": "fabric_metadata.original_ether_type"
27032 },
27033 {
27034 "field_bit": 0,
27035 "field_name": "ig_intr_md.ingress_port"
27036 },
27037 {
27038 "field_bit": 3,
27039 "field_name": "ig_intr_md.ingress_port"
27040 },
27041 {
27042 "field_bit": 4,
27043 "field_name": "ig_intr_md.ingress_port"
27044 }
27045 ]
27046 },
27047 {
27048 "hash_bit": 5,
27049 "seed": 0,
27050 "bits_to_xor": [
27051 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
27052 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27053 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
27054 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
27055 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
27056 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
27057 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
27058 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
27059 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27060 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
27061 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27062 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
27063 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
27064 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
27065 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27066 { "field_bit": 5, "field_name": "ethernet.dst_addr" },
27067 { "field_bit": 10, "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": 1,
27075 "field_name": "fabric_metadata.original_ether_type"
27076 },
27077 {
27078 "field_bit": 5,
27079 "field_name": "fabric_metadata.original_ether_type"
27080 },
27081 {
27082 "field_bit": 7,
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": 10,
27091 "field_name": "fabric_metadata.original_ether_type"
27092 },
27093 {
27094 "field_bit": 11,
27095 "field_name": "fabric_metadata.original_ether_type"
27096 },
27097 {
27098 "field_bit": 12,
27099 "field_name": "fabric_metadata.original_ether_type"
27100 },
27101 {
27102 "field_bit": 13,
27103 "field_name": "fabric_metadata.original_ether_type"
27104 },
27105 {
27106 "field_bit": 14,
27107 "field_name": "fabric_metadata.original_ether_type"
27108 },
27109 {
27110 "field_bit": 0,
27111 "field_name": "ig_intr_md.ingress_port"
27112 },
27113 {
27114 "field_bit": 2,
27115 "field_name": "ig_intr_md.ingress_port"
27116 },
27117 {
27118 "field_bit": 3,
27119 "field_name": "ig_intr_md.ingress_port"
27120 },
27121 {
27122 "field_bit": 5,
27123 "field_name": "ig_intr_md.ingress_port"
27124 },
27125 {
27126 "field_bit": 7,
27127 "field_name": "ig_intr_md.ingress_port"
27128 }
27129 ]
27130 },
27131 {
27132 "hash_bit": 6,
27133 "seed": 0,
27134 "bits_to_xor": [
27135 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
27136 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
27137 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27138 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
27139 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
27140 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27141 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
27142 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27143 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
27144 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27145 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
27146 { "field_bit": 6, "field_name": "ethernet.dst_addr" },
27147 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
27148 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
27149 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
27150 {
27151 "field_bit": 0,
27152 "field_name": "fabric_metadata.original_ether_type"
27153 },
27154 {
27155 "field_bit": 3,
27156 "field_name": "fabric_metadata.original_ether_type"
27157 },
27158 {
27159 "field_bit": 4,
27160 "field_name": "fabric_metadata.original_ether_type"
27161 },
27162 {
27163 "field_bit": 5,
27164 "field_name": "fabric_metadata.original_ether_type"
27165 },
27166 {
27167 "field_bit": 8,
27168 "field_name": "fabric_metadata.original_ether_type"
27169 },
27170 {
27171 "field_bit": 11,
27172 "field_name": "fabric_metadata.original_ether_type"
27173 },
27174 {
27175 "field_bit": 13,
27176 "field_name": "fabric_metadata.original_ether_type"
27177 },
27178 {
27179 "field_bit": 14,
27180 "field_name": "fabric_metadata.original_ether_type"
27181 },
27182 {
27183 "field_bit": 15,
27184 "field_name": "fabric_metadata.original_ether_type"
27185 },
27186 {
27187 "field_bit": 0,
27188 "field_name": "ig_intr_md.ingress_port"
27189 },
27190 {
27191 "field_bit": 2,
27192 "field_name": "ig_intr_md.ingress_port"
27193 },
27194 {
27195 "field_bit": 4,
27196 "field_name": "ig_intr_md.ingress_port"
27197 },
27198 {
27199 "field_bit": 5,
27200 "field_name": "ig_intr_md.ingress_port"
27201 },
27202 {
27203 "field_bit": 6,
27204 "field_name": "ig_intr_md.ingress_port"
27205 }
27206 ]
27207 },
27208 {
27209 "hash_bit": 7,
27210 "seed": 0,
27211 "bits_to_xor": [
27212 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
27213 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
27214 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27215 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
27216 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
27217 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27218 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
27219 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27220 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
27221 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
27222 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27223 { "field_bit": 7, "field_name": "ethernet.dst_addr" },
27224 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
27225 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
27226 {
27227 "field_bit": 0,
27228 "field_name": "fabric_metadata.original_ether_type"
27229 },
27230 {
27231 "field_bit": 2,
27232 "field_name": "fabric_metadata.original_ether_type"
27233 },
27234 {
27235 "field_bit": 3,
27236 "field_name": "fabric_metadata.original_ether_type"
27237 },
27238 {
27239 "field_bit": 4,
27240 "field_name": "fabric_metadata.original_ether_type"
27241 },
27242 {
27243 "field_bit": 5,
27244 "field_name": "fabric_metadata.original_ether_type"
27245 },
27246 {
27247 "field_bit": 6,
27248 "field_name": "fabric_metadata.original_ether_type"
27249 },
27250 {
27251 "field_bit": 9,
27252 "field_name": "fabric_metadata.original_ether_type"
27253 },
27254 {
27255 "field_bit": 12,
27256 "field_name": "fabric_metadata.original_ether_type"
27257 },
27258 {
27259 "field_bit": 14,
27260 "field_name": "fabric_metadata.original_ether_type"
27261 },
27262 {
27263 "field_bit": 15,
27264 "field_name": "fabric_metadata.original_ether_type"
27265 },
27266 {
27267 "field_bit": 1,
27268 "field_name": "ig_intr_md.ingress_port"
27269 },
27270 {
27271 "field_bit": 2,
27272 "field_name": "ig_intr_md.ingress_port"
27273 },
27274 {
27275 "field_bit": 3,
27276 "field_name": "ig_intr_md.ingress_port"
27277 },
27278 {
27279 "field_bit": 4,
27280 "field_name": "ig_intr_md.ingress_port"
27281 }
27282 ]
27283 },
27284 {
27285 "hash_bit": 8,
27286 "seed": 0,
27287 "bits_to_xor": [
27288 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27289 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
27290 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27291 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
27292 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
27293 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27294 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
27295 { "field_bit": 37, "field_name": "ethernet.dst_addr" },
27296 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27297 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
27298 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27299 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
27300 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
27301 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
27302 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27303 { "field_bit": 8, "field_name": "ethernet.dst_addr" },
27304 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
27305 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
27306 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
27307 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
27308 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
27309 {
27310 "field_bit": 0,
27311 "field_name": "fabric_metadata.original_ether_type"
27312 },
27313 {
27314 "field_bit": 1,
27315 "field_name": "fabric_metadata.original_ether_type"
27316 },
27317 {
27318 "field_bit": 4,
27319 "field_name": "fabric_metadata.original_ether_type"
27320 },
27321 {
27322 "field_bit": 5,
27323 "field_name": "fabric_metadata.original_ether_type"
27324 },
27325 {
27326 "field_bit": 6,
27327 "field_name": "fabric_metadata.original_ether_type"
27328 },
27329 {
27330 "field_bit": 7,
27331 "field_name": "fabric_metadata.original_ether_type"
27332 },
27333 {
27334 "field_bit": 10,
27335 "field_name": "fabric_metadata.original_ether_type"
27336 },
27337 {
27338 "field_bit": 11,
27339 "field_name": "fabric_metadata.original_ether_type"
27340 },
27341 {
27342 "field_bit": 13,
27343 "field_name": "fabric_metadata.original_ether_type"
27344 },
27345 {
27346 "field_bit": 0,
27347 "field_name": "ig_intr_md.ingress_port"
27348 },
27349 {
27350 "field_bit": 1,
27351 "field_name": "ig_intr_md.ingress_port"
27352 },
27353 {
27354 "field_bit": 2,
27355 "field_name": "ig_intr_md.ingress_port"
27356 },
27357 {
27358 "field_bit": 4,
27359 "field_name": "ig_intr_md.ingress_port"
27360 },
27361 {
27362 "field_bit": 6,
27363 "field_name": "ig_intr_md.ingress_port"
27364 }
27365 ]
27366 },
27367 {
27368 "hash_bit": 9,
27369 "seed": 0,
27370 "bits_to_xor": [
27371 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
27372 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
27373 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
27374 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
27375 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
27376 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
27377 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
27378 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
27379 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
27380 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27381 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
27382 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27383 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27384 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
27385 {
27386 "field_bit": 0,
27387 "field_name": "fabric_metadata.original_ether_type"
27388 },
27389 {
27390 "field_bit": 2,
27391 "field_name": "fabric_metadata.original_ether_type"
27392 },
27393 {
27394 "field_bit": 4,
27395 "field_name": "fabric_metadata.original_ether_type"
27396 },
27397 {
27398 "field_bit": 5,
27399 "field_name": "fabric_metadata.original_ether_type"
27400 },
27401 {
27402 "field_bit": 6,
27403 "field_name": "fabric_metadata.original_ether_type"
27404 },
27405 {
27406 "field_bit": 7,
27407 "field_name": "fabric_metadata.original_ether_type"
27408 },
27409 {
27410 "field_bit": 11,
27411 "field_name": "fabric_metadata.original_ether_type"
27412 },
27413 {
27414 "field_bit": 15,
27415 "field_name": "fabric_metadata.original_ether_type"
27416 },
27417 {
27418 "field_bit": 2,
27419 "field_name": "ig_intr_md.ingress_port"
27420 },
27421 {
27422 "field_bit": 4,
27423 "field_name": "ig_intr_md.ingress_port"
27424 },
27425 {
27426 "field_bit": 5,
27427 "field_name": "ig_intr_md.ingress_port"
27428 },
27429 {
27430 "field_bit": 7,
27431 "field_name": "ig_intr_md.ingress_port"
27432 }
27433 ]
27434 },
27435 {
27436 "hash_bit": 10,
27437 "seed": 0,
27438 "bits_to_xor": [
27439 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
27440 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
27441 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
27442 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
27443 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
27444 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
27445 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
27446 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
27447 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
27448 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
27449 { "field_bit": 37, "field_name": "ethernet.dst_addr" },
27450 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27451 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
27452 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27453 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
27454 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
27455 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
27456 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
27457 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27458 { "field_bit": 0, "field_name": "ethernet.dst_addr" },
27459 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
27460 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
27461 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
27462 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
27463 {
27464 "field_bit": 0,
27465 "field_name": "fabric_metadata.original_ether_type"
27466 },
27467 {
27468 "field_bit": 3,
27469 "field_name": "fabric_metadata.original_ether_type"
27470 },
27471 {
27472 "field_bit": 6,
27473 "field_name": "fabric_metadata.original_ether_type"
27474 },
27475 {
27476 "field_bit": 7,
27477 "field_name": "fabric_metadata.original_ether_type"
27478 },
27479 {
27480 "field_bit": 8,
27481 "field_name": "fabric_metadata.original_ether_type"
27482 },
27483 {
27484 "field_bit": 9,
27485 "field_name": "fabric_metadata.original_ether_type"
27486 },
27487 {
27488 "field_bit": 12,
27489 "field_name": "fabric_metadata.original_ether_type"
27490 },
27491 {
27492 "field_bit": 13,
27493 "field_name": "fabric_metadata.original_ether_type"
27494 },
27495 {
27496 "field_bit": 14,
27497 "field_name": "fabric_metadata.original_ether_type"
27498 },
27499 {
27500 "field_bit": 15,
27501 "field_name": "fabric_metadata.original_ether_type"
27502 },
27503 {
27504 "field_bit": 1,
27505 "field_name": "ig_intr_md.ingress_port"
27506 },
27507 {
27508 "field_bit": 2,
27509 "field_name": "ig_intr_md.ingress_port"
27510 },
27511 {
27512 "field_bit": 3,
27513 "field_name": "ig_intr_md.ingress_port"
27514 },
27515 {
27516 "field_bit": 6,
27517 "field_name": "ig_intr_md.ingress_port"
27518 },
27519 {
27520 "field_bit": 8,
27521 "field_name": "ig_intr_md.ingress_port"
27522 }
27523 ]
27524 },
27525 {
27526 "hash_bit": 11,
27527 "seed": 0,
27528 "bits_to_xor": [
27529 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
27530 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27531 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
27532 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
27533 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
27534 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
27535 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
27536 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27537 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
27538 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27539 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
27540 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
27541 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
27542 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
27543 { "field_bit": 37, "field_name": "ethernet.dst_addr" },
27544 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
27545 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
27546 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27547 { "field_bit": 1, "field_name": "ethernet.dst_addr" },
27548 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
27549 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
27550 {
27551 "field_bit": 3,
27552 "field_name": "fabric_metadata.original_ether_type"
27553 },
27554 {
27555 "field_bit": 4,
27556 "field_name": "fabric_metadata.original_ether_type"
27557 },
27558 {
27559 "field_bit": 5,
27560 "field_name": "fabric_metadata.original_ether_type"
27561 },
27562 {
27563 "field_bit": 9,
27564 "field_name": "fabric_metadata.original_ether_type"
27565 },
27566 {
27567 "field_bit": 10,
27568 "field_name": "fabric_metadata.original_ether_type"
27569 },
27570 {
27571 "field_bit": 11,
27572 "field_name": "fabric_metadata.original_ether_type"
27573 },
27574 {
27575 "field_bit": 12,
27576 "field_name": "fabric_metadata.original_ether_type"
27577 },
27578 {
27579 "field_bit": 14,
27580 "field_name": "fabric_metadata.original_ether_type"
27581 },
27582 {
27583 "field_bit": 15,
27584 "field_name": "fabric_metadata.original_ether_type"
27585 },
27586 {
27587 "field_bit": 0,
27588 "field_name": "ig_intr_md.ingress_port"
27589 },
27590 {
27591 "field_bit": 3,
27592 "field_name": "ig_intr_md.ingress_port"
27593 },
27594 {
27595 "field_bit": 4,
27596 "field_name": "ig_intr_md.ingress_port"
27597 },
27598 {
27599 "field_bit": 6,
27600 "field_name": "ig_intr_md.ingress_port"
27601 }
27602 ]
27603 },
27604 {
27605 "hash_bit": 12,
27606 "seed": 0,
27607 "bits_to_xor": [
27608 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
27609 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
27610 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
27611 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
27612 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
27613 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
27614 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
27615 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27616 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
27617 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27618 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
27619 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
27620 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
27621 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
27622 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
27623 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27624 { "field_bit": 2, "field_name": "ethernet.dst_addr" },
27625 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
27626 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
27627 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
27628 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
27629 {
27630 "field_bit": 0,
27631 "field_name": "fabric_metadata.original_ether_type"
27632 },
27633 {
27634 "field_bit": 2,
27635 "field_name": "fabric_metadata.original_ether_type"
27636 },
27637 {
27638 "field_bit": 6,
27639 "field_name": "fabric_metadata.original_ether_type"
27640 },
27641 {
27642 "field_bit": 8,
27643 "field_name": "fabric_metadata.original_ether_type"
27644 },
27645 {
27646 "field_bit": 9,
27647 "field_name": "fabric_metadata.original_ether_type"
27648 },
27649 {
27650 "field_bit": 10,
27651 "field_name": "fabric_metadata.original_ether_type"
27652 },
27653 {
27654 "field_bit": 11,
27655 "field_name": "fabric_metadata.original_ether_type"
27656 },
27657 {
27658 "field_bit": 12,
27659 "field_name": "fabric_metadata.original_ether_type"
27660 },
27661 {
27662 "field_bit": 13,
27663 "field_name": "fabric_metadata.original_ether_type"
27664 },
27665 {
27666 "field_bit": 15,
27667 "field_name": "fabric_metadata.original_ether_type"
27668 },
27669 {
27670 "field_bit": 0,
27671 "field_name": "ig_intr_md.ingress_port"
27672 },
27673 {
27674 "field_bit": 1,
27675 "field_name": "ig_intr_md.ingress_port"
27676 },
27677 {
27678 "field_bit": 4,
27679 "field_name": "ig_intr_md.ingress_port"
27680 },
27681 {
27682 "field_bit": 5,
27683 "field_name": "ig_intr_md.ingress_port"
27684 },
27685 {
27686 "field_bit": 6,
27687 "field_name": "ig_intr_md.ingress_port"
27688 },
27689 {
27690 "field_bit": 7,
27691 "field_name": "ig_intr_md.ingress_port"
27692 }
27693 ]
27694 },
27695 {
27696 "hash_bit": 13,
27697 "seed": 0,
27698 "bits_to_xor": [
27699 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
27700 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27701 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
27702 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
27703 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
27704 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
27705 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27706 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
27707 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
27708 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27709 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
27710 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
27711 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27712 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
27713 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27714 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
27715 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
27716 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
27717 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27718 { "field_bit": 3, "field_name": "ethernet.dst_addr" },
27719 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
27720 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
27721 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
27722 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
27723 {
27724 "field_bit": 2,
27725 "field_name": "fabric_metadata.original_ether_type"
27726 },
27727 {
27728 "field_bit": 6,
27729 "field_name": "fabric_metadata.original_ether_type"
27730 },
27731 {
27732 "field_bit": 7,
27733 "field_name": "fabric_metadata.original_ether_type"
27734 },
27735 {
27736 "field_bit": 11,
27737 "field_name": "fabric_metadata.original_ether_type"
27738 },
27739 {
27740 "field_bit": 14,
27741 "field_name": "fabric_metadata.original_ether_type"
27742 },
27743 {
27744 "field_bit": 3,
27745 "field_name": "ig_intr_md.ingress_port"
27746 }
27747 ]
27748 },
27749 {
27750 "hash_bit": 14,
27751 "seed": 0,
27752 "bits_to_xor": [
27753 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
27754 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27755 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
27756 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
27757 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
27758 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27759 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
27760 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27761 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27762 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
27763 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
27764 { "field_bit": 4, "field_name": "ethernet.dst_addr" },
27765 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
27766 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
27767 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
27768 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
27769 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
27770 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
27771 {
27772 "field_bit": 1,
27773 "field_name": "fabric_metadata.original_ether_type"
27774 },
27775 {
27776 "field_bit": 3,
27777 "field_name": "fabric_metadata.original_ether_type"
27778 },
27779 {
27780 "field_bit": 4,
27781 "field_name": "fabric_metadata.original_ether_type"
27782 },
27783 {
27784 "field_bit": 5,
27785 "field_name": "fabric_metadata.original_ether_type"
27786 },
27787 {
27788 "field_bit": 6,
27789 "field_name": "fabric_metadata.original_ether_type"
27790 },
27791 {
27792 "field_bit": 7,
27793 "field_name": "fabric_metadata.original_ether_type"
27794 },
27795 {
27796 "field_bit": 8,
27797 "field_name": "fabric_metadata.original_ether_type"
27798 },
27799 {
27800 "field_bit": 11,
27801 "field_name": "fabric_metadata.original_ether_type"
27802 },
27803 {
27804 "field_bit": 0,
27805 "field_name": "ig_intr_md.ingress_port"
27806 },
27807 {
27808 "field_bit": 1,
27809 "field_name": "ig_intr_md.ingress_port"
27810 },
27811 {
27812 "field_bit": 2,
27813 "field_name": "ig_intr_md.ingress_port"
27814 },
27815 {
27816 "field_bit": 3,
27817 "field_name": "ig_intr_md.ingress_port"
27818 },
27819 {
27820 "field_bit": 5,
27821 "field_name": "ig_intr_md.ingress_port"
27822 },
27823 {
27824 "field_bit": 6,
27825 "field_name": "ig_intr_md.ingress_port"
27826 },
27827 {
27828 "field_bit": 7,
27829 "field_name": "ig_intr_md.ingress_port"
27830 }
27831 ]
27832 },
27833 {
27834 "hash_bit": 15,
27835 "seed": 0,
27836 "bits_to_xor": [
27837 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
27838 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
27839 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
27840 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
27841 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
27842 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27843 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
27844 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
27845 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
27846 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
27847 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27848 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
27849 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
27850 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
27851 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
27852 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
27853 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
27854 { "field_bit": 5, "field_name": "ethernet.dst_addr" },
27855 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
27856 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
27857 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
27858 {
27859 "field_bit": 0,
27860 "field_name": "fabric_metadata.original_ether_type"
27861 },
27862 {
27863 "field_bit": 1,
27864 "field_name": "fabric_metadata.original_ether_type"
27865 },
27866 {
27867 "field_bit": 3,
27868 "field_name": "fabric_metadata.original_ether_type"
27869 },
27870 {
27871 "field_bit": 4,
27872 "field_name": "fabric_metadata.original_ether_type"
27873 },
27874 {
27875 "field_bit": 5,
27876 "field_name": "fabric_metadata.original_ether_type"
27877 },
27878 {
27879 "field_bit": 7,
27880 "field_name": "fabric_metadata.original_ether_type"
27881 },
27882 {
27883 "field_bit": 9,
27884 "field_name": "fabric_metadata.original_ether_type"
27885 },
27886 {
27887 "field_bit": 10,
27888 "field_name": "fabric_metadata.original_ether_type"
27889 },
27890 {
27891 "field_bit": 11,
27892 "field_name": "fabric_metadata.original_ether_type"
27893 },
27894 {
27895 "field_bit": 13,
27896 "field_name": "fabric_metadata.original_ether_type"
27897 },
27898 {
27899 "field_bit": 0,
27900 "field_name": "ig_intr_md.ingress_port"
27901 },
27902 {
27903 "field_bit": 1,
27904 "field_name": "ig_intr_md.ingress_port"
27905 },
27906 {
27907 "field_bit": 7,
27908 "field_name": "ig_intr_md.ingress_port"
27909 }
27910 ]
27911 },
27912 {
27913 "hash_bit": 16,
27914 "seed": 0,
27915 "bits_to_xor": [
27916 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
27917 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
27918 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
27919 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
27920 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
27921 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
27922 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
27923 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27924 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
27925 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
27926 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
27927 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
27928 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
27929 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
27930 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
27931 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
27932 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
27933 { "field_bit": 6, "field_name": "ethernet.dst_addr" },
27934 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
27935 {
27936 "field_bit": 0,
27937 "field_name": "fabric_metadata.original_ether_type"
27938 },
27939 {
27940 "field_bit": 2,
27941 "field_name": "fabric_metadata.original_ether_type"
27942 },
27943 {
27944 "field_bit": 3,
27945 "field_name": "fabric_metadata.original_ether_type"
27946 },
27947 {
27948 "field_bit": 8,
27949 "field_name": "fabric_metadata.original_ether_type"
27950 },
27951 {
27952 "field_bit": 9,
27953 "field_name": "fabric_metadata.original_ether_type"
27954 },
27955 {
27956 "field_bit": 12,
27957 "field_name": "fabric_metadata.original_ether_type"
27958 },
27959 {
27960 "field_bit": 14,
27961 "field_name": "fabric_metadata.original_ether_type"
27962 },
27963 {
27964 "field_bit": 0,
27965 "field_name": "ig_intr_md.ingress_port"
27966 },
27967 {
27968 "field_bit": 1,
27969 "field_name": "ig_intr_md.ingress_port"
27970 },
27971 {
27972 "field_bit": 5,
27973 "field_name": "ig_intr_md.ingress_port"
27974 },
27975 {
27976 "field_bit": 6,
27977 "field_name": "ig_intr_md.ingress_port"
27978 }
27979 ]
27980 },
27981 {
27982 "hash_bit": 17,
27983 "seed": 0,
27984 "bits_to_xor": [
27985 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
27986 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
27987 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
27988 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
27989 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
27990 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
27991 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
27992 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
27993 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
27994 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
27995 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
27996 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
27997 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
27998 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
27999 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
28000 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28001 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
28002 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28003 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
28004 { "field_bit": 7, "field_name": "ethernet.dst_addr" },
28005 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28006 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
28007 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
28008 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28009 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
28010 {
28011 "field_bit": 3,
28012 "field_name": "fabric_metadata.original_ether_type"
28013 },
28014 {
28015 "field_bit": 5,
28016 "field_name": "fabric_metadata.original_ether_type"
28017 },
28018 {
28019 "field_bit": 11,
28020 "field_name": "fabric_metadata.original_ether_type"
28021 },
28022 {
28023 "field_bit": 13,
28024 "field_name": "fabric_metadata.original_ether_type"
28025 },
28026 {
28027 "field_bit": 14,
28028 "field_name": "fabric_metadata.original_ether_type"
28029 },
28030 {
28031 "field_bit": 0,
28032 "field_name": "ig_intr_md.ingress_port"
28033 },
28034 {
28035 "field_bit": 1,
28036 "field_name": "ig_intr_md.ingress_port"
28037 },
28038 {
28039 "field_bit": 3,
28040 "field_name": "ig_intr_md.ingress_port"
28041 },
28042 {
28043 "field_bit": 4,
28044 "field_name": "ig_intr_md.ingress_port"
28045 },
28046 {
28047 "field_bit": 6,
28048 "field_name": "ig_intr_md.ingress_port"
28049 }
28050 ]
28051 },
28052 {
28053 "hash_bit": 18,
28054 "seed": 0,
28055 "bits_to_xor": [
28056 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
28057 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
28058 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28059 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
28060 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
28061 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
28062 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
28063 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
28064 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28065 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
28066 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
28067 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28068 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28069 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
28070 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
28071 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
28072 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
28073 { "field_bit": 8, "field_name": "ethernet.dst_addr" },
28074 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28075 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
28076 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28077 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
28078 {
28079 "field_bit": 1,
28080 "field_name": "fabric_metadata.original_ether_type"
28081 },
28082 {
28083 "field_bit": 2,
28084 "field_name": "fabric_metadata.original_ether_type"
28085 },
28086 {
28087 "field_bit": 3,
28088 "field_name": "fabric_metadata.original_ether_type"
28089 },
28090 {
28091 "field_bit": 5,
28092 "field_name": "fabric_metadata.original_ether_type"
28093 },
28094 {
28095 "field_bit": 7,
28096 "field_name": "fabric_metadata.original_ether_type"
28097 },
28098 {
28099 "field_bit": 10,
28100 "field_name": "fabric_metadata.original_ether_type"
28101 },
28102 {
28103 "field_bit": 13,
28104 "field_name": "fabric_metadata.original_ether_type"
28105 },
28106 {
28107 "field_bit": 14,
28108 "field_name": "fabric_metadata.original_ether_type"
28109 },
28110 {
28111 "field_bit": 15,
28112 "field_name": "fabric_metadata.original_ether_type"
28113 },
28114 {
28115 "field_bit": 1,
28116 "field_name": "ig_intr_md.ingress_port"
28117 },
28118 {
28119 "field_bit": 2,
28120 "field_name": "ig_intr_md.ingress_port"
28121 },
28122 {
28123 "field_bit": 5,
28124 "field_name": "ig_intr_md.ingress_port"
28125 },
28126 {
28127 "field_bit": 6,
28128 "field_name": "ig_intr_md.ingress_port"
28129 },
28130 {
28131 "field_bit": 7,
28132 "field_name": "ig_intr_md.ingress_port"
28133 }
28134 ]
28135 },
28136 {
28137 "hash_bit": 19,
28138 "seed": 0,
28139 "bits_to_xor": [
28140 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
28141 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
28142 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
28143 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
28144 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
28145 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
28146 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28147 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
28148 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
28149 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28150 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
28151 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28152 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
28153 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28154 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
28155 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
28156 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
28157 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28158 {
28159 "field_bit": 0,
28160 "field_name": "fabric_metadata.original_ether_type"
28161 },
28162 {
28163 "field_bit": 1,
28164 "field_name": "fabric_metadata.original_ether_type"
28165 },
28166 {
28167 "field_bit": 2,
28168 "field_name": "fabric_metadata.original_ether_type"
28169 },
28170 {
28171 "field_bit": 3,
28172 "field_name": "fabric_metadata.original_ether_type"
28173 },
28174 {
28175 "field_bit": 5,
28176 "field_name": "fabric_metadata.original_ether_type"
28177 },
28178 {
28179 "field_bit": 7,
28180 "field_name": "fabric_metadata.original_ether_type"
28181 },
28182 {
28183 "field_bit": 8,
28184 "field_name": "fabric_metadata.original_ether_type"
28185 },
28186 {
28187 "field_bit": 9,
28188 "field_name": "fabric_metadata.original_ether_type"
28189 },
28190 {
28191 "field_bit": 10,
28192 "field_name": "fabric_metadata.original_ether_type"
28193 },
28194 {
28195 "field_bit": 12,
28196 "field_name": "fabric_metadata.original_ether_type"
28197 },
28198 {
28199 "field_bit": 13,
28200 "field_name": "fabric_metadata.original_ether_type"
28201 },
28202 {
28203 "field_bit": 14,
28204 "field_name": "fabric_metadata.original_ether_type"
28205 },
28206 {
28207 "field_bit": 15,
28208 "field_name": "fabric_metadata.original_ether_type"
28209 },
28210 {
28211 "field_bit": 7,
28212 "field_name": "ig_intr_md.ingress_port"
28213 }
28214 ]
28215 },
28216 {
28217 "hash_bit": 20,
28218 "seed": 0,
28219 "bits_to_xor": [
28220 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
28221 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28222 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
28223 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
28224 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
28225 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
28226 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
28227 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28228 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
28229 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
28230 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
28231 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
28232 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
28233 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
28234 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28235 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
28236 { "field_bit": 0, "field_name": "ethernet.dst_addr" },
28237 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28238 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
28239 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
28240 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28241 {
28242 "field_bit": 0,
28243 "field_name": "fabric_metadata.original_ether_type"
28244 },
28245 {
28246 "field_bit": 1,
28247 "field_name": "fabric_metadata.original_ether_type"
28248 },
28249 {
28250 "field_bit": 4,
28251 "field_name": "fabric_metadata.original_ether_type"
28252 },
28253 {
28254 "field_bit": 7,
28255 "field_name": "fabric_metadata.original_ether_type"
28256 },
28257 {
28258 "field_bit": 10,
28259 "field_name": "fabric_metadata.original_ether_type"
28260 },
28261 {
28262 "field_bit": 13,
28263 "field_name": "fabric_metadata.original_ether_type"
28264 },
28265 {
28266 "field_bit": 14,
28267 "field_name": "fabric_metadata.original_ether_type"
28268 },
28269 {
28270 "field_bit": 15,
28271 "field_name": "fabric_metadata.original_ether_type"
28272 },
28273 {
28274 "field_bit": 0,
28275 "field_name": "ig_intr_md.ingress_port"
28276 },
28277 {
28278 "field_bit": 2,
28279 "field_name": "ig_intr_md.ingress_port"
28280 },
28281 {
28282 "field_bit": 4,
28283 "field_name": "ig_intr_md.ingress_port"
28284 },
28285 {
28286 "field_bit": 8,
28287 "field_name": "ig_intr_md.ingress_port"
28288 }
28289 ]
28290 },
28291 {
28292 "hash_bit": 21,
28293 "seed": 0,
28294 "bits_to_xor": [
28295 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
28296 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
28297 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28298 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
28299 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
28300 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
28301 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
28302 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28303 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
28304 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28305 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28306 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
28307 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
28308 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28309 { "field_bit": 1, "field_name": "ethernet.dst_addr" },
28310 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28311 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
28312 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
28313 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
28314 {
28315 "field_bit": 0,
28316 "field_name": "fabric_metadata.original_ether_type"
28317 },
28318 {
28319 "field_bit": 1,
28320 "field_name": "fabric_metadata.original_ether_type"
28321 },
28322 {
28323 "field_bit": 4,
28324 "field_name": "fabric_metadata.original_ether_type"
28325 },
28326 {
28327 "field_bit": 6,
28328 "field_name": "fabric_metadata.original_ether_type"
28329 },
28330 {
28331 "field_bit": 7,
28332 "field_name": "fabric_metadata.original_ether_type"
28333 },
28334 {
28335 "field_bit": 10,
28336 "field_name": "fabric_metadata.original_ether_type"
28337 },
28338 {
28339 "field_bit": 11,
28340 "field_name": "fabric_metadata.original_ether_type"
28341 },
28342 {
28343 "field_bit": 12,
28344 "field_name": "fabric_metadata.original_ether_type"
28345 },
28346 {
28347 "field_bit": 13,
28348 "field_name": "fabric_metadata.original_ether_type"
28349 },
28350 {
28351 "field_bit": 15,
28352 "field_name": "fabric_metadata.original_ether_type"
28353 },
28354 {
28355 "field_bit": 3,
28356 "field_name": "ig_intr_md.ingress_port"
28357 },
28358 {
28359 "field_bit": 4,
28360 "field_name": "ig_intr_md.ingress_port"
28361 },
28362 {
28363 "field_bit": 5,
28364 "field_name": "ig_intr_md.ingress_port"
28365 },
28366 {
28367 "field_bit": 7,
28368 "field_name": "ig_intr_md.ingress_port"
28369 }
28370 ]
28371 },
28372 {
28373 "hash_bit": 22,
28374 "seed": 0,
28375 "bits_to_xor": [
28376 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
28377 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
28378 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
28379 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
28380 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
28381 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
28382 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
28383 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28384 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
28385 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28386 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
28387 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28388 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
28389 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
28390 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
28391 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28392 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
28393 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28394 { "field_bit": 2, "field_name": "ethernet.dst_addr" },
28395 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28396 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
28397 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
28398 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
28399 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28400 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
28401 {
28402 "field_bit": 4,
28403 "field_name": "fabric_metadata.original_ether_type"
28404 },
28405 {
28406 "field_bit": 5,
28407 "field_name": "fabric_metadata.original_ether_type"
28408 },
28409 {
28410 "field_bit": 6,
28411 "field_name": "fabric_metadata.original_ether_type"
28412 },
28413 {
28414 "field_bit": 8,
28415 "field_name": "fabric_metadata.original_ether_type"
28416 },
28417 {
28418 "field_bit": 10,
28419 "field_name": "fabric_metadata.original_ether_type"
28420 },
28421 {
28422 "field_bit": 11,
28423 "field_name": "fabric_metadata.original_ether_type"
28424 },
28425 {
28426 "field_bit": 13,
28427 "field_name": "fabric_metadata.original_ether_type"
28428 },
28429 {
28430 "field_bit": 14,
28431 "field_name": "fabric_metadata.original_ether_type"
28432 },
28433 {
28434 "field_bit": 1,
28435 "field_name": "ig_intr_md.ingress_port"
28436 },
28437 {
28438 "field_bit": 2,
28439 "field_name": "ig_intr_md.ingress_port"
28440 },
28441 {
28442 "field_bit": 7,
28443 "field_name": "ig_intr_md.ingress_port"
28444 }
28445 ]
28446 },
28447 {
28448 "hash_bit": 23,
28449 "seed": 0,
28450 "bits_to_xor": [
28451 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
28452 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
28453 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
28454 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
28455 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28456 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
28457 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
28458 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
28459 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
28460 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
28461 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
28462 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28463 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
28464 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28465 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
28466 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
28467 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
28468 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
28469 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28470 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28471 { "field_bit": 3, "field_name": "ethernet.dst_addr" },
28472 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28473 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
28474 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
28475 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
28476 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28477 {
28478 "field_bit": 0,
28479 "field_name": "fabric_metadata.original_ether_type"
28480 },
28481 {
28482 "field_bit": 6,
28483 "field_name": "fabric_metadata.original_ether_type"
28484 },
28485 {
28486 "field_bit": 8,
28487 "field_name": "fabric_metadata.original_ether_type"
28488 },
28489 {
28490 "field_bit": 10,
28491 "field_name": "fabric_metadata.original_ether_type"
28492 },
28493 {
28494 "field_bit": 2,
28495 "field_name": "ig_intr_md.ingress_port"
28496 },
28497 {
28498 "field_bit": 5,
28499 "field_name": "ig_intr_md.ingress_port"
28500 },
28501 {
28502 "field_bit": 6,
28503 "field_name": "ig_intr_md.ingress_port"
28504 }
28505 ]
28506 },
28507 {
28508 "hash_bit": 24,
28509 "seed": 0,
28510 "bits_to_xor": [
28511 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
28512 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
28513 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
28514 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28515 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
28516 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
28517 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
28518 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
28519 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
28520 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
28521 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28522 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
28523 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28524 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
28525 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28526 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
28527 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
28528 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
28529 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
28530 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
28531 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
28532 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28533 { "field_bit": 4, "field_name": "ethernet.dst_addr" },
28534 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28535 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
28536 {
28537 "field_bit": 1,
28538 "field_name": "fabric_metadata.original_ether_type"
28539 },
28540 {
28541 "field_bit": 5,
28542 "field_name": "fabric_metadata.original_ether_type"
28543 },
28544 {
28545 "field_bit": 6,
28546 "field_name": "fabric_metadata.original_ether_type"
28547 },
28548 {
28549 "field_bit": 8,
28550 "field_name": "fabric_metadata.original_ether_type"
28551 },
28552 {
28553 "field_bit": 9,
28554 "field_name": "fabric_metadata.original_ether_type"
28555 },
28556 {
28557 "field_bit": 10,
28558 "field_name": "fabric_metadata.original_ether_type"
28559 },
28560 {
28561 "field_bit": 13,
28562 "field_name": "fabric_metadata.original_ether_type"
28563 },
28564 {
28565 "field_bit": 15,
28566 "field_name": "fabric_metadata.original_ether_type"
28567 },
28568 {
28569 "field_bit": 0,
28570 "field_name": "ig_intr_md.ingress_port"
28571 },
28572 {
28573 "field_bit": 4,
28574 "field_name": "ig_intr_md.ingress_port"
28575 },
28576 {
28577 "field_bit": 6,
28578 "field_name": "ig_intr_md.ingress_port"
28579 },
28580 {
28581 "field_bit": 7,
28582 "field_name": "ig_intr_md.ingress_port"
28583 }
28584 ]
28585 },
28586 {
28587 "hash_bit": 25,
28588 "seed": 0,
28589 "bits_to_xor": [
28590 { "field_bit": 16, "field_name": "ethernet.dst_addr" },
28591 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
28592 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28593 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
28594 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
28595 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
28596 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
28597 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
28598 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28599 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
28600 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
28601 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
28602 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
28603 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
28604 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28605 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28606 { "field_bit": 5, "field_name": "ethernet.dst_addr" },
28607 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
28608 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28609 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
28610 {
28611 "field_bit": 0,
28612 "field_name": "fabric_metadata.original_ether_type"
28613 },
28614 {
28615 "field_bit": 6,
28616 "field_name": "fabric_metadata.original_ether_type"
28617 },
28618 {
28619 "field_bit": 8,
28620 "field_name": "fabric_metadata.original_ether_type"
28621 },
28622 {
28623 "field_bit": 9,
28624 "field_name": "fabric_metadata.original_ether_type"
28625 },
28626 {
28627 "field_bit": 10,
28628 "field_name": "fabric_metadata.original_ether_type"
28629 },
28630 {
28631 "field_bit": 12,
28632 "field_name": "fabric_metadata.original_ether_type"
28633 },
28634 {
28635 "field_bit": 13,
28636 "field_name": "fabric_metadata.original_ether_type"
28637 },
28638 {
28639 "field_bit": 14,
28640 "field_name": "fabric_metadata.original_ether_type"
28641 },
28642 {
28643 "field_bit": 0,
28644 "field_name": "ig_intr_md.ingress_port"
28645 },
28646 {
28647 "field_bit": 1,
28648 "field_name": "ig_intr_md.ingress_port"
28649 },
28650 {
28651 "field_bit": 6,
28652 "field_name": "ig_intr_md.ingress_port"
28653 },
28654 {
28655 "field_bit": 7,
28656 "field_name": "ig_intr_md.ingress_port"
28657 }
28658 ]
28659 },
28660 {
28661 "hash_bit": 26,
28662 "seed": 0,
28663 "bits_to_xor": [
28664 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
28665 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28666 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
28667 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
28668 { "field_bit": 27, "field_name": "ethernet.dst_addr" },
28669 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
28670 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28671 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28672 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
28673 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28674 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
28675 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
28676 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
28677 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28678 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
28679 { "field_bit": 45, "field_name": "ethernet.dst_addr" },
28680 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28681 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
28682 { "field_bit": 6, "field_name": "ethernet.dst_addr" },
28683 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
28684 { "field_bit": 11, "field_name": "ethernet.dst_addr" },
28685 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
28686 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
28687 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28688 {
28689 "field_bit": 0,
28690 "field_name": "fabric_metadata.original_ether_type"
28691 },
28692 {
28693 "field_bit": 2,
28694 "field_name": "fabric_metadata.original_ether_type"
28695 },
28696 {
28697 "field_bit": 3,
28698 "field_name": "fabric_metadata.original_ether_type"
28699 },
28700 {
28701 "field_bit": 4,
28702 "field_name": "fabric_metadata.original_ether_type"
28703 },
28704 {
28705 "field_bit": 5,
28706 "field_name": "fabric_metadata.original_ether_type"
28707 },
28708 {
28709 "field_bit": 7,
28710 "field_name": "fabric_metadata.original_ether_type"
28711 },
28712 {
28713 "field_bit": 8,
28714 "field_name": "fabric_metadata.original_ether_type"
28715 },
28716 {
28717 "field_bit": 9,
28718 "field_name": "fabric_metadata.original_ether_type"
28719 },
28720 {
28721 "field_bit": 2,
28722 "field_name": "ig_intr_md.ingress_port"
28723 },
28724 {
28725 "field_bit": 5,
28726 "field_name": "ig_intr_md.ingress_port"
28727 },
28728 {
28729 "field_bit": 6,
28730 "field_name": "ig_intr_md.ingress_port"
28731 },
28732 {
28733 "field_bit": 7,
28734 "field_name": "ig_intr_md.ingress_port"
28735 }
28736 ]
28737 },
28738 {
28739 "hash_bit": 27,
28740 "seed": 0,
28741 "bits_to_xor": [
28742 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
28743 { "field_bit": 21, "field_name": "ethernet.dst_addr" },
28744 { "field_bit": 23, "field_name": "ethernet.dst_addr" },
28745 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
28746 { "field_bit": 28, "field_name": "ethernet.dst_addr" },
28747 { "field_bit": 31, "field_name": "ethernet.dst_addr" },
28748 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28749 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28750 { "field_bit": 40, "field_name": "ethernet.dst_addr" },
28751 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
28752 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28753 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
28754 { "field_bit": 46, "field_name": "ethernet.dst_addr" },
28755 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
28756 { "field_bit": 7, "field_name": "ethernet.dst_addr" },
28757 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28758 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
28759 { "field_bit": 12, "field_name": "ethernet.dst_addr" },
28760 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28761 {
28762 "field_bit": 1,
28763 "field_name": "fabric_metadata.original_ether_type"
28764 },
28765 {
28766 "field_bit": 2,
28767 "field_name": "fabric_metadata.original_ether_type"
28768 },
28769 {
28770 "field_bit": 5,
28771 "field_name": "fabric_metadata.original_ether_type"
28772 },
28773 {
28774 "field_bit": 6,
28775 "field_name": "fabric_metadata.original_ether_type"
28776 },
28777 {
28778 "field_bit": 7,
28779 "field_name": "fabric_metadata.original_ether_type"
28780 },
28781 {
28782 "field_bit": 8,
28783 "field_name": "fabric_metadata.original_ether_type"
28784 },
28785 {
28786 "field_bit": 10,
28787 "field_name": "fabric_metadata.original_ether_type"
28788 },
28789 {
28790 "field_bit": 12,
28791 "field_name": "fabric_metadata.original_ether_type"
28792 },
28793 {
28794 "field_bit": 13,
28795 "field_name": "fabric_metadata.original_ether_type"
28796 },
28797 {
28798 "field_bit": 15,
28799 "field_name": "fabric_metadata.original_ether_type"
28800 },
28801 {
28802 "field_bit": 0,
28803 "field_name": "ig_intr_md.ingress_port"
28804 },
28805 {
28806 "field_bit": 1,
28807 "field_name": "ig_intr_md.ingress_port"
28808 },
28809 {
28810 "field_bit": 2,
28811 "field_name": "ig_intr_md.ingress_port"
28812 },
28813 {
28814 "field_bit": 5,
28815 "field_name": "ig_intr_md.ingress_port"
28816 }
28817 ]
28818 },
28819 {
28820 "hash_bit": 28,
28821 "seed": 0,
28822 "bits_to_xor": [
28823 { "field_bit": 17, "field_name": "ethernet.dst_addr" },
28824 { "field_bit": 18, "field_name": "ethernet.dst_addr" },
28825 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
28826 { "field_bit": 20, "field_name": "ethernet.dst_addr" },
28827 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
28828 { "field_bit": 25, "field_name": "ethernet.dst_addr" },
28829 { "field_bit": 26, "field_name": "ethernet.dst_addr" },
28830 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
28831 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28832 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28833 { "field_bit": 37, "field_name": "ethernet.dst_addr" },
28834 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
28835 { "field_bit": 39, "field_name": "ethernet.dst_addr" },
28836 { "field_bit": 42, "field_name": "ethernet.dst_addr" },
28837 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28838 { "field_bit": 8, "field_name": "ethernet.dst_addr" },
28839 { "field_bit": 9, "field_name": "ethernet.dst_addr" },
28840 { "field_bit": 10, "field_name": "ethernet.dst_addr" },
28841 { "field_bit": 13, "field_name": "ethernet.dst_addr" },
28842 { "field_bit": 15, "field_name": "ethernet.dst_addr" },
28843 {
28844 "field_bit": 6,
28845 "field_name": "fabric_metadata.original_ether_type"
28846 },
28847 {
28848 "field_bit": 8,
28849 "field_name": "fabric_metadata.original_ether_type"
28850 },
28851 {
28852 "field_bit": 12,
28853 "field_name": "fabric_metadata.original_ether_type"
28854 },
28855 {
28856 "field_bit": 14,
28857 "field_name": "fabric_metadata.original_ether_type"
28858 },
28859 {
28860 "field_bit": 0,
28861 "field_name": "ig_intr_md.ingress_port"
28862 },
28863 {
28864 "field_bit": 5,
28865 "field_name": "ig_intr_md.ingress_port"
28866 },
28867 {
28868 "field_bit": 6,
28869 "field_name": "ig_intr_md.ingress_port"
28870 },
28871 {
28872 "field_bit": 7,
28873 "field_name": "ig_intr_md.ingress_port"
28874 }
28875 ]
28876 },
28877 {
28878 "hash_bit": 29,
28879 "seed": 0,
28880 "bits_to_xor": [
28881 { "field_bit": 19, "field_name": "ethernet.dst_addr" },
28882 { "field_bit": 22, "field_name": "ethernet.dst_addr" },
28883 { "field_bit": 24, "field_name": "ethernet.dst_addr" },
28884 { "field_bit": 29, "field_name": "ethernet.dst_addr" },
28885 { "field_bit": 30, "field_name": "ethernet.dst_addr" },
28886 { "field_bit": 32, "field_name": "ethernet.dst_addr" },
28887 { "field_bit": 33, "field_name": "ethernet.dst_addr" },
28888 { "field_bit": 34, "field_name": "ethernet.dst_addr" },
28889 { "field_bit": 35, "field_name": "ethernet.dst_addr" },
28890 { "field_bit": 36, "field_name": "ethernet.dst_addr" },
28891 { "field_bit": 38, "field_name": "ethernet.dst_addr" },
28892 { "field_bit": 41, "field_name": "ethernet.dst_addr" },
28893 { "field_bit": 43, "field_name": "ethernet.dst_addr" },
28894 { "field_bit": 44, "field_name": "ethernet.dst_addr" },
28895 { "field_bit": 47, "field_name": "ethernet.dst_addr" },
28896 { "field_bit": 14, "field_name": "ethernet.dst_addr" },
28897 {
28898 "field_bit": 0,
28899 "field_name": "fabric_metadata.original_ether_type"
28900 },
28901 {
28902 "field_bit": 2,
28903 "field_name": "fabric_metadata.original_ether_type"
28904 },
28905 {
28906 "field_bit": 3,
28907 "field_name": "fabric_metadata.original_ether_type"
28908 },
28909 {
28910 "field_bit": 8,
28911 "field_name": "fabric_metadata.original_ether_type"
28912 },
28913 {
28914 "field_bit": 9,
28915 "field_name": "fabric_metadata.original_ether_type"
28916 },
28917 {
28918 "field_bit": 10,
28919 "field_name": "fabric_metadata.original_ether_type"
28920 },
28921 {
28922 "field_bit": 13,
28923 "field_name": "fabric_metadata.original_ether_type"
28924 },
28925 {
28926 "field_bit": 14,
28927 "field_name": "fabric_metadata.original_ether_type"
28928 },
28929 {
28930 "field_bit": 2,
28931 "field_name": "ig_intr_md.ingress_port"
28932 },
28933 {
28934 "field_bit": 3,
28935 "field_name": "ig_intr_md.ingress_port"
28936 }
28937 ]
28938 }
28939 ]
28940 }
28941 ],
28942 "action_format": [
28943 {
28944 "action_name": "filtering.set_forwarding_type",
28945 "action_handle": 536870922,
28946 "table_name": "forwarding_bridging",
28947 "next_table": 0,
28948 "next_table_full": 64,
28949 "vliw_instruction": 0,
28950 "vliw_instruction_full": 64,
28951 "immediate_fields": [
28952 {
28953 "param_name": "fwd_type",
28954 "param_type": "parameter",
28955 "param_shift": 0,
28956 "dest_start": 3,
28957 "dest_width": 3
28958 }
28959 ]
28960 }
28961 ],
28962 "result_physical_buses": [ 14 ],
28963 "pack_format": [
28964 {
28965 "memory_word_width": 128,
28966 "table_word_width": 128,
28967 "entries_per_table_word": 1,
28968 "number_memory_units_per_table_word": 1
28969 }
28970 ],
28971 "memory_resource_allocation": null,
28972 "ways": [
28973 {
28974 "stage_number": 3,
28975 "way_number": 0,
28976 "stage_table_type": "hash_way",
28977 "size": 1024,
28978 "pack_format": [
28979 {
28980 "memory_word_width": 128,
28981 "table_word_width": 128,
28982 "entries_per_table_word": 1,
28983 "number_memory_units_per_table_word": 1,
28984 "entries": [
28985 {
28986 "entry_number": 0,
28987 "fields": [
28988 {
28989 "start_bit": 0,
28990 "enable_pfe": false,
28991 "field_width": 6,
28992 "lsb_mem_word_idx": 0,
28993 "msb_mem_word_idx": 0,
28994 "source": "immediate",
28995 "lsb_mem_word_offset": 0,
28996 "field_name": "immediate",
28997 "match_mode": "unused"
28998 },
28999 {
29000 "start_bit": 0,
29001 "enable_pfe": false,
29002 "field_width": 4,
29003 "lsb_mem_word_idx": 0,
29004 "msb_mem_word_idx": 0,
29005 "source": "version",
29006 "lsb_mem_word_offset": 112,
29007 "field_name": "version",
29008 "match_mode": "s1q0"
29009 },
29010 {
29011 "field_name": "ethernet.dst_addr",
29012 "source": "spec",
29013 "lsb_mem_word_offset": 65,
29014 "start_bit": 9,
29015 "immediate_name": "",
29016 "lsb_mem_word_idx": 0,
29017 "msb_mem_word_idx": 0,
29018 "match_mode": "unused",
29019 "enable_pfe": false,
29020 "field_width": 7
29021 },
29022 {
29023 "field_name": "ethernet.dst_addr",
29024 "source": "spec",
29025 "lsb_mem_word_offset": 8,
29026 "start_bit": 16,
29027 "immediate_name": "",
29028 "lsb_mem_word_idx": 0,
29029 "msb_mem_word_idx": 0,
29030 "match_mode": "unused",
29031 "enable_pfe": false,
29032 "field_width": 8
29033 },
29034 {
29035 "field_name": "ethernet.dst_addr",
29036 "source": "spec",
29037 "lsb_mem_word_offset": 16,
29038 "start_bit": 24,
29039 "immediate_name": "",
29040 "lsb_mem_word_idx": 0,
29041 "msb_mem_word_idx": 0,
29042 "match_mode": "unused",
29043 "enable_pfe": false,
29044 "field_width": 8
29045 },
29046 {
29047 "field_name": "ethernet.dst_addr",
29048 "source": "spec",
29049 "lsb_mem_word_offset": 24,
29050 "start_bit": 32,
29051 "immediate_name": "",
29052 "lsb_mem_word_idx": 0,
29053 "msb_mem_word_idx": 0,
29054 "match_mode": "unused",
29055 "enable_pfe": false,
29056 "field_width": 8
29057 },
29058 {
29059 "field_name": "ethernet.dst_addr",
29060 "source": "spec",
29061 "lsb_mem_word_offset": 32,
29062 "start_bit": 40,
29063 "immediate_name": "",
29064 "lsb_mem_word_idx": 0,
29065 "msb_mem_word_idx": 0,
29066 "match_mode": "unused",
29067 "enable_pfe": false,
29068 "field_width": 8
29069 },
29070 {
29071 "field_name": "fabric_metadata.original_ether_type",
29072 "source": "spec",
29073 "lsb_mem_word_offset": 40,
29074 "start_bit": 0,
29075 "immediate_name": "",
29076 "lsb_mem_word_idx": 0,
29077 "msb_mem_word_idx": 0,
29078 "match_mode": "unused",
29079 "enable_pfe": false,
29080 "field_width": 8
29081 },
29082 {
29083 "field_name": "fabric_metadata.original_ether_type",
29084 "source": "spec",
29085 "lsb_mem_word_offset": 48,
29086 "start_bit": 8,
29087 "immediate_name": "",
29088 "lsb_mem_word_idx": 0,
29089 "msb_mem_word_idx": 0,
29090 "match_mode": "unused",
29091 "enable_pfe": false,
29092 "field_width": 8
29093 },
29094 {
29095 "field_name": "ig_intr_md.ingress_port",
29096 "source": "spec",
29097 "lsb_mem_word_offset": 56,
29098 "start_bit": 0,
29099 "immediate_name": "",
29100 "lsb_mem_word_idx": 0,
29101 "msb_mem_word_idx": 0,
29102 "match_mode": "unused",
29103 "enable_pfe": false,
29104 "field_width": 8
29105 },
29106 {
29107 "start_bit": 0,
29108 "enable_pfe": false,
29109 "field_width": 2,
29110 "lsb_mem_word_idx": 0,
29111 "msb_mem_word_idx": 0,
29112 "source": "zero",
29113 "lsb_mem_word_offset": 6,
29114 "field_name": "--padding_6_7--",
29115 "match_mode": "unused"
29116 },
29117 {
29118 "start_bit": 0,
29119 "enable_pfe": false,
29120 "field_width": 1,
29121 "lsb_mem_word_idx": 0,
29122 "msb_mem_word_idx": 0,
29123 "source": "zero",
29124 "lsb_mem_word_offset": 64,
29125 "field_name": "--padding_64_64--",
29126 "match_mode": "unused"
29127 },
29128 {
29129 "start_bit": 0,
29130 "enable_pfe": false,
29131 "field_width": 40,
29132 "lsb_mem_word_idx": 0,
29133 "msb_mem_word_idx": 0,
29134 "source": "zero",
29135 "lsb_mem_word_offset": 72,
29136 "field_name": "--padding_72_111--",
29137 "match_mode": "unused"
29138 },
29139 {
29140 "start_bit": 0,
29141 "enable_pfe": false,
29142 "field_width": 12,
29143 "lsb_mem_word_idx": 0,
29144 "msb_mem_word_idx": 0,
29145 "source": "zero",
29146 "lsb_mem_word_offset": 116,
29147 "field_name": "--padding_116_127--",
29148 "match_mode": "unused"
29149 }
29150 ]
29151 }
29152 ]
29153 }
29154 ],
29155 "memory_resource_allocation": {
29156 "hash_function_id": 0,
29157 "hash_entry_bit_lo": 0,
29158 "hash_entry_bit_hi": 9,
29159 "number_entry_bits": 10,
29160 "hash_select_bit_hi": 40,
29161 "hash_select_bit_lo": 40,
29162 "number_select_bits": 0,
29163 "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
29164 }
29165 },
29166 {
29167 "stage_number": 3,
29168 "way_number": 1,
29169 "stage_table_type": "hash_way",
29170 "size": 1024,
29171 "pack_format": [
29172 {
29173 "memory_word_width": 128,
29174 "table_word_width": 128,
29175 "entries_per_table_word": 1,
29176 "number_memory_units_per_table_word": 1,
29177 "entries": [
29178 {
29179 "entry_number": 0,
29180 "fields": [
29181 {
29182 "start_bit": 0,
29183 "enable_pfe": false,
29184 "field_width": 6,
29185 "lsb_mem_word_idx": 0,
29186 "msb_mem_word_idx": 0,
29187 "source": "immediate",
29188 "lsb_mem_word_offset": 0,
29189 "field_name": "immediate",
29190 "match_mode": "unused"
29191 },
29192 {
29193 "start_bit": 0,
29194 "enable_pfe": false,
29195 "field_width": 4,
29196 "lsb_mem_word_idx": 0,
29197 "msb_mem_word_idx": 0,
29198 "source": "version",
29199 "lsb_mem_word_offset": 112,
29200 "field_name": "version",
29201 "match_mode": "s1q0"
29202 },
29203 {
29204 "field_name": "ethernet.dst_addr",
29205 "source": "spec",
29206 "lsb_mem_word_offset": 65,
29207 "start_bit": 9,
29208 "immediate_name": "",
29209 "lsb_mem_word_idx": 0,
29210 "msb_mem_word_idx": 0,
29211 "match_mode": "unused",
29212 "enable_pfe": false,
29213 "field_width": 7
29214 },
29215 {
29216 "field_name": "ethernet.dst_addr",
29217 "source": "spec",
29218 "lsb_mem_word_offset": 8,
29219 "start_bit": 16,
29220 "immediate_name": "",
29221 "lsb_mem_word_idx": 0,
29222 "msb_mem_word_idx": 0,
29223 "match_mode": "unused",
29224 "enable_pfe": false,
29225 "field_width": 8
29226 },
29227 {
29228 "field_name": "ethernet.dst_addr",
29229 "source": "spec",
29230 "lsb_mem_word_offset": 16,
29231 "start_bit": 24,
29232 "immediate_name": "",
29233 "lsb_mem_word_idx": 0,
29234 "msb_mem_word_idx": 0,
29235 "match_mode": "unused",
29236 "enable_pfe": false,
29237 "field_width": 8
29238 },
29239 {
29240 "field_name": "ethernet.dst_addr",
29241 "source": "spec",
29242 "lsb_mem_word_offset": 24,
29243 "start_bit": 32,
29244 "immediate_name": "",
29245 "lsb_mem_word_idx": 0,
29246 "msb_mem_word_idx": 0,
29247 "match_mode": "unused",
29248 "enable_pfe": false,
29249 "field_width": 8
29250 },
29251 {
29252 "field_name": "ethernet.dst_addr",
29253 "source": "spec",
29254 "lsb_mem_word_offset": 32,
29255 "start_bit": 40,
29256 "immediate_name": "",
29257 "lsb_mem_word_idx": 0,
29258 "msb_mem_word_idx": 0,
29259 "match_mode": "unused",
29260 "enable_pfe": false,
29261 "field_width": 8
29262 },
29263 {
29264 "field_name": "fabric_metadata.original_ether_type",
29265 "source": "spec",
29266 "lsb_mem_word_offset": 40,
29267 "start_bit": 0,
29268 "immediate_name": "",
29269 "lsb_mem_word_idx": 0,
29270 "msb_mem_word_idx": 0,
29271 "match_mode": "unused",
29272 "enable_pfe": false,
29273 "field_width": 8
29274 },
29275 {
29276 "field_name": "fabric_metadata.original_ether_type",
29277 "source": "spec",
29278 "lsb_mem_word_offset": 48,
29279 "start_bit": 8,
29280 "immediate_name": "",
29281 "lsb_mem_word_idx": 0,
29282 "msb_mem_word_idx": 0,
29283 "match_mode": "unused",
29284 "enable_pfe": false,
29285 "field_width": 8
29286 },
29287 {
29288 "field_name": "ig_intr_md.ingress_port",
29289 "source": "spec",
29290 "lsb_mem_word_offset": 56,
29291 "start_bit": 0,
29292 "immediate_name": "",
29293 "lsb_mem_word_idx": 0,
29294 "msb_mem_word_idx": 0,
29295 "match_mode": "unused",
29296 "enable_pfe": false,
29297 "field_width": 8
29298 },
29299 {
29300 "start_bit": 0,
29301 "enable_pfe": false,
29302 "field_width": 2,
29303 "lsb_mem_word_idx": 0,
29304 "msb_mem_word_idx": 0,
29305 "source": "zero",
29306 "lsb_mem_word_offset": 6,
29307 "field_name": "--padding_6_7--",
29308 "match_mode": "unused"
29309 },
29310 {
29311 "start_bit": 0,
29312 "enable_pfe": false,
29313 "field_width": 1,
29314 "lsb_mem_word_idx": 0,
29315 "msb_mem_word_idx": 0,
29316 "source": "zero",
29317 "lsb_mem_word_offset": 64,
29318 "field_name": "--padding_64_64--",
29319 "match_mode": "unused"
29320 },
29321 {
29322 "start_bit": 0,
29323 "enable_pfe": false,
29324 "field_width": 40,
29325 "lsb_mem_word_idx": 0,
29326 "msb_mem_word_idx": 0,
29327 "source": "zero",
29328 "lsb_mem_word_offset": 72,
29329 "field_name": "--padding_72_111--",
29330 "match_mode": "unused"
29331 },
29332 {
29333 "start_bit": 0,
29334 "enable_pfe": false,
29335 "field_width": 12,
29336 "lsb_mem_word_idx": 0,
29337 "msb_mem_word_idx": 0,
29338 "source": "zero",
29339 "lsb_mem_word_offset": 116,
29340 "field_name": "--padding_116_127--",
29341 "match_mode": "unused"
29342 }
29343 ]
29344 }
29345 ]
29346 }
29347 ],
29348 "memory_resource_allocation": {
29349 "hash_function_id": 0,
29350 "hash_entry_bit_lo": 10,
29351 "hash_entry_bit_hi": 19,
29352 "number_entry_bits": 10,
29353 "hash_select_bit_hi": 40,
29354 "hash_select_bit_lo": 40,
29355 "number_select_bits": 0,
29356 "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
29357 }
29358 },
29359 {
29360 "stage_number": 3,
29361 "way_number": 2,
29362 "stage_table_type": "hash_way",
29363 "size": 1024,
29364 "pack_format": [
29365 {
29366 "memory_word_width": 128,
29367 "table_word_width": 128,
29368 "entries_per_table_word": 1,
29369 "number_memory_units_per_table_word": 1,
29370 "entries": [
29371 {
29372 "entry_number": 0,
29373 "fields": [
29374 {
29375 "start_bit": 0,
29376 "enable_pfe": false,
29377 "field_width": 6,
29378 "lsb_mem_word_idx": 0,
29379 "msb_mem_word_idx": 0,
29380 "source": "immediate",
29381 "lsb_mem_word_offset": 0,
29382 "field_name": "immediate",
29383 "match_mode": "unused"
29384 },
29385 {
29386 "start_bit": 0,
29387 "enable_pfe": false,
29388 "field_width": 4,
29389 "lsb_mem_word_idx": 0,
29390 "msb_mem_word_idx": 0,
29391 "source": "version",
29392 "lsb_mem_word_offset": 112,
29393 "field_name": "version",
29394 "match_mode": "s1q0"
29395 },
29396 {
29397 "field_name": "ethernet.dst_addr",
29398 "source": "spec",
29399 "lsb_mem_word_offset": 65,
29400 "start_bit": 9,
29401 "immediate_name": "",
29402 "lsb_mem_word_idx": 0,
29403 "msb_mem_word_idx": 0,
29404 "match_mode": "unused",
29405 "enable_pfe": false,
29406 "field_width": 7
29407 },
29408 {
29409 "field_name": "ethernet.dst_addr",
29410 "source": "spec",
29411 "lsb_mem_word_offset": 8,
29412 "start_bit": 16,
29413 "immediate_name": "",
29414 "lsb_mem_word_idx": 0,
29415 "msb_mem_word_idx": 0,
29416 "match_mode": "unused",
29417 "enable_pfe": false,
29418 "field_width": 8
29419 },
29420 {
29421 "field_name": "ethernet.dst_addr",
29422 "source": "spec",
29423 "lsb_mem_word_offset": 16,
29424 "start_bit": 24,
29425 "immediate_name": "",
29426 "lsb_mem_word_idx": 0,
29427 "msb_mem_word_idx": 0,
29428 "match_mode": "unused",
29429 "enable_pfe": false,
29430 "field_width": 8
29431 },
29432 {
29433 "field_name": "ethernet.dst_addr",
29434 "source": "spec",
29435 "lsb_mem_word_offset": 24,
29436 "start_bit": 32,
29437 "immediate_name": "",
29438 "lsb_mem_word_idx": 0,
29439 "msb_mem_word_idx": 0,
29440 "match_mode": "unused",
29441 "enable_pfe": false,
29442 "field_width": 8
29443 },
29444 {
29445 "field_name": "ethernet.dst_addr",
29446 "source": "spec",
29447 "lsb_mem_word_offset": 32,
29448 "start_bit": 40,
29449 "immediate_name": "",
29450 "lsb_mem_word_idx": 0,
29451 "msb_mem_word_idx": 0,
29452 "match_mode": "unused",
29453 "enable_pfe": false,
29454 "field_width": 8
29455 },
29456 {
29457 "field_name": "fabric_metadata.original_ether_type",
29458 "source": "spec",
29459 "lsb_mem_word_offset": 40,
29460 "start_bit": 0,
29461 "immediate_name": "",
29462 "lsb_mem_word_idx": 0,
29463 "msb_mem_word_idx": 0,
29464 "match_mode": "unused",
29465 "enable_pfe": false,
29466 "field_width": 8
29467 },
29468 {
29469 "field_name": "fabric_metadata.original_ether_type",
29470 "source": "spec",
29471 "lsb_mem_word_offset": 48,
29472 "start_bit": 8,
29473 "immediate_name": "",
29474 "lsb_mem_word_idx": 0,
29475 "msb_mem_word_idx": 0,
29476 "match_mode": "unused",
29477 "enable_pfe": false,
29478 "field_width": 8
29479 },
29480 {
29481 "field_name": "ig_intr_md.ingress_port",
29482 "source": "spec",
29483 "lsb_mem_word_offset": 56,
29484 "start_bit": 0,
29485 "immediate_name": "",
29486 "lsb_mem_word_idx": 0,
29487 "msb_mem_word_idx": 0,
29488 "match_mode": "unused",
29489 "enable_pfe": false,
29490 "field_width": 8
29491 },
29492 {
29493 "start_bit": 0,
29494 "enable_pfe": false,
29495 "field_width": 2,
29496 "lsb_mem_word_idx": 0,
29497 "msb_mem_word_idx": 0,
29498 "source": "zero",
29499 "lsb_mem_word_offset": 6,
29500 "field_name": "--padding_6_7--",
29501 "match_mode": "unused"
29502 },
29503 {
29504 "start_bit": 0,
29505 "enable_pfe": false,
29506 "field_width": 1,
29507 "lsb_mem_word_idx": 0,
29508 "msb_mem_word_idx": 0,
29509 "source": "zero",
29510 "lsb_mem_word_offset": 64,
29511 "field_name": "--padding_64_64--",
29512 "match_mode": "unused"
29513 },
29514 {
29515 "start_bit": 0,
29516 "enable_pfe": false,
29517 "field_width": 40,
29518 "lsb_mem_word_idx": 0,
29519 "msb_mem_word_idx": 0,
29520 "source": "zero",
29521 "lsb_mem_word_offset": 72,
29522 "field_name": "--padding_72_111--",
29523 "match_mode": "unused"
29524 },
29525 {
29526 "start_bit": 0,
29527 "enable_pfe": false,
29528 "field_width": 12,
29529 "lsb_mem_word_idx": 0,
29530 "msb_mem_word_idx": 0,
29531 "source": "zero",
29532 "lsb_mem_word_offset": 116,
29533 "field_name": "--padding_116_127--",
29534 "match_mode": "unused"
29535 }
29536 ]
29537 }
29538 ]
29539 }
29540 ],
29541 "memory_resource_allocation": {
29542 "hash_function_id": 0,
29543 "hash_entry_bit_lo": 20,
29544 "hash_entry_bit_hi": 29,
29545 "number_entry_bits": 10,
29546 "hash_select_bit_hi": 40,
29547 "hash_select_bit_lo": 40,
29548 "number_select_bits": 0,
29549 "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
29550 }
29551 }
29552 ]
29553 }
29554 ],
29555 "match_type": "exact",
29556 "uses_dynamic_key_masks": false
29557 },
29558 "actions": [
29559 {
29560 "name": "filtering.set_forwarding_type",
29561 "handle": 536870922,
29562 "indirect_resources": [],
29563 "allowed_as_default_action": true,
29564 "p4_parameters": [
29565 {
29566 "name": "fwd_type",
29567 "start_bit": 0,
29568 "position": 0,
29569 "default_value": 0,
29570 "bit_width": 3
29571 }
29572 ],
29573 "override_meter_addr": false,
29574 "override_meter_addr_pfe": false,
29575 "override_meter_full_addr": 0,
29576 "override_stat_addr": false,
29577 "override_stat_addr_pfe": false,
29578 "override_stat_full_addr": 0,
29579 "override_stateful_addr": false,
29580 "override_stateful_addr_pfe": false,
29581 "override_stateful_full_addr": 0,
29582 "is_action_meter_color_aware": false,
29583 "primitives": [
29584 {
29585 "name": "ModifyFieldPrimitive",
29586 "dest": { "type": "phv", "name": "fabric_metadata.fwd_type" },
29587 "src": [
29588 { "type": "immediate", "name": "fwd_type" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080029589 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080029590 ]
29591 }
29592 ]
29593 }
29594 ]
29595 },
29596 {
29597 "direction": "ingress",
29598 "handle": 67108867,
29599 "name": "filtering.fwd_classifier_counter",
29600 "table_type": "statistics",
29601 "size": 0,
29602 "stage_tables": [
29603 {
29604 "stage_number": 3,
29605 "size": 4096,
29606 "stage_table_type": "statistics",
29607 "logical_table_id": 0,
29608 "pack_format": [
29609 {
29610 "table_word_width": 128,
29611 "memory_word_width": 128,
29612 "entries_per_table_word": 2,
29613 "number_memory_units_per_table_word": 1
29614 }
29615 ],
29616 "memory_resource_allocation": {
29617 "memory_type": "sram",
29618 "memory_units_and_vpns": [
29619 { "memory_units": [ 78 ], "vpns": [ 0 ] },
29620 { "memory_units": [ 79 ], "vpns": [ 1 ] },
29621 { "memory_units": [ 80 ], "vpns": [ 2 ] }
29622 ],
29623 "spare_bank_memory_unit": 80
29624 },
29625 "stats_alu_index": 3
29626 }
29627 ],
29628 "how_referenced": "direct",
29629 "enable_pfe": false,
29630 "pfe_bit_position": 0,
29631 "byte_counter_resolution": 36,
29632 "packet_counter_resolution": 28,
29633 "statistics_type": "packets_and_bytes"
29634 },
29635 {
29636 "direction": "ingress",
29637 "handle": 16777223,
29638 "name": "forwarding.bridging",
29639 "table_type": "match",
29640 "size": 512,
29641 "match_attributes": {
29642 "stage_tables": [
29643 {
29644 "stage_number": 4,
29645 "size": 512,
29646 "stage_table_type": "ternary_match",
29647 "logical_table_id": 0,
29648 "has_attached_gateway": true,
29649 "pack_format": [
29650 {
29651 "table_word_width": 94,
29652 "memory_word_width": 47,
29653 "entries_per_table_word": 1,
29654 "number_memory_units_per_table_word": 2,
29655 "entries": [
29656 {
29657 "entry_number": 0,
29658 "fields": [
29659 {
29660 "field_name": "--tcam_payload_1--",
29661 "lsb_mem_word_offset": 0,
29662 "lsb_mem_word_idx": 1,
29663 "msb_mem_word_idx": 1,
29664 "source": "payload",
29665 "start_bit": 0,
29666 "field_width": 1
29667 },
29668 {
29669 "field_name": "--tcam_parity_1--",
29670 "lsb_mem_word_offset": 45,
29671 "lsb_mem_word_idx": 1,
29672 "msb_mem_word_idx": 1,
29673 "source": "parity",
29674 "start_bit": 0,
29675 "field_width": 2
29676 },
29677 {
29678 "field_name": "ethernet.dst_addr",
29679 "lsb_mem_word_offset": 1,
29680 "lsb_mem_word_idx": 1,
29681 "msb_mem_word_idx": 1,
29682 "source": "spec",
29683 "start_bit": 16,
29684 "field_width": 32
29685 },
29686 {
29687 "field_name": "ethernet.dst_addr",
29688 "lsb_mem_word_offset": 33,
29689 "lsb_mem_word_idx": 1,
29690 "msb_mem_word_idx": 1,
29691 "source": "spec",
29692 "start_bit": 0,
29693 "field_width": 8
29694 },
29695 {
29696 "field_name": "--tcam_payload_0--",
29697 "lsb_mem_word_offset": 0,
29698 "lsb_mem_word_idx": 0,
29699 "msb_mem_word_idx": 0,
29700 "source": "payload",
29701 "start_bit": 0,
29702 "field_width": 1
29703 },
29704 {
29705 "field_name": "--version--",
29706 "lsb_mem_word_offset": 43,
29707 "lsb_mem_word_idx": 0,
29708 "msb_mem_word_idx": 0,
29709 "source": "version",
29710 "start_bit": 0,
29711 "field_width": 2
29712 },
29713 {
29714 "field_name": "--tcam_parity_0--",
29715 "lsb_mem_word_offset": 45,
29716 "lsb_mem_word_idx": 0,
29717 "msb_mem_word_idx": 0,
29718 "source": "parity",
29719 "start_bit": 0,
29720 "field_width": 2
29721 },
29722 {
29723 "field_name": "vlan_tag.vlan_id",
29724 "lsb_mem_word_offset": 1,
29725 "lsb_mem_word_idx": 0,
29726 "msb_mem_word_idx": 0,
29727 "source": "spec",
29728 "start_bit": 0,
29729 "field_width": 8
29730 },
29731 {
29732 "field_name": "ethernet.dst_addr",
29733 "lsb_mem_word_offset": 9,
29734 "lsb_mem_word_idx": 0,
29735 "msb_mem_word_idx": 0,
29736 "source": "spec",
29737 "start_bit": 8,
29738 "field_width": 8
29739 },
29740 {
29741 "field_name": "vlan_tag.vlan_id",
29742 "lsb_mem_word_offset": 25,
29743 "lsb_mem_word_idx": 0,
29744 "msb_mem_word_idx": 0,
29745 "source": "spec",
29746 "start_bit": 8,
29747 "field_width": 4
29748 }
29749 ]
29750 }
29751 ]
29752 }
29753 ],
29754 "memory_resource_allocation": {
29755 "memory_type": "tcam",
29756 "memory_units_and_vpns": [ { "memory_units": [ 0, 1 ], "vpns": [ 0 ] } ],
29757 "spare_bank_memory_unit": 1
29758 },
29759 "default_next_table": 0,
29760 "result_physical_buses": [ 0, 2 ],
29761 "ternary_indirection_stage_table": {
29762 "stage_number": 4,
29763 "stage_table_type": "ternary_indirection",
29764 "size": 2048,
29765 "pack_format": [
29766 {
29767 "memory_word_width": 128,
29768 "table_word_width": 128,
29769 "entries_per_table_word": 2,
29770 "number_memory_units_per_table_word": 1,
29771 "entries": [
29772 {
29773 "entry_number": 1,
29774 "fields": [
29775 {
29776 "start_bit": 0,
29777 "enable_pfe": false,
29778 "field_width": 2,
29779 "lsb_mem_word_idx": 0,
29780 "msb_mem_word_idx": 0,
29781 "source": "instr",
29782 "lsb_mem_word_offset": 64,
29783 "field_name": "action"
29784 },
29785 {
29786 "start_bit": 0,
29787 "enable_pfe": false,
29788 "field_width": 32,
29789 "lsb_mem_word_idx": 0,
29790 "msb_mem_word_idx": 0,
29791 "source": "immediate",
29792 "lsb_mem_word_offset": 66,
29793 "field_name": "immediate"
29794 },
29795 {
29796 "start_bit": 0,
29797 "enable_pfe": false,
29798 "field_width": 30,
29799 "lsb_mem_word_idx": 0,
29800 "msb_mem_word_idx": 0,
29801 "source": "zero",
29802 "lsb_mem_word_offset": 98,
29803 "field_name": "--padding_34_63--"
29804 }
29805 ]
29806 },
29807 {
29808 "entry_number": 0,
29809 "fields": [
29810 {
29811 "start_bit": 0,
29812 "enable_pfe": false,
29813 "field_width": 2,
29814 "lsb_mem_word_idx": 0,
29815 "msb_mem_word_idx": 0,
29816 "source": "instr",
29817 "lsb_mem_word_offset": 0,
29818 "field_name": "action"
29819 },
29820 {
29821 "start_bit": 0,
29822 "enable_pfe": false,
29823 "field_width": 32,
29824 "lsb_mem_word_idx": 0,
29825 "msb_mem_word_idx": 0,
29826 "source": "immediate",
29827 "lsb_mem_word_offset": 2,
29828 "field_name": "immediate"
29829 },
29830 {
29831 "start_bit": 0,
29832 "enable_pfe": false,
29833 "field_width": 30,
29834 "lsb_mem_word_idx": 0,
29835 "msb_mem_word_idx": 0,
29836 "source": "zero",
29837 "lsb_mem_word_offset": 34,
29838 "field_name": "--padding_34_63--"
29839 }
29840 ]
29841 }
29842 ]
29843 }
29844 ],
29845 "memory_resource_allocation": {
29846 "memory_type": "sram",
Carmelo Casconeecb35762018-02-03 17:30:05 -080029847 "memory_units_and_vpns": [ { "memory_units": [ 14 ], "vpns": [ 0 ] } ],
29848 "spare_bank_memory_unit": 14
Carmelo Cascone04098db2018-01-30 18:10:32 -080029849 },
29850 "action_format": [
29851 {
29852 "action_name": "NoAction",
29853 "action_handle": 536870924,
29854 "table_name": "forwarding_acl",
29855 "next_table": 0,
29856 "next_table_full": 80,
29857 "vliw_instruction": 0,
29858 "vliw_instruction_full": 65,
29859 "immediate_fields": []
29860 },
29861 {
29862 "action_name": "forwarding.set_next_id",
29863 "action_handle": 536870923,
29864 "table_name": "forwarding_acl",
29865 "next_table": 0,
29866 "next_table_full": 80,
29867 "vliw_instruction": 1,
29868 "vliw_instruction_full": 64,
29869 "immediate_fields": [
29870 {
29871 "param_name": "next_id",
29872 "param_type": "parameter",
29873 "param_shift": 0,
29874 "dest_start": 0,
29875 "dest_width": 32
29876 }
29877 ]
29878 }
29879 ]
29880 }
29881 }
29882 ],
29883 "match_type": "ternary"
29884 },
29885 "action_data_table_refs": [],
29886 "selection_table_refs": [],
29887 "meter_table_refs": [],
29888 "statistics_table_refs": [
29889 {
29890 "how_referenced": "direct",
29891 "handle": 67108868,
29892 "name": "forwarding.bridging_counter"
29893 }
29894 ],
29895 "stateful_table_refs": [],
29896 "actions": [
29897 {
29898 "name": "NoAction",
29899 "handle": 536870924,
29900 "indirect_resources": [],
29901 "allowed_as_default_action": true,
29902 "disallowed_as_default_action_reason": "",
29903 "p4_parameters": [],
29904 "override_meter_addr": false,
29905 "override_meter_addr_pfe": false,
29906 "override_meter_full_addr": 0,
29907 "override_stat_addr": false,
29908 "override_stat_addr_pfe": false,
29909 "override_stat_full_addr": 0,
29910 "override_stateful_addr": false,
29911 "override_stateful_addr_pfe": false,
29912 "override_stateful_full_addr": 0,
29913 "is_action_meter_color_aware": false,
29914 "primitives": []
29915 },
29916 {
29917 "name": "forwarding.set_next_id",
29918 "handle": 536870923,
29919 "indirect_resources": [],
29920 "allowed_as_default_action": true,
29921 "disallowed_as_default_action_reason": "",
29922 "p4_parameters": [
29923 {
29924 "name": "next_id",
29925 "start_bit": 0,
29926 "position": 0,
29927 "bit_width": 32
29928 }
29929 ],
29930 "override_meter_addr": false,
29931 "override_meter_addr_pfe": false,
29932 "override_meter_full_addr": 0,
29933 "override_stat_addr": false,
29934 "override_stat_addr_pfe": false,
29935 "override_stat_full_addr": 0,
29936 "override_stateful_addr": false,
29937 "override_stateful_addr_pfe": false,
29938 "override_stateful_full_addr": 0,
29939 "is_action_meter_color_aware": false,
29940 "primitives": [
29941 {
29942 "name": "ModifyFieldPrimitive",
29943 "dest": { "type": "phv", "name": "fabric_metadata.next_id" },
29944 "src": [ { "type": "immediate", "name": "next_id" } ]
29945 }
29946 ]
29947 }
29948 ],
29949 "default_action_handle": 536870924,
29950 "action_profile": "",
29951 "default_next_table_mask": 0,
29952 "ap_bind_indirect_res_to_match": [],
29953 "is_resource_controllable": true,
29954 "uses_range": false,
29955 "match_key_fields": [
29956 {
29957 "name": "vlan_tag.vlan_id",
29958 "position": 0,
29959 "match_type": "exact",
29960 "start_bit": 0,
29961 "bit_width": 12,
29962 "bit_width_full": 12,
29963 "is_valid": false,
29964 "instance_name": "vlan_tag",
29965 "field_name": "vlan_id"
29966 },
29967 {
29968 "name": "ethernet.dst_addr",
29969 "position": 1,
29970 "match_type": "ternary",
29971 "start_bit": 0,
29972 "bit_width": 48,
29973 "bit_width_full": 48,
29974 "is_valid": false,
29975 "instance_name": "ethernet",
29976 "field_name": "dst_addr"
29977 }
29978 ]
29979 },
29980 {
29981 "direction": "ingress",
29982 "handle": 67108868,
29983 "name": "forwarding.bridging_counter",
29984 "table_type": "statistics",
29985 "size": 0,
29986 "stage_tables": [
29987 {
29988 "stage_number": 4,
29989 "size": 2048,
29990 "stage_table_type": "statistics",
29991 "logical_table_id": 0,
29992 "pack_format": [
29993 {
29994 "table_word_width": 128,
29995 "memory_word_width": 128,
29996 "entries_per_table_word": 2,
29997 "number_memory_units_per_table_word": 1
29998 }
29999 ],
30000 "memory_resource_allocation": {
30001 "memory_type": "sram",
30002 "memory_units_and_vpns": [
Carmelo Casconeecb35762018-02-03 17:30:05 -080030003 { "memory_units": [ 54 ], "vpns": [ 0 ] },
30004 { "memory_units": [ 55 ], "vpns": [ 1 ] }
Carmelo Cascone04098db2018-01-30 18:10:32 -080030005 ],
Carmelo Casconeecb35762018-02-03 17:30:05 -080030006 "spare_bank_memory_unit": 55
Carmelo Cascone04098db2018-01-30 18:10:32 -080030007 },
Carmelo Casconeecb35762018-02-03 17:30:05 -080030008 "stats_alu_index": 2
Carmelo Cascone04098db2018-01-30 18:10:32 -080030009 }
30010 ],
30011 "how_referenced": "direct",
30012 "enable_pfe": false,
30013 "pfe_bit_position": 0,
30014 "byte_counter_resolution": 36,
30015 "packet_counter_resolution": 28,
30016 "statistics_type": "packets_and_bytes"
30017 },
30018 {
30019 "direction": "ingress",
30020 "handle": 16777224,
30021 "name": "forwarding.mpls",
30022 "table_type": "match",
30023 "size": 3072,
30024 "action_data_table_refs": [],
30025 "selection_table_refs": [],
30026 "meter_table_refs": [],
30027 "statistics_table_refs": [
30028 {
30029 "how_referenced": "direct",
30030 "handle": 67108869,
30031 "name": "forwarding.mpls_counter"
30032 }
30033 ],
30034 "stateful_table_refs": [],
30035 "default_action_handle": 536870926,
30036 "action_profile": "",
30037 "default_next_table_mask": 0,
30038 "ap_bind_indirect_res_to_match": [],
30039 "is_resource_controllable": true,
30040 "uses_range": false,
30041 "match_key_fields": [
30042 {
30043 "name": "mpls.label",
30044 "position": 0,
30045 "match_type": "exact",
30046 "start_bit": 0,
30047 "bit_width": 20,
30048 "bit_width_full": 20,
30049 "is_valid": false,
30050 "instance_name": "mpls",
30051 "field_name": "label"
30052 }
30053 ],
30054 "match_attributes": {
30055 "stage_tables": [
30056 {
30057 "stage_number": 4,
30058 "size": 3072,
30059 "stage_table_type": "hash_match",
30060 "logical_table_id": 1,
30061 "has_attached_gateway": true,
30062 "hash_functions": [
30063 {
30064 "hash_bits": [
30065 {
30066 "hash_bit": 0,
30067 "seed": 0,
30068 "bits_to_xor": [
30069 { "field_bit": 13, "field_name": "mpls.label" },
30070 { "field_bit": 14, "field_name": "mpls.label" },
30071 { "field_bit": 15, "field_name": "mpls.label" },
30072 { "field_bit": 16, "field_name": "mpls.label" },
30073 { "field_bit": 4, "field_name": "mpls.label" },
30074 { "field_bit": 10, "field_name": "mpls.label" },
30075 { "field_bit": 11, "field_name": "mpls.label" }
30076 ]
30077 },
30078 {
30079 "hash_bit": 1,
30080 "seed": 0,
30081 "bits_to_xor": [
30082 { "field_bit": 5, "field_name": "mpls.label" },
30083 { "field_bit": 11, "field_name": "mpls.label" }
30084 ]
30085 },
30086 {
30087 "hash_bit": 2,
30088 "seed": 0,
30089 "bits_to_xor": [
30090 { "field_bit": 18, "field_name": "mpls.label" },
30091 { "field_bit": 6, "field_name": "mpls.label" },
30092 { "field_bit": 11, "field_name": "mpls.label" }
30093 ]
30094 },
30095 {
30096 "hash_bit": 3,
30097 "seed": 0,
30098 "bits_to_xor": [
30099 { "field_bit": 12, "field_name": "mpls.label" },
30100 { "field_bit": 13, "field_name": "mpls.label" },
30101 { "field_bit": 14, "field_name": "mpls.label" },
30102 { "field_bit": 7, "field_name": "mpls.label" }
30103 ]
30104 },
30105 {
30106 "hash_bit": 4,
30107 "seed": 0,
30108 "bits_to_xor": [
30109 { "field_bit": 12, "field_name": "mpls.label" },
30110 { "field_bit": 13, "field_name": "mpls.label" },
30111 { "field_bit": 16, "field_name": "mpls.label" },
30112 { "field_bit": 8, "field_name": "mpls.label" }
30113 ]
30114 },
30115 {
30116 "hash_bit": 5,
30117 "seed": 0,
30118 "bits_to_xor": [
30119 { "field_bit": 12, "field_name": "mpls.label" },
30120 { "field_bit": 15, "field_name": "mpls.label" },
30121 { "field_bit": 16, "field_name": "mpls.label" },
30122 { "field_bit": 18, "field_name": "mpls.label" },
30123 { "field_bit": 9, "field_name": "mpls.label" },
30124 { "field_bit": 10, "field_name": "mpls.label" }
30125 ]
30126 },
30127 {
30128 "hash_bit": 6,
30129 "seed": 0,
30130 "bits_to_xor": [
30131 { "field_bit": 14, "field_name": "mpls.label" },
30132 { "field_bit": 15, "field_name": "mpls.label" },
30133 { "field_bit": 17, "field_name": "mpls.label" },
30134 { "field_bit": 18, "field_name": "mpls.label" },
30135 { "field_bit": 10, "field_name": "mpls.label" },
30136 { "field_bit": 11, "field_name": "mpls.label" },
30137 { "field_bit": 0, "field_name": "mpls.label" }
30138 ]
30139 },
30140 {
30141 "hash_bit": 7,
30142 "seed": 0,
30143 "bits_to_xor": [
30144 { "field_bit": 11, "field_name": "mpls.label" },
30145 { "field_bit": 1, "field_name": "mpls.label" }
30146 ]
30147 },
30148 {
30149 "hash_bit": 8,
30150 "seed": 0,
30151 "bits_to_xor": [
30152 { "field_bit": 12, "field_name": "mpls.label" },
30153 { "field_bit": 13, "field_name": "mpls.label" },
30154 { "field_bit": 14, "field_name": "mpls.label" },
30155 { "field_bit": 15, "field_name": "mpls.label" },
30156 { "field_bit": 10, "field_name": "mpls.label" },
30157 { "field_bit": 11, "field_name": "mpls.label" },
30158 { "field_bit": 2, "field_name": "mpls.label" }
30159 ]
30160 },
30161 {
30162 "hash_bit": 9,
30163 "seed": 0,
30164 "bits_to_xor": [
30165 { "field_bit": 13, "field_name": "mpls.label" },
30166 { "field_bit": 14, "field_name": "mpls.label" },
30167 { "field_bit": 15, "field_name": "mpls.label" },
30168 { "field_bit": 17, "field_name": "mpls.label" },
30169 { "field_bit": 19, "field_name": "mpls.label" },
30170 { "field_bit": 10, "field_name": "mpls.label" },
30171 { "field_bit": 11, "field_name": "mpls.label" },
30172 { "field_bit": 3, "field_name": "mpls.label" }
30173 ]
30174 },
30175 {
30176 "hash_bit": 10,
30177 "seed": 0,
30178 "bits_to_xor": [
30179 { "field_bit": 14, "field_name": "mpls.label" },
30180 { "field_bit": 15, "field_name": "mpls.label" },
30181 { "field_bit": 18, "field_name": "mpls.label" },
30182 { "field_bit": 19, "field_name": "mpls.label" },
30183 { "field_bit": 4, "field_name": "mpls.label" },
30184 { "field_bit": 11, "field_name": "mpls.label" }
30185 ]
30186 },
30187 {
30188 "hash_bit": 11,
30189 "seed": 0,
30190 "bits_to_xor": [
30191 { "field_bit": 13, "field_name": "mpls.label" },
30192 { "field_bit": 15, "field_name": "mpls.label" },
30193 { "field_bit": 16, "field_name": "mpls.label" },
30194 { "field_bit": 19, "field_name": "mpls.label" },
30195 { "field_bit": 5, "field_name": "mpls.label" },
30196 { "field_bit": 11, "field_name": "mpls.label" }
30197 ]
30198 },
30199 {
30200 "hash_bit": 12,
30201 "seed": 0,
30202 "bits_to_xor": [
30203 { "field_bit": 15, "field_name": "mpls.label" },
30204 { "field_bit": 16, "field_name": "mpls.label" },
30205 { "field_bit": 19, "field_name": "mpls.label" },
30206 { "field_bit": 6, "field_name": "mpls.label" },
30207 { "field_bit": 10, "field_name": "mpls.label" },
30208 { "field_bit": 11, "field_name": "mpls.label" }
30209 ]
30210 },
30211 {
30212 "hash_bit": 13,
30213 "seed": 0,
30214 "bits_to_xor": [
30215 { "field_bit": 13, "field_name": "mpls.label" },
30216 { "field_bit": 14, "field_name": "mpls.label" },
30217 { "field_bit": 19, "field_name": "mpls.label" },
30218 { "field_bit": 7, "field_name": "mpls.label" },
30219 { "field_bit": 10, "field_name": "mpls.label" }
30220 ]
30221 },
30222 {
30223 "hash_bit": 14,
30224 "seed": 0,
30225 "bits_to_xor": [
30226 { "field_bit": 13, "field_name": "mpls.label" },
30227 { "field_bit": 17, "field_name": "mpls.label" },
30228 { "field_bit": 18, "field_name": "mpls.label" },
30229 { "field_bit": 8, "field_name": "mpls.label" },
30230 { "field_bit": 11, "field_name": "mpls.label" }
30231 ]
30232 },
30233 {
30234 "hash_bit": 15,
30235 "seed": 0,
30236 "bits_to_xor": [
30237 { "field_bit": 12, "field_name": "mpls.label" },
30238 { "field_bit": 15, "field_name": "mpls.label" },
30239 { "field_bit": 16, "field_name": "mpls.label" },
30240 { "field_bit": 17, "field_name": "mpls.label" },
30241 { "field_bit": 18, "field_name": "mpls.label" },
30242 { "field_bit": 19, "field_name": "mpls.label" },
30243 { "field_bit": 9, "field_name": "mpls.label" },
30244 { "field_bit": 10, "field_name": "mpls.label" }
30245 ]
30246 },
30247 {
30248 "hash_bit": 16,
30249 "seed": 0,
30250 "bits_to_xor": [
30251 { "field_bit": 13, "field_name": "mpls.label" },
30252 { "field_bit": 16, "field_name": "mpls.label" },
30253 { "field_bit": 19, "field_name": "mpls.label" },
30254 { "field_bit": 11, "field_name": "mpls.label" },
30255 { "field_bit": 0, "field_name": "mpls.label" }
30256 ]
30257 },
30258 {
30259 "hash_bit": 17,
30260 "seed": 0,
30261 "bits_to_xor": [
30262 { "field_bit": 16, "field_name": "mpls.label" },
30263 { "field_bit": 18, "field_name": "mpls.label" },
30264 { "field_bit": 10, "field_name": "mpls.label" },
30265 { "field_bit": 11, "field_name": "mpls.label" },
30266 { "field_bit": 1, "field_name": "mpls.label" }
30267 ]
30268 },
30269 {
30270 "hash_bit": 18,
30271 "seed": 0,
30272 "bits_to_xor": [
30273 { "field_bit": 12, "field_name": "mpls.label" },
30274 { "field_bit": 14, "field_name": "mpls.label" },
30275 { "field_bit": 15, "field_name": "mpls.label" },
30276 { "field_bit": 18, "field_name": "mpls.label" },
30277 { "field_bit": 19, "field_name": "mpls.label" },
30278 { "field_bit": 10, "field_name": "mpls.label" },
30279 { "field_bit": 2, "field_name": "mpls.label" }
30280 ]
30281 },
30282 {
30283 "hash_bit": 19,
30284 "seed": 0,
30285 "bits_to_xor": [
30286 { "field_bit": 13, "field_name": "mpls.label" },
30287 { "field_bit": 14, "field_name": "mpls.label" },
30288 { "field_bit": 16, "field_name": "mpls.label" },
30289 { "field_bit": 17, "field_name": "mpls.label" },
30290 { "field_bit": 19, "field_name": "mpls.label" },
30291 { "field_bit": 3, "field_name": "mpls.label" }
30292 ]
30293 },
30294 {
30295 "hash_bit": 20,
30296 "seed": 0,
30297 "bits_to_xor": [
30298 { "field_bit": 14, "field_name": "mpls.label" },
30299 { "field_bit": 18, "field_name": "mpls.label" },
30300 { "field_bit": 19, "field_name": "mpls.label" },
30301 { "field_bit": 4, "field_name": "mpls.label" }
30302 ]
30303 },
30304 {
30305 "hash_bit": 21,
30306 "seed": 0,
30307 "bits_to_xor": [
30308 { "field_bit": 13, "field_name": "mpls.label" },
30309 { "field_bit": 15, "field_name": "mpls.label" },
30310 { "field_bit": 16, "field_name": "mpls.label" },
30311 { "field_bit": 18, "field_name": "mpls.label" },
30312 { "field_bit": 5, "field_name": "mpls.label" }
30313 ]
30314 },
30315 {
30316 "hash_bit": 22,
30317 "seed": 0,
30318 "bits_to_xor": [
30319 { "field_bit": 15, "field_name": "mpls.label" },
30320 { "field_bit": 17, "field_name": "mpls.label" },
30321 { "field_bit": 6, "field_name": "mpls.label" },
30322 { "field_bit": 10, "field_name": "mpls.label" },
30323 { "field_bit": 11, "field_name": "mpls.label" }
30324 ]
30325 },
30326 {
30327 "hash_bit": 23,
30328 "seed": 0,
30329 "bits_to_xor": [
30330 { "field_bit": 12, "field_name": "mpls.label" },
30331 { "field_bit": 13, "field_name": "mpls.label" },
30332 { "field_bit": 14, "field_name": "mpls.label" },
30333 { "field_bit": 19, "field_name": "mpls.label" },
30334 { "field_bit": 7, "field_name": "mpls.label" },
30335 { "field_bit": 10, "field_name": "mpls.label" }
30336 ]
30337 },
30338 {
30339 "hash_bit": 24,
30340 "seed": 0,
30341 "bits_to_xor": [
30342 { "field_bit": 12, "field_name": "mpls.label" },
30343 { "field_bit": 14, "field_name": "mpls.label" },
30344 { "field_bit": 15, "field_name": "mpls.label" },
30345 { "field_bit": 16, "field_name": "mpls.label" },
30346 { "field_bit": 19, "field_name": "mpls.label" },
30347 { "field_bit": 8, "field_name": "mpls.label" }
30348 ]
30349 },
30350 {
30351 "hash_bit": 25,
30352 "seed": 0,
30353 "bits_to_xor": [
30354 { "field_bit": 12, "field_name": "mpls.label" },
30355 { "field_bit": 15, "field_name": "mpls.label" },
30356 { "field_bit": 18, "field_name": "mpls.label" },
30357 { "field_bit": 9, "field_name": "mpls.label" }
30358 ]
30359 },
30360 {
30361 "hash_bit": 26,
30362 "seed": 0,
30363 "bits_to_xor": [
30364 { "field_bit": 12, "field_name": "mpls.label" },
30365 { "field_bit": 13, "field_name": "mpls.label" },
30366 { "field_bit": 14, "field_name": "mpls.label" },
30367 { "field_bit": 15, "field_name": "mpls.label" },
30368 { "field_bit": 16, "field_name": "mpls.label" },
30369 { "field_bit": 17, "field_name": "mpls.label" },
30370 { "field_bit": 18, "field_name": "mpls.label" },
30371 { "field_bit": 19, "field_name": "mpls.label" },
30372 { "field_bit": 0, "field_name": "mpls.label" }
30373 ]
30374 },
30375 {
30376 "hash_bit": 27,
30377 "seed": 0,
30378 "bits_to_xor": [
30379 { "field_bit": 12, "field_name": "mpls.label" },
30380 { "field_bit": 13, "field_name": "mpls.label" },
30381 { "field_bit": 15, "field_name": "mpls.label" },
30382 { "field_bit": 16, "field_name": "mpls.label" },
30383 { "field_bit": 18, "field_name": "mpls.label" },
30384 { "field_bit": 19, "field_name": "mpls.label" },
30385 { "field_bit": 10, "field_name": "mpls.label" },
30386 { "field_bit": 1, "field_name": "mpls.label" }
30387 ]
30388 },
30389 {
30390 "hash_bit": 28,
30391 "seed": 0,
30392 "bits_to_xor": [
30393 { "field_bit": 12, "field_name": "mpls.label" },
30394 { "field_bit": 15, "field_name": "mpls.label" },
30395 { "field_bit": 18, "field_name": "mpls.label" },
30396 { "field_bit": 19, "field_name": "mpls.label" },
30397 { "field_bit": 10, "field_name": "mpls.label" },
30398 { "field_bit": 11, "field_name": "mpls.label" },
30399 { "field_bit": 2, "field_name": "mpls.label" }
30400 ]
30401 },
30402 {
30403 "hash_bit": 29,
30404 "seed": 0,
30405 "bits_to_xor": [
30406 { "field_bit": 12, "field_name": "mpls.label" },
30407 { "field_bit": 14, "field_name": "mpls.label" },
30408 { "field_bit": 16, "field_name": "mpls.label" },
30409 { "field_bit": 3, "field_name": "mpls.label" }
30410 ]
30411 }
30412 ]
30413 }
30414 ],
30415 "action_format": [
30416 {
30417 "action_name": "NoAction",
30418 "action_handle": 536870926,
30419 "table_name": "tbl_act_9",
30420 "next_table": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -080030421 "next_table_full": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -080030422 "vliw_instruction": 0,
30423 "vliw_instruction_full": 65,
30424 "immediate_fields": []
30425 },
30426 {
30427 "action_name": "forwarding.pop_mpls_and_next",
30428 "action_handle": 536870925,
30429 "table_name": "tbl_act_9",
30430 "next_table": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -080030431 "next_table_full": 66,
Carmelo Cascone04098db2018-01-30 18:10:32 -080030432 "vliw_instruction": 1,
30433 "vliw_instruction_full": 66,
30434 "immediate_fields": [
30435 {
30436 "param_name": "next_id",
30437 "param_type": "parameter",
30438 "param_shift": 0,
30439 "dest_start": 0,
30440 "dest_width": 32
30441 }
30442 ]
30443 }
30444 ],
Carmelo Casconeecb35762018-02-03 17:30:05 -080030445 "result_physical_buses": [ 12, 14 ],
Carmelo Cascone04098db2018-01-30 18:10:32 -080030446 "pack_format": [
30447 {
30448 "memory_word_width": 128,
30449 "table_word_width": 128,
30450 "entries_per_table_word": 1,
30451 "number_memory_units_per_table_word": 1
30452 }
30453 ],
30454 "memory_resource_allocation": null,
30455 "ways": [
30456 {
30457 "stage_number": 4,
30458 "way_number": 0,
30459 "stage_table_type": "hash_way",
30460 "size": 1024,
30461 "pack_format": [
30462 {
30463 "memory_word_width": 128,
30464 "table_word_width": 128,
30465 "entries_per_table_word": 1,
30466 "number_memory_units_per_table_word": 1,
30467 "entries": [
30468 {
30469 "entry_number": 0,
30470 "fields": [
30471 {
30472 "start_bit": 0,
30473 "enable_pfe": false,
30474 "field_width": 2,
30475 "lsb_mem_word_idx": 0,
30476 "msb_mem_word_idx": 0,
30477 "source": "instr",
30478 "lsb_mem_word_offset": 0,
30479 "field_name": "action",
30480 "match_mode": "unused"
30481 },
30482 {
30483 "start_bit": 0,
30484 "enable_pfe": false,
30485 "field_width": 32,
30486 "lsb_mem_word_idx": 0,
30487 "msb_mem_word_idx": 0,
30488 "source": "immediate",
30489 "lsb_mem_word_offset": 2,
30490 "field_name": "immediate",
30491 "match_mode": "unused"
30492 },
30493 {
30494 "start_bit": 0,
30495 "enable_pfe": false,
30496 "field_width": 4,
30497 "lsb_mem_word_idx": 0,
30498 "msb_mem_word_idx": 0,
30499 "source": "version",
30500 "lsb_mem_word_offset": 112,
30501 "field_name": "version",
30502 "match_mode": "s1q0"
30503 },
30504 {
30505 "field_name": "mpls.label",
30506 "source": "spec",
30507 "lsb_mem_word_offset": 38,
30508 "start_bit": 10,
30509 "immediate_name": "",
30510 "lsb_mem_word_idx": 0,
30511 "msb_mem_word_idx": 0,
30512 "match_mode": "unused",
30513 "enable_pfe": false,
30514 "field_width": 2
30515 },
30516 {
30517 "field_name": "mpls.label",
30518 "source": "spec",
30519 "lsb_mem_word_offset": 40,
30520 "start_bit": 12,
30521 "immediate_name": "",
30522 "lsb_mem_word_idx": 0,
30523 "msb_mem_word_idx": 0,
30524 "match_mode": "unused",
30525 "enable_pfe": false,
30526 "field_width": 8
30527 },
30528 {
30529 "start_bit": 0,
30530 "enable_pfe": false,
30531 "field_width": 4,
30532 "lsb_mem_word_idx": 0,
30533 "msb_mem_word_idx": 0,
30534 "source": "zero",
30535 "lsb_mem_word_offset": 34,
30536 "field_name": "--padding_34_37--",
30537 "match_mode": "unused"
30538 },
30539 {
30540 "start_bit": 0,
30541 "enable_pfe": false,
30542 "field_width": 64,
30543 "lsb_mem_word_idx": 0,
30544 "msb_mem_word_idx": 0,
30545 "source": "zero",
30546 "lsb_mem_word_offset": 48,
30547 "field_name": "--padding_48_111--",
30548 "match_mode": "unused"
30549 },
30550 {
30551 "start_bit": 0,
30552 "enable_pfe": false,
30553 "field_width": 12,
30554 "lsb_mem_word_idx": 0,
30555 "msb_mem_word_idx": 0,
30556 "source": "zero",
30557 "lsb_mem_word_offset": 116,
30558 "field_name": "--padding_116_127--",
30559 "match_mode": "unused"
30560 }
30561 ]
30562 }
30563 ]
30564 }
30565 ],
30566 "memory_resource_allocation": {
30567 "hash_function_id": 0,
30568 "hash_entry_bit_lo": 0,
30569 "hash_entry_bit_hi": 9,
30570 "number_entry_bits": 10,
30571 "hash_select_bit_hi": 40,
30572 "hash_select_bit_lo": 40,
30573 "number_select_bits": 0,
30574 "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
30575 }
30576 },
30577 {
30578 "stage_number": 4,
30579 "way_number": 1,
30580 "stage_table_type": "hash_way",
30581 "size": 1024,
30582 "pack_format": [
30583 {
30584 "memory_word_width": 128,
30585 "table_word_width": 128,
30586 "entries_per_table_word": 1,
30587 "number_memory_units_per_table_word": 1,
30588 "entries": [
30589 {
30590 "entry_number": 0,
30591 "fields": [
30592 {
30593 "start_bit": 0,
30594 "enable_pfe": false,
30595 "field_width": 2,
30596 "lsb_mem_word_idx": 0,
30597 "msb_mem_word_idx": 0,
30598 "source": "instr",
30599 "lsb_mem_word_offset": 0,
30600 "field_name": "action",
30601 "match_mode": "unused"
30602 },
30603 {
30604 "start_bit": 0,
30605 "enable_pfe": false,
30606 "field_width": 32,
30607 "lsb_mem_word_idx": 0,
30608 "msb_mem_word_idx": 0,
30609 "source": "immediate",
30610 "lsb_mem_word_offset": 2,
30611 "field_name": "immediate",
30612 "match_mode": "unused"
30613 },
30614 {
30615 "start_bit": 0,
30616 "enable_pfe": false,
30617 "field_width": 4,
30618 "lsb_mem_word_idx": 0,
30619 "msb_mem_word_idx": 0,
30620 "source": "version",
30621 "lsb_mem_word_offset": 112,
30622 "field_name": "version",
30623 "match_mode": "s1q0"
30624 },
30625 {
30626 "field_name": "mpls.label",
30627 "source": "spec",
30628 "lsb_mem_word_offset": 38,
30629 "start_bit": 10,
30630 "immediate_name": "",
30631 "lsb_mem_word_idx": 0,
30632 "msb_mem_word_idx": 0,
30633 "match_mode": "unused",
30634 "enable_pfe": false,
30635 "field_width": 2
30636 },
30637 {
30638 "field_name": "mpls.label",
30639 "source": "spec",
30640 "lsb_mem_word_offset": 40,
30641 "start_bit": 12,
30642 "immediate_name": "",
30643 "lsb_mem_word_idx": 0,
30644 "msb_mem_word_idx": 0,
30645 "match_mode": "unused",
30646 "enable_pfe": false,
30647 "field_width": 8
30648 },
30649 {
30650 "start_bit": 0,
30651 "enable_pfe": false,
30652 "field_width": 4,
30653 "lsb_mem_word_idx": 0,
30654 "msb_mem_word_idx": 0,
30655 "source": "zero",
30656 "lsb_mem_word_offset": 34,
30657 "field_name": "--padding_34_37--",
30658 "match_mode": "unused"
30659 },
30660 {
30661 "start_bit": 0,
30662 "enable_pfe": false,
30663 "field_width": 64,
30664 "lsb_mem_word_idx": 0,
30665 "msb_mem_word_idx": 0,
30666 "source": "zero",
30667 "lsb_mem_word_offset": 48,
30668 "field_name": "--padding_48_111--",
30669 "match_mode": "unused"
30670 },
30671 {
30672 "start_bit": 0,
30673 "enable_pfe": false,
30674 "field_width": 12,
30675 "lsb_mem_word_idx": 0,
30676 "msb_mem_word_idx": 0,
30677 "source": "zero",
30678 "lsb_mem_word_offset": 116,
30679 "field_name": "--padding_116_127--",
30680 "match_mode": "unused"
30681 }
30682 ]
30683 }
30684 ]
30685 }
30686 ],
30687 "memory_resource_allocation": {
30688 "hash_function_id": 0,
30689 "hash_entry_bit_lo": 10,
30690 "hash_entry_bit_hi": 19,
30691 "number_entry_bits": 10,
30692 "hash_select_bit_hi": 40,
30693 "hash_select_bit_lo": 40,
30694 "number_select_bits": 0,
30695 "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
30696 }
30697 },
30698 {
30699 "stage_number": 4,
30700 "way_number": 2,
30701 "stage_table_type": "hash_way",
30702 "size": 1024,
30703 "pack_format": [
30704 {
30705 "memory_word_width": 128,
30706 "table_word_width": 128,
30707 "entries_per_table_word": 1,
30708 "number_memory_units_per_table_word": 1,
30709 "entries": [
30710 {
30711 "entry_number": 0,
30712 "fields": [
30713 {
30714 "start_bit": 0,
30715 "enable_pfe": false,
30716 "field_width": 2,
30717 "lsb_mem_word_idx": 0,
30718 "msb_mem_word_idx": 0,
30719 "source": "instr",
30720 "lsb_mem_word_offset": 0,
30721 "field_name": "action",
30722 "match_mode": "unused"
30723 },
30724 {
30725 "start_bit": 0,
30726 "enable_pfe": false,
30727 "field_width": 32,
30728 "lsb_mem_word_idx": 0,
30729 "msb_mem_word_idx": 0,
30730 "source": "immediate",
30731 "lsb_mem_word_offset": 2,
30732 "field_name": "immediate",
30733 "match_mode": "unused"
30734 },
30735 {
30736 "start_bit": 0,
30737 "enable_pfe": false,
30738 "field_width": 4,
30739 "lsb_mem_word_idx": 0,
30740 "msb_mem_word_idx": 0,
30741 "source": "version",
30742 "lsb_mem_word_offset": 112,
30743 "field_name": "version",
30744 "match_mode": "s1q0"
30745 },
30746 {
30747 "field_name": "mpls.label",
30748 "source": "spec",
30749 "lsb_mem_word_offset": 38,
30750 "start_bit": 10,
30751 "immediate_name": "",
30752 "lsb_mem_word_idx": 0,
30753 "msb_mem_word_idx": 0,
30754 "match_mode": "unused",
30755 "enable_pfe": false,
30756 "field_width": 2
30757 },
30758 {
30759 "field_name": "mpls.label",
30760 "source": "spec",
30761 "lsb_mem_word_offset": 40,
30762 "start_bit": 12,
30763 "immediate_name": "",
30764 "lsb_mem_word_idx": 0,
30765 "msb_mem_word_idx": 0,
30766 "match_mode": "unused",
30767 "enable_pfe": false,
30768 "field_width": 8
30769 },
30770 {
30771 "start_bit": 0,
30772 "enable_pfe": false,
30773 "field_width": 4,
30774 "lsb_mem_word_idx": 0,
30775 "msb_mem_word_idx": 0,
30776 "source": "zero",
30777 "lsb_mem_word_offset": 34,
30778 "field_name": "--padding_34_37--",
30779 "match_mode": "unused"
30780 },
30781 {
30782 "start_bit": 0,
30783 "enable_pfe": false,
30784 "field_width": 64,
30785 "lsb_mem_word_idx": 0,
30786 "msb_mem_word_idx": 0,
30787 "source": "zero",
30788 "lsb_mem_word_offset": 48,
30789 "field_name": "--padding_48_111--",
30790 "match_mode": "unused"
30791 },
30792 {
30793 "start_bit": 0,
30794 "enable_pfe": false,
30795 "field_width": 12,
30796 "lsb_mem_word_idx": 0,
30797 "msb_mem_word_idx": 0,
30798 "source": "zero",
30799 "lsb_mem_word_offset": 116,
30800 "field_name": "--padding_116_127--",
30801 "match_mode": "unused"
30802 }
30803 ]
30804 }
30805 ]
30806 }
30807 ],
30808 "memory_resource_allocation": {
30809 "hash_function_id": 0,
30810 "hash_entry_bit_lo": 20,
30811 "hash_entry_bit_hi": 29,
30812 "number_entry_bits": 10,
30813 "hash_select_bit_hi": 40,
30814 "hash_select_bit_lo": 40,
30815 "number_select_bits": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -080030816 "memory_units_and_vpns": [ { "memory_units": [ 74 ], "vpns": [ 2 ] } ]
Carmelo Cascone04098db2018-01-30 18:10:32 -080030817 }
30818 }
30819 ]
30820 }
30821 ],
30822 "match_type": "exact",
30823 "uses_dynamic_key_masks": false
30824 },
30825 "actions": [
30826 {
30827 "name": "NoAction",
30828 "handle": 536870926,
30829 "indirect_resources": [],
30830 "allowed_as_default_action": true,
30831 "p4_parameters": [],
30832 "override_meter_addr": false,
30833 "override_meter_addr_pfe": false,
30834 "override_meter_full_addr": 0,
30835 "override_stat_addr": false,
30836 "override_stat_addr_pfe": false,
30837 "override_stat_full_addr": 0,
30838 "override_stateful_addr": false,
30839 "override_stateful_addr_pfe": false,
30840 "override_stateful_full_addr": 0,
30841 "is_action_meter_color_aware": false,
30842 "primitives": []
30843 },
30844 {
30845 "name": "forwarding.pop_mpls_and_next",
30846 "handle": 536870925,
30847 "indirect_resources": [],
30848 "allowed_as_default_action": true,
30849 "p4_parameters": [
30850 {
30851 "name": "next_id",
30852 "start_bit": 0,
30853 "position": 0,
30854 "bit_width": 32
30855 }
30856 ],
30857 "override_meter_addr": false,
30858 "override_meter_addr_pfe": false,
30859 "override_meter_full_addr": 0,
30860 "override_stat_addr": false,
30861 "override_stat_addr_pfe": false,
30862 "override_stat_full_addr": 0,
30863 "override_stateful_addr": false,
30864 "override_stateful_addr_pfe": false,
30865 "override_stateful_full_addr": 0,
30866 "is_action_meter_color_aware": false,
30867 "primitives": [
30868 {
30869 "name": "ModifyFieldPrimitive",
30870 "dest": { "type": "phv", "name": "mpls.$valid" },
30871 "src": [
30872 { "type": "immmediate", "name": "0" },
30873 { "type": "phv", "name": "B7" }
30874 ]
30875 },
30876 {
30877 "name": "ModifyFieldPrimitive",
30878 "dest": { "type": "phv", "name": "fabric_metadata.next_id" },
30879 "src": [ { "type": "immediate", "name": "next_id" } ]
30880 }
30881 ]
30882 }
30883 ]
30884 },
30885 {
30886 "direction": "ingress",
30887 "handle": 67108869,
30888 "name": "forwarding.mpls_counter",
30889 "table_type": "statistics",
30890 "size": 0,
30891 "stage_tables": [
30892 {
30893 "stage_number": 4,
30894 "size": 4096,
30895 "stage_table_type": "statistics",
30896 "logical_table_id": 1,
30897 "pack_format": [
30898 {
30899 "table_word_width": 128,
30900 "memory_word_width": 128,
30901 "entries_per_table_word": 2,
30902 "number_memory_units_per_table_word": 1
30903 }
30904 ],
30905 "memory_resource_allocation": {
30906 "memory_type": "sram",
30907 "memory_units_and_vpns": [
30908 { "memory_units": [ 78 ], "vpns": [ 0 ] },
30909 { "memory_units": [ 79 ], "vpns": [ 1 ] },
30910 { "memory_units": [ 80 ], "vpns": [ 2 ] }
30911 ],
30912 "spare_bank_memory_unit": 80
30913 },
30914 "stats_alu_index": 3
30915 }
30916 ],
30917 "how_referenced": "direct",
30918 "enable_pfe": false,
30919 "pfe_bit_position": 0,
30920 "byte_counter_resolution": 36,
30921 "packet_counter_resolution": 28,
30922 "statistics_type": "packets_and_bytes"
30923 },
30924 {
30925 "direction": "ingress",
30926 "handle": 16777225,
30927 "name": "tbl_act_1",
30928 "table_type": "match",
30929 "size": 1,
30930 "preferred_match_type": "exact",
30931 "match_attributes": {
30932 "stage_tables": [
30933 {
30934 "stage_number": 4,
30935 "size": 1,
30936 "stage_table_type": "match_with_no_key",
Carmelo Casconeecb35762018-02-03 17:30:05 -080030937 "logical_table_id": 2,
Carmelo Cascone04098db2018-01-30 18:10:32 -080030938 "has_attached_gateway": true,
30939 "memory_resource_allocation": null,
30940 "default_next_table": 255,
30941 "pack_format": [
30942 {
30943 "table_word_width": 0,
30944 "memory_word_width": 0,
30945 "entries_per_table_word": 1,
30946 "number_memory_units_per_table_word": 0
30947 }
30948 ],
30949 "result_physical_buses": [ 0 ],
30950 "action_format": [
30951 {
30952 "action_name": "act_1",
30953 "action_handle": 536870927,
30954 "table_name": "forwarding_acl",
30955 "next_table": 0,
30956 "next_table_full": 80,
30957 "vliw_instruction": 1,
30958 "vliw_instruction_full": 67,
30959 "immediate_fields": []
30960 }
30961 ],
30962 "hash_functions": []
30963 }
30964 ],
30965 "match_type": "match_with_no_key",
30966 "uses_dynamic_key_masks": false
30967 },
30968 "actions": [
30969 {
30970 "name": "act_1",
30971 "handle": 536870927,
30972 "indirect_resources": [],
30973 "allowed_as_default_action": true,
30974 "disallowed_as_default_action_reason": "",
30975 "p4_parameters": [],
30976 "override_meter_addr": false,
30977 "override_meter_addr_pfe": false,
30978 "override_meter_full_addr": 0,
30979 "override_stat_addr": false,
30980 "override_stat_addr_pfe": false,
30981 "override_stat_full_addr": 0,
30982 "override_stateful_addr": false,
30983 "override_stateful_addr_pfe": false,
30984 "override_stateful_full_addr": 0,
30985 "is_action_meter_color_aware": false,
30986 "primitives": [
30987 {
30988 "name": "ModifyFieldPrimitive",
30989 "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
30990 "src": [ { "immediate": "2048" } ]
30991 },
30992 {
30993 "name": "ModifyFieldPrimitive",
30994 "dest": { "type": "phv", "name": "fabric_metadata.original_ether_type" },
30995 "src": [ { "immediate": "2048" } ]
30996 }
30997 ]
30998 }
30999 ],
31000 "default_action_handle": 536870927,
31001 "action_profile": "",
31002 "default_next_table_mask": 0,
31003 "ap_bind_indirect_res_to_match": [],
31004 "is_resource_controllable": true,
31005 "uses_range": false,
31006 "match_key_fields": [],
31007 "performs_hash_action": false,
31008 "action_data_table_refs": [],
31009 "selection_table_refs": [],
31010 "meter_table_refs": [],
31011 "statistics_table_refs": [],
31012 "stateful_table_refs": []
31013 },
31014 {
31015 "direction": "ingress",
31016 "handle": 16777226,
31017 "name": "forwarding.unicast_v4",
31018 "table_type": "match",
31019 "size": 512,
31020 "match_attributes": {
31021 "stage_tables": [
31022 {
31023 "stage_number": 4,
31024 "size": 512,
31025 "stage_table_type": "ternary_match",
Carmelo Casconeecb35762018-02-03 17:30:05 -080031026 "logical_table_id": 3,
Carmelo Cascone04098db2018-01-30 18:10:32 -080031027 "has_attached_gateway": true,
31028 "pack_format": [
31029 {
31030 "table_word_width": 47,
31031 "memory_word_width": 47,
31032 "entries_per_table_word": 1,
31033 "number_memory_units_per_table_word": 1,
31034 "entries": [
31035 {
31036 "entry_number": 0,
31037 "fields": [
31038 {
31039 "field_name": "--tcam_payload_0--",
31040 "lsb_mem_word_offset": 0,
31041 "lsb_mem_word_idx": 0,
31042 "msb_mem_word_idx": 0,
31043 "source": "payload",
31044 "start_bit": 0,
31045 "field_width": 1
31046 },
31047 {
31048 "field_name": "--version--",
31049 "lsb_mem_word_offset": 43,
31050 "lsb_mem_word_idx": 0,
31051 "msb_mem_word_idx": 0,
31052 "source": "version",
31053 "start_bit": 0,
31054 "field_width": 2
31055 },
31056 {
31057 "field_name": "--tcam_parity_0--",
31058 "lsb_mem_word_offset": 45,
31059 "lsb_mem_word_idx": 0,
31060 "msb_mem_word_idx": 0,
31061 "source": "parity",
31062 "start_bit": 0,
31063 "field_width": 2
31064 },
31065 {
31066 "field_name": "ipv4.dst_addr",
31067 "lsb_mem_word_offset": 1,
31068 "lsb_mem_word_idx": 0,
31069 "msb_mem_word_idx": 0,
31070 "source": "spec",
31071 "start_bit": 24,
31072 "field_width": 8
31073 },
31074 {
31075 "field_name": "ipv4.dst_addr",
31076 "lsb_mem_word_offset": 9,
31077 "lsb_mem_word_idx": 0,
31078 "msb_mem_word_idx": 0,
31079 "source": "spec",
31080 "start_bit": 0,
31081 "field_width": 24
31082 }
31083 ]
31084 }
31085 ]
31086 }
31087 ],
31088 "memory_resource_allocation": {
31089 "memory_type": "tcam",
Carmelo Casconeecb35762018-02-03 17:30:05 -080031090 "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
31091 "spare_bank_memory_unit": 2
Carmelo Cascone04098db2018-01-30 18:10:32 -080031092 },
31093 "default_next_table": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -080031094 "result_physical_buses": [ 4 ],
Carmelo Cascone04098db2018-01-30 18:10:32 -080031095 "ternary_indirection_stage_table": {
31096 "stage_number": 4,
31097 "stage_table_type": "ternary_indirection",
31098 "size": 2048,
31099 "pack_format": [
31100 {
31101 "memory_word_width": 128,
31102 "table_word_width": 128,
31103 "entries_per_table_word": 2,
31104 "number_memory_units_per_table_word": 1,
31105 "entries": [
31106 {
31107 "entry_number": 1,
31108 "fields": [
31109 {
31110 "start_bit": 0,
31111 "enable_pfe": false,
31112 "field_width": 2,
31113 "lsb_mem_word_idx": 0,
31114 "msb_mem_word_idx": 0,
31115 "source": "instr",
31116 "lsb_mem_word_offset": 64,
31117 "field_name": "action"
31118 },
31119 {
31120 "start_bit": 0,
31121 "enable_pfe": false,
31122 "field_width": 32,
31123 "lsb_mem_word_idx": 0,
31124 "msb_mem_word_idx": 0,
31125 "source": "immediate",
31126 "lsb_mem_word_offset": 66,
31127 "field_name": "immediate"
31128 },
31129 {
31130 "start_bit": 0,
31131 "enable_pfe": false,
31132 "field_width": 30,
31133 "lsb_mem_word_idx": 0,
31134 "msb_mem_word_idx": 0,
31135 "source": "zero",
31136 "lsb_mem_word_offset": 98,
31137 "field_name": "--padding_34_63--"
31138 }
31139 ]
31140 },
31141 {
31142 "entry_number": 0,
31143 "fields": [
31144 {
31145 "start_bit": 0,
31146 "enable_pfe": false,
31147 "field_width": 2,
31148 "lsb_mem_word_idx": 0,
31149 "msb_mem_word_idx": 0,
31150 "source": "instr",
31151 "lsb_mem_word_offset": 0,
31152 "field_name": "action"
31153 },
31154 {
31155 "start_bit": 0,
31156 "enable_pfe": false,
31157 "field_width": 32,
31158 "lsb_mem_word_idx": 0,
31159 "msb_mem_word_idx": 0,
31160 "source": "immediate",
31161 "lsb_mem_word_offset": 2,
31162 "field_name": "immediate"
31163 },
31164 {
31165 "start_bit": 0,
31166 "enable_pfe": false,
31167 "field_width": 30,
31168 "lsb_mem_word_idx": 0,
31169 "msb_mem_word_idx": 0,
31170 "source": "zero",
31171 "lsb_mem_word_offset": 34,
31172 "field_name": "--padding_34_63--"
31173 }
31174 ]
31175 }
31176 ]
31177 }
31178 ],
31179 "memory_resource_allocation": {
31180 "memory_type": "sram",
Carmelo Casconeecb35762018-02-03 17:30:05 -080031181 "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
31182 "spare_bank_memory_unit": 2
Carmelo Cascone04098db2018-01-30 18:10:32 -080031183 },
31184 "action_format": [
31185 {
31186 "action_name": "NoAction",
31187 "action_handle": 536870929,
31188 "table_name": "forwarding_acl",
31189 "next_table": 0,
31190 "next_table_full": 80,
31191 "vliw_instruction": 0,
31192 "vliw_instruction_full": 65,
31193 "immediate_fields": []
31194 },
31195 {
31196 "action_name": "forwarding.set_next_id",
31197 "action_handle": 536870928,
31198 "table_name": "forwarding_acl",
31199 "next_table": 0,
31200 "next_table_full": 80,
31201 "vliw_instruction": 1,
31202 "vliw_instruction_full": 68,
31203 "immediate_fields": [
31204 {
31205 "param_name": "next_id",
31206 "param_type": "parameter",
31207 "param_shift": 0,
31208 "dest_start": 0,
31209 "dest_width": 32
31210 }
31211 ]
31212 }
31213 ]
31214 }
31215 }
31216 ],
31217 "match_type": "ternary"
31218 },
31219 "action_data_table_refs": [],
31220 "selection_table_refs": [],
31221 "meter_table_refs": [],
31222 "statistics_table_refs": [
31223 {
31224 "how_referenced": "direct",
31225 "handle": 67108870,
31226 "name": "forwarding.unicast_v4_counter"
31227 }
31228 ],
31229 "stateful_table_refs": [],
31230 "actions": [
31231 {
31232 "name": "NoAction",
31233 "handle": 536870929,
31234 "indirect_resources": [],
31235 "allowed_as_default_action": true,
31236 "disallowed_as_default_action_reason": "",
31237 "p4_parameters": [],
31238 "override_meter_addr": false,
31239 "override_meter_addr_pfe": false,
31240 "override_meter_full_addr": 0,
31241 "override_stat_addr": false,
31242 "override_stat_addr_pfe": false,
31243 "override_stat_full_addr": 0,
31244 "override_stateful_addr": false,
31245 "override_stateful_addr_pfe": false,
31246 "override_stateful_full_addr": 0,
31247 "is_action_meter_color_aware": false,
31248 "primitives": []
31249 },
31250 {
31251 "name": "forwarding.set_next_id",
31252 "handle": 536870928,
31253 "indirect_resources": [],
31254 "allowed_as_default_action": true,
31255 "disallowed_as_default_action_reason": "",
31256 "p4_parameters": [
31257 {
31258 "name": "next_id",
31259 "start_bit": 0,
31260 "position": 0,
31261 "bit_width": 32
31262 }
31263 ],
31264 "override_meter_addr": false,
31265 "override_meter_addr_pfe": false,
31266 "override_meter_full_addr": 0,
31267 "override_stat_addr": false,
31268 "override_stat_addr_pfe": false,
31269 "override_stat_full_addr": 0,
31270 "override_stateful_addr": false,
31271 "override_stateful_addr_pfe": false,
31272 "override_stateful_full_addr": 0,
31273 "is_action_meter_color_aware": false,
31274 "primitives": [
31275 {
31276 "name": "ModifyFieldPrimitive",
31277 "dest": { "type": "phv", "name": "fabric_metadata.next_id" },
31278 "src": [ { "type": "immediate", "name": "next_id" } ]
31279 }
31280 ]
31281 }
31282 ],
31283 "default_action_handle": 536870929,
31284 "action_profile": "",
31285 "default_next_table_mask": 0,
31286 "ap_bind_indirect_res_to_match": [],
31287 "is_resource_controllable": true,
31288 "uses_range": false,
31289 "match_key_fields": [
31290 {
31291 "name": "ipv4.dst_addr",
31292 "position": 0,
31293 "match_type": "lpm",
31294 "start_bit": 0,
31295 "bit_width": 32,
31296 "bit_width_full": 32,
31297 "is_valid": false,
31298 "instance_name": "ipv4",
31299 "field_name": "dst_addr"
31300 }
31301 ]
31302 },
31303 {
31304 "direction": "ingress",
31305 "handle": 67108870,
31306 "name": "forwarding.unicast_v4_counter",
31307 "table_type": "statistics",
31308 "size": 0,
31309 "stage_tables": [
31310 {
31311 "stage_number": 4,
31312 "size": 2048,
31313 "stage_table_type": "statistics",
Carmelo Casconeecb35762018-02-03 17:30:05 -080031314 "logical_table_id": 3,
Carmelo Cascone04098db2018-01-30 18:10:32 -080031315 "pack_format": [
31316 {
31317 "table_word_width": 128,
31318 "memory_word_width": 128,
31319 "entries_per_table_word": 2,
31320 "number_memory_units_per_table_word": 1
31321 }
31322 ],
31323 "memory_resource_allocation": {
31324 "memory_type": "sram",
31325 "memory_units_and_vpns": [
31326 { "memory_units": [ 30 ], "vpns": [ 0 ] },
31327 { "memory_units": [ 31 ], "vpns": [ 1 ] }
31328 ],
31329 "spare_bank_memory_unit": 31
31330 },
31331 "stats_alu_index": 1
31332 }
31333 ],
31334 "how_referenced": "direct",
31335 "enable_pfe": false,
31336 "pfe_bit_position": 0,
31337 "byte_counter_resolution": 36,
31338 "packet_counter_resolution": 28,
31339 "statistics_type": "packets_and_bytes"
31340 },
31341 {
31342 "direction": "ingress",
31343 "handle": 16777227,
Carmelo Cascone04098db2018-01-30 18:10:32 -080031344 "name": "forwarding.acl",
31345 "table_type": "match",
31346 "size": 256,
31347 "match_attributes": {
31348 "stage_tables": [
31349 {
31350 "stage_number": 5,
31351 "size": 512,
31352 "stage_table_type": "ternary_match",
31353 "logical_table_id": 0,
31354 "has_attached_gateway": false,
31355 "pack_format": [
31356 {
31357 "table_word_width": 282,
31358 "memory_word_width": 47,
31359 "entries_per_table_word": 1,
31360 "number_memory_units_per_table_word": 6,
31361 "entries": [
31362 {
31363 "entry_number": 0,
31364 "fields": [
31365 {
31366 "field_name": "--tcam_payload_5--",
31367 "lsb_mem_word_offset": 0,
31368 "lsb_mem_word_idx": 5,
31369 "msb_mem_word_idx": 5,
31370 "source": "payload",
31371 "start_bit": 0,
31372 "field_width": 1
31373 },
31374 {
31375 "field_name": "--tcam_parity_5--",
31376 "lsb_mem_word_offset": 45,
31377 "lsb_mem_word_idx": 5,
31378 "msb_mem_word_idx": 5,
31379 "source": "parity",
31380 "start_bit": 0,
31381 "field_width": 2
31382 },
31383 {
31384 "field_name": "ethernet.dst_addr",
31385 "lsb_mem_word_offset": 1,
31386 "lsb_mem_word_idx": 5,
31387 "msb_mem_word_idx": 5,
31388 "source": "spec",
31389 "start_bit": 16,
31390 "field_width": 32
31391 },
31392 {
31393 "field_name": "ethernet.src_addr",
31394 "lsb_mem_word_offset": 33,
31395 "lsb_mem_word_idx": 5,
31396 "msb_mem_word_idx": 5,
31397 "source": "spec",
31398 "start_bit": 16,
31399 "field_width": 8
31400 },
31401 {
31402 "field_name": "ig_intr_md.ingress_port",
31403 "lsb_mem_word_offset": 41,
31404 "lsb_mem_word_idx": 5,
31405 "msb_mem_word_idx": 5,
31406 "source": "spec",
31407 "start_bit": 8,
31408 "field_width": 1
31409 },
31410 {
31411 "field_name": "--tcam_payload_4--",
31412 "lsb_mem_word_offset": 0,
31413 "lsb_mem_word_idx": 4,
31414 "msb_mem_word_idx": 4,
31415 "source": "payload",
31416 "start_bit": 0,
31417 "field_width": 1
31418 },
31419 {
31420 "field_name": "--version--",
31421 "lsb_mem_word_offset": 43,
31422 "lsb_mem_word_idx": 4,
31423 "msb_mem_word_idx": 4,
31424 "source": "version",
31425 "start_bit": 0,
31426 "field_width": 2
31427 },
31428 {
31429 "field_name": "--tcam_parity_4--",
31430 "lsb_mem_word_offset": 45,
31431 "lsb_mem_word_idx": 4,
31432 "msb_mem_word_idx": 4,
31433 "source": "parity",
31434 "start_bit": 0,
31435 "field_width": 2
31436 },
31437 {
31438 "field_name": "ethernet.src_addr",
31439 "lsb_mem_word_offset": 1,
31440 "lsb_mem_word_idx": 4,
31441 "msb_mem_word_idx": 4,
31442 "source": "spec",
31443 "start_bit": 32,
31444 "field_width": 16
31445 },
31446 {
31447 "field_name": "ipv4.dst_addr",
31448 "lsb_mem_word_offset": 17,
31449 "lsb_mem_word_idx": 4,
31450 "msb_mem_word_idx": 4,
31451 "source": "spec",
31452 "start_bit": 0,
31453 "field_width": 8
31454 },
31455 {
31456 "field_name": "ethernet.src_addr",
31457 "lsb_mem_word_offset": 25,
31458 "lsb_mem_word_idx": 4,
31459 "msb_mem_word_idx": 4,
31460 "source": "spec",
31461 "start_bit": 24,
31462 "field_width": 8
31463 },
31464 {
31465 "field_name": "ipv4.dst_addr",
31466 "lsb_mem_word_offset": 33,
31467 "lsb_mem_word_idx": 4,
31468 "msb_mem_word_idx": 4,
31469 "source": "spec",
31470 "start_bit": 16,
31471 "field_width": 8
31472 },
31473 {
31474 "field_name": "--tcam_payload_3--",
31475 "lsb_mem_word_offset": 0,
31476 "lsb_mem_word_idx": 3,
31477 "msb_mem_word_idx": 3,
31478 "source": "payload",
31479 "start_bit": 0,
31480 "field_width": 1
31481 },
31482 {
31483 "field_name": "--tcam_parity_3--",
31484 "lsb_mem_word_offset": 45,
31485 "lsb_mem_word_idx": 3,
31486 "msb_mem_word_idx": 3,
31487 "source": "parity",
31488 "start_bit": 0,
31489 "field_width": 2
31490 },
31491 {
31492 "field_name": "ipv4.dst_addr",
31493 "lsb_mem_word_offset": 1,
31494 "lsb_mem_word_idx": 3,
31495 "msb_mem_word_idx": 3,
31496 "source": "spec",
31497 "start_bit": 24,
31498 "field_width": 8
31499 },
31500 {
31501 "field_name": "ipv4.src_addr",
31502 "lsb_mem_word_offset": 9,
31503 "lsb_mem_word_idx": 3,
31504 "msb_mem_word_idx": 3,
31505 "source": "spec",
31506 "start_bit": 0,
31507 "field_width": 8
31508 },
31509 {
31510 "field_name": "ipv4.dst_addr",
31511 "lsb_mem_word_offset": 17,
31512 "lsb_mem_word_idx": 3,
31513 "msb_mem_word_idx": 3,
31514 "source": "spec",
31515 "start_bit": 8,
31516 "field_width": 8
31517 },
31518 {
31519 "field_name": "ipv4.src_addr",
31520 "lsb_mem_word_offset": 25,
31521 "lsb_mem_word_idx": 3,
31522 "msb_mem_word_idx": 3,
31523 "source": "spec",
31524 "start_bit": 16,
31525 "field_width": 16
31526 },
31527 {
31528 "field_name": "fabric_metadata.l4_dst_port",
31529 "lsb_mem_word_offset": 41,
31530 "lsb_mem_word_idx": 3,
31531 "msb_mem_word_idx": 3,
31532 "source": "spec",
31533 "start_bit": 0,
31534 "field_width": 4
31535 },
31536 {
31537 "field_name": "fabric_metadata.l4_dst_port",
31538 "lsb_mem_word_offset": 41,
31539 "lsb_mem_word_idx": 2,
31540 "msb_mem_word_idx": 2,
31541 "source": "spec",
31542 "start_bit": 4,
31543 "field_width": 4
31544 },
31545 {
31546 "field_name": "--tcam_payload_2--",
31547 "lsb_mem_word_offset": 0,
31548 "lsb_mem_word_idx": 2,
31549 "msb_mem_word_idx": 2,
31550 "source": "payload",
31551 "start_bit": 0,
31552 "field_width": 1
31553 },
31554 {
31555 "field_name": "--tcam_parity_2--",
31556 "lsb_mem_word_offset": 45,
31557 "lsb_mem_word_idx": 2,
31558 "msb_mem_word_idx": 2,
31559 "source": "parity",
31560 "start_bit": 0,
31561 "field_width": 2
31562 },
31563 {
31564 "field_name": "ipv4.src_addr",
31565 "lsb_mem_word_offset": 1,
31566 "lsb_mem_word_idx": 2,
31567 "msb_mem_word_idx": 2,
31568 "source": "spec",
31569 "start_bit": 8,
31570 "field_width": 8
31571 },
31572 {
31573 "field_name": "ethernet.dst_addr",
31574 "lsb_mem_word_offset": 9,
31575 "lsb_mem_word_idx": 2,
31576 "msb_mem_word_idx": 2,
31577 "source": "spec",
31578 "start_bit": 0,
31579 "field_width": 16
31580 },
31581 {
31582 "field_name": "ethernet.src_addr",
31583 "lsb_mem_word_offset": 25,
31584 "lsb_mem_word_idx": 2,
31585 "msb_mem_word_idx": 2,
31586 "source": "spec",
31587 "start_bit": 0,
31588 "field_width": 16
31589 },
31590 {
31591 "field_name": "--tcam_payload_1--",
31592 "lsb_mem_word_offset": 0,
31593 "lsb_mem_word_idx": 1,
31594 "msb_mem_word_idx": 1,
31595 "source": "payload",
31596 "start_bit": 0,
31597 "field_width": 1
31598 },
31599 {
31600 "field_name": "--tcam_parity_1--",
31601 "lsb_mem_word_offset": 45,
31602 "lsb_mem_word_idx": 1,
31603 "msb_mem_word_idx": 1,
31604 "source": "parity",
31605 "start_bit": 0,
31606 "field_width": 2
31607 },
31608 {
31609 "field_name": "fabric_metadata.l4_src_port",
31610 "lsb_mem_word_offset": 1,
31611 "lsb_mem_word_idx": 1,
31612 "msb_mem_word_idx": 1,
31613 "source": "spec",
31614 "start_bit": 0,
31615 "field_width": 8
31616 },
31617 {
31618 "field_name": "fabric_metadata.l4_dst_port",
31619 "lsb_mem_word_offset": 9,
31620 "lsb_mem_word_idx": 1,
31621 "msb_mem_word_idx": 1,
31622 "source": "spec",
31623 "start_bit": 8,
31624 "field_width": 8
31625 },
31626 {
31627 "field_name": "fabric_metadata.original_ether_type",
31628 "lsb_mem_word_offset": 17,
31629 "lsb_mem_word_idx": 1,
31630 "msb_mem_word_idx": 1,
31631 "source": "spec",
31632 "start_bit": 0,
31633 "field_width": 8
31634 },
31635 {
31636 "field_name": "fabric_metadata.l4_src_port",
31637 "lsb_mem_word_offset": 25,
31638 "lsb_mem_word_idx": 1,
31639 "msb_mem_word_idx": 1,
31640 "source": "spec",
31641 "start_bit": 8,
31642 "field_width": 8
31643 },
31644 {
31645 "field_name": "ig_intr_md.ingress_port",
31646 "lsb_mem_word_offset": 33,
31647 "lsb_mem_word_idx": 1,
31648 "msb_mem_word_idx": 1,
31649 "source": "spec",
31650 "start_bit": 0,
31651 "field_width": 8
31652 },
31653 {
31654 "field_name": "icmp.icmp_type",
31655 "lsb_mem_word_offset": 41,
31656 "lsb_mem_word_idx": 1,
31657 "msb_mem_word_idx": 1,
31658 "source": "spec",
31659 "start_bit": 0,
31660 "field_width": 4
31661 },
31662 {
31663 "field_name": "icmp.icmp_type",
31664 "lsb_mem_word_offset": 41,
31665 "lsb_mem_word_idx": 0,
31666 "msb_mem_word_idx": 0,
31667 "source": "spec",
31668 "start_bit": 4,
31669 "field_width": 4
31670 },
31671 {
31672 "field_name": "--tcam_payload_0--",
31673 "lsb_mem_word_offset": 0,
31674 "lsb_mem_word_idx": 0,
31675 "msb_mem_word_idx": 0,
31676 "source": "payload",
31677 "start_bit": 0,
31678 "field_width": 1
31679 },
31680 {
31681 "field_name": "--tcam_parity_0--",
31682 "lsb_mem_word_offset": 45,
31683 "lsb_mem_word_idx": 0,
31684 "msb_mem_word_idx": 0,
31685 "source": "parity",
31686 "start_bit": 0,
31687 "field_width": 2
31688 },
31689 {
31690 "field_name": "vlan_tag.vlan_id",
31691 "lsb_mem_word_offset": 1,
31692 "lsb_mem_word_idx": 0,
31693 "msb_mem_word_idx": 0,
31694 "source": "spec",
31695 "start_bit": 0,
31696 "field_width": 8
31697 },
31698 {
31699 "field_name": "fabric_metadata.original_ether_type",
31700 "lsb_mem_word_offset": 9,
31701 "lsb_mem_word_idx": 0,
31702 "msb_mem_word_idx": 0,
31703 "source": "spec",
31704 "start_bit": 8,
31705 "field_width": 8
31706 },
31707 {
31708 "field_name": "fabric_metadata.ip_proto",
31709 "lsb_mem_word_offset": 17,
31710 "lsb_mem_word_idx": 0,
31711 "msb_mem_word_idx": 0,
31712 "source": "spec",
31713 "start_bit": 0,
31714 "field_width": 8
31715 },
31716 {
31717 "field_name": "vlan_tag.vlan_id",
31718 "lsb_mem_word_offset": 25,
31719 "lsb_mem_word_idx": 0,
31720 "msb_mem_word_idx": 0,
31721 "source": "spec",
31722 "start_bit": 8,
31723 "field_width": 4
31724 },
31725 {
31726 "field_name": "icmp.icmp_code",
31727 "lsb_mem_word_offset": 33,
31728 "lsb_mem_word_idx": 0,
31729 "msb_mem_word_idx": 0,
31730 "source": "spec",
31731 "start_bit": 0,
31732 "field_width": 8
31733 }
31734 ]
31735 }
31736 ]
31737 }
31738 ],
31739 "memory_resource_allocation": {
31740 "memory_type": "tcam",
31741 "memory_units_and_vpns": [ { "memory_units": [ 0, 1, 2, 3, 4, 5 ], "vpns": [ 0 ] } ],
31742 "spare_bank_memory_unit": 5
31743 },
31744 "default_next_table": 0,
31745 "result_physical_buses": [ 0, 2, 4, 6, 8, 10 ],
31746 "ternary_indirection_stage_table": {
31747 "stage_number": 5,
31748 "stage_table_type": "ternary_indirection",
31749 "size": 2048,
31750 "pack_format": [
31751 {
31752 "memory_word_width": 128,
31753 "table_word_width": 128,
31754 "entries_per_table_word": 2,
31755 "number_memory_units_per_table_word": 1,
31756 "entries": [
31757 {
31758 "entry_number": 1,
31759 "fields": [
31760 {
31761 "start_bit": 0,
31762 "enable_pfe": false,
31763 "field_width": 2,
31764 "lsb_mem_word_idx": 0,
31765 "msb_mem_word_idx": 0,
31766 "source": "instr",
31767 "lsb_mem_word_offset": 64,
31768 "field_name": "action"
31769 },
31770 {
31771 "start_bit": 0,
31772 "enable_pfe": false,
31773 "field_width": 32,
31774 "lsb_mem_word_idx": 0,
31775 "msb_mem_word_idx": 0,
31776 "source": "immediate",
31777 "lsb_mem_word_offset": 66,
31778 "field_name": "immediate"
31779 },
31780 {
31781 "start_bit": 0,
31782 "enable_pfe": false,
31783 "field_width": 30,
31784 "lsb_mem_word_idx": 0,
31785 "msb_mem_word_idx": 0,
31786 "source": "zero",
31787 "lsb_mem_word_offset": 98,
31788 "field_name": "--padding_34_63--"
31789 }
31790 ]
31791 },
31792 {
31793 "entry_number": 0,
31794 "fields": [
31795 {
31796 "start_bit": 0,
31797 "enable_pfe": false,
31798 "field_width": 2,
31799 "lsb_mem_word_idx": 0,
31800 "msb_mem_word_idx": 0,
31801 "source": "instr",
31802 "lsb_mem_word_offset": 0,
31803 "field_name": "action"
31804 },
31805 {
31806 "start_bit": 0,
31807 "enable_pfe": false,
31808 "field_width": 32,
31809 "lsb_mem_word_idx": 0,
31810 "msb_mem_word_idx": 0,
31811 "source": "immediate",
31812 "lsb_mem_word_offset": 2,
31813 "field_name": "immediate"
31814 },
31815 {
31816 "start_bit": 0,
31817 "enable_pfe": false,
31818 "field_width": 30,
31819 "lsb_mem_word_idx": 0,
31820 "msb_mem_word_idx": 0,
31821 "source": "zero",
31822 "lsb_mem_word_offset": 34,
31823 "field_name": "--padding_34_63--"
31824 }
31825 ]
31826 }
31827 ]
31828 }
31829 ],
31830 "memory_resource_allocation": {
31831 "memory_type": "sram",
31832 "memory_units_and_vpns": [ { "memory_units": [ 2 ], "vpns": [ 0 ] } ],
31833 "spare_bank_memory_unit": 2
31834 },
31835 "action_format": [
31836 {
31837 "action_name": "nop",
Carmelo Casconeecb35762018-02-03 17:30:05 -080031838 "action_handle": 536870933,
Carmelo Cascone04098db2018-01-30 18:10:32 -080031839 "table_name": "next_simple",
31840 "next_table": 0,
31841 "next_table_full": 96,
31842 "vliw_instruction": 0,
31843 "vliw_instruction_full": 67,
31844 "immediate_fields": []
31845 },
31846 {
31847 "action_name": "forwarding.set_next_id",
Carmelo Casconeecb35762018-02-03 17:30:05 -080031848 "action_handle": 536870930,
Carmelo Cascone04098db2018-01-30 18:10:32 -080031849 "table_name": "next_simple",
31850 "next_table": 0,
31851 "next_table_full": 96,
31852 "vliw_instruction": 1,
31853 "vliw_instruction_full": 64,
31854 "immediate_fields": [
31855 {
31856 "param_name": "next_id",
31857 "param_type": "parameter",
31858 "param_shift": 0,
31859 "dest_start": 0,
31860 "dest_width": 32
31861 }
31862 ]
31863 },
31864 {
31865 "action_name": "forwarding.duplicate_to_controller",
Carmelo Casconeecb35762018-02-03 17:30:05 -080031866 "action_handle": 536870931,
Carmelo Cascone04098db2018-01-30 18:10:32 -080031867 "table_name": "next_simple",
31868 "next_table": 0,
31869 "next_table_full": 96,
31870 "vliw_instruction": 2,
31871 "vliw_instruction_full": 65,
31872 "immediate_fields": [
31873 {
31874 "param_name": "constant_320",
31875 "param_type": "constant",
31876 "const_value": 320,
31877 "param_shift": 0,
31878 "dest_start": 0,
31879 "dest_width": 9
31880 }
31881 ]
31882 },
31883 {
31884 "action_name": "forwarding.drop",
Carmelo Casconeecb35762018-02-03 17:30:05 -080031885 "action_handle": 536870932,
Carmelo Cascone04098db2018-01-30 18:10:32 -080031886 "table_name": "next_simple",
31887 "next_table": 0,
31888 "next_table_full": 96,
31889 "vliw_instruction": 3,
31890 "vliw_instruction_full": 66,
31891 "immediate_fields": []
31892 }
31893 ]
31894 }
31895 }
31896 ],
31897 "match_type": "ternary"
31898 },
31899 "action_data_table_refs": [],
31900 "selection_table_refs": [],
31901 "meter_table_refs": [],
31902 "statistics_table_refs": [
31903 {
31904 "how_referenced": "direct",
Carmelo Casconeecb35762018-02-03 17:30:05 -080031905 "handle": 67108871,
Carmelo Cascone04098db2018-01-30 18:10:32 -080031906 "name": "forwarding.acl_counter"
31907 }
31908 ],
31909 "stateful_table_refs": [],
31910 "actions": [
31911 {
31912 "name": "nop",
Carmelo Casconeecb35762018-02-03 17:30:05 -080031913 "handle": 536870933,
Carmelo Cascone04098db2018-01-30 18:10:32 -080031914 "indirect_resources": [],
31915 "allowed_as_default_action": true,
31916 "disallowed_as_default_action_reason": "",
31917 "p4_parameters": [],
31918 "override_meter_addr": false,
31919 "override_meter_addr_pfe": false,
31920 "override_meter_full_addr": 0,
31921 "override_stat_addr": false,
31922 "override_stat_addr_pfe": false,
31923 "override_stat_full_addr": 0,
31924 "override_stateful_addr": false,
31925 "override_stateful_addr_pfe": false,
31926 "override_stateful_full_addr": 0,
31927 "is_action_meter_color_aware": false,
31928 "primitives": []
31929 },
31930 {
31931 "name": "forwarding.set_next_id",
Carmelo Casconeecb35762018-02-03 17:30:05 -080031932 "handle": 536870930,
Carmelo Cascone04098db2018-01-30 18:10:32 -080031933 "indirect_resources": [],
31934 "allowed_as_default_action": true,
31935 "disallowed_as_default_action_reason": "",
31936 "p4_parameters": [
31937 {
31938 "name": "next_id",
31939 "start_bit": 0,
31940 "position": 0,
31941 "bit_width": 32
31942 }
31943 ],
31944 "override_meter_addr": false,
31945 "override_meter_addr_pfe": false,
31946 "override_meter_full_addr": 0,
31947 "override_stat_addr": false,
31948 "override_stat_addr_pfe": false,
31949 "override_stat_full_addr": 0,
31950 "override_stateful_addr": false,
31951 "override_stateful_addr_pfe": false,
31952 "override_stateful_full_addr": 0,
31953 "is_action_meter_color_aware": false,
31954 "primitives": [
31955 {
31956 "name": "ModifyFieldPrimitive",
31957 "dest": { "type": "phv", "name": "fabric_metadata.next_id" },
31958 "src": [ { "type": "immediate", "name": "next_id" } ]
31959 }
31960 ]
31961 },
31962 {
31963 "name": "forwarding.duplicate_to_controller",
Carmelo Casconeecb35762018-02-03 17:30:05 -080031964 "handle": 536870931,
Carmelo Cascone04098db2018-01-30 18:10:32 -080031965 "indirect_resources": [],
31966 "allowed_as_default_action": true,
31967 "disallowed_as_default_action_reason": "",
31968 "p4_parameters": [],
31969 "override_meter_addr": false,
31970 "override_meter_addr_pfe": false,
31971 "override_meter_full_addr": 0,
31972 "override_stat_addr": false,
31973 "override_stat_addr_pfe": false,
31974 "override_stat_full_addr": 0,
31975 "override_stateful_addr": false,
31976 "override_stateful_addr_pfe": false,
31977 "override_stateful_full_addr": 0,
31978 "is_action_meter_color_aware": false,
31979 "primitives": [
31980 {
31981 "name": "ModifyFieldPrimitive",
31982 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
31983 "src": [
31984 { "type": "immediate", "name": "$constant0" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080031985 { "type": "phv", "name": "H0" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080031986 ]
31987 }
31988 ]
31989 },
31990 {
31991 "name": "forwarding.drop",
Carmelo Casconeecb35762018-02-03 17:30:05 -080031992 "handle": 536870932,
Carmelo Cascone04098db2018-01-30 18:10:32 -080031993 "indirect_resources": [],
31994 "allowed_as_default_action": true,
31995 "disallowed_as_default_action_reason": "",
31996 "p4_parameters": [],
31997 "override_meter_addr": false,
31998 "override_meter_addr_pfe": false,
31999 "override_meter_full_addr": 0,
32000 "override_stat_addr": false,
32001 "override_stat_addr_pfe": false,
32002 "override_stat_full_addr": 0,
32003 "override_stateful_addr": false,
32004 "override_stateful_addr_pfe": false,
32005 "override_stateful_full_addr": 0,
32006 "is_action_meter_color_aware": false,
32007 "primitives": [
32008 {
32009 "name": "ModifyFieldPrimitive",
32010 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.drop_ctl" },
32011 "src": [
32012 { "type": "immmediate", "name": "1" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080032013 { "type": "phv", "name": "H1" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080032014 ]
32015 }
32016 ]
32017 }
32018 ],
Carmelo Casconeecb35762018-02-03 17:30:05 -080032019 "default_action_handle": 536870933,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032020 "action_profile": "",
32021 "default_next_table_mask": 0,
32022 "ap_bind_indirect_res_to_match": [],
32023 "is_resource_controllable": true,
32024 "uses_range": false,
32025 "match_key_fields": [
32026 {
32027 "name": "ig_intr_md.ingress_port",
32028 "position": 0,
32029 "match_type": "ternary",
32030 "start_bit": 0,
32031 "bit_width": 9,
32032 "bit_width_full": 9,
32033 "is_valid": false,
32034 "instance_name": "ig_intr_md",
32035 "field_name": "ingress_port"
32036 },
32037 {
32038 "name": "fabric_metadata.ip_proto",
32039 "position": 1,
32040 "match_type": "ternary",
32041 "start_bit": 0,
32042 "bit_width": 8,
32043 "bit_width_full": 8,
32044 "is_valid": false,
32045 "instance_name": "fabric_metadata",
32046 "field_name": "ip_proto"
32047 },
32048 {
32049 "name": "fabric_metadata.l4_src_port",
32050 "position": 2,
32051 "match_type": "ternary",
32052 "start_bit": 0,
32053 "bit_width": 16,
32054 "bit_width_full": 16,
32055 "is_valid": false,
32056 "instance_name": "fabric_metadata",
32057 "field_name": "l4_src_port"
32058 },
32059 {
32060 "name": "fabric_metadata.l4_dst_port",
32061 "position": 3,
32062 "match_type": "ternary",
32063 "start_bit": 0,
32064 "bit_width": 16,
32065 "bit_width_full": 16,
32066 "is_valid": false,
32067 "instance_name": "fabric_metadata",
32068 "field_name": "l4_dst_port"
32069 },
32070 {
32071 "name": "fabric_metadata.original_ether_type",
32072 "position": 4,
32073 "match_type": "ternary",
32074 "start_bit": 0,
32075 "bit_width": 16,
32076 "bit_width_full": 16,
32077 "is_valid": false,
32078 "instance_name": "fabric_metadata",
32079 "field_name": "original_ether_type"
32080 },
32081 {
32082 "name": "ethernet.dst_addr",
32083 "position": 5,
32084 "match_type": "ternary",
32085 "start_bit": 0,
32086 "bit_width": 48,
32087 "bit_width_full": 48,
32088 "is_valid": false,
32089 "instance_name": "ethernet",
32090 "field_name": "dst_addr"
32091 },
32092 {
32093 "name": "ethernet.src_addr",
32094 "position": 6,
32095 "match_type": "ternary",
32096 "start_bit": 0,
32097 "bit_width": 48,
32098 "bit_width_full": 48,
32099 "is_valid": false,
32100 "instance_name": "ethernet",
32101 "field_name": "src_addr"
32102 },
32103 {
32104 "name": "vlan_tag.vlan_id",
32105 "position": 7,
32106 "match_type": "ternary",
32107 "start_bit": 0,
32108 "bit_width": 12,
32109 "bit_width_full": 12,
32110 "is_valid": false,
32111 "instance_name": "vlan_tag",
32112 "field_name": "vlan_id"
32113 },
32114 {
32115 "name": "ipv4.src_addr",
32116 "position": 8,
32117 "match_type": "ternary",
32118 "start_bit": 0,
32119 "bit_width": 32,
32120 "bit_width_full": 32,
32121 "is_valid": false,
32122 "instance_name": "ipv4",
32123 "field_name": "src_addr"
32124 },
32125 {
32126 "name": "ipv4.dst_addr",
32127 "position": 9,
32128 "match_type": "ternary",
32129 "start_bit": 0,
32130 "bit_width": 32,
32131 "bit_width_full": 32,
32132 "is_valid": false,
32133 "instance_name": "ipv4",
32134 "field_name": "dst_addr"
32135 },
32136 {
32137 "name": "icmp.icmp_type",
32138 "position": 10,
32139 "match_type": "ternary",
32140 "start_bit": 0,
32141 "bit_width": 8,
32142 "bit_width_full": 8,
32143 "is_valid": false,
32144 "instance_name": "icmp",
32145 "field_name": "icmp_type"
32146 },
32147 {
32148 "name": "icmp.icmp_code",
32149 "position": 11,
32150 "match_type": "ternary",
32151 "start_bit": 0,
32152 "bit_width": 8,
32153 "bit_width_full": 8,
32154 "is_valid": false,
32155 "instance_name": "icmp",
32156 "field_name": "icmp_code"
32157 }
32158 ]
32159 },
32160 {
32161 "direction": "ingress",
Carmelo Casconeecb35762018-02-03 17:30:05 -080032162 "handle": 67108871,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032163 "name": "forwarding.acl_counter",
32164 "table_type": "statistics",
32165 "size": 0,
32166 "stage_tables": [
32167 {
32168 "stage_number": 5,
32169 "size": 2048,
32170 "stage_table_type": "statistics",
32171 "logical_table_id": 0,
32172 "pack_format": [
32173 {
32174 "table_word_width": 128,
32175 "memory_word_width": 128,
32176 "entries_per_table_word": 2,
32177 "number_memory_units_per_table_word": 1
32178 }
32179 ],
32180 "memory_resource_allocation": {
32181 "memory_type": "sram",
32182 "memory_units_and_vpns": [
32183 { "memory_units": [ 78 ], "vpns": [ 0 ] },
32184 { "memory_units": [ 79 ], "vpns": [ 1 ] }
32185 ],
32186 "spare_bank_memory_unit": 79
32187 },
32188 "stats_alu_index": 3
32189 }
32190 ],
32191 "how_referenced": "direct",
32192 "enable_pfe": false,
32193 "pfe_bit_position": 0,
32194 "byte_counter_resolution": 36,
32195 "packet_counter_resolution": 28,
32196 "statistics_type": "packets_and_bytes"
32197 },
32198 {
32199 "direction": "ingress",
Carmelo Casconeecb35762018-02-03 17:30:05 -080032200 "handle": 16777228,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032201 "name": "next.simple",
32202 "table_type": "match",
32203 "size": 3072,
32204 "action_data_table_refs": [
32205 {
32206 "how_referenced": "direct",
32207 "handle": 33554433,
32208 "name": "next_simple$action"
32209 }
32210 ],
32211 "selection_table_refs": [],
32212 "meter_table_refs": [],
32213 "statistics_table_refs": [
32214 {
32215 "how_referenced": "direct",
Carmelo Casconeecb35762018-02-03 17:30:05 -080032216 "handle": 67108872,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032217 "name": "next.simple_counter"
32218 }
32219 ],
32220 "stateful_table_refs": [],
Carmelo Casconeecb35762018-02-03 17:30:05 -080032221 "default_action_handle": 536870938,
Carmelo Cascone04098db2018-01-30 18:10:32 -080032222 "action_profile": "",
32223 "default_next_table_mask": 0,
32224 "ap_bind_indirect_res_to_match": [],
32225 "is_resource_controllable": true,
32226 "uses_range": false,
32227 "match_key_fields": [
32228 {
32229 "name": "fabric_metadata.next_id",
32230 "position": 0,
32231 "match_type": "exact",
32232 "start_bit": 0,
32233 "bit_width": 32,
32234 "bit_width_full": 32,
32235 "is_valid": false,
32236 "instance_name": "fabric_metadata",
32237 "field_name": "next_id"
32238 }
32239 ],
32240 "match_attributes": {
32241 "stage_tables": [
32242 {
32243 "stage_number": 6,
32244 "size": 3072,
32245 "stage_table_type": "hash_match",
32246 "logical_table_id": 0,
32247 "has_attached_gateway": false,
32248 "hash_functions": [
32249 {
32250 "hash_bits": [
32251 {
32252 "hash_bit": 0,
32253 "seed": 0,
32254 "bits_to_xor": [
32255 {
32256 "field_bit": 0,
32257 "field_name": "fabric_metadata.next_id"
32258 },
32259 {
32260 "field_bit": 10,
32261 "field_name": "fabric_metadata.next_id"
32262 },
32263 {
32264 "field_bit": 11,
32265 "field_name": "fabric_metadata.next_id"
32266 },
32267 {
32268 "field_bit": 13,
32269 "field_name": "fabric_metadata.next_id"
32270 },
32271 {
32272 "field_bit": 15,
32273 "field_name": "fabric_metadata.next_id"
32274 },
32275 {
32276 "field_bit": 16,
32277 "field_name": "fabric_metadata.next_id"
32278 },
32279 {
32280 "field_bit": 21,
32281 "field_name": "fabric_metadata.next_id"
32282 },
32283 {
32284 "field_bit": 22,
32285 "field_name": "fabric_metadata.next_id"
32286 },
32287 {
32288 "field_bit": 25,
32289 "field_name": "fabric_metadata.next_id"
32290 },
32291 {
32292 "field_bit": 26,
32293 "field_name": "fabric_metadata.next_id"
32294 },
32295 {
32296 "field_bit": 27,
32297 "field_name": "fabric_metadata.next_id"
32298 },
32299 {
32300 "field_bit": 31,
32301 "field_name": "fabric_metadata.next_id"
32302 }
32303 ]
32304 },
32305 {
32306 "hash_bit": 1,
32307 "seed": 0,
32308 "bits_to_xor": [
32309 {
32310 "field_bit": 1,
32311 "field_name": "fabric_metadata.next_id"
32312 },
32313 {
32314 "field_bit": 11,
32315 "field_name": "fabric_metadata.next_id"
32316 },
32317 {
32318 "field_bit": 12,
32319 "field_name": "fabric_metadata.next_id"
32320 },
32321 {
32322 "field_bit": 15,
32323 "field_name": "fabric_metadata.next_id"
32324 },
32325 {
32326 "field_bit": 19,
32327 "field_name": "fabric_metadata.next_id"
32328 },
32329 {
32330 "field_bit": 20,
32331 "field_name": "fabric_metadata.next_id"
32332 },
32333 {
32334 "field_bit": 22,
32335 "field_name": "fabric_metadata.next_id"
32336 },
32337 {
32338 "field_bit": 24,
32339 "field_name": "fabric_metadata.next_id"
32340 },
32341 {
32342 "field_bit": 27,
32343 "field_name": "fabric_metadata.next_id"
32344 },
32345 {
32346 "field_bit": 28,
32347 "field_name": "fabric_metadata.next_id"
32348 }
32349 ]
32350 },
32351 {
32352 "hash_bit": 2,
32353 "seed": 0,
32354 "bits_to_xor": [
32355 {
32356 "field_bit": 2,
32357 "field_name": "fabric_metadata.next_id"
32358 },
32359 {
32360 "field_bit": 12,
32361 "field_name": "fabric_metadata.next_id"
32362 },
32363 {
32364 "field_bit": 13,
32365 "field_name": "fabric_metadata.next_id"
32366 },
32367 {
32368 "field_bit": 14,
32369 "field_name": "fabric_metadata.next_id"
32370 },
32371 {
32372 "field_bit": 15,
32373 "field_name": "fabric_metadata.next_id"
32374 },
32375 {
32376 "field_bit": 16,
32377 "field_name": "fabric_metadata.next_id"
32378 },
32379 {
32380 "field_bit": 17,
32381 "field_name": "fabric_metadata.next_id"
32382 },
32383 {
32384 "field_bit": 20,
32385 "field_name": "fabric_metadata.next_id"
32386 },
32387 {
32388 "field_bit": 21,
32389 "field_name": "fabric_metadata.next_id"
32390 },
32391 {
32392 "field_bit": 23,
32393 "field_name": "fabric_metadata.next_id"
32394 },
32395 {
32396 "field_bit": 24,
32397 "field_name": "fabric_metadata.next_id"
32398 },
32399 {
32400 "field_bit": 26,
32401 "field_name": "fabric_metadata.next_id"
32402 },
32403 {
32404 "field_bit": 27,
32405 "field_name": "fabric_metadata.next_id"
32406 },
32407 {
32408 "field_bit": 30,
32409 "field_name": "fabric_metadata.next_id"
32410 },
32411 {
32412 "field_bit": 31,
32413 "field_name": "fabric_metadata.next_id"
32414 }
32415 ]
32416 },
32417 {
32418 "hash_bit": 3,
32419 "seed": 0,
32420 "bits_to_xor": [
32421 {
32422 "field_bit": 3,
32423 "field_name": "fabric_metadata.next_id"
32424 },
32425 {
32426 "field_bit": 12,
32427 "field_name": "fabric_metadata.next_id"
32428 },
32429 {
32430 "field_bit": 14,
32431 "field_name": "fabric_metadata.next_id"
32432 },
32433 {
32434 "field_bit": 17,
32435 "field_name": "fabric_metadata.next_id"
32436 },
32437 {
32438 "field_bit": 19,
32439 "field_name": "fabric_metadata.next_id"
32440 },
32441 {
32442 "field_bit": 20,
32443 "field_name": "fabric_metadata.next_id"
32444 },
32445 {
32446 "field_bit": 21,
32447 "field_name": "fabric_metadata.next_id"
32448 },
32449 {
32450 "field_bit": 26,
32451 "field_name": "fabric_metadata.next_id"
32452 }
32453 ]
32454 },
32455 {
32456 "hash_bit": 4,
32457 "seed": 0,
32458 "bits_to_xor": [
32459 {
32460 "field_bit": 4,
32461 "field_name": "fabric_metadata.next_id"
32462 },
32463 {
32464 "field_bit": 10,
32465 "field_name": "fabric_metadata.next_id"
32466 },
32467 {
32468 "field_bit": 11,
32469 "field_name": "fabric_metadata.next_id"
32470 },
32471 {
32472 "field_bit": 16,
32473 "field_name": "fabric_metadata.next_id"
32474 },
32475 {
32476 "field_bit": 17,
32477 "field_name": "fabric_metadata.next_id"
32478 },
32479 {
32480 "field_bit": 18,
32481 "field_name": "fabric_metadata.next_id"
32482 },
32483 {
32484 "field_bit": 19,
32485 "field_name": "fabric_metadata.next_id"
32486 },
32487 {
32488 "field_bit": 20,
32489 "field_name": "fabric_metadata.next_id"
32490 },
32491 {
32492 "field_bit": 21,
32493 "field_name": "fabric_metadata.next_id"
32494 },
32495 {
32496 "field_bit": 24,
32497 "field_name": "fabric_metadata.next_id"
32498 },
32499 {
32500 "field_bit": 26,
32501 "field_name": "fabric_metadata.next_id"
32502 },
32503 {
32504 "field_bit": 28,
32505 "field_name": "fabric_metadata.next_id"
32506 },
32507 {
32508 "field_bit": 30,
32509 "field_name": "fabric_metadata.next_id"
32510 }
32511 ]
32512 },
32513 {
32514 "hash_bit": 5,
32515 "seed": 0,
32516 "bits_to_xor": [
32517 {
32518 "field_bit": 5,
32519 "field_name": "fabric_metadata.next_id"
32520 },
32521 {
32522 "field_bit": 13,
32523 "field_name": "fabric_metadata.next_id"
32524 },
32525 {
32526 "field_bit": 19,
32527 "field_name": "fabric_metadata.next_id"
32528 },
32529 {
32530 "field_bit": 20,
32531 "field_name": "fabric_metadata.next_id"
32532 },
32533 {
32534 "field_bit": 23,
32535 "field_name": "fabric_metadata.next_id"
32536 },
32537 {
32538 "field_bit": 24,
32539 "field_name": "fabric_metadata.next_id"
32540 },
32541 {
32542 "field_bit": 25,
32543 "field_name": "fabric_metadata.next_id"
32544 },
32545 {
32546 "field_bit": 29,
32547 "field_name": "fabric_metadata.next_id"
32548 },
32549 {
32550 "field_bit": 30,
32551 "field_name": "fabric_metadata.next_id"
32552 }
32553 ]
32554 },
32555 {
32556 "hash_bit": 6,
32557 "seed": 0,
32558 "bits_to_xor": [
32559 {
32560 "field_bit": 6,
32561 "field_name": "fabric_metadata.next_id"
32562 },
32563 {
32564 "field_bit": 10,
32565 "field_name": "fabric_metadata.next_id"
32566 },
32567 {
32568 "field_bit": 11,
32569 "field_name": "fabric_metadata.next_id"
32570 },
32571 {
32572 "field_bit": 12,
32573 "field_name": "fabric_metadata.next_id"
32574 },
32575 {
32576 "field_bit": 14,
32577 "field_name": "fabric_metadata.next_id"
32578 },
32579 {
32580 "field_bit": 23,
32581 "field_name": "fabric_metadata.next_id"
32582 },
32583 {
32584 "field_bit": 26,
32585 "field_name": "fabric_metadata.next_id"
32586 },
32587 {
32588 "field_bit": 28,
32589 "field_name": "fabric_metadata.next_id"
32590 },
32591 {
32592 "field_bit": 29,
32593 "field_name": "fabric_metadata.next_id"
32594 },
32595 {
32596 "field_bit": 30,
32597 "field_name": "fabric_metadata.next_id"
32598 },
32599 {
32600 "field_bit": 31,
32601 "field_name": "fabric_metadata.next_id"
32602 }
32603 ]
32604 },
32605 {
32606 "hash_bit": 7,
32607 "seed": 0,
32608 "bits_to_xor": [
32609 {
32610 "field_bit": 7,
32611 "field_name": "fabric_metadata.next_id"
32612 },
32613 {
32614 "field_bit": 13,
32615 "field_name": "fabric_metadata.next_id"
32616 },
32617 {
32618 "field_bit": 15,
32619 "field_name": "fabric_metadata.next_id"
32620 },
32621 {
32622 "field_bit": 18,
32623 "field_name": "fabric_metadata.next_id"
32624 },
32625 {
32626 "field_bit": 20,
32627 "field_name": "fabric_metadata.next_id"
32628 },
32629 {
32630 "field_bit": 24,
32631 "field_name": "fabric_metadata.next_id"
32632 },
32633 {
32634 "field_bit": 25,
32635 "field_name": "fabric_metadata.next_id"
32636 },
32637 {
32638 "field_bit": 27,
32639 "field_name": "fabric_metadata.next_id"
32640 },
32641 {
32642 "field_bit": 28,
32643 "field_name": "fabric_metadata.next_id"
32644 },
32645 {
32646 "field_bit": 29,
32647 "field_name": "fabric_metadata.next_id"
32648 },
32649 {
32650 "field_bit": 31,
32651 "field_name": "fabric_metadata.next_id"
32652 }
32653 ]
32654 },
32655 {
32656 "hash_bit": 8,
32657 "seed": 0,
32658 "bits_to_xor": [
32659 {
32660 "field_bit": 8,
32661 "field_name": "fabric_metadata.next_id"
32662 },
32663 {
32664 "field_bit": 12,
32665 "field_name": "fabric_metadata.next_id"
32666 },
32667 {
32668 "field_bit": 13,
32669 "field_name": "fabric_metadata.next_id"
32670 },
32671 {
32672 "field_bit": 14,
32673 "field_name": "fabric_metadata.next_id"
32674 },
32675 {
32676 "field_bit": 15,
32677 "field_name": "fabric_metadata.next_id"
32678 },
32679 {
32680 "field_bit": 19,
32681 "field_name": "fabric_metadata.next_id"
32682 },
32683 {
32684 "field_bit": 21,
32685 "field_name": "fabric_metadata.next_id"
32686 },
32687 {
32688 "field_bit": 27,
32689 "field_name": "fabric_metadata.next_id"
32690 },
32691 {
32692 "field_bit": 29,
32693 "field_name": "fabric_metadata.next_id"
32694 },
32695 {
32696 "field_bit": 31,
32697 "field_name": "fabric_metadata.next_id"
32698 }
32699 ]
32700 },
32701 {
32702 "hash_bit": 9,
32703 "seed": 0,
32704 "bits_to_xor": [
32705 {
32706 "field_bit": 9,
32707 "field_name": "fabric_metadata.next_id"
32708 },
32709 {
32710 "field_bit": 10,
32711 "field_name": "fabric_metadata.next_id"
32712 },
32713 {
32714 "field_bit": 11,
32715 "field_name": "fabric_metadata.next_id"
32716 },
32717 {
32718 "field_bit": 15,
32719 "field_name": "fabric_metadata.next_id"
32720 },
32721 {
32722 "field_bit": 16,
32723 "field_name": "fabric_metadata.next_id"
32724 },
32725 {
32726 "field_bit": 18,
32727 "field_name": "fabric_metadata.next_id"
32728 },
32729 {
32730 "field_bit": 19,
32731 "field_name": "fabric_metadata.next_id"
32732 },
32733 {
32734 "field_bit": 20,
32735 "field_name": "fabric_metadata.next_id"
32736 },
32737 {
32738 "field_bit": 24,
32739 "field_name": "fabric_metadata.next_id"
32740 },
32741 {
32742 "field_bit": 25,
32743 "field_name": "fabric_metadata.next_id"
32744 },
32745 {
32746 "field_bit": 30,
32747 "field_name": "fabric_metadata.next_id"
32748 }
32749 ]
32750 },
32751 {
32752 "hash_bit": 10,
32753 "seed": 0,
32754 "bits_to_xor": [
32755 {
32756 "field_bit": 0,
32757 "field_name": "fabric_metadata.next_id"
32758 },
32759 {
32760 "field_bit": 11,
32761 "field_name": "fabric_metadata.next_id"
32762 },
32763 {
32764 "field_bit": 13,
32765 "field_name": "fabric_metadata.next_id"
32766 },
32767 {
32768 "field_bit": 15,
32769 "field_name": "fabric_metadata.next_id"
32770 },
32771 {
32772 "field_bit": 20,
32773 "field_name": "fabric_metadata.next_id"
32774 },
32775 {
32776 "field_bit": 24,
32777 "field_name": "fabric_metadata.next_id"
32778 },
32779 {
32780 "field_bit": 25,
32781 "field_name": "fabric_metadata.next_id"
32782 },
32783 {
32784 "field_bit": 29,
32785 "field_name": "fabric_metadata.next_id"
32786 },
32787 {
32788 "field_bit": 30,
32789 "field_name": "fabric_metadata.next_id"
32790 }
32791 ]
32792 },
32793 {
32794 "hash_bit": 11,
32795 "seed": 0,
32796 "bits_to_xor": [
32797 {
32798 "field_bit": 1,
32799 "field_name": "fabric_metadata.next_id"
32800 },
32801 {
32802 "field_bit": 10,
32803 "field_name": "fabric_metadata.next_id"
32804 },
32805 {
32806 "field_bit": 12,
32807 "field_name": "fabric_metadata.next_id"
32808 },
32809 {
32810 "field_bit": 13,
32811 "field_name": "fabric_metadata.next_id"
32812 },
32813 {
32814 "field_bit": 15,
32815 "field_name": "fabric_metadata.next_id"
32816 },
32817 {
32818 "field_bit": 16,
32819 "field_name": "fabric_metadata.next_id"
32820 },
32821 {
32822 "field_bit": 17,
32823 "field_name": "fabric_metadata.next_id"
32824 },
32825 {
32826 "field_bit": 18,
32827 "field_name": "fabric_metadata.next_id"
32828 },
32829 {
32830 "field_bit": 22,
32831 "field_name": "fabric_metadata.next_id"
32832 },
32833 {
32834 "field_bit": 23,
32835 "field_name": "fabric_metadata.next_id"
32836 },
32837 {
32838 "field_bit": 24,
32839 "field_name": "fabric_metadata.next_id"
32840 },
32841 {
32842 "field_bit": 25,
32843 "field_name": "fabric_metadata.next_id"
32844 },
32845 {
32846 "field_bit": 26,
32847 "field_name": "fabric_metadata.next_id"
32848 },
32849 {
32850 "field_bit": 27,
32851 "field_name": "fabric_metadata.next_id"
32852 },
32853 {
32854 "field_bit": 28,
32855 "field_name": "fabric_metadata.next_id"
32856 },
32857 {
32858 "field_bit": 29,
32859 "field_name": "fabric_metadata.next_id"
32860 },
32861 {
32862 "field_bit": 30,
32863 "field_name": "fabric_metadata.next_id"
32864 },
32865 {
32866 "field_bit": 31,
32867 "field_name": "fabric_metadata.next_id"
32868 }
32869 ]
32870 },
32871 {
32872 "hash_bit": 12,
32873 "seed": 0,
32874 "bits_to_xor": [
32875 {
32876 "field_bit": 2,
32877 "field_name": "fabric_metadata.next_id"
32878 },
32879 {
32880 "field_bit": 10,
32881 "field_name": "fabric_metadata.next_id"
32882 },
32883 {
32884 "field_bit": 13,
32885 "field_name": "fabric_metadata.next_id"
32886 },
32887 {
32888 "field_bit": 14,
32889 "field_name": "fabric_metadata.next_id"
32890 },
32891 {
32892 "field_bit": 16,
32893 "field_name": "fabric_metadata.next_id"
32894 },
32895 {
32896 "field_bit": 18,
32897 "field_name": "fabric_metadata.next_id"
32898 },
32899 {
32900 "field_bit": 23,
32901 "field_name": "fabric_metadata.next_id"
32902 },
32903 {
32904 "field_bit": 25,
32905 "field_name": "fabric_metadata.next_id"
32906 },
32907 {
32908 "field_bit": 27,
32909 "field_name": "fabric_metadata.next_id"
32910 },
32911 {
32912 "field_bit": 28,
32913 "field_name": "fabric_metadata.next_id"
32914 },
32915 {
32916 "field_bit": 29,
32917 "field_name": "fabric_metadata.next_id"
32918 },
32919 {
32920 "field_bit": 30,
32921 "field_name": "fabric_metadata.next_id"
32922 }
32923 ]
32924 },
32925 {
32926 "hash_bit": 13,
32927 "seed": 0,
32928 "bits_to_xor": [
32929 {
32930 "field_bit": 3,
32931 "field_name": "fabric_metadata.next_id"
32932 },
32933 {
32934 "field_bit": 13,
32935 "field_name": "fabric_metadata.next_id"
32936 },
32937 {
32938 "field_bit": 14,
32939 "field_name": "fabric_metadata.next_id"
32940 },
32941 {
32942 "field_bit": 15,
32943 "field_name": "fabric_metadata.next_id"
32944 },
32945 {
32946 "field_bit": 18,
32947 "field_name": "fabric_metadata.next_id"
32948 },
32949 {
32950 "field_bit": 19,
32951 "field_name": "fabric_metadata.next_id"
32952 },
32953 {
32954 "field_bit": 20,
32955 "field_name": "fabric_metadata.next_id"
32956 },
32957 {
32958 "field_bit": 21,
32959 "field_name": "fabric_metadata.next_id"
32960 },
32961 {
32962 "field_bit": 22,
32963 "field_name": "fabric_metadata.next_id"
32964 },
32965 {
32966 "field_bit": 27,
32967 "field_name": "fabric_metadata.next_id"
32968 },
32969 {
32970 "field_bit": 30,
32971 "field_name": "fabric_metadata.next_id"
32972 }
32973 ]
32974 },
32975 {
32976 "hash_bit": 14,
32977 "seed": 0,
32978 "bits_to_xor": [
32979 {
32980 "field_bit": 4,
32981 "field_name": "fabric_metadata.next_id"
32982 },
32983 {
32984 "field_bit": 10,
32985 "field_name": "fabric_metadata.next_id"
32986 },
32987 {
32988 "field_bit": 11,
32989 "field_name": "fabric_metadata.next_id"
32990 },
32991 {
32992 "field_bit": 14,
32993 "field_name": "fabric_metadata.next_id"
32994 },
32995 {
32996 "field_bit": 15,
32997 "field_name": "fabric_metadata.next_id"
32998 },
32999 {
33000 "field_bit": 16,
33001 "field_name": "fabric_metadata.next_id"
33002 },
33003 {
33004 "field_bit": 19,
33005 "field_name": "fabric_metadata.next_id"
33006 },
33007 {
33008 "field_bit": 20,
33009 "field_name": "fabric_metadata.next_id"
33010 },
33011 {
33012 "field_bit": 24,
33013 "field_name": "fabric_metadata.next_id"
33014 },
33015 {
33016 "field_bit": 25,
33017 "field_name": "fabric_metadata.next_id"
33018 },
33019 {
33020 "field_bit": 26,
33021 "field_name": "fabric_metadata.next_id"
33022 },
33023 {
33024 "field_bit": 31,
33025 "field_name": "fabric_metadata.next_id"
33026 }
33027 ]
33028 },
33029 {
33030 "hash_bit": 15,
33031 "seed": 0,
33032 "bits_to_xor": [
33033 {
33034 "field_bit": 5,
33035 "field_name": "fabric_metadata.next_id"
33036 },
33037 {
33038 "field_bit": 12,
33039 "field_name": "fabric_metadata.next_id"
33040 },
33041 {
33042 "field_bit": 14,
33043 "field_name": "fabric_metadata.next_id"
33044 },
33045 {
33046 "field_bit": 23,
33047 "field_name": "fabric_metadata.next_id"
33048 },
33049 {
33050 "field_bit": 25,
33051 "field_name": "fabric_metadata.next_id"
33052 },
33053 {
33054 "field_bit": 26,
33055 "field_name": "fabric_metadata.next_id"
33056 }
33057 ]
33058 },
33059 {
33060 "hash_bit": 16,
33061 "seed": 0,
33062 "bits_to_xor": [
33063 {
33064 "field_bit": 6,
33065 "field_name": "fabric_metadata.next_id"
33066 },
33067 {
33068 "field_bit": 10,
33069 "field_name": "fabric_metadata.next_id"
33070 },
33071 {
33072 "field_bit": 11,
33073 "field_name": "fabric_metadata.next_id"
33074 },
33075 {
33076 "field_bit": 12,
33077 "field_name": "fabric_metadata.next_id"
33078 },
33079 {
33080 "field_bit": 18,
33081 "field_name": "fabric_metadata.next_id"
33082 },
33083 {
33084 "field_bit": 21,
33085 "field_name": "fabric_metadata.next_id"
33086 },
33087 {
33088 "field_bit": 23,
33089 "field_name": "fabric_metadata.next_id"
33090 },
33091 {
33092 "field_bit": 24,
33093 "field_name": "fabric_metadata.next_id"
33094 },
33095 {
33096 "field_bit": 26,
33097 "field_name": "fabric_metadata.next_id"
33098 },
33099 {
33100 "field_bit": 27,
33101 "field_name": "fabric_metadata.next_id"
33102 },
33103 {
33104 "field_bit": 29,
33105 "field_name": "fabric_metadata.next_id"
33106 }
33107 ]
33108 },
33109 {
33110 "hash_bit": 17,
33111 "seed": 0,
33112 "bits_to_xor": [
33113 {
33114 "field_bit": 7,
33115 "field_name": "fabric_metadata.next_id"
33116 },
33117 {
33118 "field_bit": 12,
33119 "field_name": "fabric_metadata.next_id"
33120 },
33121 {
33122 "field_bit": 15,
33123 "field_name": "fabric_metadata.next_id"
33124 },
33125 {
33126 "field_bit": 19,
33127 "field_name": "fabric_metadata.next_id"
33128 },
33129 {
33130 "field_bit": 20,
33131 "field_name": "fabric_metadata.next_id"
33132 },
33133 {
33134 "field_bit": 21,
33135 "field_name": "fabric_metadata.next_id"
33136 },
33137 {
33138 "field_bit": 22,
33139 "field_name": "fabric_metadata.next_id"
33140 },
33141 {
33142 "field_bit": 23,
33143 "field_name": "fabric_metadata.next_id"
33144 },
33145 {
33146 "field_bit": 24,
33147 "field_name": "fabric_metadata.next_id"
33148 },
33149 {
33150 "field_bit": 25,
33151 "field_name": "fabric_metadata.next_id"
33152 },
33153 {
33154 "field_bit": 26,
33155 "field_name": "fabric_metadata.next_id"
33156 },
33157 {
33158 "field_bit": 27,
33159 "field_name": "fabric_metadata.next_id"
33160 },
33161 {
33162 "field_bit": 28,
33163 "field_name": "fabric_metadata.next_id"
33164 },
33165 {
33166 "field_bit": 29,
33167 "field_name": "fabric_metadata.next_id"
33168 },
33169 {
33170 "field_bit": 31,
33171 "field_name": "fabric_metadata.next_id"
33172 }
33173 ]
33174 },
33175 {
33176 "hash_bit": 18,
33177 "seed": 0,
33178 "bits_to_xor": [
33179 {
33180 "field_bit": 8,
33181 "field_name": "fabric_metadata.next_id"
33182 },
33183 {
33184 "field_bit": 11,
33185 "field_name": "fabric_metadata.next_id"
33186 },
33187 {
33188 "field_bit": 16,
33189 "field_name": "fabric_metadata.next_id"
33190 },
33191 {
33192 "field_bit": 18,
33193 "field_name": "fabric_metadata.next_id"
33194 },
33195 {
33196 "field_bit": 30,
33197 "field_name": "fabric_metadata.next_id"
33198 },
33199 {
33200 "field_bit": 31,
33201 "field_name": "fabric_metadata.next_id"
33202 }
33203 ]
33204 },
33205 {
33206 "hash_bit": 19,
33207 "seed": 0,
33208 "bits_to_xor": [
33209 {
33210 "field_bit": 9,
33211 "field_name": "fabric_metadata.next_id"
33212 },
33213 {
33214 "field_bit": 10,
33215 "field_name": "fabric_metadata.next_id"
33216 },
33217 {
33218 "field_bit": 11,
33219 "field_name": "fabric_metadata.next_id"
33220 },
33221 {
33222 "field_bit": 12,
33223 "field_name": "fabric_metadata.next_id"
33224 },
33225 {
33226 "field_bit": 13,
33227 "field_name": "fabric_metadata.next_id"
33228 },
33229 {
33230 "field_bit": 19,
33231 "field_name": "fabric_metadata.next_id"
33232 },
33233 {
33234 "field_bit": 20,
33235 "field_name": "fabric_metadata.next_id"
33236 },
33237 {
33238 "field_bit": 22,
33239 "field_name": "fabric_metadata.next_id"
33240 },
33241 {
33242 "field_bit": 23,
33243 "field_name": "fabric_metadata.next_id"
33244 },
33245 {
33246 "field_bit": 27,
33247 "field_name": "fabric_metadata.next_id"
33248 }
33249 ]
33250 },
33251 {
33252 "hash_bit": 20,
33253 "seed": 0,
33254 "bits_to_xor": [
33255 {
33256 "field_bit": 0,
33257 "field_name": "fabric_metadata.next_id"
33258 },
33259 {
33260 "field_bit": 10,
33261 "field_name": "fabric_metadata.next_id"
33262 },
33263 {
33264 "field_bit": 12,
33265 "field_name": "fabric_metadata.next_id"
33266 },
33267 {
33268 "field_bit": 13,
33269 "field_name": "fabric_metadata.next_id"
33270 },
33271 {
33272 "field_bit": 15,
33273 "field_name": "fabric_metadata.next_id"
33274 },
33275 {
33276 "field_bit": 16,
33277 "field_name": "fabric_metadata.next_id"
33278 },
33279 {
33280 "field_bit": 17,
33281 "field_name": "fabric_metadata.next_id"
33282 },
33283 {
33284 "field_bit": 19,
33285 "field_name": "fabric_metadata.next_id"
33286 },
33287 {
33288 "field_bit": 21,
33289 "field_name": "fabric_metadata.next_id"
33290 },
33291 {
33292 "field_bit": 28,
33293 "field_name": "fabric_metadata.next_id"
33294 },
33295 {
33296 "field_bit": 29,
33297 "field_name": "fabric_metadata.next_id"
33298 }
33299 ]
33300 },
33301 {
33302 "hash_bit": 21,
33303 "seed": 0,
33304 "bits_to_xor": [
33305 {
33306 "field_bit": 1,
33307 "field_name": "fabric_metadata.next_id"
33308 },
33309 {
33310 "field_bit": 10,
33311 "field_name": "fabric_metadata.next_id"
33312 },
33313 {
33314 "field_bit": 12,
33315 "field_name": "fabric_metadata.next_id"
33316 },
33317 {
33318 "field_bit": 13,
33319 "field_name": "fabric_metadata.next_id"
33320 },
33321 {
33322 "field_bit": 15,
33323 "field_name": "fabric_metadata.next_id"
33324 },
33325 {
33326 "field_bit": 16,
33327 "field_name": "fabric_metadata.next_id"
33328 },
33329 {
33330 "field_bit": 21,
33331 "field_name": "fabric_metadata.next_id"
33332 },
33333 {
33334 "field_bit": 25,
33335 "field_name": "fabric_metadata.next_id"
33336 },
33337 {
33338 "field_bit": 26,
33339 "field_name": "fabric_metadata.next_id"
33340 }
33341 ]
33342 },
33343 {
33344 "hash_bit": 22,
33345 "seed": 0,
33346 "bits_to_xor": [
33347 {
33348 "field_bit": 2,
33349 "field_name": "fabric_metadata.next_id"
33350 },
33351 {
33352 "field_bit": 12,
33353 "field_name": "fabric_metadata.next_id"
33354 },
33355 {
33356 "field_bit": 13,
33357 "field_name": "fabric_metadata.next_id"
33358 },
33359 {
33360 "field_bit": 18,
33361 "field_name": "fabric_metadata.next_id"
33362 },
33363 {
33364 "field_bit": 19,
33365 "field_name": "fabric_metadata.next_id"
33366 },
33367 {
33368 "field_bit": 24,
33369 "field_name": "fabric_metadata.next_id"
33370 },
33371 {
33372 "field_bit": 27,
33373 "field_name": "fabric_metadata.next_id"
33374 }
33375 ]
33376 },
33377 {
33378 "hash_bit": 23,
33379 "seed": 0,
33380 "bits_to_xor": [
33381 {
33382 "field_bit": 3,
33383 "field_name": "fabric_metadata.next_id"
33384 },
33385 {
33386 "field_bit": 14,
33387 "field_name": "fabric_metadata.next_id"
33388 },
33389 {
33390 "field_bit": 17,
33391 "field_name": "fabric_metadata.next_id"
33392 },
33393 {
33394 "field_bit": 18,
33395 "field_name": "fabric_metadata.next_id"
33396 },
33397 {
33398 "field_bit": 20,
33399 "field_name": "fabric_metadata.next_id"
33400 },
33401 {
33402 "field_bit": 22,
33403 "field_name": "fabric_metadata.next_id"
33404 },
33405 {
33406 "field_bit": 23,
33407 "field_name": "fabric_metadata.next_id"
33408 },
33409 {
33410 "field_bit": 26,
33411 "field_name": "fabric_metadata.next_id"
33412 },
33413 {
33414 "field_bit": 27,
33415 "field_name": "fabric_metadata.next_id"
33416 },
33417 {
33418 "field_bit": 28,
33419 "field_name": "fabric_metadata.next_id"
33420 },
33421 {
33422 "field_bit": 29,
33423 "field_name": "fabric_metadata.next_id"
33424 },
33425 {
33426 "field_bit": 30,
33427 "field_name": "fabric_metadata.next_id"
33428 }
33429 ]
33430 },
33431 {
33432 "hash_bit": 24,
33433 "seed": 0,
33434 "bits_to_xor": [
33435 {
33436 "field_bit": 4,
33437 "field_name": "fabric_metadata.next_id"
33438 },
33439 {
33440 "field_bit": 11,
33441 "field_name": "fabric_metadata.next_id"
33442 },
33443 {
33444 "field_bit": 16,
33445 "field_name": "fabric_metadata.next_id"
33446 },
33447 {
33448 "field_bit": 17,
33449 "field_name": "fabric_metadata.next_id"
33450 },
33451 {
33452 "field_bit": 18,
33453 "field_name": "fabric_metadata.next_id"
33454 },
33455 {
33456 "field_bit": 19,
33457 "field_name": "fabric_metadata.next_id"
33458 },
33459 {
33460 "field_bit": 20,
33461 "field_name": "fabric_metadata.next_id"
33462 },
33463 {
33464 "field_bit": 21,
33465 "field_name": "fabric_metadata.next_id"
33466 },
33467 {
33468 "field_bit": 22,
33469 "field_name": "fabric_metadata.next_id"
33470 },
33471 {
33472 "field_bit": 24,
33473 "field_name": "fabric_metadata.next_id"
33474 },
33475 {
33476 "field_bit": 25,
33477 "field_name": "fabric_metadata.next_id"
33478 },
33479 {
33480 "field_bit": 26,
33481 "field_name": "fabric_metadata.next_id"
33482 },
33483 {
33484 "field_bit": 31,
33485 "field_name": "fabric_metadata.next_id"
33486 }
33487 ]
33488 },
33489 {
33490 "hash_bit": 25,
33491 "seed": 0,
33492 "bits_to_xor": [
33493 {
33494 "field_bit": 5,
33495 "field_name": "fabric_metadata.next_id"
33496 },
33497 {
33498 "field_bit": 10,
33499 "field_name": "fabric_metadata.next_id"
33500 },
33501 {
33502 "field_bit": 11,
33503 "field_name": "fabric_metadata.next_id"
33504 },
33505 {
33506 "field_bit": 12,
33507 "field_name": "fabric_metadata.next_id"
33508 },
33509 {
33510 "field_bit": 15,
33511 "field_name": "fabric_metadata.next_id"
33512 },
33513 {
33514 "field_bit": 18,
33515 "field_name": "fabric_metadata.next_id"
33516 },
33517 {
33518 "field_bit": 20,
33519 "field_name": "fabric_metadata.next_id"
33520 },
33521 {
33522 "field_bit": 21,
33523 "field_name": "fabric_metadata.next_id"
33524 },
33525 {
33526 "field_bit": 23,
33527 "field_name": "fabric_metadata.next_id"
33528 },
33529 {
33530 "field_bit": 24,
33531 "field_name": "fabric_metadata.next_id"
33532 },
33533 {
33534 "field_bit": 25,
33535 "field_name": "fabric_metadata.next_id"
33536 },
33537 {
33538 "field_bit": 28,
33539 "field_name": "fabric_metadata.next_id"
33540 },
33541 {
33542 "field_bit": 30,
33543 "field_name": "fabric_metadata.next_id"
33544 }
33545 ]
33546 },
33547 {
33548 "hash_bit": 26,
33549 "seed": 0,
33550 "bits_to_xor": [
33551 {
33552 "field_bit": 6,
33553 "field_name": "fabric_metadata.next_id"
33554 },
33555 {
33556 "field_bit": 11,
33557 "field_name": "fabric_metadata.next_id"
33558 },
33559 {
33560 "field_bit": 14,
33561 "field_name": "fabric_metadata.next_id"
33562 },
33563 {
33564 "field_bit": 18,
33565 "field_name": "fabric_metadata.next_id"
33566 },
33567 {
33568 "field_bit": 20,
33569 "field_name": "fabric_metadata.next_id"
33570 },
33571 {
33572 "field_bit": 21,
33573 "field_name": "fabric_metadata.next_id"
33574 },
33575 {
33576 "field_bit": 23,
33577 "field_name": "fabric_metadata.next_id"
33578 },
33579 {
33580 "field_bit": 26,
33581 "field_name": "fabric_metadata.next_id"
33582 },
33583 {
33584 "field_bit": 27,
33585 "field_name": "fabric_metadata.next_id"
33586 },
33587 {
33588 "field_bit": 31,
33589 "field_name": "fabric_metadata.next_id"
33590 }
33591 ]
33592 },
33593 {
33594 "hash_bit": 27,
33595 "seed": 0,
33596 "bits_to_xor": [
33597 {
33598 "field_bit": 7,
33599 "field_name": "fabric_metadata.next_id"
33600 },
33601 {
33602 "field_bit": 11,
33603 "field_name": "fabric_metadata.next_id"
33604 },
33605 {
33606 "field_bit": 15,
33607 "field_name": "fabric_metadata.next_id"
33608 },
33609 {
33610 "field_bit": 17,
33611 "field_name": "fabric_metadata.next_id"
33612 },
33613 {
33614 "field_bit": 19,
33615 "field_name": "fabric_metadata.next_id"
33616 },
33617 {
33618 "field_bit": 22,
33619 "field_name": "fabric_metadata.next_id"
33620 },
33621 {
33622 "field_bit": 25,
33623 "field_name": "fabric_metadata.next_id"
33624 },
33625 {
33626 "field_bit": 27,
33627 "field_name": "fabric_metadata.next_id"
33628 },
33629 {
33630 "field_bit": 28,
33631 "field_name": "fabric_metadata.next_id"
33632 },
33633 {
33634 "field_bit": 29,
33635 "field_name": "fabric_metadata.next_id"
33636 }
33637 ]
33638 },
33639 {
33640 "hash_bit": 28,
33641 "seed": 0,
33642 "bits_to_xor": [
33643 {
33644 "field_bit": 8,
33645 "field_name": "fabric_metadata.next_id"
33646 },
33647 {
33648 "field_bit": 14,
33649 "field_name": "fabric_metadata.next_id"
33650 },
33651 {
33652 "field_bit": 15,
33653 "field_name": "fabric_metadata.next_id"
33654 },
33655 {
33656 "field_bit": 17,
33657 "field_name": "fabric_metadata.next_id"
33658 },
33659 {
33660 "field_bit": 20,
33661 "field_name": "fabric_metadata.next_id"
33662 },
33663 {
33664 "field_bit": 22,
33665 "field_name": "fabric_metadata.next_id"
33666 },
33667 {
33668 "field_bit": 23,
33669 "field_name": "fabric_metadata.next_id"
33670 },
33671 {
33672 "field_bit": 25,
33673 "field_name": "fabric_metadata.next_id"
33674 },
33675 {
33676 "field_bit": 29,
33677 "field_name": "fabric_metadata.next_id"
33678 },
33679 {
33680 "field_bit": 31,
33681 "field_name": "fabric_metadata.next_id"
33682 }
33683 ]
33684 },
33685 {
33686 "hash_bit": 29,
33687 "seed": 0,
33688 "bits_to_xor": [
33689 {
33690 "field_bit": 9,
33691 "field_name": "fabric_metadata.next_id"
33692 },
33693 {
33694 "field_bit": 10,
33695 "field_name": "fabric_metadata.next_id"
33696 },
33697 {
33698 "field_bit": 12,
33699 "field_name": "fabric_metadata.next_id"
33700 },
33701 {
33702 "field_bit": 13,
33703 "field_name": "fabric_metadata.next_id"
33704 },
33705 {
33706 "field_bit": 14,
33707 "field_name": "fabric_metadata.next_id"
33708 },
33709 {
33710 "field_bit": 21,
33711 "field_name": "fabric_metadata.next_id"
33712 },
33713 {
33714 "field_bit": 25,
33715 "field_name": "fabric_metadata.next_id"
33716 },
33717 {
33718 "field_bit": 26,
33719 "field_name": "fabric_metadata.next_id"
33720 },
33721 {
33722 "field_bit": 28,
33723 "field_name": "fabric_metadata.next_id"
33724 }
33725 ]
33726 }
33727 ]
33728 }
33729 ],
33730 "action_format": [
33731 {
33732 "action_name": "NoAction",
Carmelo Casconeecb35762018-02-03 17:30:05 -080033733 "action_handle": 536870938,
Carmelo Cascone04098db2018-01-30 18:10:32 -080033734 "table_name": "next_hashed",
33735 "next_table": 0,
33736 "next_table_full": 114,
33737 "vliw_instruction": 0,
33738 "vliw_instruction_full": 65,
33739 "immediate_fields": []
33740 },
33741 {
33742 "action_name": "next.output",
Carmelo Casconeecb35762018-02-03 17:30:05 -080033743 "action_handle": 536870934,
Carmelo Cascone04098db2018-01-30 18:10:32 -080033744 "table_name": "next_hashed",
33745 "next_table": 1,
33746 "next_table_full": 114,
33747 "vliw_instruction": 1,
33748 "vliw_instruction_full": 64,
33749 "immediate_fields": []
33750 },
33751 {
33752 "action_name": "next.set_vlan_output",
Carmelo Casconeecb35762018-02-03 17:30:05 -080033753 "action_handle": 536870935,
Carmelo Cascone04098db2018-01-30 18:10:32 -080033754 "table_name": "next_hashed",
33755 "next_table": 2,
33756 "next_table_full": 114,
33757 "vliw_instruction": 2,
33758 "vliw_instruction_full": 66,
33759 "immediate_fields": []
33760 },
33761 {
33762 "action_name": "next.l3_routing",
Carmelo Casconeecb35762018-02-03 17:30:05 -080033763 "action_handle": 536870936,
Carmelo Cascone04098db2018-01-30 18:10:32 -080033764 "table_name": "next_hashed",
33765 "next_table": 3,
33766 "next_table_full": 114,
33767 "vliw_instruction": 3,
33768 "vliw_instruction_full": 68,
33769 "immediate_fields": []
33770 },
33771 {
33772 "action_name": "next.mpls_routing_v4",
Carmelo Casconeecb35762018-02-03 17:30:05 -080033773 "action_handle": 536870937,
Carmelo Cascone04098db2018-01-30 18:10:32 -080033774 "table_name": "next_hashed",
33775 "next_table": 4,
33776 "next_table_full": 114,
33777 "vliw_instruction": 4,
33778 "vliw_instruction_full": 70,
33779 "immediate_fields": [
33780 {
33781 "param_name": "constant_0",
33782 "param_type": "constant",
33783 "const_value": 0,
33784 "param_shift": 0,
33785 "dest_start": 1,
33786 "dest_width": 3
33787 },
33788 {
33789 "param_name": "constant_1",
33790 "param_type": "constant",
33791 "const_value": 1,
33792 "param_shift": 0,
33793 "dest_start": 0,
33794 "dest_width": 1
33795 },
33796 {
33797 "param_name": "label",
33798 "param_type": "parameter",
33799 "param_shift": 0,
33800 "dest_start": 4,
33801 "dest_width": 4
33802 }
33803 ]
33804 }
33805 ],
33806 "result_physical_buses": [ 14 ],
33807 "pack_format": [
33808 {
33809 "memory_word_width": 128,
33810 "table_word_width": 128,
33811 "entries_per_table_word": 1,
33812 "number_memory_units_per_table_word": 1
33813 }
33814 ],
33815 "memory_resource_allocation": null,
33816 "ways": [
33817 {
33818 "stage_number": 6,
33819 "way_number": 0,
33820 "stage_table_type": "hash_way",
33821 "size": 1024,
33822 "pack_format": [
33823 {
33824 "memory_word_width": 128,
33825 "table_word_width": 128,
33826 "entries_per_table_word": 1,
33827 "number_memory_units_per_table_word": 1,
33828 "entries": [
33829 {
33830 "entry_number": 0,
33831 "fields": [
33832 {
33833 "start_bit": 0,
33834 "enable_pfe": false,
33835 "field_width": 3,
33836 "lsb_mem_word_idx": 0,
33837 "msb_mem_word_idx": 0,
33838 "source": "instr",
33839 "lsb_mem_word_offset": 0,
33840 "field_name": "action",
33841 "match_mode": "unused"
33842 },
33843 {
33844 "start_bit": 0,
33845 "enable_pfe": false,
33846 "field_width": 8,
33847 "lsb_mem_word_idx": 0,
33848 "msb_mem_word_idx": 0,
33849 "source": "immediate",
33850 "lsb_mem_word_offset": 3,
33851 "field_name": "immediate",
33852 "match_mode": "unused"
33853 },
33854 {
33855 "start_bit": 0,
33856 "enable_pfe": false,
33857 "field_width": 4,
33858 "lsb_mem_word_idx": 0,
33859 "msb_mem_word_idx": 0,
33860 "source": "version",
33861 "lsb_mem_word_offset": 12,
33862 "field_name": "version",
33863 "match_mode": "s1q0"
33864 },
33865 {
33866 "field_name": "fabric_metadata.next_id",
33867 "source": "spec",
33868 "lsb_mem_word_offset": 34,
33869 "start_bit": 10,
33870 "immediate_name": "",
33871 "lsb_mem_word_idx": 0,
33872 "msb_mem_word_idx": 0,
33873 "match_mode": "unused",
33874 "enable_pfe": false,
33875 "field_width": 6
33876 },
33877 {
33878 "field_name": "fabric_metadata.next_id",
33879 "source": "spec",
33880 "lsb_mem_word_offset": 16,
33881 "start_bit": 16,
33882 "immediate_name": "",
33883 "lsb_mem_word_idx": 0,
33884 "msb_mem_word_idx": 0,
33885 "match_mode": "unused",
33886 "enable_pfe": false,
33887 "field_width": 8
33888 },
33889 {
33890 "field_name": "fabric_metadata.next_id",
33891 "source": "spec",
33892 "lsb_mem_word_offset": 24,
33893 "start_bit": 24,
33894 "immediate_name": "",
33895 "lsb_mem_word_idx": 0,
33896 "msb_mem_word_idx": 0,
33897 "match_mode": "unused",
33898 "enable_pfe": false,
33899 "field_width": 8
33900 },
33901 {
33902 "start_bit": 0,
33903 "enable_pfe": false,
33904 "field_width": 1,
33905 "lsb_mem_word_idx": 0,
33906 "msb_mem_word_idx": 0,
33907 "source": "zero",
33908 "lsb_mem_word_offset": 11,
33909 "field_name": "--padding_11_11--",
33910 "match_mode": "unused"
33911 },
33912 {
33913 "start_bit": 0,
33914 "enable_pfe": false,
33915 "field_width": 2,
33916 "lsb_mem_word_idx": 0,
33917 "msb_mem_word_idx": 0,
33918 "source": "zero",
33919 "lsb_mem_word_offset": 32,
33920 "field_name": "--padding_32_33--",
33921 "match_mode": "unused"
33922 },
33923 {
33924 "start_bit": 0,
33925 "enable_pfe": false,
33926 "field_width": 88,
33927 "lsb_mem_word_idx": 0,
33928 "msb_mem_word_idx": 0,
33929 "source": "zero",
33930 "lsb_mem_word_offset": 40,
33931 "field_name": "--padding_40_127--",
33932 "match_mode": "unused"
33933 }
33934 ]
33935 }
33936 ]
33937 }
33938 ],
33939 "memory_resource_allocation": {
33940 "hash_function_id": 0,
33941 "hash_entry_bit_lo": 0,
33942 "hash_entry_bit_hi": 9,
33943 "number_entry_bits": 10,
33944 "hash_select_bit_hi": 40,
33945 "hash_select_bit_lo": 40,
33946 "number_select_bits": 0,
33947 "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
33948 }
33949 },
33950 {
33951 "stage_number": 6,
33952 "way_number": 1,
33953 "stage_table_type": "hash_way",
33954 "size": 1024,
33955 "pack_format": [
33956 {
33957 "memory_word_width": 128,
33958 "table_word_width": 128,
33959 "entries_per_table_word": 1,
33960 "number_memory_units_per_table_word": 1,
33961 "entries": [
33962 {
33963 "entry_number": 0,
33964 "fields": [
33965 {
33966 "start_bit": 0,
33967 "enable_pfe": false,
33968 "field_width": 3,
33969 "lsb_mem_word_idx": 0,
33970 "msb_mem_word_idx": 0,
33971 "source": "instr",
33972 "lsb_mem_word_offset": 0,
33973 "field_name": "action",
33974 "match_mode": "unused"
33975 },
33976 {
33977 "start_bit": 0,
33978 "enable_pfe": false,
33979 "field_width": 8,
33980 "lsb_mem_word_idx": 0,
33981 "msb_mem_word_idx": 0,
33982 "source": "immediate",
33983 "lsb_mem_word_offset": 3,
33984 "field_name": "immediate",
33985 "match_mode": "unused"
33986 },
33987 {
33988 "start_bit": 0,
33989 "enable_pfe": false,
33990 "field_width": 4,
33991 "lsb_mem_word_idx": 0,
33992 "msb_mem_word_idx": 0,
33993 "source": "version",
33994 "lsb_mem_word_offset": 12,
33995 "field_name": "version",
33996 "match_mode": "s1q0"
33997 },
33998 {
33999 "field_name": "fabric_metadata.next_id",
34000 "source": "spec",
34001 "lsb_mem_word_offset": 34,
34002 "start_bit": 10,
34003 "immediate_name": "",
34004 "lsb_mem_word_idx": 0,
34005 "msb_mem_word_idx": 0,
34006 "match_mode": "unused",
34007 "enable_pfe": false,
34008 "field_width": 6
34009 },
34010 {
34011 "field_name": "fabric_metadata.next_id",
34012 "source": "spec",
34013 "lsb_mem_word_offset": 16,
34014 "start_bit": 16,
34015 "immediate_name": "",
34016 "lsb_mem_word_idx": 0,
34017 "msb_mem_word_idx": 0,
34018 "match_mode": "unused",
34019 "enable_pfe": false,
34020 "field_width": 8
34021 },
34022 {
34023 "field_name": "fabric_metadata.next_id",
34024 "source": "spec",
34025 "lsb_mem_word_offset": 24,
34026 "start_bit": 24,
34027 "immediate_name": "",
34028 "lsb_mem_word_idx": 0,
34029 "msb_mem_word_idx": 0,
34030 "match_mode": "unused",
34031 "enable_pfe": false,
34032 "field_width": 8
34033 },
34034 {
34035 "start_bit": 0,
34036 "enable_pfe": false,
34037 "field_width": 1,
34038 "lsb_mem_word_idx": 0,
34039 "msb_mem_word_idx": 0,
34040 "source": "zero",
34041 "lsb_mem_word_offset": 11,
34042 "field_name": "--padding_11_11--",
34043 "match_mode": "unused"
34044 },
34045 {
34046 "start_bit": 0,
34047 "enable_pfe": false,
34048 "field_width": 2,
34049 "lsb_mem_word_idx": 0,
34050 "msb_mem_word_idx": 0,
34051 "source": "zero",
34052 "lsb_mem_word_offset": 32,
34053 "field_name": "--padding_32_33--",
34054 "match_mode": "unused"
34055 },
34056 {
34057 "start_bit": 0,
34058 "enable_pfe": false,
34059 "field_width": 88,
34060 "lsb_mem_word_idx": 0,
34061 "msb_mem_word_idx": 0,
34062 "source": "zero",
34063 "lsb_mem_word_offset": 40,
34064 "field_name": "--padding_40_127--",
34065 "match_mode": "unused"
34066 }
34067 ]
34068 }
34069 ]
34070 }
34071 ],
34072 "memory_resource_allocation": {
34073 "hash_function_id": 0,
34074 "hash_entry_bit_lo": 10,
34075 "hash_entry_bit_hi": 19,
34076 "number_entry_bits": 10,
34077 "hash_select_bit_hi": 40,
34078 "hash_select_bit_lo": 40,
34079 "number_select_bits": 0,
34080 "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
34081 }
34082 },
34083 {
34084 "stage_number": 6,
34085 "way_number": 2,
34086 "stage_table_type": "hash_way",
34087 "size": 1024,
34088 "pack_format": [
34089 {
34090 "memory_word_width": 128,
34091 "table_word_width": 128,
34092 "entries_per_table_word": 1,
34093 "number_memory_units_per_table_word": 1,
34094 "entries": [
34095 {
34096 "entry_number": 0,
34097 "fields": [
34098 {
34099 "start_bit": 0,
34100 "enable_pfe": false,
34101 "field_width": 3,
34102 "lsb_mem_word_idx": 0,
34103 "msb_mem_word_idx": 0,
34104 "source": "instr",
34105 "lsb_mem_word_offset": 0,
34106 "field_name": "action",
34107 "match_mode": "unused"
34108 },
34109 {
34110 "start_bit": 0,
34111 "enable_pfe": false,
34112 "field_width": 8,
34113 "lsb_mem_word_idx": 0,
34114 "msb_mem_word_idx": 0,
34115 "source": "immediate",
34116 "lsb_mem_word_offset": 3,
34117 "field_name": "immediate",
34118 "match_mode": "unused"
34119 },
34120 {
34121 "start_bit": 0,
34122 "enable_pfe": false,
34123 "field_width": 4,
34124 "lsb_mem_word_idx": 0,
34125 "msb_mem_word_idx": 0,
34126 "source": "version",
34127 "lsb_mem_word_offset": 12,
34128 "field_name": "version",
34129 "match_mode": "s1q0"
34130 },
34131 {
34132 "field_name": "fabric_metadata.next_id",
34133 "source": "spec",
34134 "lsb_mem_word_offset": 34,
34135 "start_bit": 10,
34136 "immediate_name": "",
34137 "lsb_mem_word_idx": 0,
34138 "msb_mem_word_idx": 0,
34139 "match_mode": "unused",
34140 "enable_pfe": false,
34141 "field_width": 6
34142 },
34143 {
34144 "field_name": "fabric_metadata.next_id",
34145 "source": "spec",
34146 "lsb_mem_word_offset": 16,
34147 "start_bit": 16,
34148 "immediate_name": "",
34149 "lsb_mem_word_idx": 0,
34150 "msb_mem_word_idx": 0,
34151 "match_mode": "unused",
34152 "enable_pfe": false,
34153 "field_width": 8
34154 },
34155 {
34156 "field_name": "fabric_metadata.next_id",
34157 "source": "spec",
34158 "lsb_mem_word_offset": 24,
34159 "start_bit": 24,
34160 "immediate_name": "",
34161 "lsb_mem_word_idx": 0,
34162 "msb_mem_word_idx": 0,
34163 "match_mode": "unused",
34164 "enable_pfe": false,
34165 "field_width": 8
34166 },
34167 {
34168 "start_bit": 0,
34169 "enable_pfe": false,
34170 "field_width": 1,
34171 "lsb_mem_word_idx": 0,
34172 "msb_mem_word_idx": 0,
34173 "source": "zero",
34174 "lsb_mem_word_offset": 11,
34175 "field_name": "--padding_11_11--",
34176 "match_mode": "unused"
34177 },
34178 {
34179 "start_bit": 0,
34180 "enable_pfe": false,
34181 "field_width": 2,
34182 "lsb_mem_word_idx": 0,
34183 "msb_mem_word_idx": 0,
34184 "source": "zero",
34185 "lsb_mem_word_offset": 32,
34186 "field_name": "--padding_32_33--",
34187 "match_mode": "unused"
34188 },
34189 {
34190 "start_bit": 0,
34191 "enable_pfe": false,
34192 "field_width": 88,
34193 "lsb_mem_word_idx": 0,
34194 "msb_mem_word_idx": 0,
34195 "source": "zero",
34196 "lsb_mem_word_offset": 40,
34197 "field_name": "--padding_40_127--",
34198 "match_mode": "unused"
34199 }
34200 ]
34201 }
34202 ]
34203 }
34204 ],
34205 "memory_resource_allocation": {
34206 "hash_function_id": 0,
34207 "hash_entry_bit_lo": 20,
34208 "hash_entry_bit_hi": 29,
34209 "number_entry_bits": 10,
34210 "hash_select_bit_hi": 40,
34211 "hash_select_bit_lo": 40,
34212 "number_select_bits": 0,
34213 "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
34214 }
34215 }
34216 ]
34217 }
34218 ],
34219 "match_type": "exact",
34220 "uses_dynamic_key_masks": false
34221 },
34222 "actions": [
34223 {
34224 "name": "NoAction",
Carmelo Casconeecb35762018-02-03 17:30:05 -080034225 "handle": 536870938,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034226 "indirect_resources": [],
34227 "allowed_as_default_action": true,
34228 "disallowed_as_default_action_reason": "",
34229 "p4_parameters": [],
34230 "override_meter_addr": false,
34231 "override_meter_addr_pfe": false,
34232 "override_meter_full_addr": 0,
34233 "override_stat_addr": false,
34234 "override_stat_addr_pfe": false,
34235 "override_stat_full_addr": 0,
34236 "override_stateful_addr": false,
34237 "override_stateful_addr_pfe": false,
34238 "override_stateful_full_addr": 0,
34239 "primitives": []
34240 },
34241 {
34242 "name": "next.output",
Carmelo Casconeecb35762018-02-03 17:30:05 -080034243 "handle": 536870934,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034244 "indirect_resources": [],
34245 "allowed_as_default_action": true,
34246 "disallowed_as_default_action_reason": "",
34247 "p4_parameters": [
34248 {
34249 "name": "port_num",
34250 "start_bit": 0,
34251 "position": 0,
34252 "bit_width": 9
34253 }
34254 ],
34255 "override_meter_addr": false,
34256 "override_meter_addr_pfe": false,
34257 "override_meter_full_addr": 0,
34258 "override_stat_addr": false,
34259 "override_stat_addr_pfe": false,
34260 "override_stat_full_addr": 0,
34261 "override_stateful_addr": false,
34262 "override_stateful_addr_pfe": false,
34263 "override_stateful_full_addr": 0,
34264 "primitives": [
34265 {
34266 "name": "ModifyFieldPrimitive",
34267 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
34268 "src": [
34269 { "type": "action_param", "name": "port_num" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080034270 { "type": "phv", "name": "H0" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080034271 ]
34272 }
34273 ]
34274 },
34275 {
34276 "name": "next.set_vlan_output",
Carmelo Casconeecb35762018-02-03 17:30:05 -080034277 "handle": 536870935,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034278 "indirect_resources": [],
34279 "allowed_as_default_action": true,
34280 "disallowed_as_default_action_reason": "",
34281 "p4_parameters": [
34282 {
34283 "name": "new_vlan_id",
34284 "start_bit": 0,
34285 "position": 0,
34286 "bit_width": 12
34287 },
34288 {
34289 "name": "port_num",
34290 "start_bit": 12,
34291 "position": 1,
34292 "bit_width": 9
34293 }
34294 ],
34295 "override_meter_addr": false,
34296 "override_meter_addr_pfe": false,
34297 "override_meter_full_addr": 0,
34298 "override_stat_addr": false,
34299 "override_stat_addr_pfe": false,
34300 "override_stat_full_addr": 0,
34301 "override_stateful_addr": false,
34302 "override_stateful_addr_pfe": false,
34303 "override_stateful_full_addr": 0,
34304 "primitives": [
34305 {
34306 "name": "ModifyFieldPrimitive",
34307 "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
34308 "src": [
34309 { "type": "action_param", "name": "new_vlan_id" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080034310 { "type": "phv", "name": "H2" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080034311 ]
34312 },
34313 {
34314 "name": "ModifyFieldPrimitive",
34315 "dest": { "type": "phv", "name": "fabric_metadata.pop_vlan_at_egress" },
34316 "src": [
34317 { "type": "immmediate", "name": "0" },
34318 { "type": "phv", "name": "B8" }
34319 ]
34320 },
34321 {
34322 "name": "ModifyFieldPrimitive",
34323 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
34324 "src": [
34325 { "type": "action_param", "name": "port_num" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080034326 { "type": "phv", "name": "H0" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080034327 ]
34328 }
34329 ]
34330 },
34331 {
34332 "name": "next.l3_routing",
Carmelo Casconeecb35762018-02-03 17:30:05 -080034333 "handle": 536870936,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034334 "indirect_resources": [],
34335 "allowed_as_default_action": true,
34336 "disallowed_as_default_action_reason": "",
34337 "p4_parameters": [
34338 {
34339 "name": "port_num",
34340 "start_bit": 0,
34341 "position": 0,
34342 "bit_width": 9
34343 },
34344 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
34345 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 }
34346 ],
34347 "override_meter_addr": false,
34348 "override_meter_addr_pfe": false,
34349 "override_meter_full_addr": 0,
34350 "override_stat_addr": false,
34351 "override_stat_addr_pfe": false,
34352 "override_stat_full_addr": 0,
34353 "override_stateful_addr": false,
34354 "override_stateful_addr_pfe": false,
34355 "override_stateful_full_addr": 0,
34356 "primitives": [
34357 {
34358 "name": "ModifyFieldPrimitive",
34359 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
34360 "src": [
34361 { "type": "action_param", "name": "port_num" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080034362 { "type": "phv", "name": "H0" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080034363 ]
34364 },
34365 {
34366 "name": "ModifyFieldPrimitive",
34367 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
34368 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
34369 },
34370 {
34371 "name": "ModifyFieldPrimitive",
34372 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
34373 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
34374 },
34375 {
34376 "name": "ModifyFieldPrimitive",
34377 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
34378 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
34379 },
34380 {
34381 "name": "ModifyFieldPrimitive",
34382 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
34383 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
34384 }
34385 ]
34386 },
34387 {
34388 "name": "next.mpls_routing_v4",
Carmelo Casconeecb35762018-02-03 17:30:05 -080034389 "handle": 536870937,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034390 "indirect_resources": [],
34391 "allowed_as_default_action": true,
34392 "disallowed_as_default_action_reason": "",
34393 "p4_parameters": [
34394 {
34395 "name": "port_num",
34396 "start_bit": 0,
34397 "position": 0,
34398 "bit_width": 9
34399 },
34400 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
34401 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 },
34402 {
34403 "name": "label",
34404 "start_bit": 105,
34405 "position": 3,
34406 "bit_width": 20
34407 }
34408 ],
34409 "override_meter_addr": false,
34410 "override_meter_addr_pfe": false,
34411 "override_meter_full_addr": 0,
34412 "override_stat_addr": false,
34413 "override_stat_addr_pfe": false,
34414 "override_stat_full_addr": 0,
34415 "override_stateful_addr": false,
34416 "override_stateful_addr_pfe": false,
34417 "override_stateful_full_addr": 0,
34418 "primitives": [
34419 {
34420 "name": "ModifyFieldPrimitive",
34421 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
34422 "src": [
34423 { "type": "action_param", "name": "port_num" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080034424 { "type": "phv", "name": "H0" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080034425 ]
34426 },
34427 {
34428 "name": "ModifyFieldPrimitive",
34429 "dest": { "type": "phv", "name": "mpls.$valid" },
34430 "src": [
34431 { "type": "immmediate", "name": "1" },
34432 { "type": "phv", "name": "B7" }
34433 ]
34434 },
34435 {
34436 "name": "ModifyFieldPrimitive",
34437 "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
34438 "src": [ { "immediate": "34887" } ]
34439 },
34440 {
34441 "name": "ModifyFieldPrimitive",
34442 "dest": { "type": "phv", "name": "mpls.ttl" },
34443 "src": [ { "immediate": "64" } ]
34444 },
34445 {
34446 "name": "ModifyFieldPrimitive",
34447 "dest": { "type": "phv", "name": "mpls.label.4-19" },
34448 "src": [ { "type": "action_param", "name": "label.4-19" } ]
34449 },
34450 {
34451 "name": "ModifyFieldPrimitive",
34452 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
34453 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
34454 },
34455 {
34456 "name": "ModifyFieldPrimitive",
34457 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
34458 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
34459 },
34460 {
34461 "name": "ModifyFieldPrimitive",
34462 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
34463 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
34464 },
34465 {
34466 "name": "ModifyFieldPrimitive",
34467 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
34468 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
34469 },
34470 {
34471 "name": "ModifyFieldPrimitive",
34472 "dest": { "type": "phv", "name": "B2" },
34473 "src": [ { "type": "immediate", "name": "$data0" } ]
34474 }
34475 ]
34476 }
34477 ]
34478 },
34479 {
34480 "direction": "ingress",
Carmelo Casconeecb35762018-02-03 17:30:05 -080034481 "handle": 67108872,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034482 "name": "next.simple_counter",
34483 "table_type": "statistics",
34484 "size": 0,
34485 "stage_tables": [
34486 {
34487 "stage_number": 6,
34488 "size": 4096,
34489 "stage_table_type": "statistics",
34490 "logical_table_id": 0,
34491 "pack_format": [
34492 {
34493 "table_word_width": 128,
34494 "memory_word_width": 128,
34495 "entries_per_table_word": 2,
34496 "number_memory_units_per_table_word": 1
34497 }
34498 ],
34499 "memory_resource_allocation": {
34500 "memory_type": "sram",
34501 "memory_units_and_vpns": [
34502 { "memory_units": [ 78 ], "vpns": [ 0 ] },
34503 { "memory_units": [ 79 ], "vpns": [ 1 ] },
34504 { "memory_units": [ 80 ], "vpns": [ 2 ] }
34505 ],
34506 "spare_bank_memory_unit": 80
34507 },
34508 "stats_alu_index": 3
34509 }
34510 ],
34511 "how_referenced": "direct",
34512 "enable_pfe": false,
34513 "pfe_bit_position": 0,
34514 "byte_counter_resolution": 36,
34515 "packet_counter_resolution": 28,
34516 "statistics_type": "packets_and_bytes"
34517 },
34518 {
34519 "direction": "ingress",
34520 "handle": 33554433,
34521 "name": "next_simple$action",
34522 "table_type": "action",
34523 "size": 3072,
34524 "stage_tables": [
34525 {
34526 "stage_number": 6,
34527 "size": 3072,
34528 "stage_table_type": "action_data",
34529 "logical_table_id": 0,
34530 "pack_format": [
34531 {
34532 "memory_word_width": 128,
34533 "table_word_width": 128,
34534 "entries_per_table_word": 1,
34535 "number_memory_units_per_table_word": 1,
34536 "entries": [
34537 {
34538 "entry_number": 0,
34539 "fields": [
34540 {
34541 "start_bit": 0,
34542 "field_width": 128,
34543 "lsb_mem_word_idx": 0,
34544 "msb_mem_word_idx": 0,
34545 "source": "zero",
34546 "lsb_mem_word_offset": 0,
34547 "field_name": "--padding_0_127--"
34548 }
34549 ]
34550 }
34551 ],
Carmelo Casconeecb35762018-02-03 17:30:05 -080034552 "action_handle": 536870938
Carmelo Cascone04098db2018-01-30 18:10:32 -080034553 },
34554 {
34555 "memory_word_width": 128,
34556 "table_word_width": 128,
34557 "entries_per_table_word": 1,
34558 "number_memory_units_per_table_word": 1,
34559 "entries": [
34560 {
34561 "entry_number": 0,
34562 "fields": [
34563 {
34564 "start_bit": 0,
34565 "field_width": 9,
34566 "lsb_mem_word_idx": 0,
34567 "msb_mem_word_idx": 0,
34568 "source": "spec",
34569 "lsb_mem_word_offset": 48,
34570 "field_name": "port_num"
34571 },
34572 {
34573 "start_bit": 0,
34574 "field_width": 48,
34575 "lsb_mem_word_idx": 0,
34576 "msb_mem_word_idx": 0,
34577 "source": "zero",
34578 "lsb_mem_word_offset": 0,
34579 "field_name": "--padding_0_47--"
34580 },
34581 {
34582 "start_bit": 0,
34583 "field_width": 71,
34584 "lsb_mem_word_idx": 0,
34585 "msb_mem_word_idx": 0,
34586 "source": "zero",
34587 "lsb_mem_word_offset": 57,
34588 "field_name": "--padding_57_127--"
34589 }
34590 ]
34591 }
34592 ],
Carmelo Casconeecb35762018-02-03 17:30:05 -080034593 "action_handle": 536870934
Carmelo Cascone04098db2018-01-30 18:10:32 -080034594 },
34595 {
34596 "memory_word_width": 128,
34597 "table_word_width": 128,
34598 "entries_per_table_word": 1,
34599 "number_memory_units_per_table_word": 1,
34600 "entries": [
34601 {
34602 "entry_number": 0,
34603 "fields": [
34604 {
34605 "start_bit": 0,
34606 "field_width": 9,
34607 "lsb_mem_word_idx": 0,
34608 "msb_mem_word_idx": 0,
34609 "source": "spec",
34610 "lsb_mem_word_offset": 32,
34611 "field_name": "port_num"
34612 },
34613 {
34614 "start_bit": 0,
34615 "field_width": 12,
34616 "lsb_mem_word_idx": 0,
34617 "msb_mem_word_idx": 0,
34618 "source": "spec",
34619 "lsb_mem_word_offset": 48,
34620 "field_name": "new_vlan_id"
34621 },
34622 {
34623 "start_bit": 0,
34624 "field_width": 32,
34625 "lsb_mem_word_idx": 0,
34626 "msb_mem_word_idx": 0,
34627 "source": "zero",
34628 "lsb_mem_word_offset": 0,
34629 "field_name": "--padding_0_31--"
34630 },
34631 {
34632 "start_bit": 0,
34633 "field_width": 7,
34634 "lsb_mem_word_idx": 0,
34635 "msb_mem_word_idx": 0,
34636 "source": "zero",
34637 "lsb_mem_word_offset": 41,
34638 "field_name": "--padding_41_47--"
34639 },
34640 {
34641 "start_bit": 0,
34642 "field_width": 68,
34643 "lsb_mem_word_idx": 0,
34644 "msb_mem_word_idx": 0,
34645 "source": "zero",
34646 "lsb_mem_word_offset": 60,
34647 "field_name": "--padding_60_127--"
34648 }
34649 ]
34650 }
34651 ],
Carmelo Casconeecb35762018-02-03 17:30:05 -080034652 "action_handle": 536870935
Carmelo Cascone04098db2018-01-30 18:10:32 -080034653 },
34654 {
34655 "memory_word_width": 128,
34656 "table_word_width": 128,
34657 "entries_per_table_word": 1,
34658 "number_memory_units_per_table_word": 1,
34659 "entries": [
34660 {
34661 "entry_number": 0,
34662 "fields": [
34663 {
34664 "start_bit": 0,
34665 "field_width": 9,
34666 "lsb_mem_word_idx": 0,
34667 "msb_mem_word_idx": 0,
34668 "source": "spec",
34669 "lsb_mem_word_offset": 16,
34670 "field_name": "port_num"
34671 },
34672 {
34673 "start_bit": 0,
34674 "field_width": 16,
34675 "lsb_mem_word_idx": 0,
34676 "msb_mem_word_idx": 0,
34677 "source": "spec",
34678 "lsb_mem_word_offset": 32,
34679 "field_name": "dmac"
34680 },
34681 {
34682 "start_bit": 0,
34683 "field_width": 16,
34684 "lsb_mem_word_idx": 0,
34685 "msb_mem_word_idx": 0,
34686 "source": "spec",
34687 "lsb_mem_word_offset": 48,
34688 "field_name": "smac"
34689 },
34690 {
34691 "start_bit": 16,
34692 "field_width": 32,
34693 "lsb_mem_word_idx": 0,
34694 "msb_mem_word_idx": 0,
34695 "source": "spec",
34696 "lsb_mem_word_offset": 64,
34697 "field_name": "dmac"
34698 },
34699 {
34700 "start_bit": 16,
34701 "field_width": 32,
34702 "lsb_mem_word_idx": 0,
34703 "msb_mem_word_idx": 0,
34704 "source": "spec",
34705 "lsb_mem_word_offset": 96,
34706 "field_name": "smac"
34707 },
34708 {
34709 "start_bit": 0,
34710 "field_width": 16,
34711 "lsb_mem_word_idx": 0,
34712 "msb_mem_word_idx": 0,
34713 "source": "zero",
34714 "lsb_mem_word_offset": 0,
34715 "field_name": "--padding_0_15--"
34716 },
34717 {
34718 "start_bit": 0,
34719 "field_width": 7,
34720 "lsb_mem_word_idx": 0,
34721 "msb_mem_word_idx": 0,
34722 "source": "zero",
34723 "lsb_mem_word_offset": 25,
34724 "field_name": "--padding_25_31--"
34725 }
34726 ]
34727 }
34728 ],
Carmelo Casconeecb35762018-02-03 17:30:05 -080034729 "action_handle": 536870936
Carmelo Cascone04098db2018-01-30 18:10:32 -080034730 },
34731 {
34732 "memory_word_width": 128,
34733 "table_word_width": 128,
34734 "entries_per_table_word": 1,
34735 "number_memory_units_per_table_word": 1,
34736 "entries": [
34737 {
34738 "entry_number": 0,
34739 "fields": [
34740 {
34741 "start_bit": 0,
34742 "field_width": 9,
34743 "lsb_mem_word_idx": 0,
34744 "msb_mem_word_idx": 0,
34745 "source": "spec",
34746 "lsb_mem_word_offset": 0,
34747 "field_name": "port_num"
34748 },
34749 {
34750 "start_bit": 4,
34751 "field_width": 16,
34752 "lsb_mem_word_idx": 0,
34753 "msb_mem_word_idx": 0,
34754 "source": "spec",
34755 "lsb_mem_word_offset": 16,
34756 "field_name": "label"
34757 },
34758 {
34759 "start_bit": 0,
34760 "field_width": 16,
34761 "lsb_mem_word_idx": 0,
34762 "msb_mem_word_idx": 0,
34763 "source": "spec",
34764 "lsb_mem_word_offset": 32,
34765 "field_name": "dmac"
34766 },
34767 {
34768 "start_bit": 0,
34769 "field_width": 16,
34770 "lsb_mem_word_idx": 0,
34771 "msb_mem_word_idx": 0,
34772 "source": "spec",
34773 "lsb_mem_word_offset": 48,
34774 "field_name": "smac"
34775 },
34776 {
34777 "start_bit": 16,
34778 "field_width": 32,
34779 "lsb_mem_word_idx": 0,
34780 "msb_mem_word_idx": 0,
34781 "source": "spec",
34782 "lsb_mem_word_offset": 64,
34783 "field_name": "dmac"
34784 },
34785 {
34786 "start_bit": 16,
34787 "field_width": 32,
34788 "lsb_mem_word_idx": 0,
34789 "msb_mem_word_idx": 0,
34790 "source": "spec",
34791 "lsb_mem_word_offset": 96,
34792 "field_name": "smac"
34793 },
34794 {
34795 "start_bit": 0,
34796 "field_width": 7,
34797 "lsb_mem_word_idx": 0,
34798 "msb_mem_word_idx": 0,
34799 "source": "zero",
34800 "lsb_mem_word_offset": 9,
34801 "field_name": "--padding_9_15--"
34802 }
34803 ]
34804 }
34805 ],
Carmelo Casconeecb35762018-02-03 17:30:05 -080034806 "action_handle": 536870937
Carmelo Cascone04098db2018-01-30 18:10:32 -080034807 }
34808 ],
34809 "memory_resource_allocation": {
34810 "memory_type": "sram",
34811 "memory_units_and_vpns": [
34812 { "memory_units": [ 90 ], "vpns": [ 0 ] },
34813 { "memory_units": [ 91 ], "vpns": [ 1 ] },
34814 { "memory_units": [ 92 ], "vpns": [ 2 ] }
34815 ],
34816 "spare_bank_memory_unit": 92
34817 }
34818 }
34819 ],
34820 "actions": [
34821 {
34822 "name": "NoAction",
Carmelo Casconeecb35762018-02-03 17:30:05 -080034823 "handle": 536870938,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034824 "indirect_resources": [],
34825 "allowed_as_default_action": true,
34826 "disallowed_as_default_action_reason": "",
34827 "p4_parameters": [],
34828 "override_meter_addr": false,
34829 "override_meter_addr_pfe": false,
34830 "override_meter_full_addr": 0,
34831 "override_stat_addr": false,
34832 "override_stat_addr_pfe": false,
34833 "override_stat_full_addr": 0,
34834 "override_stateful_addr": false,
34835 "override_stateful_addr_pfe": false,
34836 "override_stateful_full_addr": 0,
34837 "primitives": []
34838 },
34839 {
34840 "name": "next.output",
Carmelo Casconeecb35762018-02-03 17:30:05 -080034841 "handle": 536870934,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034842 "indirect_resources": [],
34843 "allowed_as_default_action": true,
34844 "disallowed_as_default_action_reason": "",
34845 "p4_parameters": [
34846 {
34847 "name": "port_num",
34848 "start_bit": 0,
34849 "position": 0,
34850 "bit_width": 9
34851 }
34852 ],
34853 "override_meter_addr": false,
34854 "override_meter_addr_pfe": false,
34855 "override_meter_full_addr": 0,
34856 "override_stat_addr": false,
34857 "override_stat_addr_pfe": false,
34858 "override_stat_full_addr": 0,
34859 "override_stateful_addr": false,
34860 "override_stateful_addr_pfe": false,
34861 "override_stateful_full_addr": 0,
34862 "primitives": [
34863 {
34864 "name": "ModifyFieldPrimitive",
34865 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
34866 "src": [
34867 { "type": "action_param", "name": "port_num" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080034868 { "type": "phv", "name": "H0" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080034869 ]
34870 }
34871 ]
34872 },
34873 {
34874 "name": "next.set_vlan_output",
Carmelo Casconeecb35762018-02-03 17:30:05 -080034875 "handle": 536870935,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034876 "indirect_resources": [],
34877 "allowed_as_default_action": true,
34878 "disallowed_as_default_action_reason": "",
34879 "p4_parameters": [
34880 {
34881 "name": "new_vlan_id",
34882 "start_bit": 0,
34883 "position": 0,
34884 "bit_width": 12
34885 },
34886 {
34887 "name": "port_num",
34888 "start_bit": 12,
34889 "position": 1,
34890 "bit_width": 9
34891 }
34892 ],
34893 "override_meter_addr": false,
34894 "override_meter_addr_pfe": false,
34895 "override_meter_full_addr": 0,
34896 "override_stat_addr": false,
34897 "override_stat_addr_pfe": false,
34898 "override_stat_full_addr": 0,
34899 "override_stateful_addr": false,
34900 "override_stateful_addr_pfe": false,
34901 "override_stateful_full_addr": 0,
34902 "primitives": [
34903 {
34904 "name": "ModifyFieldPrimitive",
34905 "dest": { "type": "phv", "name": "vlan_tag.vlan_id" },
34906 "src": [
34907 { "type": "action_param", "name": "new_vlan_id" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080034908 { "type": "phv", "name": "H2" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080034909 ]
34910 },
34911 {
34912 "name": "ModifyFieldPrimitive",
34913 "dest": { "type": "phv", "name": "fabric_metadata.pop_vlan_at_egress" },
34914 "src": [
34915 { "type": "immmediate", "name": "0" },
34916 { "type": "phv", "name": "B8" }
34917 ]
34918 },
34919 {
34920 "name": "ModifyFieldPrimitive",
34921 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
34922 "src": [
34923 { "type": "action_param", "name": "port_num" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080034924 { "type": "phv", "name": "H0" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080034925 ]
34926 }
34927 ]
34928 },
34929 {
34930 "name": "next.l3_routing",
Carmelo Casconeecb35762018-02-03 17:30:05 -080034931 "handle": 536870936,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034932 "indirect_resources": [],
34933 "allowed_as_default_action": true,
34934 "disallowed_as_default_action_reason": "",
34935 "p4_parameters": [
34936 {
34937 "name": "port_num",
34938 "start_bit": 0,
34939 "position": 0,
34940 "bit_width": 9
34941 },
34942 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
34943 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 }
34944 ],
34945 "override_meter_addr": false,
34946 "override_meter_addr_pfe": false,
34947 "override_meter_full_addr": 0,
34948 "override_stat_addr": false,
34949 "override_stat_addr_pfe": false,
34950 "override_stat_full_addr": 0,
34951 "override_stateful_addr": false,
34952 "override_stateful_addr_pfe": false,
34953 "override_stateful_full_addr": 0,
34954 "primitives": [
34955 {
34956 "name": "ModifyFieldPrimitive",
34957 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
34958 "src": [
34959 { "type": "action_param", "name": "port_num" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080034960 { "type": "phv", "name": "H0" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080034961 ]
34962 },
34963 {
34964 "name": "ModifyFieldPrimitive",
34965 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
34966 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
34967 },
34968 {
34969 "name": "ModifyFieldPrimitive",
34970 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
34971 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
34972 },
34973 {
34974 "name": "ModifyFieldPrimitive",
34975 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
34976 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
34977 },
34978 {
34979 "name": "ModifyFieldPrimitive",
34980 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
34981 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
34982 }
34983 ]
34984 },
34985 {
34986 "name": "next.mpls_routing_v4",
Carmelo Casconeecb35762018-02-03 17:30:05 -080034987 "handle": 536870937,
Carmelo Cascone04098db2018-01-30 18:10:32 -080034988 "indirect_resources": [],
34989 "allowed_as_default_action": true,
34990 "disallowed_as_default_action_reason": "",
34991 "p4_parameters": [
34992 {
34993 "name": "port_num",
34994 "start_bit": 0,
34995 "position": 0,
34996 "bit_width": 9
34997 },
34998 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
34999 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 },
35000 {
35001 "name": "label",
35002 "start_bit": 105,
35003 "position": 3,
35004 "bit_width": 20
35005 }
35006 ],
35007 "override_meter_addr": false,
35008 "override_meter_addr_pfe": false,
35009 "override_meter_full_addr": 0,
35010 "override_stat_addr": false,
35011 "override_stat_addr_pfe": false,
35012 "override_stat_full_addr": 0,
35013 "override_stateful_addr": false,
35014 "override_stateful_addr_pfe": false,
35015 "override_stateful_full_addr": 0,
35016 "primitives": [
35017 {
35018 "name": "ModifyFieldPrimitive",
35019 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
35020 "src": [
35021 { "type": "action_param", "name": "port_num" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080035022 { "type": "phv", "name": "H0" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080035023 ]
35024 },
35025 {
35026 "name": "ModifyFieldPrimitive",
35027 "dest": { "type": "phv", "name": "mpls.$valid" },
35028 "src": [
35029 { "type": "immmediate", "name": "1" },
35030 { "type": "phv", "name": "B7" }
35031 ]
35032 },
35033 {
35034 "name": "ModifyFieldPrimitive",
35035 "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
35036 "src": [ { "immediate": "34887" } ]
35037 },
35038 {
35039 "name": "ModifyFieldPrimitive",
35040 "dest": { "type": "phv", "name": "mpls.ttl" },
35041 "src": [ { "immediate": "64" } ]
35042 },
35043 {
35044 "name": "ModifyFieldPrimitive",
35045 "dest": { "type": "phv", "name": "mpls.label.4-19" },
35046 "src": [ { "type": "action_param", "name": "label.4-19" } ]
35047 },
35048 {
35049 "name": "ModifyFieldPrimitive",
35050 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
35051 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
35052 },
35053 {
35054 "name": "ModifyFieldPrimitive",
35055 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
35056 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
35057 },
35058 {
35059 "name": "ModifyFieldPrimitive",
35060 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
35061 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
35062 },
35063 {
35064 "name": "ModifyFieldPrimitive",
35065 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
35066 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
35067 },
35068 {
35069 "name": "ModifyFieldPrimitive",
35070 "dest": { "type": "phv", "name": "B2" },
35071 "src": [ { "type": "immediate", "name": "$data0" } ]
35072 }
35073 ]
35074 }
35075 ],
35076 "how_referenced": "direct"
35077 },
35078 {
35079 "direction": "ingress",
Carmelo Casconeecb35762018-02-03 17:30:05 -080035080 "handle": 16777229,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035081 "name": "tbl_act_2",
35082 "table_type": "match",
35083 "size": 1,
35084 "preferred_match_type": "exact",
35085 "match_attributes": {
35086 "stage_tables": [
35087 {
35088 "stage_number": 7,
35089 "size": 1,
35090 "stage_table_type": "match_with_no_key",
35091 "logical_table_id": 1,
35092 "has_attached_gateway": true,
35093 "memory_resource_allocation": null,
35094 "default_next_table": 255,
35095 "pack_format": [
35096 {
35097 "table_word_width": 0,
35098 "memory_word_width": 0,
35099 "entries_per_table_word": 1,
35100 "number_memory_units_per_table_word": 0
35101 }
35102 ],
35103 "result_physical_buses": [ 0 ],
35104 "action_format": [
35105 {
35106 "action_name": "act_2",
Carmelo Casconeecb35762018-02-03 17:30:05 -080035107 "action_handle": 536870939,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035108 "table_name": "next_hashed",
35109 "next_table": 0,
35110 "next_table_full": 114,
35111 "vliw_instruction": 1,
35112 "vliw_instruction_full": 64,
35113 "immediate_fields": []
35114 }
35115 ],
35116 "hash_functions": []
35117 }
35118 ],
35119 "match_type": "match_with_no_key",
35120 "uses_dynamic_key_masks": false
35121 },
35122 "actions": [
35123 {
35124 "name": "act_2",
Carmelo Casconeecb35762018-02-03 17:30:05 -080035125 "handle": 536870939,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035126 "indirect_resources": [],
35127 "allowed_as_default_action": true,
35128 "disallowed_as_default_action_reason": "",
35129 "p4_parameters": [],
35130 "override_meter_addr": false,
35131 "override_meter_addr_pfe": false,
35132 "override_meter_full_addr": 0,
35133 "override_stat_addr": false,
35134 "override_stat_addr_pfe": false,
35135 "override_stat_full_addr": 0,
35136 "override_stateful_addr": false,
35137 "override_stateful_addr_pfe": false,
35138 "override_stateful_full_addr": 0,
35139 "is_action_meter_color_aware": false,
35140 "primitives": [
35141 {
35142 "name": "DirectAluPrimitive",
35143 "operation": "add",
35144 "dest": { "type": "phv", "name": "ipv4.ttl" },
35145 "src": [
35146 { "type": "immmediate", "name": "255" },
35147 { "type": "phv", "name": "B4" }
35148 ]
35149 }
35150 ]
35151 }
35152 ],
Carmelo Casconeecb35762018-02-03 17:30:05 -080035153 "default_action_handle": 536870939,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035154 "action_profile": "",
35155 "default_next_table_mask": 0,
35156 "ap_bind_indirect_res_to_match": [],
35157 "is_resource_controllable": true,
35158 "uses_range": false,
35159 "match_key_fields": [],
35160 "performs_hash_action": false,
35161 "action_data_table_refs": [],
35162 "selection_table_refs": [],
35163 "meter_table_refs": [],
35164 "statistics_table_refs": [],
35165 "stateful_table_refs": []
35166 },
35167 {
35168 "direction": "ingress",
Carmelo Casconeecb35762018-02-03 17:30:05 -080035169 "handle": 16777230,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035170 "name": "next.hashed",
35171 "table_type": "match",
35172 "size": 3072,
35173 "action_data_table_refs": [
35174 {
35175 "how_referenced": "indirect",
35176 "handle": 33554434,
35177 "name": "next.ecmp_selector"
35178 }
35179 ],
35180 "selection_table_refs": [
35181 {
35182 "how_referenced": "indirect",
35183 "handle": 50331649,
35184 "name": "next.ecmp_selector"
35185 }
35186 ],
35187 "meter_table_refs": [],
35188 "statistics_table_refs": [
35189 {
35190 "how_referenced": "direct",
Carmelo Casconeecb35762018-02-03 17:30:05 -080035191 "handle": 67108873,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035192 "name": "next.hashed_counter"
35193 }
35194 ],
35195 "stateful_table_refs": [],
35196 "default_selector_mask": 0,
35197 "default_selector_value": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -080035198 "default_action_handle": 536870943,
Carmelo Cascone04098db2018-01-30 18:10:32 -080035199 "action_profile": "next.ecmp_selector",
35200 "default_next_table_mask": 0,
35201 "ap_bind_indirect_res_to_match": [],
35202 "is_resource_controllable": true,
35203 "uses_range": false,
35204 "match_key_fields": [
35205 {
35206 "name": "fabric_metadata.next_id",
35207 "position": 0,
35208 "match_type": "exact",
35209 "start_bit": 0,
35210 "bit_width": 32,
35211 "bit_width_full": 32,
35212 "is_valid": false,
35213 "instance_name": "fabric_metadata",
35214 "field_name": "next_id"
35215 }
35216 ],
35217 "match_attributes": {
35218 "stage_tables": [
35219 {
35220 "stage_number": 7,
35221 "size": 3072,
35222 "stage_table_type": "hash_match",
35223 "logical_table_id": 2,
35224 "has_attached_gateway": false,
35225 "hash_functions": [
35226 {
35227 "hash_bits": [
35228 {
35229 "hash_bit": 0,
35230 "seed": 0,
35231 "bits_to_xor": [
35232 {
35233 "field_bit": 16,
35234 "field_name": "fabric_metadata.next_id"
35235 },
35236 {
35237 "field_bit": 22,
35238 "field_name": "fabric_metadata.next_id"
35239 },
35240 {
35241 "field_bit": 27,
35242 "field_name": "fabric_metadata.next_id"
35243 },
35244 {
35245 "field_bit": 28,
35246 "field_name": "fabric_metadata.next_id"
35247 },
35248 {
35249 "field_bit": 30,
35250 "field_name": "fabric_metadata.next_id"
35251 },
35252 {
35253 "field_bit": 31,
35254 "field_name": "fabric_metadata.next_id"
35255 },
35256 {
35257 "field_bit": 0,
35258 "field_name": "fabric_metadata.next_id"
35259 },
35260 {
35261 "field_bit": 12,
35262 "field_name": "fabric_metadata.next_id"
35263 },
35264 {
35265 "field_bit": 14,
35266 "field_name": "fabric_metadata.next_id"
35267 }
35268 ]
35269 },
35270 {
35271 "hash_bit": 1,
35272 "seed": 0,
35273 "bits_to_xor": [
35274 {
35275 "field_bit": 17,
35276 "field_name": "fabric_metadata.next_id"
35277 },
35278 {
35279 "field_bit": 18,
35280 "field_name": "fabric_metadata.next_id"
35281 },
35282 {
35283 "field_bit": 20,
35284 "field_name": "fabric_metadata.next_id"
35285 },
35286 {
35287 "field_bit": 23,
35288 "field_name": "fabric_metadata.next_id"
35289 },
35290 {
35291 "field_bit": 24,
35292 "field_name": "fabric_metadata.next_id"
35293 },
35294 {
35295 "field_bit": 27,
35296 "field_name": "fabric_metadata.next_id"
35297 },
35298 {
35299 "field_bit": 30,
35300 "field_name": "fabric_metadata.next_id"
35301 },
35302 {
35303 "field_bit": 31,
35304 "field_name": "fabric_metadata.next_id"
35305 },
35306 {
35307 "field_bit": 1,
35308 "field_name": "fabric_metadata.next_id"
35309 },
35310 {
35311 "field_bit": 10,
35312 "field_name": "fabric_metadata.next_id"
35313 },
35314 {
35315 "field_bit": 11,
35316 "field_name": "fabric_metadata.next_id"
35317 },
35318 {
35319 "field_bit": 12,
35320 "field_name": "fabric_metadata.next_id"
35321 },
35322 {
35323 "field_bit": 13,
35324 "field_name": "fabric_metadata.next_id"
35325 }
35326 ]
35327 },
35328 {
35329 "hash_bit": 2,
35330 "seed": 0,
35331 "bits_to_xor": [
35332 {
35333 "field_bit": 16,
35334 "field_name": "fabric_metadata.next_id"
35335 },
35336 {
35337 "field_bit": 18,
35338 "field_name": "fabric_metadata.next_id"
35339 },
35340 {
35341 "field_bit": 19,
35342 "field_name": "fabric_metadata.next_id"
35343 },
35344 {
35345 "field_bit": 23,
35346 "field_name": "fabric_metadata.next_id"
35347 },
35348 {
35349 "field_bit": 27,
35350 "field_name": "fabric_metadata.next_id"
35351 },
35352 {
35353 "field_bit": 29,
35354 "field_name": "fabric_metadata.next_id"
35355 },
35356 {
35357 "field_bit": 31,
35358 "field_name": "fabric_metadata.next_id"
35359 },
35360 {
35361 "field_bit": 2,
35362 "field_name": "fabric_metadata.next_id"
35363 },
35364 {
35365 "field_bit": 11,
35366 "field_name": "fabric_metadata.next_id"
35367 },
35368 {
35369 "field_bit": 12,
35370 "field_name": "fabric_metadata.next_id"
35371 },
35372 {
35373 "field_bit": 15,
35374 "field_name": "fabric_metadata.next_id"
35375 }
35376 ]
35377 },
35378 {
35379 "hash_bit": 3,
35380 "seed": 0,
35381 "bits_to_xor": [
35382 {
35383 "field_bit": 16,
35384 "field_name": "fabric_metadata.next_id"
35385 },
35386 {
35387 "field_bit": 17,
35388 "field_name": "fabric_metadata.next_id"
35389 },
35390 {
35391 "field_bit": 20,
35392 "field_name": "fabric_metadata.next_id"
35393 },
35394 {
35395 "field_bit": 21,
35396 "field_name": "fabric_metadata.next_id"
35397 },
35398 {
35399 "field_bit": 22,
35400 "field_name": "fabric_metadata.next_id"
35401 },
35402 {
35403 "field_bit": 23,
35404 "field_name": "fabric_metadata.next_id"
35405 },
35406 {
35407 "field_bit": 24,
35408 "field_name": "fabric_metadata.next_id"
35409 },
35410 {
35411 "field_bit": 25,
35412 "field_name": "fabric_metadata.next_id"
35413 },
35414 {
35415 "field_bit": 26,
35416 "field_name": "fabric_metadata.next_id"
35417 },
35418 {
35419 "field_bit": 29,
35420 "field_name": "fabric_metadata.next_id"
35421 },
35422 {
35423 "field_bit": 3,
35424 "field_name": "fabric_metadata.next_id"
35425 },
35426 {
35427 "field_bit": 11,
35428 "field_name": "fabric_metadata.next_id"
35429 },
35430 {
35431 "field_bit": 12,
35432 "field_name": "fabric_metadata.next_id"
35433 },
35434 {
35435 "field_bit": 15,
35436 "field_name": "fabric_metadata.next_id"
35437 }
35438 ]
35439 },
35440 {
35441 "hash_bit": 4,
35442 "seed": 0,
35443 "bits_to_xor": [
35444 {
35445 "field_bit": 16,
35446 "field_name": "fabric_metadata.next_id"
35447 },
35448 {
35449 "field_bit": 20,
35450 "field_name": "fabric_metadata.next_id"
35451 },
35452 {
35453 "field_bit": 21,
35454 "field_name": "fabric_metadata.next_id"
35455 },
35456 {
35457 "field_bit": 23,
35458 "field_name": "fabric_metadata.next_id"
35459 },
35460 {
35461 "field_bit": 25,
35462 "field_name": "fabric_metadata.next_id"
35463 },
35464 {
35465 "field_bit": 26,
35466 "field_name": "fabric_metadata.next_id"
35467 },
35468 {
35469 "field_bit": 28,
35470 "field_name": "fabric_metadata.next_id"
35471 },
35472 {
35473 "field_bit": 30,
35474 "field_name": "fabric_metadata.next_id"
35475 },
35476 {
35477 "field_bit": 31,
35478 "field_name": "fabric_metadata.next_id"
35479 },
35480 {
35481 "field_bit": 4,
35482 "field_name": "fabric_metadata.next_id"
35483 },
35484 {
35485 "field_bit": 10,
35486 "field_name": "fabric_metadata.next_id"
35487 },
35488 {
35489 "field_bit": 13,
35490 "field_name": "fabric_metadata.next_id"
35491 }
35492 ]
35493 },
35494 {
35495 "hash_bit": 5,
35496 "seed": 0,
35497 "bits_to_xor": [
35498 {
35499 "field_bit": 17,
35500 "field_name": "fabric_metadata.next_id"
35501 },
35502 {
35503 "field_bit": 18,
35504 "field_name": "fabric_metadata.next_id"
35505 },
35506 {
35507 "field_bit": 19,
35508 "field_name": "fabric_metadata.next_id"
35509 },
35510 {
35511 "field_bit": 22,
35512 "field_name": "fabric_metadata.next_id"
35513 },
35514 {
35515 "field_bit": 24,
35516 "field_name": "fabric_metadata.next_id"
35517 },
35518 {
35519 "field_bit": 25,
35520 "field_name": "fabric_metadata.next_id"
35521 },
35522 {
35523 "field_bit": 26,
35524 "field_name": "fabric_metadata.next_id"
35525 },
35526 {
35527 "field_bit": 28,
35528 "field_name": "fabric_metadata.next_id"
35529 },
35530 {
35531 "field_bit": 30,
35532 "field_name": "fabric_metadata.next_id"
35533 },
35534 {
35535 "field_bit": 31,
35536 "field_name": "fabric_metadata.next_id"
35537 },
35538 {
35539 "field_bit": 5,
35540 "field_name": "fabric_metadata.next_id"
35541 },
35542 {
35543 "field_bit": 12,
35544 "field_name": "fabric_metadata.next_id"
35545 },
35546 {
35547 "field_bit": 13,
35548 "field_name": "fabric_metadata.next_id"
35549 }
35550 ]
35551 },
35552 {
35553 "hash_bit": 6,
35554 "seed": 0,
35555 "bits_to_xor": [
35556 {
35557 "field_bit": 16,
35558 "field_name": "fabric_metadata.next_id"
35559 },
35560 {
35561 "field_bit": 18,
35562 "field_name": "fabric_metadata.next_id"
35563 },
35564 {
35565 "field_bit": 21,
35566 "field_name": "fabric_metadata.next_id"
35567 },
35568 {
35569 "field_bit": 22,
35570 "field_name": "fabric_metadata.next_id"
35571 },
35572 {
35573 "field_bit": 23,
35574 "field_name": "fabric_metadata.next_id"
35575 },
35576 {
35577 "field_bit": 27,
35578 "field_name": "fabric_metadata.next_id"
35579 },
35580 {
35581 "field_bit": 28,
35582 "field_name": "fabric_metadata.next_id"
35583 },
35584 {
35585 "field_bit": 30,
35586 "field_name": "fabric_metadata.next_id"
35587 },
35588 {
35589 "field_bit": 6,
35590 "field_name": "fabric_metadata.next_id"
35591 },
35592 {
35593 "field_bit": 12,
35594 "field_name": "fabric_metadata.next_id"
35595 },
35596 {
35597 "field_bit": 13,
35598 "field_name": "fabric_metadata.next_id"
35599 }
35600 ]
35601 },
35602 {
35603 "hash_bit": 7,
35604 "seed": 0,
35605 "bits_to_xor": [
35606 {
35607 "field_bit": 21,
35608 "field_name": "fabric_metadata.next_id"
35609 },
35610 {
35611 "field_bit": 22,
35612 "field_name": "fabric_metadata.next_id"
35613 },
35614 {
35615 "field_bit": 24,
35616 "field_name": "fabric_metadata.next_id"
35617 },
35618 {
35619 "field_bit": 27,
35620 "field_name": "fabric_metadata.next_id"
35621 },
35622 {
35623 "field_bit": 29,
35624 "field_name": "fabric_metadata.next_id"
35625 },
35626 {
35627 "field_bit": 7,
35628 "field_name": "fabric_metadata.next_id"
35629 },
35630 {
35631 "field_bit": 14,
35632 "field_name": "fabric_metadata.next_id"
35633 },
35634 {
35635 "field_bit": 15,
35636 "field_name": "fabric_metadata.next_id"
35637 }
35638 ]
35639 },
35640 {
35641 "hash_bit": 8,
35642 "seed": 0,
35643 "bits_to_xor": [
35644 {
35645 "field_bit": 18,
35646 "field_name": "fabric_metadata.next_id"
35647 },
35648 {
35649 "field_bit": 20,
35650 "field_name": "fabric_metadata.next_id"
35651 },
35652 {
35653 "field_bit": 21,
35654 "field_name": "fabric_metadata.next_id"
35655 },
35656 {
35657 "field_bit": 23,
35658 "field_name": "fabric_metadata.next_id"
35659 },
35660 {
35661 "field_bit": 24,
35662 "field_name": "fabric_metadata.next_id"
35663 },
35664 {
35665 "field_bit": 26,
35666 "field_name": "fabric_metadata.next_id"
35667 },
35668 {
35669 "field_bit": 27,
35670 "field_name": "fabric_metadata.next_id"
35671 },
35672 {
35673 "field_bit": 29,
35674 "field_name": "fabric_metadata.next_id"
35675 },
35676 {
35677 "field_bit": 31,
35678 "field_name": "fabric_metadata.next_id"
35679 },
35680 {
35681 "field_bit": 8,
35682 "field_name": "fabric_metadata.next_id"
35683 },
35684 {
35685 "field_bit": 12,
35686 "field_name": "fabric_metadata.next_id"
35687 },
35688 {
35689 "field_bit": 14,
35690 "field_name": "fabric_metadata.next_id"
35691 },
35692 {
35693 "field_bit": 15,
35694 "field_name": "fabric_metadata.next_id"
35695 }
35696 ]
35697 },
35698 {
35699 "hash_bit": 9,
35700 "seed": 0,
35701 "bits_to_xor": [
35702 {
35703 "field_bit": 16,
35704 "field_name": "fabric_metadata.next_id"
35705 },
35706 {
35707 "field_bit": 17,
35708 "field_name": "fabric_metadata.next_id"
35709 },
35710 {
35711 "field_bit": 18,
35712 "field_name": "fabric_metadata.next_id"
35713 },
35714 {
35715 "field_bit": 19,
35716 "field_name": "fabric_metadata.next_id"
35717 },
35718 {
35719 "field_bit": 21,
35720 "field_name": "fabric_metadata.next_id"
35721 },
35722 {
35723 "field_bit": 22,
35724 "field_name": "fabric_metadata.next_id"
35725 },
35726 {
35727 "field_bit": 23,
35728 "field_name": "fabric_metadata.next_id"
35729 },
35730 {
35731 "field_bit": 25,
35732 "field_name": "fabric_metadata.next_id"
35733 },
35734 {
35735 "field_bit": 29,
35736 "field_name": "fabric_metadata.next_id"
35737 },
35738 {
35739 "field_bit": 30,
35740 "field_name": "fabric_metadata.next_id"
35741 },
35742 {
35743 "field_bit": 9,
35744 "field_name": "fabric_metadata.next_id"
35745 }
35746 ]
35747 },
35748 {
35749 "hash_bit": 10,
35750 "seed": 0,
35751 "bits_to_xor": [
35752 {
35753 "field_bit": 16,
35754 "field_name": "fabric_metadata.next_id"
35755 },
35756 {
35757 "field_bit": 18,
35758 "field_name": "fabric_metadata.next_id"
35759 },
35760 {
35761 "field_bit": 19,
35762 "field_name": "fabric_metadata.next_id"
35763 },
35764 {
35765 "field_bit": 23,
35766 "field_name": "fabric_metadata.next_id"
35767 },
35768 {
35769 "field_bit": 24,
35770 "field_name": "fabric_metadata.next_id"
35771 },
35772 {
35773 "field_bit": 25,
35774 "field_name": "fabric_metadata.next_id"
35775 },
35776 {
35777 "field_bit": 26,
35778 "field_name": "fabric_metadata.next_id"
35779 },
35780 {
35781 "field_bit": 27,
35782 "field_name": "fabric_metadata.next_id"
35783 },
35784 {
35785 "field_bit": 28,
35786 "field_name": "fabric_metadata.next_id"
35787 },
35788 {
35789 "field_bit": 29,
35790 "field_name": "fabric_metadata.next_id"
35791 },
35792 {
35793 "field_bit": 0,
35794 "field_name": "fabric_metadata.next_id"
35795 },
35796 {
35797 "field_bit": 11,
35798 "field_name": "fabric_metadata.next_id"
35799 },
35800 {
35801 "field_bit": 14,
35802 "field_name": "fabric_metadata.next_id"
35803 }
35804 ]
35805 },
35806 {
35807 "hash_bit": 11,
35808 "seed": 0,
35809 "bits_to_xor": [
35810 {
35811 "field_bit": 16,
35812 "field_name": "fabric_metadata.next_id"
35813 },
35814 {
35815 "field_bit": 25,
35816 "field_name": "fabric_metadata.next_id"
35817 },
35818 {
35819 "field_bit": 26,
35820 "field_name": "fabric_metadata.next_id"
35821 },
35822 {
35823 "field_bit": 27,
35824 "field_name": "fabric_metadata.next_id"
35825 },
35826 {
35827 "field_bit": 28,
35828 "field_name": "fabric_metadata.next_id"
35829 },
35830 {
35831 "field_bit": 29,
35832 "field_name": "fabric_metadata.next_id"
35833 },
35834 {
35835 "field_bit": 30,
35836 "field_name": "fabric_metadata.next_id"
35837 },
35838 {
35839 "field_bit": 31,
35840 "field_name": "fabric_metadata.next_id"
35841 },
35842 {
35843 "field_bit": 1,
35844 "field_name": "fabric_metadata.next_id"
35845 },
35846 {
35847 "field_bit": 10,
35848 "field_name": "fabric_metadata.next_id"
35849 },
35850 {
35851 "field_bit": 14,
35852 "field_name": "fabric_metadata.next_id"
35853 },
35854 {
35855 "field_bit": 15,
35856 "field_name": "fabric_metadata.next_id"
35857 }
35858 ]
35859 },
35860 {
35861 "hash_bit": 12,
35862 "seed": 0,
35863 "bits_to_xor": [
35864 {
35865 "field_bit": 16,
35866 "field_name": "fabric_metadata.next_id"
35867 },
35868 {
35869 "field_bit": 19,
35870 "field_name": "fabric_metadata.next_id"
35871 },
35872 {
35873 "field_bit": 20,
35874 "field_name": "fabric_metadata.next_id"
35875 },
35876 {
35877 "field_bit": 25,
35878 "field_name": "fabric_metadata.next_id"
35879 },
35880 {
35881 "field_bit": 28,
35882 "field_name": "fabric_metadata.next_id"
35883 },
35884 {
35885 "field_bit": 31,
35886 "field_name": "fabric_metadata.next_id"
35887 },
35888 {
35889 "field_bit": 2,
35890 "field_name": "fabric_metadata.next_id"
35891 },
35892 {
35893 "field_bit": 10,
35894 "field_name": "fabric_metadata.next_id"
35895 },
35896 {
35897 "field_bit": 12,
35898 "field_name": "fabric_metadata.next_id"
35899 },
35900 {
35901 "field_bit": 14,
35902 "field_name": "fabric_metadata.next_id"
35903 }
35904 ]
35905 },
35906 {
35907 "hash_bit": 13,
35908 "seed": 0,
35909 "bits_to_xor": [
35910 {
35911 "field_bit": 16,
35912 "field_name": "fabric_metadata.next_id"
35913 },
35914 {
35915 "field_bit": 18,
35916 "field_name": "fabric_metadata.next_id"
35917 },
35918 {
35919 "field_bit": 21,
35920 "field_name": "fabric_metadata.next_id"
35921 },
35922 {
35923 "field_bit": 24,
35924 "field_name": "fabric_metadata.next_id"
35925 },
35926 {
35927 "field_bit": 25,
35928 "field_name": "fabric_metadata.next_id"
35929 },
35930 {
35931 "field_bit": 27,
35932 "field_name": "fabric_metadata.next_id"
35933 },
35934 {
35935 "field_bit": 28,
35936 "field_name": "fabric_metadata.next_id"
35937 },
35938 {
35939 "field_bit": 29,
35940 "field_name": "fabric_metadata.next_id"
35941 },
35942 {
35943 "field_bit": 30,
35944 "field_name": "fabric_metadata.next_id"
35945 },
35946 {
35947 "field_bit": 31,
35948 "field_name": "fabric_metadata.next_id"
35949 },
35950 {
35951 "field_bit": 3,
35952 "field_name": "fabric_metadata.next_id"
35953 },
35954 {
35955 "field_bit": 10,
35956 "field_name": "fabric_metadata.next_id"
35957 },
35958 {
35959 "field_bit": 11,
35960 "field_name": "fabric_metadata.next_id"
35961 },
35962 {
35963 "field_bit": 13,
35964 "field_name": "fabric_metadata.next_id"
35965 },
35966 {
35967 "field_bit": 14,
35968 "field_name": "fabric_metadata.next_id"
35969 }
35970 ]
35971 },
35972 {
35973 "hash_bit": 14,
35974 "seed": 0,
35975 "bits_to_xor": [
35976 {
35977 "field_bit": 16,
35978 "field_name": "fabric_metadata.next_id"
35979 },
35980 {
35981 "field_bit": 17,
35982 "field_name": "fabric_metadata.next_id"
35983 },
35984 {
35985 "field_bit": 18,
35986 "field_name": "fabric_metadata.next_id"
35987 },
35988 {
35989 "field_bit": 20,
35990 "field_name": "fabric_metadata.next_id"
35991 },
35992 {
35993 "field_bit": 27,
35994 "field_name": "fabric_metadata.next_id"
35995 },
35996 {
35997 "field_bit": 30,
35998 "field_name": "fabric_metadata.next_id"
35999 },
36000 {
36001 "field_bit": 31,
36002 "field_name": "fabric_metadata.next_id"
36003 },
36004 {
36005 "field_bit": 4,
36006 "field_name": "fabric_metadata.next_id"
36007 },
36008 {
36009 "field_bit": 14,
36010 "field_name": "fabric_metadata.next_id"
36011 },
36012 {
36013 "field_bit": 15,
36014 "field_name": "fabric_metadata.next_id"
36015 }
36016 ]
36017 },
36018 {
36019 "hash_bit": 15,
36020 "seed": 0,
36021 "bits_to_xor": [
36022 {
36023 "field_bit": 16,
36024 "field_name": "fabric_metadata.next_id"
36025 },
36026 {
36027 "field_bit": 20,
36028 "field_name": "fabric_metadata.next_id"
36029 },
36030 {
36031 "field_bit": 21,
36032 "field_name": "fabric_metadata.next_id"
36033 },
36034 {
36035 "field_bit": 22,
36036 "field_name": "fabric_metadata.next_id"
36037 },
36038 {
36039 "field_bit": 24,
36040 "field_name": "fabric_metadata.next_id"
36041 },
36042 {
36043 "field_bit": 25,
36044 "field_name": "fabric_metadata.next_id"
36045 },
36046 {
36047 "field_bit": 26,
36048 "field_name": "fabric_metadata.next_id"
36049 },
36050 {
36051 "field_bit": 28,
36052 "field_name": "fabric_metadata.next_id"
36053 },
36054 {
36055 "field_bit": 30,
36056 "field_name": "fabric_metadata.next_id"
36057 },
36058 {
36059 "field_bit": 5,
36060 "field_name": "fabric_metadata.next_id"
36061 },
36062 {
36063 "field_bit": 11,
36064 "field_name": "fabric_metadata.next_id"
36065 },
36066 {
36067 "field_bit": 14,
36068 "field_name": "fabric_metadata.next_id"
36069 }
36070 ]
36071 },
36072 {
36073 "hash_bit": 16,
36074 "seed": 0,
36075 "bits_to_xor": [
36076 {
36077 "field_bit": 18,
36078 "field_name": "fabric_metadata.next_id"
36079 },
36080 {
36081 "field_bit": 19,
36082 "field_name": "fabric_metadata.next_id"
36083 },
36084 {
36085 "field_bit": 22,
36086 "field_name": "fabric_metadata.next_id"
36087 },
36088 {
36089 "field_bit": 23,
36090 "field_name": "fabric_metadata.next_id"
36091 },
36092 {
36093 "field_bit": 24,
36094 "field_name": "fabric_metadata.next_id"
36095 },
36096 {
36097 "field_bit": 25,
36098 "field_name": "fabric_metadata.next_id"
36099 },
36100 {
36101 "field_bit": 26,
36102 "field_name": "fabric_metadata.next_id"
36103 },
36104 {
36105 "field_bit": 28,
36106 "field_name": "fabric_metadata.next_id"
36107 },
36108 {
36109 "field_bit": 30,
36110 "field_name": "fabric_metadata.next_id"
36111 },
36112 {
36113 "field_bit": 31,
36114 "field_name": "fabric_metadata.next_id"
36115 },
36116 {
36117 "field_bit": 6,
36118 "field_name": "fabric_metadata.next_id"
36119 },
36120 {
36121 "field_bit": 13,
36122 "field_name": "fabric_metadata.next_id"
36123 },
36124 {
36125 "field_bit": 15,
36126 "field_name": "fabric_metadata.next_id"
36127 }
36128 ]
36129 },
36130 {
36131 "hash_bit": 17,
36132 "seed": 0,
36133 "bits_to_xor": [
36134 {
36135 "field_bit": 16,
36136 "field_name": "fabric_metadata.next_id"
36137 },
36138 {
36139 "field_bit": 17,
36140 "field_name": "fabric_metadata.next_id"
36141 },
36142 {
36143 "field_bit": 18,
36144 "field_name": "fabric_metadata.next_id"
36145 },
36146 {
36147 "field_bit": 19,
36148 "field_name": "fabric_metadata.next_id"
36149 },
36150 {
36151 "field_bit": 20,
36152 "field_name": "fabric_metadata.next_id"
36153 },
36154 {
36155 "field_bit": 21,
36156 "field_name": "fabric_metadata.next_id"
36157 },
36158 {
36159 "field_bit": 22,
36160 "field_name": "fabric_metadata.next_id"
36161 },
36162 {
36163 "field_bit": 25,
36164 "field_name": "fabric_metadata.next_id"
36165 },
36166 {
36167 "field_bit": 27,
36168 "field_name": "fabric_metadata.next_id"
36169 },
36170 {
36171 "field_bit": 30,
36172 "field_name": "fabric_metadata.next_id"
36173 },
36174 {
36175 "field_bit": 7,
36176 "field_name": "fabric_metadata.next_id"
36177 },
36178 {
36179 "field_bit": 10,
36180 "field_name": "fabric_metadata.next_id"
36181 },
36182 {
36183 "field_bit": 11,
36184 "field_name": "fabric_metadata.next_id"
36185 },
36186 {
36187 "field_bit": 12,
36188 "field_name": "fabric_metadata.next_id"
36189 },
36190 {
36191 "field_bit": 14,
36192 "field_name": "fabric_metadata.next_id"
36193 }
36194 ]
36195 },
36196 {
36197 "hash_bit": 18,
36198 "seed": 0,
36199 "bits_to_xor": [
36200 {
36201 "field_bit": 18,
36202 "field_name": "fabric_metadata.next_id"
36203 },
36204 {
36205 "field_bit": 21,
36206 "field_name": "fabric_metadata.next_id"
36207 },
36208 {
36209 "field_bit": 22,
36210 "field_name": "fabric_metadata.next_id"
36211 },
36212 {
36213 "field_bit": 24,
36214 "field_name": "fabric_metadata.next_id"
36215 },
36216 {
36217 "field_bit": 28,
36218 "field_name": "fabric_metadata.next_id"
36219 },
36220 {
36221 "field_bit": 29,
36222 "field_name": "fabric_metadata.next_id"
36223 },
36224 {
36225 "field_bit": 8,
36226 "field_name": "fabric_metadata.next_id"
36227 },
36228 {
36229 "field_bit": 10,
36230 "field_name": "fabric_metadata.next_id"
36231 },
36232 {
36233 "field_bit": 12,
36234 "field_name": "fabric_metadata.next_id"
36235 },
36236 {
36237 "field_bit": 13,
36238 "field_name": "fabric_metadata.next_id"
36239 },
36240 {
36241 "field_bit": 14,
36242 "field_name": "fabric_metadata.next_id"
36243 }
36244 ]
36245 },
36246 {
36247 "hash_bit": 19,
36248 "seed": 0,
36249 "bits_to_xor": [
36250 {
36251 "field_bit": 16,
36252 "field_name": "fabric_metadata.next_id"
36253 },
36254 {
36255 "field_bit": 17,
36256 "field_name": "fabric_metadata.next_id"
36257 },
36258 {
36259 "field_bit": 21,
36260 "field_name": "fabric_metadata.next_id"
36261 },
36262 {
36263 "field_bit": 23,
36264 "field_name": "fabric_metadata.next_id"
36265 },
36266 {
36267 "field_bit": 24,
36268 "field_name": "fabric_metadata.next_id"
36269 },
36270 {
36271 "field_bit": 26,
36272 "field_name": "fabric_metadata.next_id"
36273 },
36274 {
36275 "field_bit": 27,
36276 "field_name": "fabric_metadata.next_id"
36277 },
36278 {
36279 "field_bit": 29,
36280 "field_name": "fabric_metadata.next_id"
36281 },
36282 {
36283 "field_bit": 31,
36284 "field_name": "fabric_metadata.next_id"
36285 },
36286 {
36287 "field_bit": 9,
36288 "field_name": "fabric_metadata.next_id"
36289 },
36290 {
36291 "field_bit": 10,
36292 "field_name": "fabric_metadata.next_id"
36293 },
36294 {
36295 "field_bit": 11,
36296 "field_name": "fabric_metadata.next_id"
36297 },
36298 {
36299 "field_bit": 12,
36300 "field_name": "fabric_metadata.next_id"
36301 },
36302 {
36303 "field_bit": 13,
36304 "field_name": "fabric_metadata.next_id"
36305 }
36306 ]
36307 },
36308 {
36309 "hash_bit": 20,
36310 "seed": 0,
36311 "bits_to_xor": [
36312 {
36313 "field_bit": 19,
36314 "field_name": "fabric_metadata.next_id"
36315 },
36316 {
36317 "field_bit": 21,
36318 "field_name": "fabric_metadata.next_id"
36319 },
36320 {
36321 "field_bit": 23,
36322 "field_name": "fabric_metadata.next_id"
36323 },
36324 {
36325 "field_bit": 24,
36326 "field_name": "fabric_metadata.next_id"
36327 },
36328 {
36329 "field_bit": 25,
36330 "field_name": "fabric_metadata.next_id"
36331 },
36332 {
36333 "field_bit": 27,
36334 "field_name": "fabric_metadata.next_id"
36335 },
36336 {
36337 "field_bit": 28,
36338 "field_name": "fabric_metadata.next_id"
36339 },
36340 {
36341 "field_bit": 31,
36342 "field_name": "fabric_metadata.next_id"
36343 },
36344 {
36345 "field_bit": 0,
36346 "field_name": "fabric_metadata.next_id"
36347 },
36348 {
36349 "field_bit": 10,
36350 "field_name": "fabric_metadata.next_id"
36351 },
36352 {
36353 "field_bit": 12,
36354 "field_name": "fabric_metadata.next_id"
36355 },
36356 {
36357 "field_bit": 14,
36358 "field_name": "fabric_metadata.next_id"
36359 },
36360 {
36361 "field_bit": 15,
36362 "field_name": "fabric_metadata.next_id"
36363 }
36364 ]
36365 },
36366 {
36367 "hash_bit": 21,
36368 "seed": 0,
36369 "bits_to_xor": [
36370 {
36371 "field_bit": 16,
36372 "field_name": "fabric_metadata.next_id"
36373 },
36374 {
36375 "field_bit": 17,
36376 "field_name": "fabric_metadata.next_id"
36377 },
36378 {
36379 "field_bit": 19,
36380 "field_name": "fabric_metadata.next_id"
36381 },
36382 {
36383 "field_bit": 20,
36384 "field_name": "fabric_metadata.next_id"
36385 },
36386 {
36387 "field_bit": 21,
36388 "field_name": "fabric_metadata.next_id"
36389 },
36390 {
36391 "field_bit": 23,
36392 "field_name": "fabric_metadata.next_id"
36393 },
36394 {
36395 "field_bit": 24,
36396 "field_name": "fabric_metadata.next_id"
36397 },
36398 {
36399 "field_bit": 25,
36400 "field_name": "fabric_metadata.next_id"
36401 },
36402 {
36403 "field_bit": 26,
36404 "field_name": "fabric_metadata.next_id"
36405 },
36406 {
36407 "field_bit": 27,
36408 "field_name": "fabric_metadata.next_id"
36409 },
36410 {
36411 "field_bit": 29,
36412 "field_name": "fabric_metadata.next_id"
36413 },
36414 {
36415 "field_bit": 30,
36416 "field_name": "fabric_metadata.next_id"
36417 },
36418 {
36419 "field_bit": 31,
36420 "field_name": "fabric_metadata.next_id"
36421 },
36422 {
36423 "field_bit": 1,
36424 "field_name": "fabric_metadata.next_id"
36425 },
36426 {
36427 "field_bit": 13,
36428 "field_name": "fabric_metadata.next_id"
36429 }
36430 ]
36431 },
36432 {
36433 "hash_bit": 22,
36434 "seed": 0,
36435 "bits_to_xor": [
36436 {
36437 "field_bit": 16,
36438 "field_name": "fabric_metadata.next_id"
36439 },
36440 {
36441 "field_bit": 18,
36442 "field_name": "fabric_metadata.next_id"
36443 },
36444 {
36445 "field_bit": 19,
36446 "field_name": "fabric_metadata.next_id"
36447 },
36448 {
36449 "field_bit": 21,
36450 "field_name": "fabric_metadata.next_id"
36451 },
36452 {
36453 "field_bit": 22,
36454 "field_name": "fabric_metadata.next_id"
36455 },
36456 {
36457 "field_bit": 23,
36458 "field_name": "fabric_metadata.next_id"
36459 },
36460 {
36461 "field_bit": 25,
36462 "field_name": "fabric_metadata.next_id"
36463 },
36464 {
36465 "field_bit": 26,
36466 "field_name": "fabric_metadata.next_id"
36467 },
36468 {
36469 "field_bit": 27,
36470 "field_name": "fabric_metadata.next_id"
36471 },
36472 {
36473 "field_bit": 2,
36474 "field_name": "fabric_metadata.next_id"
36475 },
36476 {
36477 "field_bit": 10,
36478 "field_name": "fabric_metadata.next_id"
36479 },
36480 {
36481 "field_bit": 12,
36482 "field_name": "fabric_metadata.next_id"
36483 },
36484 {
36485 "field_bit": 14,
36486 "field_name": "fabric_metadata.next_id"
36487 }
36488 ]
36489 },
36490 {
36491 "hash_bit": 23,
36492 "seed": 0,
36493 "bits_to_xor": [
36494 {
36495 "field_bit": 16,
36496 "field_name": "fabric_metadata.next_id"
36497 },
36498 {
36499 "field_bit": 18,
36500 "field_name": "fabric_metadata.next_id"
36501 },
36502 {
36503 "field_bit": 19,
36504 "field_name": "fabric_metadata.next_id"
36505 },
36506 {
36507 "field_bit": 20,
36508 "field_name": "fabric_metadata.next_id"
36509 },
36510 {
36511 "field_bit": 21,
36512 "field_name": "fabric_metadata.next_id"
36513 },
36514 {
36515 "field_bit": 23,
36516 "field_name": "fabric_metadata.next_id"
36517 },
36518 {
36519 "field_bit": 24,
36520 "field_name": "fabric_metadata.next_id"
36521 },
36522 {
36523 "field_bit": 26,
36524 "field_name": "fabric_metadata.next_id"
36525 },
36526 {
36527 "field_bit": 27,
36528 "field_name": "fabric_metadata.next_id"
36529 },
36530 {
36531 "field_bit": 28,
36532 "field_name": "fabric_metadata.next_id"
36533 },
36534 {
36535 "field_bit": 3,
36536 "field_name": "fabric_metadata.next_id"
36537 },
36538 {
36539 "field_bit": 10,
36540 "field_name": "fabric_metadata.next_id"
36541 },
36542 {
36543 "field_bit": 12,
36544 "field_name": "fabric_metadata.next_id"
36545 },
36546 {
36547 "field_bit": 14,
36548 "field_name": "fabric_metadata.next_id"
36549 },
36550 {
36551 "field_bit": 15,
36552 "field_name": "fabric_metadata.next_id"
36553 }
36554 ]
36555 },
36556 {
36557 "hash_bit": 24,
36558 "seed": 0,
36559 "bits_to_xor": [
36560 {
36561 "field_bit": 19,
36562 "field_name": "fabric_metadata.next_id"
36563 },
36564 {
36565 "field_bit": 21,
36566 "field_name": "fabric_metadata.next_id"
36567 },
36568 {
36569 "field_bit": 22,
36570 "field_name": "fabric_metadata.next_id"
36571 },
36572 {
36573 "field_bit": 23,
36574 "field_name": "fabric_metadata.next_id"
36575 },
36576 {
36577 "field_bit": 24,
36578 "field_name": "fabric_metadata.next_id"
36579 },
36580 {
36581 "field_bit": 29,
36582 "field_name": "fabric_metadata.next_id"
36583 },
36584 {
36585 "field_bit": 4,
36586 "field_name": "fabric_metadata.next_id"
36587 },
36588 {
36589 "field_bit": 11,
36590 "field_name": "fabric_metadata.next_id"
36591 },
36592 {
36593 "field_bit": 13,
36594 "field_name": "fabric_metadata.next_id"
36595 },
36596 {
36597 "field_bit": 15,
36598 "field_name": "fabric_metadata.next_id"
36599 }
36600 ]
36601 },
36602 {
36603 "hash_bit": 25,
36604 "seed": 0,
36605 "bits_to_xor": [
36606 {
36607 "field_bit": 16,
36608 "field_name": "fabric_metadata.next_id"
36609 },
36610 {
36611 "field_bit": 19,
36612 "field_name": "fabric_metadata.next_id"
36613 },
36614 {
36615 "field_bit": 20,
36616 "field_name": "fabric_metadata.next_id"
36617 },
36618 {
36619 "field_bit": 21,
36620 "field_name": "fabric_metadata.next_id"
36621 },
36622 {
36623 "field_bit": 22,
36624 "field_name": "fabric_metadata.next_id"
36625 },
36626 {
36627 "field_bit": 24,
36628 "field_name": "fabric_metadata.next_id"
36629 },
36630 {
36631 "field_bit": 27,
36632 "field_name": "fabric_metadata.next_id"
36633 },
36634 {
36635 "field_bit": 28,
36636 "field_name": "fabric_metadata.next_id"
36637 },
36638 {
36639 "field_bit": 31,
36640 "field_name": "fabric_metadata.next_id"
36641 },
36642 {
36643 "field_bit": 5,
36644 "field_name": "fabric_metadata.next_id"
36645 },
36646 {
36647 "field_bit": 12,
36648 "field_name": "fabric_metadata.next_id"
36649 },
36650 {
36651 "field_bit": 15,
36652 "field_name": "fabric_metadata.next_id"
36653 }
36654 ]
36655 },
36656 {
36657 "hash_bit": 26,
36658 "seed": 0,
36659 "bits_to_xor": [
36660 {
36661 "field_bit": 16,
36662 "field_name": "fabric_metadata.next_id"
36663 },
36664 {
36665 "field_bit": 19,
36666 "field_name": "fabric_metadata.next_id"
36667 },
36668 {
36669 "field_bit": 26,
36670 "field_name": "fabric_metadata.next_id"
36671 },
36672 {
36673 "field_bit": 28,
36674 "field_name": "fabric_metadata.next_id"
36675 },
36676 {
36677 "field_bit": 30,
36678 "field_name": "fabric_metadata.next_id"
36679 },
36680 {
36681 "field_bit": 6,
36682 "field_name": "fabric_metadata.next_id"
36683 },
36684 {
36685 "field_bit": 13,
36686 "field_name": "fabric_metadata.next_id"
36687 },
36688 {
36689 "field_bit": 14,
36690 "field_name": "fabric_metadata.next_id"
36691 }
36692 ]
36693 },
36694 {
36695 "hash_bit": 27,
36696 "seed": 0,
36697 "bits_to_xor": [
36698 {
36699 "field_bit": 16,
36700 "field_name": "fabric_metadata.next_id"
36701 },
36702 {
36703 "field_bit": 18,
36704 "field_name": "fabric_metadata.next_id"
36705 },
36706 {
36707 "field_bit": 19,
36708 "field_name": "fabric_metadata.next_id"
36709 },
36710 {
36711 "field_bit": 22,
36712 "field_name": "fabric_metadata.next_id"
36713 },
36714 {
36715 "field_bit": 26,
36716 "field_name": "fabric_metadata.next_id"
36717 },
36718 {
36719 "field_bit": 28,
36720 "field_name": "fabric_metadata.next_id"
36721 },
36722 {
36723 "field_bit": 29,
36724 "field_name": "fabric_metadata.next_id"
36725 },
36726 {
36727 "field_bit": 7,
36728 "field_name": "fabric_metadata.next_id"
36729 },
36730 {
36731 "field_bit": 10,
36732 "field_name": "fabric_metadata.next_id"
36733 },
36734 {
36735 "field_bit": 15,
36736 "field_name": "fabric_metadata.next_id"
36737 }
36738 ]
36739 },
36740 {
36741 "hash_bit": 28,
36742 "seed": 0,
36743 "bits_to_xor": [
36744 {
36745 "field_bit": 18,
36746 "field_name": "fabric_metadata.next_id"
36747 },
36748 {
36749 "field_bit": 19,
36750 "field_name": "fabric_metadata.next_id"
36751 },
36752 {
36753 "field_bit": 25,
36754 "field_name": "fabric_metadata.next_id"
36755 },
36756 {
36757 "field_bit": 27,
36758 "field_name": "fabric_metadata.next_id"
36759 },
36760 {
36761 "field_bit": 28,
36762 "field_name": "fabric_metadata.next_id"
36763 },
36764 {
36765 "field_bit": 30,
36766 "field_name": "fabric_metadata.next_id"
36767 },
36768 {
36769 "field_bit": 8,
36770 "field_name": "fabric_metadata.next_id"
36771 },
36772 {
36773 "field_bit": 11,
36774 "field_name": "fabric_metadata.next_id"
36775 },
36776 {
36777 "field_bit": 12,
36778 "field_name": "fabric_metadata.next_id"
36779 },
36780 {
36781 "field_bit": 13,
36782 "field_name": "fabric_metadata.next_id"
36783 },
36784 {
36785 "field_bit": 14,
36786 "field_name": "fabric_metadata.next_id"
36787 }
36788 ]
36789 },
36790 {
36791 "hash_bit": 29,
36792 "seed": 0,
36793 "bits_to_xor": [
36794 {
36795 "field_bit": 23,
36796 "field_name": "fabric_metadata.next_id"
36797 },
36798 {
36799 "field_bit": 24,
36800 "field_name": "fabric_metadata.next_id"
36801 },
36802 {
36803 "field_bit": 25,
36804 "field_name": "fabric_metadata.next_id"
36805 },
36806 {
36807 "field_bit": 26,
36808 "field_name": "fabric_metadata.next_id"
36809 },
36810 {
36811 "field_bit": 27,
36812 "field_name": "fabric_metadata.next_id"
36813 },
36814 {
36815 "field_bit": 29,
36816 "field_name": "fabric_metadata.next_id"
36817 },
36818 {
36819 "field_bit": 30,
36820 "field_name": "fabric_metadata.next_id"
36821 },
36822 {
36823 "field_bit": 9,
36824 "field_name": "fabric_metadata.next_id"
36825 },
36826 {
36827 "field_bit": 10,
36828 "field_name": "fabric_metadata.next_id"
36829 },
36830 {
36831 "field_bit": 11,
36832 "field_name": "fabric_metadata.next_id"
36833 },
36834 {
36835 "field_bit": 12,
36836 "field_name": "fabric_metadata.next_id"
36837 },
36838 {
36839 "field_bit": 13,
36840 "field_name": "fabric_metadata.next_id"
36841 }
36842 ]
36843 }
36844 ]
36845 }
36846 ],
36847 "action_format": [
36848 {
36849 "action_name": "NoAction",
Carmelo Casconeecb35762018-02-03 17:30:05 -080036850 "action_handle": 536870943,
Carmelo Cascone04098db2018-01-30 18:10:32 -080036851 "table_name": "tbl_act_13",
36852 "next_table": 0,
36853 "next_table_full": 128,
36854 "vliw_instruction": 0,
36855 "vliw_instruction_full": 67,
36856 "immediate_fields": []
36857 },
36858 {
36859 "action_name": "next.l3_routing",
Carmelo Casconeecb35762018-02-03 17:30:05 -080036860 "action_handle": 536870940,
Carmelo Cascone04098db2018-01-30 18:10:32 -080036861 "table_name": "tbl_act_13",
36862 "next_table": 0,
36863 "next_table_full": 128,
36864 "vliw_instruction": 1,
36865 "vliw_instruction_full": 65,
36866 "immediate_fields": []
36867 },
36868 {
36869 "action_name": "next.mpls_routing_v4",
Carmelo Casconeecb35762018-02-03 17:30:05 -080036870 "action_handle": 536870941,
Carmelo Cascone04098db2018-01-30 18:10:32 -080036871 "table_name": "tbl_act_13",
36872 "next_table": 0,
36873 "next_table_full": 128,
36874 "vliw_instruction": 2,
36875 "vliw_instruction_full": 66,
36876 "immediate_fields": []
36877 },
36878 {
36879 "action_name": "next.mpls_routing_v6",
Carmelo Casconeecb35762018-02-03 17:30:05 -080036880 "action_handle": 536870942,
Carmelo Cascone04098db2018-01-30 18:10:32 -080036881 "table_name": "tbl_act_13",
36882 "next_table": 0,
36883 "next_table_full": 128,
36884 "vliw_instruction": 3,
36885 "vliw_instruction_full": 68,
36886 "immediate_fields": []
36887 }
36888 ],
36889 "result_physical_buses": [ 14 ],
36890 "pack_format": [
36891 {
36892 "memory_word_width": 128,
36893 "table_word_width": 128,
36894 "entries_per_table_word": 1,
36895 "number_memory_units_per_table_word": 1
36896 }
36897 ],
36898 "memory_resource_allocation": null,
36899 "ways": [
36900 {
36901 "stage_number": 7,
36902 "way_number": 0,
36903 "stage_table_type": "hash_way",
36904 "size": 1024,
36905 "pack_format": [
36906 {
36907 "memory_word_width": 128,
36908 "table_word_width": 128,
36909 "entries_per_table_word": 1,
36910 "number_memory_units_per_table_word": 1,
36911 "entries": [
36912 {
36913 "entry_number": 0,
36914 "fields": [
36915 {
36916 "start_bit": 0,
36917 "enable_pfe": false,
36918 "field_width": 2,
36919 "lsb_mem_word_idx": 0,
36920 "msb_mem_word_idx": 0,
36921 "source": "instr",
36922 "lsb_mem_word_offset": 0,
36923 "field_name": "action",
36924 "match_mode": "unused"
36925 },
36926 {
36927 "start_bit": 0,
36928 "enable_pfe": false,
36929 "field_width": 4,
36930 "lsb_mem_word_idx": 0,
36931 "msb_mem_word_idx": 0,
36932 "source": "version",
36933 "lsb_mem_word_offset": 112,
36934 "field_name": "version",
36935 "match_mode": "s1q0"
36936 },
36937 {
36938 "start_bit": 7,
36939 "enable_pfe": true,
36940 "field_width": 10,
36941 "lsb_mem_word_idx": 0,
36942 "msb_mem_word_idx": 0,
36943 "source": "sel_ptr",
36944 "lsb_mem_word_offset": 2,
36945 "field_name": "meter_addr",
36946 "match_mode": "unused"
36947 },
36948 {
36949 "start_bit": 5,
36950 "enable_pfe": false,
36951 "field_width": 11,
36952 "lsb_mem_word_idx": 0,
36953 "msb_mem_word_idx": 0,
36954 "source": "adt_ptr",
36955 "lsb_mem_word_offset": 13,
36956 "field_name": "action_addr",
36957 "match_mode": "unused"
36958 },
36959 {
36960 "field_name": "fabric_metadata.next_id",
36961 "source": "spec",
36962 "lsb_mem_word_offset": 42,
36963 "start_bit": 10,
36964 "immediate_name": "",
36965 "lsb_mem_word_idx": 0,
36966 "msb_mem_word_idx": 0,
36967 "match_mode": "unused",
36968 "enable_pfe": false,
36969 "field_width": 6
36970 },
36971 {
36972 "field_name": "fabric_metadata.next_id",
36973 "source": "spec",
36974 "lsb_mem_word_offset": 24,
36975 "start_bit": 16,
36976 "immediate_name": "",
36977 "lsb_mem_word_idx": 0,
36978 "msb_mem_word_idx": 0,
36979 "match_mode": "unused",
36980 "enable_pfe": false,
36981 "field_width": 8
36982 },
36983 {
36984 "field_name": "fabric_metadata.next_id",
36985 "source": "spec",
36986 "lsb_mem_word_offset": 32,
36987 "start_bit": 24,
36988 "immediate_name": "",
36989 "lsb_mem_word_idx": 0,
36990 "msb_mem_word_idx": 0,
36991 "match_mode": "unused",
36992 "enable_pfe": false,
36993 "field_width": 8
36994 },
36995 {
36996 "start_bit": 0,
36997 "enable_pfe": false,
36998 "field_width": 2,
36999 "lsb_mem_word_idx": 0,
37000 "msb_mem_word_idx": 0,
37001 "source": "zero",
37002 "lsb_mem_word_offset": 40,
37003 "field_name": "--padding_40_41--",
37004 "match_mode": "unused"
37005 },
37006 {
37007 "start_bit": 0,
37008 "enable_pfe": false,
37009 "field_width": 64,
37010 "lsb_mem_word_idx": 0,
37011 "msb_mem_word_idx": 0,
37012 "source": "zero",
37013 "lsb_mem_word_offset": 48,
37014 "field_name": "--padding_48_111--",
37015 "match_mode": "unused"
37016 },
37017 {
37018 "start_bit": 0,
37019 "enable_pfe": false,
37020 "field_width": 12,
37021 "lsb_mem_word_idx": 0,
37022 "msb_mem_word_idx": 0,
37023 "source": "zero",
37024 "lsb_mem_word_offset": 116,
37025 "field_name": "--padding_116_127--",
37026 "match_mode": "unused"
37027 }
37028 ]
37029 }
37030 ]
37031 }
37032 ],
37033 "memory_resource_allocation": {
37034 "hash_function_id": 0,
37035 "hash_entry_bit_lo": 0,
37036 "hash_entry_bit_hi": 9,
37037 "number_entry_bits": 10,
37038 "hash_select_bit_hi": 40,
37039 "hash_select_bit_lo": 40,
37040 "number_select_bits": 0,
37041 "memory_units_and_vpns": [ { "memory_units": [ 86 ], "vpns": [ 0 ] } ]
37042 }
37043 },
37044 {
37045 "stage_number": 7,
37046 "way_number": 1,
37047 "stage_table_type": "hash_way",
37048 "size": 1024,
37049 "pack_format": [
37050 {
37051 "memory_word_width": 128,
37052 "table_word_width": 128,
37053 "entries_per_table_word": 1,
37054 "number_memory_units_per_table_word": 1,
37055 "entries": [
37056 {
37057 "entry_number": 0,
37058 "fields": [
37059 {
37060 "start_bit": 0,
37061 "enable_pfe": false,
37062 "field_width": 2,
37063 "lsb_mem_word_idx": 0,
37064 "msb_mem_word_idx": 0,
37065 "source": "instr",
37066 "lsb_mem_word_offset": 0,
37067 "field_name": "action",
37068 "match_mode": "unused"
37069 },
37070 {
37071 "start_bit": 0,
37072 "enable_pfe": false,
37073 "field_width": 4,
37074 "lsb_mem_word_idx": 0,
37075 "msb_mem_word_idx": 0,
37076 "source": "version",
37077 "lsb_mem_word_offset": 112,
37078 "field_name": "version",
37079 "match_mode": "s1q0"
37080 },
37081 {
37082 "start_bit": 7,
37083 "enable_pfe": true,
37084 "field_width": 10,
37085 "lsb_mem_word_idx": 0,
37086 "msb_mem_word_idx": 0,
37087 "source": "sel_ptr",
37088 "lsb_mem_word_offset": 2,
37089 "field_name": "meter_addr",
37090 "match_mode": "unused"
37091 },
37092 {
37093 "start_bit": 5,
37094 "enable_pfe": false,
37095 "field_width": 11,
37096 "lsb_mem_word_idx": 0,
37097 "msb_mem_word_idx": 0,
37098 "source": "adt_ptr",
37099 "lsb_mem_word_offset": 13,
37100 "field_name": "action_addr",
37101 "match_mode": "unused"
37102 },
37103 {
37104 "field_name": "fabric_metadata.next_id",
37105 "source": "spec",
37106 "lsb_mem_word_offset": 42,
37107 "start_bit": 10,
37108 "immediate_name": "",
37109 "lsb_mem_word_idx": 0,
37110 "msb_mem_word_idx": 0,
37111 "match_mode": "unused",
37112 "enable_pfe": false,
37113 "field_width": 6
37114 },
37115 {
37116 "field_name": "fabric_metadata.next_id",
37117 "source": "spec",
37118 "lsb_mem_word_offset": 24,
37119 "start_bit": 16,
37120 "immediate_name": "",
37121 "lsb_mem_word_idx": 0,
37122 "msb_mem_word_idx": 0,
37123 "match_mode": "unused",
37124 "enable_pfe": false,
37125 "field_width": 8
37126 },
37127 {
37128 "field_name": "fabric_metadata.next_id",
37129 "source": "spec",
37130 "lsb_mem_word_offset": 32,
37131 "start_bit": 24,
37132 "immediate_name": "",
37133 "lsb_mem_word_idx": 0,
37134 "msb_mem_word_idx": 0,
37135 "match_mode": "unused",
37136 "enable_pfe": false,
37137 "field_width": 8
37138 },
37139 {
37140 "start_bit": 0,
37141 "enable_pfe": false,
37142 "field_width": 2,
37143 "lsb_mem_word_idx": 0,
37144 "msb_mem_word_idx": 0,
37145 "source": "zero",
37146 "lsb_mem_word_offset": 40,
37147 "field_name": "--padding_40_41--",
37148 "match_mode": "unused"
37149 },
37150 {
37151 "start_bit": 0,
37152 "enable_pfe": false,
37153 "field_width": 64,
37154 "lsb_mem_word_idx": 0,
37155 "msb_mem_word_idx": 0,
37156 "source": "zero",
37157 "lsb_mem_word_offset": 48,
37158 "field_name": "--padding_48_111--",
37159 "match_mode": "unused"
37160 },
37161 {
37162 "start_bit": 0,
37163 "enable_pfe": false,
37164 "field_width": 12,
37165 "lsb_mem_word_idx": 0,
37166 "msb_mem_word_idx": 0,
37167 "source": "zero",
37168 "lsb_mem_word_offset": 116,
37169 "field_name": "--padding_116_127--",
37170 "match_mode": "unused"
37171 }
37172 ]
37173 }
37174 ]
37175 }
37176 ],
37177 "memory_resource_allocation": {
37178 "hash_function_id": 0,
37179 "hash_entry_bit_lo": 10,
37180 "hash_entry_bit_hi": 19,
37181 "number_entry_bits": 10,
37182 "hash_select_bit_hi": 40,
37183 "hash_select_bit_lo": 40,
37184 "number_select_bits": 0,
37185 "memory_units_and_vpns": [ { "memory_units": [ 87 ], "vpns": [ 1 ] } ]
37186 }
37187 },
37188 {
37189 "stage_number": 7,
37190 "way_number": 2,
37191 "stage_table_type": "hash_way",
37192 "size": 1024,
37193 "pack_format": [
37194 {
37195 "memory_word_width": 128,
37196 "table_word_width": 128,
37197 "entries_per_table_word": 1,
37198 "number_memory_units_per_table_word": 1,
37199 "entries": [
37200 {
37201 "entry_number": 0,
37202 "fields": [
37203 {
37204 "start_bit": 0,
37205 "enable_pfe": false,
37206 "field_width": 2,
37207 "lsb_mem_word_idx": 0,
37208 "msb_mem_word_idx": 0,
37209 "source": "instr",
37210 "lsb_mem_word_offset": 0,
37211 "field_name": "action",
37212 "match_mode": "unused"
37213 },
37214 {
37215 "start_bit": 0,
37216 "enable_pfe": false,
37217 "field_width": 4,
37218 "lsb_mem_word_idx": 0,
37219 "msb_mem_word_idx": 0,
37220 "source": "version",
37221 "lsb_mem_word_offset": 112,
37222 "field_name": "version",
37223 "match_mode": "s1q0"
37224 },
37225 {
37226 "start_bit": 7,
37227 "enable_pfe": true,
37228 "field_width": 10,
37229 "lsb_mem_word_idx": 0,
37230 "msb_mem_word_idx": 0,
37231 "source": "sel_ptr",
37232 "lsb_mem_word_offset": 2,
37233 "field_name": "meter_addr",
37234 "match_mode": "unused"
37235 },
37236 {
37237 "start_bit": 5,
37238 "enable_pfe": false,
37239 "field_width": 11,
37240 "lsb_mem_word_idx": 0,
37241 "msb_mem_word_idx": 0,
37242 "source": "adt_ptr",
37243 "lsb_mem_word_offset": 13,
37244 "field_name": "action_addr",
37245 "match_mode": "unused"
37246 },
37247 {
37248 "field_name": "fabric_metadata.next_id",
37249 "source": "spec",
37250 "lsb_mem_word_offset": 42,
37251 "start_bit": 10,
37252 "immediate_name": "",
37253 "lsb_mem_word_idx": 0,
37254 "msb_mem_word_idx": 0,
37255 "match_mode": "unused",
37256 "enable_pfe": false,
37257 "field_width": 6
37258 },
37259 {
37260 "field_name": "fabric_metadata.next_id",
37261 "source": "spec",
37262 "lsb_mem_word_offset": 24,
37263 "start_bit": 16,
37264 "immediate_name": "",
37265 "lsb_mem_word_idx": 0,
37266 "msb_mem_word_idx": 0,
37267 "match_mode": "unused",
37268 "enable_pfe": false,
37269 "field_width": 8
37270 },
37271 {
37272 "field_name": "fabric_metadata.next_id",
37273 "source": "spec",
37274 "lsb_mem_word_offset": 32,
37275 "start_bit": 24,
37276 "immediate_name": "",
37277 "lsb_mem_word_idx": 0,
37278 "msb_mem_word_idx": 0,
37279 "match_mode": "unused",
37280 "enable_pfe": false,
37281 "field_width": 8
37282 },
37283 {
37284 "start_bit": 0,
37285 "enable_pfe": false,
37286 "field_width": 2,
37287 "lsb_mem_word_idx": 0,
37288 "msb_mem_word_idx": 0,
37289 "source": "zero",
37290 "lsb_mem_word_offset": 40,
37291 "field_name": "--padding_40_41--",
37292 "match_mode": "unused"
37293 },
37294 {
37295 "start_bit": 0,
37296 "enable_pfe": false,
37297 "field_width": 64,
37298 "lsb_mem_word_idx": 0,
37299 "msb_mem_word_idx": 0,
37300 "source": "zero",
37301 "lsb_mem_word_offset": 48,
37302 "field_name": "--padding_48_111--",
37303 "match_mode": "unused"
37304 },
37305 {
37306 "start_bit": 0,
37307 "enable_pfe": false,
37308 "field_width": 12,
37309 "lsb_mem_word_idx": 0,
37310 "msb_mem_word_idx": 0,
37311 "source": "zero",
37312 "lsb_mem_word_offset": 116,
37313 "field_name": "--padding_116_127--",
37314 "match_mode": "unused"
37315 }
37316 ]
37317 }
37318 ]
37319 }
37320 ],
37321 "memory_resource_allocation": {
37322 "hash_function_id": 0,
37323 "hash_entry_bit_lo": 20,
37324 "hash_entry_bit_hi": 29,
37325 "number_entry_bits": 10,
37326 "hash_select_bit_hi": 40,
37327 "hash_select_bit_lo": 40,
37328 "number_select_bits": 0,
37329 "memory_units_and_vpns": [ { "memory_units": [ 88 ], "vpns": [ 2 ] } ]
37330 }
37331 }
37332 ]
37333 }
37334 ],
37335 "match_type": "exact",
37336 "uses_dynamic_key_masks": false
37337 },
37338 "actions": [
37339 {
37340 "name": "NoAction",
Carmelo Casconeecb35762018-02-03 17:30:05 -080037341 "handle": 536870943,
Carmelo Cascone04098db2018-01-30 18:10:32 -080037342 "indirect_resources": [],
37343 "allowed_as_default_action": true,
37344 "disallowed_as_default_action_reason": "",
37345 "p4_parameters": [],
37346 "override_meter_addr": false,
37347 "override_meter_addr_pfe": false,
37348 "override_meter_full_addr": 0,
37349 "override_stat_addr": false,
37350 "override_stat_addr_pfe": false,
37351 "override_stat_full_addr": 0,
37352 "override_stateful_addr": false,
37353 "override_stateful_addr_pfe": false,
37354 "override_stateful_full_addr": 0,
37355 "primitives": []
37356 },
37357 {
37358 "name": "next.l3_routing",
Carmelo Casconeecb35762018-02-03 17:30:05 -080037359 "handle": 536870940,
Carmelo Cascone04098db2018-01-30 18:10:32 -080037360 "indirect_resources": [],
37361 "allowed_as_default_action": true,
37362 "disallowed_as_default_action_reason": "",
37363 "p4_parameters": [
37364 {
37365 "name": "port_num",
37366 "start_bit": 0,
37367 "position": 0,
37368 "bit_width": 9
37369 },
37370 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
37371 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 }
37372 ],
37373 "override_meter_addr": false,
37374 "override_meter_addr_pfe": false,
37375 "override_meter_full_addr": 0,
37376 "override_stat_addr": false,
37377 "override_stat_addr_pfe": false,
37378 "override_stat_full_addr": 0,
37379 "override_stateful_addr": false,
37380 "override_stateful_addr_pfe": false,
37381 "override_stateful_full_addr": 0,
37382 "primitives": [
37383 {
37384 "name": "ModifyFieldPrimitive",
37385 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
37386 "src": [
37387 { "type": "action_param", "name": "port_num" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080037388 { "type": "phv", "name": "H0" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080037389 ]
37390 },
37391 {
37392 "name": "ModifyFieldPrimitive",
37393 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
37394 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
37395 },
37396 {
37397 "name": "ModifyFieldPrimitive",
37398 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
37399 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
37400 },
37401 {
37402 "name": "ModifyFieldPrimitive",
37403 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
37404 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
37405 },
37406 {
37407 "name": "ModifyFieldPrimitive",
37408 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
37409 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
37410 }
37411 ]
37412 },
37413 {
37414 "name": "next.mpls_routing_v4",
Carmelo Casconeecb35762018-02-03 17:30:05 -080037415 "handle": 536870941,
Carmelo Cascone04098db2018-01-30 18:10:32 -080037416 "indirect_resources": [],
37417 "allowed_as_default_action": true,
37418 "disallowed_as_default_action_reason": "",
37419 "p4_parameters": [
37420 {
37421 "name": "port_num",
37422 "start_bit": 0,
37423 "position": 0,
37424 "bit_width": 9
37425 },
37426 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
37427 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 },
37428 {
37429 "name": "label",
37430 "start_bit": 105,
37431 "position": 3,
37432 "bit_width": 20
37433 }
37434 ],
37435 "override_meter_addr": false,
37436 "override_meter_addr_pfe": false,
37437 "override_meter_full_addr": 0,
37438 "override_stat_addr": false,
37439 "override_stat_addr_pfe": false,
37440 "override_stat_full_addr": 0,
37441 "override_stateful_addr": false,
37442 "override_stateful_addr_pfe": false,
37443 "override_stateful_full_addr": 0,
37444 "primitives": [
37445 {
37446 "name": "ModifyFieldPrimitive",
37447 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
37448 "src": [
37449 { "type": "action_param", "name": "port_num" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080037450 { "type": "phv", "name": "H0" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080037451 ]
37452 },
37453 {
37454 "name": "ModifyFieldPrimitive",
37455 "dest": { "type": "phv", "name": "mpls.$valid" },
37456 "src": [
37457 { "type": "immmediate", "name": "1" },
37458 { "type": "phv", "name": "B7" }
37459 ]
37460 },
37461 {
37462 "name": "ModifyFieldPrimitive",
37463 "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
37464 "src": [ { "immediate": "34887" } ]
37465 },
37466 {
37467 "name": "ModifyFieldPrimitive",
37468 "dest": { "type": "phv", "name": "mpls.ttl" },
37469 "src": [ { "immediate": "64" } ]
37470 },
37471 {
37472 "name": "ModifyFieldPrimitive",
37473 "dest": { "type": "phv", "name": "mpls.label.4-19" },
37474 "src": [ { "type": "action_param", "name": "label.4-19" } ]
37475 },
37476 {
37477 "name": "ModifyFieldPrimitive",
37478 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
37479 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
37480 },
37481 {
37482 "name": "ModifyFieldPrimitive",
37483 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
37484 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
37485 },
37486 {
37487 "name": "ModifyFieldPrimitive",
37488 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
37489 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
37490 },
37491 {
37492 "name": "ModifyFieldPrimitive",
37493 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
37494 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
37495 },
37496 {
37497 "name": "ModifyFieldPrimitive",
37498 "dest": { "type": "phv", "name": "B2" },
37499 "src": [ { "type": "action_param", "name": "$data0" } ]
37500 }
37501 ]
37502 },
37503 {
37504 "name": "next.mpls_routing_v6",
Carmelo Casconeecb35762018-02-03 17:30:05 -080037505 "handle": 536870942,
Carmelo Cascone04098db2018-01-30 18:10:32 -080037506 "indirect_resources": [],
37507 "allowed_as_default_action": true,
37508 "disallowed_as_default_action_reason": "",
37509 "p4_parameters": [
37510 {
37511 "name": "port_num",
37512 "start_bit": 0,
37513 "position": 0,
37514 "bit_width": 9
37515 },
37516 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
37517 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 },
37518 {
37519 "name": "label",
37520 "start_bit": 105,
37521 "position": 3,
37522 "bit_width": 20
37523 }
37524 ],
37525 "override_meter_addr": false,
37526 "override_meter_addr_pfe": false,
37527 "override_meter_full_addr": 0,
37528 "override_stat_addr": false,
37529 "override_stat_addr_pfe": false,
37530 "override_stat_full_addr": 0,
37531 "override_stateful_addr": false,
37532 "override_stateful_addr_pfe": false,
37533 "override_stateful_full_addr": 0,
37534 "primitives": [
37535 {
37536 "name": "ModifyFieldPrimitive",
37537 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
37538 "src": [
37539 { "type": "action_param", "name": "port_num" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080037540 { "type": "phv", "name": "H0" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080037541 ]
37542 },
37543 {
37544 "name": "ModifyFieldPrimitive",
37545 "dest": { "type": "phv", "name": "mpls.$valid" },
37546 "src": [
37547 { "type": "immmediate", "name": "1" },
37548 { "type": "phv", "name": "B7" }
37549 ]
37550 },
37551 {
37552 "name": "ModifyFieldPrimitive",
37553 "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
37554 "src": [ { "immediate": "34887" } ]
37555 },
37556 {
37557 "name": "ModifyFieldPrimitive",
37558 "dest": { "type": "phv", "name": "mpls.ttl" },
37559 "src": [ { "immediate": "64" } ]
37560 },
37561 {
37562 "name": "ModifyFieldPrimitive",
37563 "dest": { "type": "phv", "name": "mpls.label.4-19" },
37564 "src": [ { "type": "action_param", "name": "label.4-19" } ]
37565 },
37566 {
37567 "name": "ModifyFieldPrimitive",
37568 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
37569 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
37570 },
37571 {
37572 "name": "ModifyFieldPrimitive",
37573 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
37574 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
37575 },
37576 {
37577 "name": "ModifyFieldPrimitive",
37578 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
37579 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
37580 },
37581 {
37582 "name": "ModifyFieldPrimitive",
37583 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
37584 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
37585 },
37586 {
37587 "name": "ModifyFieldPrimitive",
37588 "dest": { "type": "phv", "name": "B2" },
37589 "src": [ { "type": "action_param", "name": "$data0" } ]
37590 }
37591 ]
37592 }
37593 ]
37594 },
37595 {
37596 "direction": "ingress",
37597 "handle": 50331649,
37598 "name": "next.ecmp_selector",
37599 "table_type": "selection",
37600 "size": 1024,
37601 "selection_type": "fair",
37602 "how_referenced": "indirect",
37603 "max_port_pool_size": 120,
37604 "bound_to_action_data_table_handle": 33554434,
37605 "stage_tables": [
37606 {
37607 "stage_number": 7,
37608 "size": 1024,
37609 "stage_table_type": "selection",
37610 "logical_table_id": 2,
37611 "pack_format": [
37612 {
37613 "table_word_width": 128,
37614 "memory_word_width": 128,
37615 "entries_per_table_word": 1,
37616 "number_memory_units_per_table_word": 1
37617 }
37618 ],
37619 "memory_resource_allocation": {
37620 "memory_type": "sram",
37621 "memory_units_and_vpns": [ { "memory_units": [ 90 ], "vpns": [ 0 ] } ],
37622 "spare_bank_memory_unit": 91
37623 },
37624 "meter_alu_index": 3
37625 }
37626 ]
37627 },
37628 {
37629 "direction": "ingress",
37630 "handle": 33554434,
37631 "name": "next.ecmp_selector",
37632 "table_type": "action",
37633 "size": 64,
37634 "stage_tables": [
37635 {
37636 "stage_number": 7,
37637 "size": 262144,
37638 "stage_table_type": "action_data",
37639 "logical_table_id": 2,
37640 "pack_format": [
37641 {
37642 "memory_word_width": 128,
37643 "table_word_width": 256,
37644 "entries_per_table_word": 1,
37645 "number_memory_units_per_table_word": 2,
37646 "entries": [
37647 {
37648 "entry_number": 0,
37649 "fields": [
37650 {
37651 "start_bit": 0,
37652 "field_width": 256,
37653 "lsb_mem_word_idx": 0,
37654 "msb_mem_word_idx": 1,
37655 "source": "zero",
37656 "lsb_mem_word_offset": 0,
37657 "field_name": "--padding--"
37658 }
37659 ]
37660 }
37661 ],
Carmelo Casconeecb35762018-02-03 17:30:05 -080037662 "action_handle": 536870943
Carmelo Cascone04098db2018-01-30 18:10:32 -080037663 },
37664 {
37665 "memory_word_width": 128,
37666 "table_word_width": 256,
37667 "entries_per_table_word": 1,
37668 "number_memory_units_per_table_word": 2,
37669 "entries": [
37670 {
37671 "entry_number": 0,
37672 "fields": [
37673 {
37674 "start_bit": 0,
37675 "field_width": 9,
37676 "lsb_mem_word_idx": 0,
37677 "msb_mem_word_idx": 0,
37678 "source": "spec",
37679 "lsb_mem_word_offset": 48,
37680 "field_name": "port_num"
37681 },
37682 {
37683 "start_bit": 0,
37684 "field_width": 16,
37685 "lsb_mem_word_idx": 0,
37686 "msb_mem_word_idx": 0,
37687 "source": "spec",
37688 "lsb_mem_word_offset": 64,
37689 "field_name": "dmac"
37690 },
37691 {
37692 "start_bit": 0,
37693 "field_width": 16,
37694 "lsb_mem_word_idx": 0,
37695 "msb_mem_word_idx": 0,
37696 "source": "spec",
37697 "lsb_mem_word_offset": 80,
37698 "field_name": "smac"
37699 },
37700 {
37701 "start_bit": 16,
37702 "field_width": 32,
37703 "lsb_mem_word_idx": 1,
37704 "msb_mem_word_idx": 1,
37705 "source": "spec",
37706 "lsb_mem_word_offset": 64,
37707 "field_name": "dmac"
37708 },
37709 {
37710 "start_bit": 16,
37711 "field_width": 32,
37712 "lsb_mem_word_idx": 1,
37713 "msb_mem_word_idx": 1,
37714 "source": "spec",
37715 "lsb_mem_word_offset": 96,
37716 "field_name": "smac"
37717 },
37718 {
37719 "start_bit": 0,
37720 "field_width": 48,
37721 "lsb_mem_word_idx": 0,
37722 "msb_mem_word_idx": 0,
37723 "source": "zero",
37724 "lsb_mem_word_offset": 0,
37725 "field_name": "--padding_0_47--"
37726 },
37727 {
37728 "start_bit": 0,
37729 "field_width": 7,
37730 "lsb_mem_word_idx": 0,
37731 "msb_mem_word_idx": 0,
37732 "source": "zero",
37733 "lsb_mem_word_offset": 57,
37734 "field_name": "--padding_57_63--"
37735 },
37736 {
37737 "start_bit": 0,
37738 "field_width": 96,
37739 "lsb_mem_word_idx": 0,
37740 "msb_mem_word_idx": 1,
37741 "source": "zero",
37742 "lsb_mem_word_offset": 96,
37743 "field_name": "--padding_96_191--"
37744 }
37745 ]
37746 }
37747 ],
Carmelo Casconeecb35762018-02-03 17:30:05 -080037748 "action_handle": 536870940
37749 },
37750 {
37751 "memory_word_width": 128,
37752 "table_word_width": 256,
37753 "entries_per_table_word": 1,
37754 "number_memory_units_per_table_word": 2,
37755 "entries": [
37756 {
37757 "entry_number": 0,
37758 "fields": [
37759 {
37760 "start_bit": 0,
37761 "field_width": 3,
37762 "lsb_mem_word_idx": 0,
37763 "msb_mem_word_idx": 0,
37764 "source": "constant",
37765 "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 3 } ],
37766 "lsb_mem_word_offset": 1,
37767 "field_name": "$constant0"
37768 },
37769 {
37770 "start_bit": 0,
37771 "field_width": 1,
37772 "lsb_mem_word_idx": 0,
37773 "msb_mem_word_idx": 0,
37774 "source": "constant",
37775 "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
37776 "lsb_mem_word_offset": 0,
37777 "field_name": "$constant1"
37778 },
37779 {
37780 "start_bit": 0,
37781 "field_width": 4,
37782 "lsb_mem_word_idx": 0,
37783 "msb_mem_word_idx": 0,
37784 "source": "spec",
37785 "lsb_mem_word_offset": 4,
37786 "field_name": "label"
37787 },
37788 {
37789 "start_bit": 0,
37790 "field_width": 9,
37791 "lsb_mem_word_idx": 0,
37792 "msb_mem_word_idx": 0,
37793 "source": "spec",
37794 "lsb_mem_word_offset": 32,
37795 "field_name": "port_num"
37796 },
37797 {
37798 "start_bit": 4,
37799 "field_width": 16,
37800 "lsb_mem_word_idx": 0,
37801 "msb_mem_word_idx": 0,
37802 "source": "spec",
37803 "lsb_mem_word_offset": 48,
37804 "field_name": "label"
37805 },
37806 {
37807 "start_bit": 0,
37808 "field_width": 16,
37809 "lsb_mem_word_idx": 0,
37810 "msb_mem_word_idx": 0,
37811 "source": "spec",
37812 "lsb_mem_word_offset": 64,
37813 "field_name": "dmac"
37814 },
37815 {
37816 "start_bit": 0,
37817 "field_width": 16,
37818 "lsb_mem_word_idx": 0,
37819 "msb_mem_word_idx": 0,
37820 "source": "spec",
37821 "lsb_mem_word_offset": 80,
37822 "field_name": "smac"
37823 },
37824 {
37825 "start_bit": 16,
37826 "field_width": 32,
37827 "lsb_mem_word_idx": 1,
37828 "msb_mem_word_idx": 1,
37829 "source": "spec",
37830 "lsb_mem_word_offset": 64,
37831 "field_name": "dmac"
37832 },
37833 {
37834 "start_bit": 16,
37835 "field_width": 32,
37836 "lsb_mem_word_idx": 1,
37837 "msb_mem_word_idx": 1,
37838 "source": "spec",
37839 "lsb_mem_word_offset": 96,
37840 "field_name": "smac"
37841 },
37842 {
37843 "start_bit": 0,
37844 "field_width": 24,
37845 "lsb_mem_word_idx": 0,
37846 "msb_mem_word_idx": 0,
37847 "source": "zero",
37848 "lsb_mem_word_offset": 8,
37849 "field_name": "--padding_8_31--"
37850 },
37851 {
37852 "start_bit": 0,
37853 "field_width": 7,
37854 "lsb_mem_word_idx": 0,
37855 "msb_mem_word_idx": 0,
37856 "source": "zero",
37857 "lsb_mem_word_offset": 41,
37858 "field_name": "--padding_41_47--"
37859 },
37860 {
37861 "start_bit": 0,
37862 "field_width": 96,
37863 "lsb_mem_word_idx": 0,
37864 "msb_mem_word_idx": 1,
37865 "source": "zero",
37866 "lsb_mem_word_offset": 96,
37867 "field_name": "--padding_96_191--"
37868 }
37869 ]
37870 }
37871 ],
37872 "action_handle": 536870941
37873 },
37874 {
37875 "memory_word_width": 128,
37876 "table_word_width": 256,
37877 "entries_per_table_word": 1,
37878 "number_memory_units_per_table_word": 2,
37879 "entries": [
37880 {
37881 "entry_number": 0,
37882 "fields": [
37883 {
37884 "start_bit": 0,
37885 "field_width": 3,
37886 "lsb_mem_word_idx": 0,
37887 "msb_mem_word_idx": 0,
37888 "source": "constant",
37889 "const_tuples": [ { "dest_start": 0, "value": 0, "dest_width": 3 } ],
37890 "lsb_mem_word_offset": 1,
37891 "field_name": "$constant0"
37892 },
37893 {
37894 "start_bit": 0,
37895 "field_width": 1,
37896 "lsb_mem_word_idx": 0,
37897 "msb_mem_word_idx": 0,
37898 "source": "constant",
37899 "const_tuples": [ { "dest_start": 0, "value": 1, "dest_width": 1 } ],
37900 "lsb_mem_word_offset": 0,
37901 "field_name": "$constant1"
37902 },
37903 {
37904 "start_bit": 0,
37905 "field_width": 4,
37906 "lsb_mem_word_idx": 0,
37907 "msb_mem_word_idx": 0,
37908 "source": "spec",
37909 "lsb_mem_word_offset": 4,
37910 "field_name": "label"
37911 },
37912 {
37913 "start_bit": 0,
37914 "field_width": 9,
37915 "lsb_mem_word_idx": 0,
37916 "msb_mem_word_idx": 0,
37917 "source": "spec",
37918 "lsb_mem_word_offset": 32,
37919 "field_name": "port_num"
37920 },
37921 {
37922 "start_bit": 4,
37923 "field_width": 16,
37924 "lsb_mem_word_idx": 0,
37925 "msb_mem_word_idx": 0,
37926 "source": "spec",
37927 "lsb_mem_word_offset": 48,
37928 "field_name": "label"
37929 },
37930 {
37931 "start_bit": 0,
37932 "field_width": 16,
37933 "lsb_mem_word_idx": 0,
37934 "msb_mem_word_idx": 0,
37935 "source": "spec",
37936 "lsb_mem_word_offset": 64,
37937 "field_name": "dmac"
37938 },
37939 {
37940 "start_bit": 0,
37941 "field_width": 16,
37942 "lsb_mem_word_idx": 0,
37943 "msb_mem_word_idx": 0,
37944 "source": "spec",
37945 "lsb_mem_word_offset": 80,
37946 "field_name": "smac"
37947 },
37948 {
37949 "start_bit": 16,
37950 "field_width": 32,
37951 "lsb_mem_word_idx": 1,
37952 "msb_mem_word_idx": 1,
37953 "source": "spec",
37954 "lsb_mem_word_offset": 64,
37955 "field_name": "dmac"
37956 },
37957 {
37958 "start_bit": 16,
37959 "field_width": 32,
37960 "lsb_mem_word_idx": 1,
37961 "msb_mem_word_idx": 1,
37962 "source": "spec",
37963 "lsb_mem_word_offset": 96,
37964 "field_name": "smac"
37965 },
37966 {
37967 "start_bit": 0,
37968 "field_width": 24,
37969 "lsb_mem_word_idx": 0,
37970 "msb_mem_word_idx": 0,
37971 "source": "zero",
37972 "lsb_mem_word_offset": 8,
37973 "field_name": "--padding_8_31--"
37974 },
37975 {
37976 "start_bit": 0,
37977 "field_width": 7,
37978 "lsb_mem_word_idx": 0,
37979 "msb_mem_word_idx": 0,
37980 "source": "zero",
37981 "lsb_mem_word_offset": 41,
37982 "field_name": "--padding_41_47--"
37983 },
37984 {
37985 "start_bit": 0,
37986 "field_width": 96,
37987 "lsb_mem_word_idx": 0,
37988 "msb_mem_word_idx": 1,
37989 "source": "zero",
37990 "lsb_mem_word_offset": 96,
37991 "field_name": "--padding_96_191--"
37992 }
37993 ]
37994 }
37995 ],
Carmelo Cascone04098db2018-01-30 18:10:32 -080037996 "action_handle": 536870942
Carmelo Cascone04098db2018-01-30 18:10:32 -080037997 }
37998 ],
37999 "memory_resource_allocation": {
38000 "memory_type": "sram",
38001 "memory_units_and_vpns": [ { "memory_units": [ 89, 92 ], "vpns": [ 0 ] } ],
38002 "spare_bank_memory_unit": [ 92, 89 ]
38003 }
38004 }
38005 ],
38006 "actions": [
38007 {
38008 "name": "NoAction",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038009 "handle": 536870943,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038010 "indirect_resources": [],
38011 "allowed_as_default_action": true,
38012 "disallowed_as_default_action_reason": "",
38013 "p4_parameters": [],
38014 "override_meter_addr": false,
38015 "override_meter_addr_pfe": false,
38016 "override_meter_full_addr": 0,
38017 "override_stat_addr": false,
38018 "override_stat_addr_pfe": false,
38019 "override_stat_full_addr": 0,
38020 "override_stateful_addr": false,
38021 "override_stateful_addr_pfe": false,
38022 "override_stateful_full_addr": 0,
38023 "primitives": []
38024 },
38025 {
38026 "name": "next.l3_routing",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038027 "handle": 536870940,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038028 "indirect_resources": [],
38029 "allowed_as_default_action": true,
38030 "disallowed_as_default_action_reason": "",
38031 "p4_parameters": [
38032 {
38033 "name": "port_num",
38034 "start_bit": 0,
38035 "position": 0,
38036 "bit_width": 9
38037 },
38038 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
38039 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 }
38040 ],
38041 "override_meter_addr": false,
38042 "override_meter_addr_pfe": false,
38043 "override_meter_full_addr": 0,
38044 "override_stat_addr": false,
38045 "override_stat_addr_pfe": false,
38046 "override_stat_full_addr": 0,
38047 "override_stateful_addr": false,
38048 "override_stateful_addr_pfe": false,
38049 "override_stateful_full_addr": 0,
38050 "primitives": [
38051 {
38052 "name": "ModifyFieldPrimitive",
38053 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
38054 "src": [
38055 { "type": "action_param", "name": "port_num" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080038056 { "type": "phv", "name": "H0" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080038057 ]
38058 },
38059 {
38060 "name": "ModifyFieldPrimitive",
38061 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
38062 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
38063 },
38064 {
38065 "name": "ModifyFieldPrimitive",
38066 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
38067 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
38068 },
38069 {
38070 "name": "ModifyFieldPrimitive",
38071 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
38072 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
38073 },
38074 {
38075 "name": "ModifyFieldPrimitive",
38076 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
38077 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
38078 }
38079 ]
38080 },
38081 {
38082 "name": "next.mpls_routing_v4",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038083 "handle": 536870941,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038084 "indirect_resources": [],
38085 "allowed_as_default_action": true,
38086 "disallowed_as_default_action_reason": "",
38087 "p4_parameters": [
38088 {
38089 "name": "port_num",
38090 "start_bit": 0,
38091 "position": 0,
38092 "bit_width": 9
38093 },
38094 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
38095 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 },
38096 {
38097 "name": "label",
38098 "start_bit": 105,
38099 "position": 3,
38100 "bit_width": 20
38101 }
38102 ],
38103 "override_meter_addr": false,
38104 "override_meter_addr_pfe": false,
38105 "override_meter_full_addr": 0,
38106 "override_stat_addr": false,
38107 "override_stat_addr_pfe": false,
38108 "override_stat_full_addr": 0,
38109 "override_stateful_addr": false,
38110 "override_stateful_addr_pfe": false,
38111 "override_stateful_full_addr": 0,
38112 "primitives": [
38113 {
38114 "name": "ModifyFieldPrimitive",
38115 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
38116 "src": [
38117 { "type": "action_param", "name": "port_num" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080038118 { "type": "phv", "name": "H0" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080038119 ]
38120 },
38121 {
38122 "name": "ModifyFieldPrimitive",
38123 "dest": { "type": "phv", "name": "mpls.$valid" },
38124 "src": [
38125 { "type": "immmediate", "name": "1" },
38126 { "type": "phv", "name": "B7" }
38127 ]
38128 },
38129 {
38130 "name": "ModifyFieldPrimitive",
38131 "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
38132 "src": [ { "immediate": "34887" } ]
38133 },
38134 {
38135 "name": "ModifyFieldPrimitive",
38136 "dest": { "type": "phv", "name": "mpls.ttl" },
38137 "src": [ { "immediate": "64" } ]
38138 },
38139 {
38140 "name": "ModifyFieldPrimitive",
38141 "dest": { "type": "phv", "name": "mpls.label.4-19" },
38142 "src": [ { "type": "action_param", "name": "label.4-19" } ]
38143 },
38144 {
38145 "name": "ModifyFieldPrimitive",
38146 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
38147 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
38148 },
38149 {
38150 "name": "ModifyFieldPrimitive",
38151 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
38152 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
38153 },
38154 {
38155 "name": "ModifyFieldPrimitive",
38156 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
38157 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
38158 },
38159 {
38160 "name": "ModifyFieldPrimitive",
38161 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
38162 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
38163 },
38164 {
38165 "name": "ModifyFieldPrimitive",
38166 "dest": { "type": "phv", "name": "B2" },
38167 "src": [ { "type": "action_param", "name": "$data0" } ]
38168 }
38169 ]
38170 },
38171 {
38172 "name": "next.mpls_routing_v6",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038173 "handle": 536870942,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038174 "indirect_resources": [],
38175 "allowed_as_default_action": true,
38176 "disallowed_as_default_action_reason": "",
38177 "p4_parameters": [
38178 {
38179 "name": "port_num",
38180 "start_bit": 0,
38181 "position": 0,
38182 "bit_width": 9
38183 },
38184 { "name": "smac", "start_bit": 9, "position": 1, "bit_width": 48 },
38185 { "name": "dmac", "start_bit": 57, "position": 2, "bit_width": 48 },
38186 {
38187 "name": "label",
38188 "start_bit": 105,
38189 "position": 3,
38190 "bit_width": 20
38191 }
38192 ],
38193 "override_meter_addr": false,
38194 "override_meter_addr_pfe": false,
38195 "override_meter_full_addr": 0,
38196 "override_stat_addr": false,
38197 "override_stat_addr_pfe": false,
38198 "override_stat_full_addr": 0,
38199 "override_stateful_addr": false,
38200 "override_stateful_addr_pfe": false,
38201 "override_stateful_full_addr": 0,
38202 "primitives": [
38203 {
38204 "name": "ModifyFieldPrimitive",
38205 "dest": { "type": "phv", "name": "ig_intr_md_for_tm.ucast_egress_port" },
38206 "src": [
38207 { "type": "action_param", "name": "port_num" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080038208 { "type": "phv", "name": "H0" }
Carmelo Cascone04098db2018-01-30 18:10:32 -080038209 ]
38210 },
38211 {
38212 "name": "ModifyFieldPrimitive",
38213 "dest": { "type": "phv", "name": "mpls.$valid" },
38214 "src": [
38215 { "type": "immmediate", "name": "1" },
38216 { "type": "phv", "name": "B7" }
38217 ]
38218 },
38219 {
38220 "name": "ModifyFieldPrimitive",
38221 "dest": { "type": "phv", "name": "vlan_tag.ether_type" },
38222 "src": [ { "immediate": "34887" } ]
38223 },
38224 {
38225 "name": "ModifyFieldPrimitive",
38226 "dest": { "type": "phv", "name": "mpls.ttl" },
38227 "src": [ { "immediate": "64" } ]
38228 },
38229 {
38230 "name": "ModifyFieldPrimitive",
38231 "dest": { "type": "phv", "name": "mpls.label.4-19" },
38232 "src": [ { "type": "action_param", "name": "label.4-19" } ]
38233 },
38234 {
38235 "name": "ModifyFieldPrimitive",
38236 "dest": { "type": "phv", "name": "ethernet.dst_addr.0-15" },
38237 "src": [ { "type": "action_param", "name": "dmac.0-15" } ]
38238 },
38239 {
38240 "name": "ModifyFieldPrimitive",
38241 "dest": { "type": "phv", "name": "ethernet.src_addr.0-15" },
38242 "src": [ { "type": "action_param", "name": "smac.0-15" } ]
38243 },
38244 {
38245 "name": "ModifyFieldPrimitive",
38246 "dest": { "type": "phv", "name": "ethernet.dst_addr.16-47" },
38247 "src": [ { "type": "action_param", "name": "dmac.16-47" } ]
38248 },
38249 {
38250 "name": "ModifyFieldPrimitive",
38251 "dest": { "type": "phv", "name": "ethernet.src_addr.16-47" },
38252 "src": [ { "type": "action_param", "name": "smac.16-47" } ]
38253 },
38254 {
38255 "name": "ModifyFieldPrimitive",
38256 "dest": { "type": "phv", "name": "B2" },
38257 "src": [ { "type": "action_param", "name": "$data0" } ]
38258 }
38259 ]
38260 }
38261 ],
38262 "how_referenced": "indirect"
38263 },
38264 {
38265 "direction": "ingress",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038266 "handle": 67108873,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038267 "name": "next.hashed_counter",
38268 "table_type": "statistics",
38269 "size": 0,
38270 "stage_tables": [
38271 {
38272 "stage_number": 7,
38273 "size": 4096,
38274 "stage_table_type": "statistics",
38275 "logical_table_id": 2,
38276 "pack_format": [
38277 {
38278 "table_word_width": 128,
38279 "memory_word_width": 128,
38280 "entries_per_table_word": 2,
38281 "number_memory_units_per_table_word": 1
38282 }
38283 ],
38284 "memory_resource_allocation": {
38285 "memory_type": "sram",
38286 "memory_units_and_vpns": [
38287 { "memory_units": [ 78 ], "vpns": [ 0 ] },
38288 { "memory_units": [ 79 ], "vpns": [ 1 ] },
38289 { "memory_units": [ 80 ], "vpns": [ 2 ] }
38290 ],
38291 "spare_bank_memory_unit": 80
38292 },
38293 "stats_alu_index": 3
38294 }
38295 ],
38296 "how_referenced": "direct",
38297 "enable_pfe": false,
38298 "pfe_bit_position": 0,
38299 "byte_counter_resolution": 36,
38300 "packet_counter_resolution": 28,
38301 "statistics_type": "packets_and_bytes"
38302 },
38303 {
38304 "direction": "ingress",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038305 "handle": 16777231,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038306 "name": "tbl_act_5",
38307 "table_type": "match",
38308 "size": 1,
38309 "preferred_match_type": "exact",
38310 "match_attributes": {
38311 "stage_tables": [
38312 {
38313 "stage_number": 8,
38314 "size": 1,
38315 "stage_table_type": "match_with_no_key",
38316 "logical_table_id": 0,
38317 "has_attached_gateway": true,
38318 "memory_resource_allocation": null,
38319 "default_next_table": 255,
38320 "pack_format": [
38321 {
38322 "table_word_width": 0,
38323 "memory_word_width": 0,
38324 "entries_per_table_word": 1,
38325 "number_memory_units_per_table_word": 0
38326 }
38327 ],
Carmelo Casconeecb35762018-02-03 17:30:05 -080038328 "result_physical_buses": [ 0 ],
Carmelo Cascone04098db2018-01-30 18:10:32 -080038329 "action_format": [
38330 {
38331 "action_name": "act_5",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038332 "action_handle": 536870944,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038333 "table_name": "tbl_act_11",
38334 "next_table": 0,
38335 "next_table_full": 129,
38336 "vliw_instruction": 1,
38337 "vliw_instruction_full": 64,
38338 "immediate_fields": []
38339 }
38340 ],
38341 "hash_functions": []
38342 }
38343 ],
38344 "match_type": "match_with_no_key",
38345 "uses_dynamic_key_masks": false
38346 },
38347 "actions": [
38348 {
38349 "name": "act_5",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038350 "handle": 536870944,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038351 "indirect_resources": [],
38352 "allowed_as_default_action": true,
38353 "disallowed_as_default_action_reason": "",
38354 "p4_parameters": [],
38355 "override_meter_addr": false,
38356 "override_meter_addr_pfe": false,
38357 "override_meter_full_addr": 0,
38358 "override_stat_addr": false,
38359 "override_stat_addr_pfe": false,
38360 "override_stat_full_addr": 0,
38361 "override_stateful_addr": false,
38362 "override_stateful_addr_pfe": false,
38363 "override_stateful_full_addr": 0,
38364 "is_action_meter_color_aware": false,
38365 "primitives": [
38366 {
38367 "name": "ModifyFieldPrimitive",
38368 "dest": { "type": "phv", "name": "ethernet.ether_type" },
Carmelo Casconeecb35762018-02-03 17:30:05 -080038369 "src": [ { "type": "phv", "name": "H7" } ]
Carmelo Cascone04098db2018-01-30 18:10:32 -080038370 },
38371 {
38372 "name": "ModifyFieldPrimitive",
38373 "dest": { "type": "phv", "name": "vlan_tag.$valid" },
38374 "src": [
38375 { "type": "immmediate", "name": "0" },
38376 { "type": "phv", "name": "B8" }
38377 ]
38378 }
38379 ]
38380 }
38381 ],
Carmelo Casconeecb35762018-02-03 17:30:05 -080038382 "default_action_handle": 536870944,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038383 "action_profile": "",
38384 "default_next_table_mask": 0,
38385 "ap_bind_indirect_res_to_match": [],
38386 "is_resource_controllable": true,
38387 "uses_range": false,
38388 "match_key_fields": [],
38389 "performs_hash_action": false,
38390 "action_data_table_refs": [],
38391 "selection_table_refs": [],
38392 "meter_table_refs": [],
38393 "statistics_table_refs": [],
38394 "stateful_table_refs": []
38395 },
38396 {
38397 "direction": "ingress",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038398 "handle": 16777232,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038399 "name": "tbl_act_3",
38400 "table_type": "match",
38401 "size": 512,
38402 "preferred_match_type": "exact",
38403 "match_attributes": {
38404 "stage_tables": [
38405 {
38406 "stage_number": 8,
38407 "size": 1,
38408 "stage_table_type": "match_with_no_key",
38409 "logical_table_id": 1,
38410 "has_attached_gateway": true,
38411 "memory_resource_allocation": null,
38412 "default_next_table": 255,
38413 "pack_format": [
38414 {
38415 "table_word_width": 0,
38416 "memory_word_width": 0,
38417 "entries_per_table_word": 0,
38418 "number_memory_units_per_table_word": 0
38419 }
38420 ],
Carmelo Casconeecb35762018-02-03 17:30:05 -080038421 "result_physical_buses": [ 1 ],
Carmelo Cascone04098db2018-01-30 18:10:32 -080038422 "action_format": [
38423 {
38424 "action_name": "act_3",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038425 "action_handle": 536870945,
38426 "table_name": "--END_OF_PIPELINE--",
Carmelo Cascone04098db2018-01-30 18:10:32 -080038427 "next_table": 0,
Carmelo Casconeecb35762018-02-03 17:30:05 -080038428 "next_table_full": 255,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038429 "vliw_instruction": 0,
38430 "vliw_instruction_full": 65,
38431 "immediate_fields": []
38432 }
38433 ],
38434 "hash_functions": []
38435 }
38436 ],
38437 "match_type": "match_with_no_key",
38438 "uses_dynamic_key_masks": false
38439 },
38440 "actions": [
38441 {
38442 "name": "act_3",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038443 "handle": 536870945,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038444 "indirect_resources": [],
38445 "allowed_as_default_action": true,
38446 "disallowed_as_default_action_reason": "",
38447 "p4_parameters": [],
38448 "override_meter_addr": false,
38449 "override_meter_addr_pfe": false,
38450 "override_meter_full_addr": 0,
38451 "override_stat_addr": false,
38452 "override_stat_addr_pfe": false,
38453 "override_stat_full_addr": 0,
38454 "override_stateful_addr": false,
38455 "override_stateful_addr_pfe": false,
38456 "override_stateful_full_addr": 0,
38457 "is_action_meter_color_aware": false,
38458 "primitives": []
38459 }
38460 ],
Carmelo Casconeecb35762018-02-03 17:30:05 -080038461 "default_action_handle": 536870945,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038462 "action_profile": "",
38463 "default_next_table_mask": 0,
38464 "ap_bind_indirect_res_to_match": [],
38465 "is_resource_controllable": true,
38466 "uses_range": false,
38467 "match_key_fields": [],
38468 "performs_hash_action": true,
38469 "action_data_table_refs": [],
38470 "selection_table_refs": [],
38471 "meter_table_refs": [],
38472 "statistics_table_refs": [
38473 {
38474 "how_referenced": "indirect",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038475 "handle": 67108874,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038476 "name": "port_counters_control.egress_port_counter"
38477 }
38478 ],
38479 "stateful_table_refs": []
38480 },
38481 {
38482 "direction": "ingress",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038483 "handle": 67108874,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038484 "name": "port_counters_control.egress_port_counter",
38485 "table_type": "statistics",
38486 "size": 511,
38487 "stage_tables": [
38488 {
38489 "stage_number": 8,
Carmelo Cascone8ac4fc82018-02-01 13:27:50 -080038490 "size": 2048,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038491 "stage_table_type": "statistics",
38492 "logical_table_id": 1,
38493 "pack_format": [
38494 {
38495 "table_word_width": 128,
38496 "memory_word_width": 128,
Carmelo Cascone8ac4fc82018-02-01 13:27:50 -080038497 "entries_per_table_word": 2,
Carmelo Cascone04098db2018-01-30 18:10:32 -080038498 "number_memory_units_per_table_word": 1
38499 }
38500 ],
38501 "memory_resource_allocation": {
38502 "memory_type": "sram",
38503 "memory_units_and_vpns": [
Carmelo Casconeecb35762018-02-03 17:30:05 -080038504 { "memory_units": [ 78 ], "vpns": [ 0 ] },
38505 { "memory_units": [ 79 ], "vpns": [ 1 ] }
Carmelo Cascone04098db2018-01-30 18:10:32 -080038506 ],
Carmelo Casconeecb35762018-02-03 17:30:05 -080038507 "spare_bank_memory_unit": 79
Carmelo Cascone04098db2018-01-30 18:10:32 -080038508 },
Carmelo Casconeecb35762018-02-03 17:30:05 -080038509 "stats_alu_index": 3
Carmelo Cascone04098db2018-01-30 18:10:32 -080038510 }
38511 ],
38512 "how_referenced": "indirect",
38513 "enable_pfe": false,
38514 "pfe_bit_position": 0,
Carmelo Cascone8ac4fc82018-02-01 13:27:50 -080038515 "byte_counter_resolution": 36,
38516 "packet_counter_resolution": 28,
38517 "statistics_type": "packets_and_bytes"
Carmelo Cascone04098db2018-01-30 18:10:32 -080038518 }
38519 ],
38520 "configuration_cache": [
38521 {
38522 "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.chnl_ctrl[0]",
38523 "name": "parser0_chnl_ctrl_0",
38524 "value": "00a41fff"
38525 },
38526 {
38527 "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.chnl_ctrl[1]",
38528 "name": "parser0_chnl_ctrl_1",
38529 "value": "00a41fff"
38530 },
38531 {
38532 "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.chnl_ctrl[2]",
38533 "name": "parser0_chnl_ctrl_2",
38534 "value": "00a41fff"
38535 },
38536 {
38537 "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.chnl_ctrl[3]",
38538 "name": "parser0_chnl_ctrl_3",
38539 "value": "00a41fff"
38540 },
38541 {
38542 "fully_qualified_name": "pmarb.ebp18_reg.ebp_reg[0].epb_prsr_port_regs.multi_threading",
38543 "name": "parser0_multi_threading",
38544 "value": "19522020"
38545 },
38546 {
38547 "fully_qualified_name": "mau[0].dp.match_input_xbar_din_power_ctl",
38548 "name": "stage_0_match_input_xbar_din_power_ctl",
38549 "value": "0000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
38550 },
38551 {
38552 "fully_qualified_name": "mau[1].dp.match_input_xbar_din_power_ctl",
38553 "name": "stage_1_match_input_xbar_din_power_ctl",
38554 "value": "0000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
38555 },
38556 {
38557 "fully_qualified_name": "mau[2].dp.match_input_xbar_din_power_ctl",
38558 "name": "stage_2_match_input_xbar_din_power_ctl",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038559 "value": "0000000000000000000000000000000000000080000000010000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
Carmelo Cascone04098db2018-01-30 18:10:32 -080038560 },
38561 {
38562 "fully_qualified_name": "mau[2].dp.xbar_hash.hash.parity_group_mask",
38563 "name": "stage_2_parity_group_mask",
38564 "value": "00000001000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
38565 },
38566 {
38567 "fully_qualified_name": "mau[3].dp.match_input_xbar_din_power_ctl",
38568 "name": "stage_3_match_input_xbar_din_power_ctl",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038569 "value": "0000000100000000000000000000000000000000000000000000000000000000000000100000000900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
Carmelo Cascone04098db2018-01-30 18:10:32 -080038570 },
38571 {
38572 "fully_qualified_name": "mau[3].dp.xbar_hash.hash.parity_group_mask",
38573 "name": "stage_3_parity_group_mask",
38574 "value": "00000003000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
38575 },
38576 {
38577 "fully_qualified_name": "mau[4].dp.match_input_xbar_din_power_ctl",
38578 "name": "stage_4_match_input_xbar_din_power_ctl",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038579 "value": "00000009000000000000000000000000000000040000000000000000000000000000000e0000000100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
Carmelo Cascone04098db2018-01-30 18:10:32 -080038580 },
38581 {
38582 "fully_qualified_name": "mau[4].dp.xbar_hash.hash.parity_group_mask",
38583 "name": "stage_4_parity_group_mask",
38584 "value": "00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
38585 },
38586 {
38587 "fully_qualified_name": "mau[5].dp.match_input_xbar_din_power_ctl",
38588 "name": "stage_5_match_input_xbar_din_power_ctl",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038589 "value": "0000000f00000000000000000000000000000043000000000000000000000000000000340000000f00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
Carmelo Cascone04098db2018-01-30 18:10:32 -080038590 },
38591 {
38592 "fully_qualified_name": "mau[6].dp.match_input_xbar_din_power_ctl",
38593 "name": "stage_6_match_input_xbar_din_power_ctl",
38594 "value": "0000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
38595 },
38596 {
38597 "fully_qualified_name": "mau[6].dp.xbar_hash.hash.parity_group_mask",
38598 "name": "stage_6_parity_group_mask",
38599 "value": "00000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
38600 },
38601 {
38602 "fully_qualified_name": "mau[7].dp.match_input_xbar_din_power_ctl",
38603 "name": "stage_7_match_input_xbar_din_power_ctl",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038604 "value": "0000001c000000000000000000000000000000c0000000000000000000000000000000200000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
Carmelo Cascone04098db2018-01-30 18:10:32 -080038605 },
38606 {
38607 "fully_qualified_name": "mau[7].dp.xbar_hash.hash.parity_group_mask",
38608 "name": "stage_7_parity_group_mask",
Carmelo Cascone8ac4fc82018-02-01 13:27:50 -080038609 "value": "00000001000000000000000c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
Carmelo Cascone04098db2018-01-30 18:10:32 -080038610 },
38611 {
38612 "fully_qualified_name": "mau[8].dp.match_input_xbar_din_power_ctl",
38613 "name": "stage_8_match_input_xbar_din_power_ctl",
Carmelo Casconeecb35762018-02-03 17:30:05 -080038614 "value": "0000000000000000000000000000000000000000000000010000000000000000000000010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
Carmelo Cascone04098db2018-01-30 18:10:32 -080038615 },
38616 {
38617 "fully_qualified_name": "mau[8].dp.xbar_hash.hash.parity_group_mask",
38618 "name": "stage_8_parity_group_mask",
38619 "value": "00000001000000000000000200000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
38620 }
38621 ]
38622}