blob: 32ed6437c749bae44ece9f1643a0f2345d4db0b1 [file] [log] [blame]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001{
2 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
7 ["tmp_0", 4, false],
8 ["tmp", 32, false],
9 ["tmp_1", 32, false],
Daniele Moroe22b5742019-06-28 15:32:37 -070010 ["bng_ingress_upstream_drop", 1, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070011 ["bng_ingress_upstream_tmp", 1, false],
Daniele Moroe22b5742019-06-28 15:32:37 -070012 ["bng_ingress_downstream_prio", 1, false],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070013 ["bng_ingress_downstream_tmp", 1, false],
14 ["bng_ingress_upstream_hasReturned", 1, false],
15 ["egress_next_tmp", 1, false],
16 ["fabric_metadata_t._eth_type0", 16, false],
17 ["fabric_metadata_t._ip_eth_type1", 16, false],
18 ["fabric_metadata_t._vlan_id2", 12, false],
19 ["fabric_metadata_t._vlan_pri3", 3, false],
20 ["fabric_metadata_t._vlan_cfi4", 1, false],
21 ["fabric_metadata_t._mpls_label5", 20, false],
22 ["fabric_metadata_t._mpls_ttl6", 8, false],
23 ["fabric_metadata_t._skip_forwarding7", 1, false],
24 ["fabric_metadata_t._skip_next8", 1, false],
25 ["fabric_metadata_t._fwd_type9", 3, false],
26 ["fabric_metadata_t._next_id10", 32, false],
27 ["fabric_metadata_t._is_multicast11", 1, false],
28 ["fabric_metadata_t._is_controller_packet_out12", 1, false],
Daniele Moro01ca2ab2019-06-25 11:48:48 -070029 ["fabric_metadata_t._ip_proto13", 8, false],
30 ["fabric_metadata_t._l4_sport14", 16, false],
31 ["fabric_metadata_t._l4_dport15", 16, false],
32 ["fabric_metadata_t._bng_type16", 2, false],
33 ["fabric_metadata_t._bng_line_id17", 32, false],
34 ["fabric_metadata_t._bng_ds_meter_result18", 32, false],
Daniele Moroe22b5742019-06-28 15:32:37 -070035 ["_padding_0", 1, false]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -070036 ]
37 },
38 {
39 "name" : "standard_metadata",
40 "id" : 1,
41 "fields" : [
42 ["ingress_port", 9, false],
43 ["egress_spec", 9, false],
44 ["egress_port", 9, false],
45 ["clone_spec", 32, false],
46 ["instance_type", 32, false],
47 ["drop", 1, false],
48 ["recirculate_port", 16, false],
49 ["packet_length", 32, false],
50 ["enq_timestamp", 32, false],
51 ["enq_qdepth", 19, false],
52 ["deq_timedelta", 32, false],
53 ["deq_qdepth", 19, false],
54 ["ingress_global_timestamp", 48, false],
55 ["egress_global_timestamp", 48, false],
56 ["lf_field_list", 32, false],
57 ["mcast_grp", 16, false],
58 ["resubmit_flag", 32, false],
59 ["egress_rid", 16, false],
60 ["recirculate_flag", 32, false],
61 ["checksum_error", 1, false],
62 ["parser_error", 32, false],
63 ["priority", 3, false],
64 ["_padding", 2, false]
65 ]
66 },
67 {
68 "name" : "ethernet_t",
69 "id" : 2,
70 "fields" : [
71 ["dst_addr", 48, false],
72 ["src_addr", 48, false],
73 ["eth_type", 16, false]
74 ]
75 },
76 {
77 "name" : "vlan_tag_t",
78 "id" : 3,
79 "fields" : [
80 ["pri", 3, false],
81 ["cfi", 1, false],
82 ["vlan_id", 12, false],
83 ["eth_type", 16, false]
84 ]
85 },
86 {
87 "name" : "pppoe_t",
88 "id" : 4,
89 "fields" : [
90 ["version", 4, false],
91 ["type_id", 4, false],
92 ["code", 8, false],
93 ["session_id", 16, false],
94 ["length", 16, false],
95 ["protocol", 16, false]
96 ]
97 },
98 {
99 "name" : "mpls_t",
100 "id" : 5,
101 "fields" : [
102 ["label", 20, false],
103 ["tc", 3, false],
104 ["bos", 1, false],
105 ["ttl", 8, false]
106 ]
107 },
108 {
109 "name" : "ipv4_t",
110 "id" : 6,
111 "fields" : [
112 ["version", 4, false],
113 ["ihl", 4, false],
114 ["dscp", 6, false],
115 ["ecn", 2, false],
116 ["total_len", 16, false],
117 ["identification", 16, false],
118 ["flags", 3, false],
119 ["frag_offset", 13, false],
120 ["ttl", 8, false],
121 ["protocol", 8, false],
122 ["hdr_checksum", 16, false],
123 ["src_addr", 32, false],
124 ["dst_addr", 32, false]
125 ]
126 },
127 {
128 "name" : "tcp_t",
129 "id" : 7,
130 "fields" : [
131 ["sport", 16, false],
132 ["dport", 16, false],
133 ["seq_no", 32, false],
134 ["ack_no", 32, false],
135 ["data_offset", 4, false],
136 ["res", 3, false],
137 ["ecn", 3, false],
138 ["ctrl", 6, false],
139 ["window", 16, false],
140 ["checksum", 16, false],
141 ["urgent_ptr", 16, false]
142 ]
143 },
144 {
145 "name" : "udp_t",
146 "id" : 8,
147 "fields" : [
148 ["sport", 16, false],
149 ["dport", 16, false],
150 ["len", 16, false],
151 ["checksum", 16, false]
152 ]
153 },
154 {
155 "name" : "icmp_t",
156 "id" : 9,
157 "fields" : [
158 ["icmp_type", 8, false],
159 ["icmp_code", 8, false],
160 ["checksum", 16, false],
161 ["identifier", 16, false],
162 ["sequence_number", 16, false],
163 ["timestamp", 64, false]
164 ]
165 },
166 {
167 "name" : "packet_out_header_t",
168 "id" : 10,
169 "fields" : [
170 ["egress_port", 9, false],
171 ["_pad", 7, false]
172 ]
173 },
174 {
175 "name" : "packet_in_header_t",
176 "id" : 11,
177 "fields" : [
178 ["ingress_port", 9, false],
179 ["_pad", 7, false]
180 ]
181 }
182 ],
183 "headers" : [
184 {
185 "name" : "scalars",
186 "id" : 0,
187 "header_type" : "scalars_0",
188 "metadata" : true,
189 "pi_omit" : true
190 },
191 {
192 "name" : "standard_metadata",
193 "id" : 1,
194 "header_type" : "standard_metadata",
195 "metadata" : true,
196 "pi_omit" : true
197 },
198 {
199 "name" : "ethernet",
200 "id" : 2,
201 "header_type" : "ethernet_t",
202 "metadata" : false,
203 "pi_omit" : true
204 },
205 {
206 "name" : "vlan_tag",
207 "id" : 3,
208 "header_type" : "vlan_tag_t",
209 "metadata" : false,
210 "pi_omit" : true
211 },
212 {
213 "name" : "inner_vlan_tag",
214 "id" : 4,
215 "header_type" : "vlan_tag_t",
216 "metadata" : false,
217 "pi_omit" : true
218 },
219 {
220 "name" : "pppoe",
221 "id" : 5,
222 "header_type" : "pppoe_t",
223 "metadata" : false,
224 "pi_omit" : true
225 },
226 {
227 "name" : "mpls",
228 "id" : 6,
229 "header_type" : "mpls_t",
230 "metadata" : false,
231 "pi_omit" : true
232 },
233 {
234 "name" : "ipv4",
235 "id" : 7,
236 "header_type" : "ipv4_t",
237 "metadata" : false,
238 "pi_omit" : true
239 },
240 {
241 "name" : "tcp",
242 "id" : 8,
243 "header_type" : "tcp_t",
244 "metadata" : false,
245 "pi_omit" : true
246 },
247 {
248 "name" : "udp",
249 "id" : 9,
250 "header_type" : "udp_t",
251 "metadata" : false,
252 "pi_omit" : true
253 },
254 {
255 "name" : "icmp",
256 "id" : 10,
257 "header_type" : "icmp_t",
258 "metadata" : false,
259 "pi_omit" : true
260 },
261 {
262 "name" : "packet_out",
263 "id" : 11,
264 "header_type" : "packet_out_header_t",
265 "metadata" : false,
266 "pi_omit" : true
267 },
268 {
269 "name" : "packet_in",
270 "id" : 12,
271 "header_type" : "packet_in_header_t",
272 "metadata" : false,
273 "pi_omit" : true
274 }
275 ],
276 "header_stacks" : [],
277 "header_union_types" : [],
278 "header_unions" : [],
279 "header_union_stacks" : [],
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700280 "field_lists" : [
281 {
282 "id" : 1,
283 "name" : "fl",
284 "source_info" : {
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700285 "filename" : "include/control/acl.p4",
286 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700287 "column" : 40,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -0700288 "source_fragment" : "{standard_metadata.ingress_port}"
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700289 },
290 "elements" : [
291 {
292 "type" : "field",
293 "value" : ["standard_metadata", "ingress_port"]
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700294 }
295 ]
296 }
297 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700298 "errors" : [
299 ["NoError", 1],
300 ["PacketTooShort", 2],
301 ["NoMatch", 3],
302 ["StackOutOfBounds", 4],
303 ["HeaderTooShort", 5],
304 ["ParserTimeout", 6],
305 ["ParserInvalidArgument", 7]
306 ],
307 "enums" : [],
308 "parsers" : [
309 {
310 "name" : "parser",
311 "id" : 0,
312 "init_state" : "start",
313 "parse_states" : [
314 {
315 "name" : "start",
316 "id" : 0,
317 "parser_ops" : [],
318 "transitions" : [
319 {
320 "type" : "hexstr",
321 "value" : "0x00ff",
322 "mask" : null,
323 "next_state" : "parse_packet_out"
324 },
325 {
326 "value" : "default",
327 "mask" : null,
328 "next_state" : "parse_ethernet"
329 }
330 ],
331 "transition_key" : [
332 {
333 "type" : "field",
334 "value" : ["standard_metadata", "ingress_port"]
335 }
336 ]
337 },
338 {
339 "name" : "parse_packet_out",
340 "id" : 1,
341 "parser_ops" : [
342 {
343 "parameters" : [
344 {
345 "type" : "regular",
346 "value" : "packet_out"
347 }
348 ],
349 "op" : "extract"
350 }
351 ],
352 "transitions" : [
353 {
354 "value" : "default",
355 "mask" : null,
356 "next_state" : "parse_ethernet"
357 }
358 ],
359 "transition_key" : []
360 },
361 {
362 "name" : "parse_ethernet",
363 "id" : 2,
364 "parser_ops" : [
365 {
366 "parameters" : [
367 {
368 "type" : "regular",
369 "value" : "ethernet"
370 }
371 ],
372 "op" : "extract"
373 },
374 {
375 "parameters" : [
376 {
377 "type" : "field",
378 "value" : ["scalars", "fabric_metadata_t._eth_type0"]
379 },
380 {
381 "type" : "field",
382 "value" : ["ethernet", "eth_type"]
383 }
384 ],
385 "op" : "set"
386 },
387 {
388 "parameters" : [
389 {
390 "type" : "field",
391 "value" : ["scalars", "fabric_metadata_t._vlan_id2"]
392 },
393 {
394 "type" : "hexstr",
395 "value" : "0x0ffe"
396 }
397 ],
398 "op" : "set"
399 }
400 ],
401 "transitions" : [
402 {
403 "type" : "hexstr",
404 "value" : "0x8100",
405 "mask" : null,
406 "next_state" : "parse_vlan_tag"
407 },
408 {
409 "type" : "hexstr",
410 "value" : "0x8847",
411 "mask" : null,
412 "next_state" : "parse_mpls"
413 },
414 {
415 "type" : "hexstr",
416 "value" : "0x0800",
417 "mask" : null,
418 "next_state" : "parse_ipv4"
419 },
420 {
421 "value" : "default",
422 "mask" : null,
423 "next_state" : null
424 }
425 ],
426 "transition_key" : [
427 {
428 "type" : "field",
429 "value" : ["ethernet", "eth_type"]
430 }
431 ]
432 },
433 {
434 "name" : "parse_vlan_tag",
435 "id" : 3,
436 "parser_ops" : [
437 {
438 "parameters" : [
439 {
440 "type" : "regular",
441 "value" : "vlan_tag"
442 }
443 ],
444 "op" : "extract"
445 }
446 ],
447 "transitions" : [
448 {
449 "type" : "hexstr",
450 "value" : "0x0800",
451 "mask" : null,
452 "next_state" : "parse_ipv4"
453 },
454 {
455 "type" : "hexstr",
456 "value" : "0x8847",
457 "mask" : null,
458 "next_state" : "parse_mpls"
459 },
460 {
461 "type" : "hexstr",
462 "value" : "0x8100",
463 "mask" : null,
464 "next_state" : "parse_inner_vlan_tag"
465 },
466 {
467 "value" : "default",
468 "mask" : null,
469 "next_state" : null
470 }
471 ],
472 "transition_key" : [
473 {
474 "type" : "field",
475 "value" : ["vlan_tag", "eth_type"]
476 }
477 ]
478 },
479 {
480 "name" : "parse_inner_vlan_tag",
481 "id" : 4,
482 "parser_ops" : [
483 {
484 "parameters" : [
485 {
486 "type" : "regular",
487 "value" : "inner_vlan_tag"
488 }
489 ],
490 "op" : "extract"
491 }
492 ],
493 "transitions" : [
494 {
495 "type" : "hexstr",
496 "value" : "0x0800",
497 "mask" : null,
498 "next_state" : "parse_ipv4"
499 },
500 {
501 "type" : "hexstr",
502 "value" : "0x8847",
503 "mask" : null,
504 "next_state" : "parse_mpls"
505 },
506 {
507 "type" : "hexstr",
508 "value" : "0x8863",
509 "mask" : null,
510 "next_state" : "parse_pppoe"
511 },
512 {
513 "type" : "hexstr",
514 "value" : "0x8864",
515 "mask" : null,
516 "next_state" : "parse_pppoe"
517 },
518 {
519 "value" : "default",
520 "mask" : null,
521 "next_state" : null
522 }
523 ],
524 "transition_key" : [
525 {
526 "type" : "field",
527 "value" : ["inner_vlan_tag", "eth_type"]
528 }
529 ]
530 },
531 {
532 "name" : "parse_pppoe",
533 "id" : 5,
534 "parser_ops" : [
535 {
536 "parameters" : [
537 {
538 "type" : "regular",
539 "value" : "pppoe"
540 }
541 ],
542 "op" : "extract"
543 }
544 ],
545 "transitions" : [
546 {
547 "type" : "hexstr",
Daniele Moroe22b5742019-06-28 15:32:37 -0700548 "value" : "0x0281",
549 "mask" : null,
550 "next_state" : "parse_mpls"
551 },
552 {
553 "type" : "hexstr",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700554 "value" : "0x0021",
555 "mask" : null,
556 "next_state" : "parse_ipv4"
557 },
558 {
559 "value" : "default",
560 "mask" : null,
561 "next_state" : null
562 }
563 ],
564 "transition_key" : [
565 {
566 "type" : "field",
567 "value" : ["pppoe", "protocol"]
568 }
569 ]
570 },
571 {
572 "name" : "parse_mpls",
573 "id" : 6,
574 "parser_ops" : [
575 {
576 "parameters" : [
577 {
578 "type" : "regular",
579 "value" : "mpls"
580 }
581 ],
582 "op" : "extract"
583 },
584 {
585 "parameters" : [
586 {
587 "type" : "field",
588 "value" : ["scalars", "fabric_metadata_t._mpls_label5"]
589 },
590 {
591 "type" : "field",
592 "value" : ["mpls", "label"]
593 }
594 ],
595 "op" : "set"
596 },
597 {
598 "parameters" : [
599 {
600 "type" : "field",
601 "value" : ["scalars", "fabric_metadata_t._mpls_ttl6"]
602 },
603 {
604 "type" : "field",
605 "value" : ["mpls", "ttl"]
606 }
607 ],
608 "op" : "set"
609 },
610 {
611 "parameters" : [
612 {
613 "type" : "field",
614 "value" : ["scalars", "tmp_0"]
615 },
616 {
617 "type" : "lookahead",
618 "value" : [0, 4]
619 }
620 ],
621 "op" : "set"
622 }
623 ],
624 "transitions" : [
625 {
626 "type" : "hexstr",
627 "value" : "0x04",
628 "mask" : null,
629 "next_state" : "parse_ipv4"
630 },
631 {
632 "value" : "default",
633 "mask" : null,
634 "next_state" : "parse_ethernet"
635 }
636 ],
637 "transition_key" : [
638 {
639 "type" : "field",
640 "value" : ["scalars", "tmp_0"]
641 }
642 ]
643 },
644 {
645 "name" : "parse_ipv4",
646 "id" : 7,
647 "parser_ops" : [
648 {
649 "parameters" : [
650 {
651 "type" : "regular",
652 "value" : "ipv4"
653 }
654 ],
655 "op" : "extract"
656 },
657 {
658 "parameters" : [
659 {
660 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700661 "value" : ["scalars", "fabric_metadata_t._ip_proto13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700662 },
663 {
664 "type" : "field",
665 "value" : ["ipv4", "protocol"]
666 }
667 ],
668 "op" : "set"
669 },
670 {
671 "parameters" : [
672 {
673 "type" : "field",
674 "value" : ["scalars", "fabric_metadata_t._ip_eth_type1"]
675 },
676 {
677 "type" : "hexstr",
678 "value" : "0x0800"
679 }
680 ],
681 "op" : "set"
682 }
683 ],
684 "transitions" : [
685 {
686 "type" : "hexstr",
687 "value" : "0x06",
688 "mask" : null,
689 "next_state" : "parse_tcp"
690 },
691 {
692 "type" : "hexstr",
693 "value" : "0x11",
694 "mask" : null,
695 "next_state" : "parse_udp"
696 },
697 {
698 "type" : "hexstr",
699 "value" : "0x01",
700 "mask" : null,
701 "next_state" : "parse_icmp"
702 },
703 {
704 "value" : "default",
705 "mask" : null,
706 "next_state" : null
707 }
708 ],
709 "transition_key" : [
710 {
711 "type" : "field",
712 "value" : ["ipv4", "protocol"]
713 }
714 ]
715 },
716 {
717 "name" : "parse_tcp",
718 "id" : 8,
719 "parser_ops" : [
720 {
721 "parameters" : [
722 {
723 "type" : "regular",
724 "value" : "tcp"
725 }
726 ],
727 "op" : "extract"
728 },
729 {
730 "parameters" : [
731 {
732 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700733 "value" : ["scalars", "fabric_metadata_t._l4_sport14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700734 },
735 {
736 "type" : "field",
737 "value" : ["tcp", "sport"]
738 }
739 ],
740 "op" : "set"
741 },
742 {
743 "parameters" : [
744 {
745 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700746 "value" : ["scalars", "fabric_metadata_t._l4_dport15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700747 },
748 {
749 "type" : "field",
750 "value" : ["tcp", "dport"]
751 }
752 ],
753 "op" : "set"
754 }
755 ],
756 "transitions" : [
757 {
758 "value" : "default",
759 "mask" : null,
760 "next_state" : null
761 }
762 ],
763 "transition_key" : []
764 },
765 {
766 "name" : "parse_udp",
767 "id" : 9,
768 "parser_ops" : [
769 {
770 "parameters" : [
771 {
772 "type" : "regular",
773 "value" : "udp"
774 }
775 ],
776 "op" : "extract"
777 },
778 {
779 "parameters" : [
780 {
781 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700782 "value" : ["scalars", "fabric_metadata_t._l4_sport14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700783 },
784 {
785 "type" : "field",
786 "value" : ["udp", "sport"]
787 }
788 ],
789 "op" : "set"
790 },
791 {
792 "parameters" : [
793 {
794 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -0700795 "value" : ["scalars", "fabric_metadata_t._l4_dport15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700796 },
797 {
798 "type" : "field",
799 "value" : ["udp", "dport"]
800 }
801 ],
802 "op" : "set"
803 }
804 ],
805 "transitions" : [
806 {
807 "value" : "default",
808 "mask" : null,
809 "next_state" : null
810 }
811 ],
812 "transition_key" : [
813 {
814 "type" : "field",
815 "value" : ["udp", "dport"]
816 }
817 ]
818 },
819 {
820 "name" : "parse_icmp",
821 "id" : 10,
822 "parser_ops" : [
823 {
824 "parameters" : [
825 {
826 "type" : "regular",
827 "value" : "icmp"
828 }
829 ],
830 "op" : "extract"
831 }
832 ],
833 "transitions" : [
834 {
835 "value" : "default",
836 "mask" : null,
837 "next_state" : null
838 }
839 ],
840 "transition_key" : []
841 }
842 ]
843 }
844 ],
845 "parse_vsets" : [],
846 "deparsers" : [
847 {
848 "name" : "deparser",
849 "id" : 0,
850 "source_info" : {
851 "filename" : "include/parser.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -0700852 "line" : 261,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700853 "column" : 8,
854 "source_fragment" : "FabricDeparser"
855 },
856 "order" : ["packet_in", "ethernet", "vlan_tag", "inner_vlan_tag", "pppoe", "mpls", "ipv4", "tcp", "udp", "icmp"]
857 }
858 ],
859 "meter_arrays" : [
860 {
861 "name" : "FabricIngress.bng_ingress.downstream.m_besteff",
862 "id" : 0,
863 "source_info" : {
864 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -0700865 "line" : 184,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700866 "column" : 33,
867 "source_fragment" : "m_besteff"
868 },
869 "is_direct" : false,
870 "size" : 8192,
871 "rate_count" : 2,
872 "type" : "bytes"
873 },
874 {
875 "name" : "FabricIngress.bng_ingress.downstream.m_prio",
876 "id" : 1,
877 "source_info" : {
878 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -0700879 "line" : 185,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700880 "column" : 33,
881 "source_fragment" : "m_prio"
882 },
883 "is_direct" : false,
884 "size" : 8192,
885 "rate_count" : 2,
886 "type" : "bytes"
887 }
888 ],
889 "counter_arrays" : [
890 {
891 "name" : "FabricIngress.bng_ingress.upstream.c_terminated",
892 "id" : 0,
893 "source_info" : {
894 "filename" : "include/bng.p4",
895 "line" : 40,
896 "column" : 39,
897 "source_fragment" : "c_terminated"
898 },
899 "size" : 8192,
900 "is_direct" : false
901 },
902 {
903 "name" : "FabricIngress.bng_ingress.upstream.c_dropped",
904 "id" : 1,
905 "source_info" : {
906 "filename" : "include/bng.p4",
907 "line" : 41,
908 "column" : 39,
909 "source_fragment" : "c_dropped"
910 },
911 "size" : 8192,
912 "is_direct" : false
913 },
914 {
915 "name" : "FabricIngress.bng_ingress.upstream.c_control",
916 "id" : 2,
917 "source_info" : {
918 "filename" : "include/bng.p4",
919 "line" : 42,
920 "column" : 39,
921 "source_fragment" : "c_control"
922 },
923 "size" : 8192,
924 "is_direct" : false
925 },
926 {
927 "name" : "FabricIngress.bng_ingress.downstream.c_line_rx",
928 "id" : 3,
929 "source_info" : {
930 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -0700931 "line" : 182,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -0700932 "column" : 49,
933 "source_fragment" : "c_line_rx"
934 },
935 "size" : 8192,
936 "is_direct" : false
937 },
938 {
939 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
940 "id" : 4,
941 "is_direct" : true,
942 "binding" : "FabricIngress.filtering.ingress_port_vlan",
943 "source_info" : {
944 "filename" : "include/control/filtering.p4",
945 "line" : 31,
946 "column" : 50,
947 "source_fragment" : "ingress_port_vlan_counter"
948 }
949 },
950 {
951 "name" : "FabricIngress.filtering.fwd_classifier_counter",
952 "id" : 5,
953 "is_direct" : true,
954 "binding" : "FabricIngress.filtering.fwd_classifier",
955 "source_info" : {
956 "filename" : "include/control/filtering.p4",
957 "line" : 80,
958 "column" : 50,
959 "source_fragment" : "fwd_classifier_counter"
960 }
961 },
962 {
963 "name" : "FabricIngress.forwarding.bridging_counter",
964 "id" : 6,
965 "is_direct" : true,
966 "binding" : "FabricIngress.forwarding.bridging",
967 "source_info" : {
968 "filename" : "include/control/forwarding.p4",
969 "line" : 36,
970 "column" : 50,
971 "source_fragment" : "bridging_counter"
972 }
973 },
974 {
975 "name" : "FabricIngress.forwarding.mpls_counter",
976 "id" : 7,
977 "is_direct" : true,
978 "binding" : "FabricIngress.forwarding.mpls",
979 "source_info" : {
980 "filename" : "include/control/forwarding.p4",
981 "line" : 63,
982 "column" : 50,
983 "source_fragment" : "mpls_counter"
984 }
985 },
986 {
987 "name" : "FabricIngress.forwarding.routing_v4_counter",
988 "id" : 8,
989 "is_direct" : true,
990 "binding" : "FabricIngress.forwarding.routing_v4",
991 "source_info" : {
992 "filename" : "include/control/forwarding.p4",
993 "line" : 87,
994 "column" : 50,
995 "source_fragment" : "routing_v4_counter"
996 }
997 },
998 {
999 "name" : "FabricIngress.acl.acl_counter",
1000 "id" : 9,
1001 "is_direct" : true,
1002 "binding" : "FabricIngress.acl.acl",
1003 "source_info" : {
1004 "filename" : "include/control/acl.p4",
1005 "line" : 30,
1006 "column" : 50,
1007 "source_fragment" : "acl_counter"
1008 }
1009 },
1010 {
1011 "name" : "FabricIngress.next.next_vlan_counter",
1012 "id" : 10,
1013 "is_direct" : true,
1014 "binding" : "FabricIngress.next.next_vlan",
1015 "source_info" : {
1016 "filename" : "include/control/next.p4",
1017 "line" : 67,
1018 "column" : 50,
1019 "source_fragment" : "next_vlan_counter"
1020 }
1021 },
1022 {
1023 "name" : "FabricIngress.next.xconnect_counter",
1024 "id" : 11,
1025 "is_direct" : true,
1026 "binding" : "FabricIngress.next.xconnect",
1027 "source_info" : {
1028 "filename" : "include/control/next.p4",
1029 "line" : 92,
1030 "column" : 50,
1031 "source_fragment" : "xconnect_counter"
1032 }
1033 },
1034 {
1035 "name" : "FabricIngress.next.hashed_counter",
1036 "id" : 12,
1037 "is_direct" : true,
1038 "binding" : "FabricIngress.next.hashed",
1039 "source_info" : {
1040 "filename" : "include/control/next.p4",
1041 "line" : 166,
1042 "column" : 50,
1043 "source_fragment" : "hashed_counter"
1044 }
1045 },
1046 {
1047 "name" : "FabricIngress.next.multicast_counter",
1048 "id" : 13,
1049 "is_direct" : true,
1050 "binding" : "FabricIngress.next.multicast",
1051 "source_info" : {
1052 "filename" : "include/control/next.p4",
1053 "line" : 210,
1054 "column" : 50,
1055 "source_fragment" : "multicast_counter"
1056 }
1057 },
1058 {
1059 "name" : "FabricIngress.port_counters_control.egress_port_counter",
1060 "id" : 14,
1061 "source_info" : {
1062 "filename" : "include/control/port_counter.p4",
1063 "line" : 26,
1064 "column" : 48,
1065 "source_fragment" : "egress_port_counter"
1066 },
1067 "size" : 511,
1068 "is_direct" : false
1069 },
1070 {
1071 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
1072 "id" : 15,
1073 "source_info" : {
1074 "filename" : "include/control/port_counter.p4",
1075 "line" : 27,
1076 "column" : 48,
1077 "source_fragment" : "ingress_port_counter"
1078 },
1079 "size" : 511,
1080 "is_direct" : false
1081 },
1082 {
1083 "name" : "FabricEgress.bng_egress.downstream.c_line_tx",
1084 "id" : 16,
1085 "source_info" : {
1086 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001087 "line" : 324,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001088 "column" : 49,
1089 "source_fragment" : "c_line_tx"
1090 },
1091 "size" : 8192,
1092 "is_direct" : false
1093 },
1094 {
1095 "name" : "FabricEgress.egress_next.egress_vlan_counter",
1096 "id" : 17,
1097 "is_direct" : true,
1098 "binding" : "FabricEgress.egress_next.egress_vlan",
1099 "source_info" : {
1100 "filename" : "include/control/next.p4",
1101 "line" : 283,
1102 "column" : 50,
1103 "source_fragment" : "egress_vlan_counter"
1104 }
1105 }
1106 ],
1107 "register_arrays" : [],
1108 "calculations" : [
1109 {
1110 "name" : "calc",
1111 "id" : 0,
1112 "source_info" : {
1113 "filename" : "include/checksum.p4",
1114 "line" : 28,
1115 "column" : 8,
1116 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1117 },
1118 "algo" : "csum16",
1119 "input" : [
1120 {
1121 "type" : "field",
1122 "value" : ["ipv4", "version"]
1123 },
1124 {
1125 "type" : "field",
1126 "value" : ["ipv4", "ihl"]
1127 },
1128 {
1129 "type" : "field",
1130 "value" : ["ipv4", "dscp"]
1131 },
1132 {
1133 "type" : "field",
1134 "value" : ["ipv4", "ecn"]
1135 },
1136 {
1137 "type" : "field",
1138 "value" : ["ipv4", "total_len"]
1139 },
1140 {
1141 "type" : "field",
1142 "value" : ["ipv4", "identification"]
1143 },
1144 {
1145 "type" : "field",
1146 "value" : ["ipv4", "flags"]
1147 },
1148 {
1149 "type" : "field",
1150 "value" : ["ipv4", "frag_offset"]
1151 },
1152 {
1153 "type" : "field",
1154 "value" : ["ipv4", "ttl"]
1155 },
1156 {
1157 "type" : "field",
1158 "value" : ["ipv4", "protocol"]
1159 },
1160 {
1161 "type" : "field",
1162 "value" : ["ipv4", "src_addr"]
1163 },
1164 {
1165 "type" : "field",
1166 "value" : ["ipv4", "dst_addr"]
1167 }
1168 ]
1169 },
1170 {
1171 "name" : "calc_0",
1172 "id" : 1,
1173 "source_info" : {
1174 "filename" : "include/checksum.p4",
1175 "line" : 57,
1176 "column" : 8,
1177 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1178 },
1179 "algo" : "csum16",
1180 "input" : [
1181 {
1182 "type" : "field",
1183 "value" : ["ipv4", "version"]
1184 },
1185 {
1186 "type" : "field",
1187 "value" : ["ipv4", "ihl"]
1188 },
1189 {
1190 "type" : "field",
1191 "value" : ["ipv4", "dscp"]
1192 },
1193 {
1194 "type" : "field",
1195 "value" : ["ipv4", "ecn"]
1196 },
1197 {
1198 "type" : "field",
1199 "value" : ["ipv4", "total_len"]
1200 },
1201 {
1202 "type" : "field",
1203 "value" : ["ipv4", "identification"]
1204 },
1205 {
1206 "type" : "field",
1207 "value" : ["ipv4", "flags"]
1208 },
1209 {
1210 "type" : "field",
1211 "value" : ["ipv4", "frag_offset"]
1212 },
1213 {
1214 "type" : "field",
1215 "value" : ["ipv4", "ttl"]
1216 },
1217 {
1218 "type" : "field",
1219 "value" : ["ipv4", "protocol"]
1220 },
1221 {
1222 "type" : "field",
1223 "value" : ["ipv4", "src_addr"]
1224 },
1225 {
1226 "type" : "field",
1227 "value" : ["ipv4", "dst_addr"]
1228 }
1229 ]
1230 }
1231 ],
1232 "learn_lists" : [],
1233 "actions" : [
1234 {
1235 "name" : "nop",
1236 "id" : 0,
1237 "runtime_data" : [],
1238 "primitives" : []
1239 },
1240 {
1241 "name" : "nop",
1242 "id" : 1,
1243 "runtime_data" : [],
1244 "primitives" : []
1245 },
1246 {
1247 "name" : "nop",
1248 "id" : 2,
1249 "runtime_data" : [],
1250 "primitives" : []
1251 },
1252 {
1253 "name" : "nop",
1254 "id" : 3,
1255 "runtime_data" : [],
1256 "primitives" : []
1257 },
1258 {
1259 "name" : "nop",
1260 "id" : 4,
1261 "runtime_data" : [],
1262 "primitives" : []
1263 },
1264 {
1265 "name" : "nop",
1266 "id" : 5,
1267 "runtime_data" : [],
1268 "primitives" : []
1269 },
1270 {
1271 "name" : "nop",
1272 "id" : 6,
1273 "runtime_data" : [],
1274 "primitives" : []
1275 },
1276 {
1277 "name" : "nop",
1278 "id" : 7,
1279 "runtime_data" : [],
1280 "primitives" : []
1281 },
1282 {
1283 "name" : "nop",
1284 "id" : 8,
1285 "runtime_data" : [],
1286 "primitives" : []
1287 },
1288 {
1289 "name" : "nop",
1290 "id" : 9,
1291 "runtime_data" : [],
1292 "primitives" : []
1293 },
1294 {
1295 "name" : "FabricIngress.bng_ingress.upstream.set_line",
1296 "id" : 10,
1297 "runtime_data" : [
1298 {
1299 "name" : "line_id",
1300 "bitwidth" : 32
1301 }
1302 ],
1303 "primitives" : [
1304 {
1305 "op" : "assign",
1306 "parameters" : [
1307 {
1308 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001309 "value" : ["scalars", "fabric_metadata_t._bng_line_id17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001310 },
1311 {
1312 "type" : "runtime_data",
1313 "value" : 0
1314 }
1315 ],
1316 "source_info" : {
1317 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001318 "line" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001319 "column" : 26,
1320 "source_fragment" : "= line_id; ..."
1321 }
1322 }
1323 ]
1324 },
1325 {
1326 "name" : "FabricIngress.bng_ingress.upstream.punt_to_cpu",
1327 "id" : 11,
1328 "runtime_data" : [],
1329 "primitives" : [
1330 {
1331 "op" : "assign",
1332 "parameters" : [
1333 {
1334 "type" : "field",
1335 "value" : ["standard_metadata", "egress_spec"]
1336 },
1337 {
1338 "type" : "hexstr",
1339 "value" : "0x00ff"
1340 }
1341 ],
1342 "source_info" : {
1343 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001344 "line" : 73,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001345 "column" : 8,
1346 "source_fragment" : "smeta.egress_spec = 255"
1347 }
1348 },
1349 {
1350 "op" : "assign",
1351 "parameters" : [
1352 {
1353 "type" : "field",
1354 "value" : ["scalars", "fabric_metadata_t._skip_forwarding7"]
1355 },
1356 {
1357 "type" : "expression",
1358 "value" : {
1359 "type" : "expression",
1360 "value" : {
1361 "op" : "b2d",
1362 "left" : null,
1363 "right" : {
1364 "type" : "bool",
1365 "value" : true
1366 }
1367 }
1368 }
1369 }
1370 ],
1371 "source_info" : {
1372 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001373 "line" : 74,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001374 "column" : 30,
1375 "source_fragment" : "= true; ..."
1376 }
1377 },
1378 {
1379 "op" : "assign",
1380 "parameters" : [
1381 {
1382 "type" : "field",
1383 "value" : ["scalars", "fabric_metadata_t._skip_next8"]
1384 },
1385 {
1386 "type" : "expression",
1387 "value" : {
1388 "type" : "expression",
1389 "value" : {
1390 "op" : "b2d",
1391 "left" : null,
1392 "right" : {
1393 "type" : "bool",
1394 "value" : true
1395 }
1396 }
1397 }
1398 }
1399 ],
1400 "source_info" : {
1401 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001402 "line" : 75,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001403 "column" : 24,
1404 "source_fragment" : "= true; ..."
1405 }
1406 },
1407 {
1408 "op" : "count",
1409 "parameters" : [
1410 {
1411 "type" : "counter_array",
1412 "value" : "FabricIngress.bng_ingress.upstream.c_control"
1413 },
1414 {
1415 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001416 "value" : ["scalars", "fabric_metadata_t._bng_line_id17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001417 }
1418 ],
1419 "source_info" : {
1420 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001421 "line" : 76,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001422 "column" : 8,
1423 "source_fragment" : "c_control.count(fmeta.bng.line_id)"
1424 }
1425 }
1426 ]
1427 },
1428 {
1429 "name" : "FabricIngress.bng_ingress.upstream.term_disabled",
1430 "id" : 12,
1431 "runtime_data" : [],
1432 "primitives" : [
1433 {
1434 "op" : "assign",
1435 "parameters" : [
1436 {
1437 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001438 "value" : ["scalars", "fabric_metadata_t._bng_type16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001439 },
1440 {
1441 "type" : "hexstr",
1442 "value" : "0x00"
1443 }
1444 ],
1445 "source_info" : {
1446 "filename" : "include/control/../header.p4",
1447 "line" : 155,
1448 "column" : 36,
1449 "source_fragment" : "2w0x0; ..."
1450 }
1451 },
1452 {
1453 "op" : "assign",
1454 "parameters" : [
1455 {
1456 "type" : "field",
1457 "value" : ["scalars", "fabric_metadata_t._skip_forwarding7"]
1458 },
1459 {
1460 "type" : "expression",
1461 "value" : {
1462 "type" : "expression",
1463 "value" : {
1464 "op" : "b2d",
1465 "left" : null,
1466 "right" : {
1467 "type" : "bool",
1468 "value" : true
1469 }
1470 }
1471 }
1472 }
1473 ],
1474 "source_info" : {
1475 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001476 "line" : 108,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001477 "column" : 30,
1478 "source_fragment" : "= true; ..."
1479 }
1480 },
1481 {
1482 "op" : "assign",
1483 "parameters" : [
1484 {
1485 "type" : "field",
1486 "value" : ["scalars", "fabric_metadata_t._skip_next8"]
1487 },
1488 {
1489 "type" : "expression",
1490 "value" : {
1491 "type" : "expression",
1492 "value" : {
1493 "op" : "b2d",
1494 "left" : null,
1495 "right" : {
1496 "type" : "bool",
1497 "value" : true
1498 }
1499 }
1500 }
1501 }
1502 ],
1503 "source_info" : {
1504 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001505 "line" : 109,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001506 "column" : 24,
1507 "source_fragment" : "= true; ..."
1508 }
1509 },
1510 {
1511 "op" : "mark_to_drop",
1512 "parameters" : [
1513 {
1514 "type" : "header",
1515 "value" : "standard_metadata"
1516 }
1517 ],
1518 "source_info" : {
1519 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001520 "line" : 110,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001521 "column" : 8,
1522 "source_fragment" : "mark_to_drop(smeta)"
1523 }
1524 },
1525 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001526 "op" : "assign",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001527 "parameters" : [
1528 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001529 "type" : "field",
1530 "value" : ["scalars", "bng_ingress_upstream_drop"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001531 },
1532 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001533 "type" : "expression",
1534 "value" : {
1535 "type" : "expression",
1536 "value" : {
1537 "op" : "b2d",
1538 "left" : null,
1539 "right" : {
1540 "type" : "bool",
1541 "value" : true
1542 }
1543 }
1544 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001545 }
1546 ],
1547 "source_info" : {
1548 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001549 "line" : 111,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001550 "column" : 8,
Daniele Moroe22b5742019-06-28 15:32:37 -07001551 "source_fragment" : "drop=true"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001552 }
1553 }
1554 ]
1555 },
1556 {
1557 "name" : "FabricIngress.bng_ingress.upstream.term_enabled_v4",
1558 "id" : 13,
1559 "runtime_data" : [],
1560 "primitives" : [
1561 {
1562 "op" : "assign",
1563 "parameters" : [
1564 {
1565 "type" : "field",
1566 "value" : ["ethernet", "eth_type"]
1567 },
1568 {
1569 "type" : "hexstr",
1570 "value" : "0x0800"
1571 }
1572 ],
1573 "source_info" : {
1574 "filename" : "include/control/../define.p4",
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07001575 "line" : 110,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001576 "column" : 31,
1577 "source_fragment" : "0x0800; ..."
1578 }
1579 },
1580 {
1581 "op" : "assign",
1582 "parameters" : [
1583 {
1584 "type" : "field",
1585 "value" : ["scalars", "fabric_metadata_t._eth_type0"]
1586 },
1587 {
1588 "type" : "hexstr",
1589 "value" : "0x0800"
1590 }
1591 ],
1592 "source_info" : {
1593 "filename" : "include/control/../define.p4",
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07001594 "line" : 110,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001595 "column" : 31,
1596 "source_fragment" : "0x0800; ..."
1597 }
1598 },
1599 {
1600 "op" : "remove_header",
1601 "parameters" : [
1602 {
1603 "type" : "header",
1604 "value" : "pppoe"
1605 }
1606 ],
1607 "source_info" : {
1608 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001609 "line" : 100,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001610 "column" : 8,
1611 "source_fragment" : "hdr.pppoe.setInvalid()"
1612 }
1613 },
1614 {
1615 "op" : "remove_header",
1616 "parameters" : [
1617 {
1618 "type" : "header",
1619 "value" : "vlan_tag"
1620 }
1621 ],
1622 "source_info" : {
1623 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001624 "line" : 101,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001625 "column" : 8,
1626 "source_fragment" : "hdr.vlan_tag.setInvalid()"
1627 }
1628 },
1629 {
1630 "op" : "remove_header",
1631 "parameters" : [
1632 {
1633 "type" : "header",
1634 "value" : "inner_vlan_tag"
1635 }
1636 ],
1637 "source_info" : {
1638 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001639 "line" : 102,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001640 "column" : 8,
1641 "source_fragment" : "hdr.inner_vlan_tag.setInvalid()"
1642 }
1643 },
1644 {
1645 "op" : "count",
1646 "parameters" : [
1647 {
1648 "type" : "counter_array",
1649 "value" : "FabricIngress.bng_ingress.upstream.c_terminated"
1650 },
1651 {
1652 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001653 "value" : ["scalars", "fabric_metadata_t._bng_line_id17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001654 }
1655 ],
1656 "source_info" : {
1657 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001658 "line" : 103,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001659 "column" : 8,
1660 "source_fragment" : "c_terminated.count(fmeta.bng.line_id)"
1661 }
1662 }
1663 ]
1664 },
1665 {
1666 "name" : "FabricIngress.bng_ingress.downstream.set_line_next",
1667 "id" : 14,
1668 "runtime_data" : [
1669 {
1670 "name" : "line_id",
1671 "bitwidth" : 32
1672 },
1673 {
1674 "name" : "next_id",
1675 "bitwidth" : 32
1676 }
1677 ],
1678 "primitives" : [
1679 {
1680 "op" : "assign",
1681 "parameters" : [
1682 {
1683 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001684 "value" : ["scalars", "fabric_metadata_t._bng_type16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001685 },
1686 {
1687 "type" : "hexstr",
1688 "value" : "0x02"
1689 }
1690 ],
1691 "source_info" : {
1692 "filename" : "include/control/../header.p4",
1693 "line" : 157,
1694 "column" : 39,
1695 "source_fragment" : "2w0x2;; ..."
1696 }
1697 },
1698 {
1699 "op" : "assign",
1700 "parameters" : [
1701 {
1702 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001703 "value" : ["scalars", "fabric_metadata_t._bng_line_id17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001704 },
1705 {
1706 "type" : "runtime_data",
1707 "value" : 0
1708 }
1709 ],
1710 "source_info" : {
1711 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001712 "line" : 195,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001713 "column" : 26,
1714 "source_fragment" : "= line_id; ..."
1715 }
1716 },
1717 {
1718 "op" : "count",
1719 "parameters" : [
1720 {
1721 "type" : "counter_array",
1722 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
1723 },
1724 {
1725 "type" : "runtime_data",
1726 "value" : 0
1727 }
1728 ],
1729 "source_info" : {
1730 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001731 "line" : 196,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001732 "column" : 8,
1733 "source_fragment" : "c_line_rx.count(line_id)"
1734 }
1735 },
1736 {
1737 "op" : "assign",
1738 "parameters" : [
1739 {
1740 "type" : "field",
1741 "value" : ["scalars", "fabric_metadata_t._next_id10"]
1742 },
1743 {
1744 "type" : "runtime_data",
1745 "value" : 1
1746 }
1747 ],
1748 "source_info" : {
1749 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001750 "line" : 201,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001751 "column" : 22,
1752 "source_fragment" : "= next_id; ..."
1753 }
1754 },
1755 {
1756 "op" : "assign",
1757 "parameters" : [
1758 {
1759 "type" : "field",
1760 "value" : ["scalars", "fabric_metadata_t._skip_forwarding7"]
1761 },
1762 {
1763 "type" : "expression",
1764 "value" : {
1765 "type" : "expression",
1766 "value" : {
1767 "op" : "b2d",
1768 "left" : null,
1769 "right" : {
1770 "type" : "bool",
1771 "value" : true
1772 }
1773 }
1774 }
1775 }
1776 ],
1777 "source_info" : {
1778 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001779 "line" : 202,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001780 "column" : 30,
1781 "source_fragment" : "= true; ..."
1782 }
1783 }
1784 ]
1785 },
1786 {
1787 "name" : "FabricIngress.bng_ingress.downstream.set_line_drop",
1788 "id" : 15,
1789 "runtime_data" : [
1790 {
1791 "name" : "line_id",
1792 "bitwidth" : 32
1793 }
1794 ],
1795 "primitives" : [
1796 {
1797 "op" : "assign",
1798 "parameters" : [
1799 {
1800 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001801 "value" : ["scalars", "fabric_metadata_t._bng_type16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001802 },
1803 {
1804 "type" : "hexstr",
1805 "value" : "0x02"
1806 }
1807 ],
1808 "source_info" : {
1809 "filename" : "include/control/../header.p4",
1810 "line" : 157,
1811 "column" : 39,
1812 "source_fragment" : "2w0x2;; ..."
1813 }
1814 },
1815 {
1816 "op" : "assign",
1817 "parameters" : [
1818 {
1819 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07001820 "value" : ["scalars", "fabric_metadata_t._bng_line_id17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001821 },
1822 {
1823 "type" : "runtime_data",
1824 "value" : 0
1825 }
1826 ],
1827 "source_info" : {
1828 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001829 "line" : 195,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001830 "column" : 26,
1831 "source_fragment" : "= line_id; ..."
1832 }
1833 },
1834 {
1835 "op" : "count",
1836 "parameters" : [
1837 {
1838 "type" : "counter_array",
1839 "value" : "FabricIngress.bng_ingress.downstream.c_line_rx"
1840 },
1841 {
1842 "type" : "runtime_data",
1843 "value" : 0
1844 }
1845 ],
1846 "source_info" : {
1847 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001848 "line" : 196,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001849 "column" : 8,
1850 "source_fragment" : "c_line_rx.count(line_id)"
1851 }
1852 },
1853 {
1854 "op" : "assign",
1855 "parameters" : [
1856 {
1857 "type" : "field",
1858 "value" : ["scalars", "fabric_metadata_t._skip_forwarding7"]
1859 },
1860 {
1861 "type" : "expression",
1862 "value" : {
1863 "type" : "expression",
1864 "value" : {
1865 "op" : "b2d",
1866 "left" : null,
1867 "right" : {
1868 "type" : "bool",
1869 "value" : true
1870 }
1871 }
1872 }
1873 }
1874 ],
1875 "source_info" : {
1876 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001877 "line" : 207,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001878 "column" : 30,
1879 "source_fragment" : "= true; ..."
1880 }
1881 },
1882 {
1883 "op" : "assign",
1884 "parameters" : [
1885 {
1886 "type" : "field",
1887 "value" : ["scalars", "fabric_metadata_t._skip_next8"]
1888 },
1889 {
1890 "type" : "expression",
1891 "value" : {
1892 "type" : "expression",
1893 "value" : {
1894 "op" : "b2d",
1895 "left" : null,
1896 "right" : {
1897 "type" : "bool",
1898 "value" : true
1899 }
1900 }
1901 }
1902 }
1903 ],
1904 "source_info" : {
1905 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001906 "line" : 208,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001907 "column" : 24,
1908 "source_fragment" : "= true; ..."
1909 }
1910 },
1911 {
1912 "op" : "mark_to_drop",
1913 "parameters" : [
1914 {
1915 "type" : "header",
1916 "value" : "standard_metadata"
1917 }
1918 ],
1919 "source_info" : {
1920 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001921 "line" : 209,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001922 "column" : 8,
1923 "source_fragment" : "mark_to_drop(smeta)"
1924 }
1925 }
1926 ]
1927 },
1928 {
1929 "name" : "FabricIngress.bng_ingress.downstream.qos_prio",
1930 "id" : 16,
1931 "runtime_data" : [],
1932 "primitives" : [
1933 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001934 "op" : "assign",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001935 "parameters" : [
1936 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001937 "type" : "field",
1938 "value" : ["scalars", "bng_ingress_downstream_prio"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001939 },
1940 {
Daniele Moroe22b5742019-06-28 15:32:37 -07001941 "type" : "expression",
1942 "value" : {
1943 "type" : "expression",
1944 "value" : {
1945 "op" : "b2d",
1946 "left" : null,
1947 "right" : {
1948 "type" : "bool",
1949 "value" : true
1950 }
1951 }
1952 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001953 }
1954 ],
1955 "source_info" : {
1956 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07001957 "line" : 245,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001958 "column" : 8,
Daniele Moroe22b5742019-06-28 15:32:37 -07001959 "source_fragment" : "prio=true"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001960 }
1961 }
1962 ]
1963 },
1964 {
1965 "name" : "FabricIngress.bng_ingress.downstream.qos_besteff",
1966 "id" : 17,
1967 "runtime_data" : [],
Daniele Moroe22b5742019-06-28 15:32:37 -07001968 "primitives" : []
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07001969 },
1970 {
1971 "name" : "FabricIngress.filtering.deny",
1972 "id" : 18,
1973 "runtime_data" : [],
1974 "primitives" : [
1975 {
1976 "op" : "assign",
1977 "parameters" : [
1978 {
1979 "type" : "field",
1980 "value" : ["scalars", "fabric_metadata_t._skip_forwarding7"]
1981 },
1982 {
1983 "type" : "expression",
1984 "value" : {
1985 "type" : "expression",
1986 "value" : {
1987 "op" : "b2d",
1988 "left" : null,
1989 "right" : {
1990 "type" : "bool",
1991 "value" : true
1992 }
1993 }
1994 }
1995 }
1996 ],
1997 "source_info" : {
1998 "filename" : "include/control/filtering.p4",
1999 "line" : 36,
2000 "column" : 40,
2001 "source_fragment" : "= true; ..."
2002 }
2003 },
2004 {
2005 "op" : "assign",
2006 "parameters" : [
2007 {
2008 "type" : "field",
2009 "value" : ["scalars", "fabric_metadata_t._skip_next8"]
2010 },
2011 {
2012 "type" : "expression",
2013 "value" : {
2014 "type" : "expression",
2015 "value" : {
2016 "op" : "b2d",
2017 "left" : null,
2018 "right" : {
2019 "type" : "bool",
2020 "value" : true
2021 }
2022 }
2023 }
2024 }
2025 ],
2026 "source_info" : {
2027 "filename" : "include/control/filtering.p4",
2028 "line" : 37,
2029 "column" : 34,
2030 "source_fragment" : "= true; ..."
2031 }
2032 }
2033 ]
2034 },
2035 {
2036 "name" : "FabricIngress.filtering.permit",
2037 "id" : 19,
2038 "runtime_data" : [],
2039 "primitives" : []
2040 },
2041 {
2042 "name" : "FabricIngress.filtering.permit_with_internal_vlan",
2043 "id" : 20,
2044 "runtime_data" : [
2045 {
2046 "name" : "vlan_id",
2047 "bitwidth" : 12
2048 }
2049 ],
2050 "primitives" : [
2051 {
2052 "op" : "assign",
2053 "parameters" : [
2054 {
2055 "type" : "field",
2056 "value" : ["scalars", "fabric_metadata_t._vlan_id2"]
2057 },
2058 {
2059 "type" : "runtime_data",
2060 "value" : 0
2061 }
2062 ],
2063 "source_info" : {
2064 "filename" : "include/control/filtering.p4",
2065 "line" : 47,
2066 "column" : 32,
2067 "source_fragment" : "= vlan_id; ..."
2068 }
2069 }
2070 ]
2071 },
2072 {
2073 "name" : "FabricIngress.filtering.set_forwarding_type",
2074 "id" : 21,
2075 "runtime_data" : [
2076 {
2077 "name" : "fwd_type",
2078 "bitwidth" : 3
2079 }
2080 ],
2081 "primitives" : [
2082 {
2083 "op" : "assign",
2084 "parameters" : [
2085 {
2086 "type" : "field",
2087 "value" : ["scalars", "fabric_metadata_t._fwd_type9"]
2088 },
2089 {
2090 "type" : "runtime_data",
2091 "value" : 0
2092 }
2093 ],
2094 "source_info" : {
2095 "filename" : "include/control/filtering.p4",
2096 "line" : 83,
2097 "column" : 33,
2098 "source_fragment" : "= fwd_type; ..."
2099 }
2100 }
2101 ]
2102 },
2103 {
2104 "name" : "FabricIngress.forwarding.set_next_id_bridging",
2105 "id" : 22,
2106 "runtime_data" : [
2107 {
2108 "name" : "next_id",
2109 "bitwidth" : 32
2110 }
2111 ],
2112 "primitives" : [
2113 {
2114 "op" : "assign",
2115 "parameters" : [
2116 {
2117 "type" : "field",
2118 "value" : ["scalars", "fabric_metadata_t._next_id10"]
2119 },
2120 {
2121 "type" : "runtime_data",
2122 "value" : 0
2123 }
2124 ],
2125 "source_info" : {
2126 "filename" : "include/control/forwarding.p4",
2127 "line" : 30,
2128 "column" : 32,
2129 "source_fragment" : "= next_id; ..."
2130 }
2131 }
2132 ]
2133 },
2134 {
2135 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
2136 "id" : 23,
2137 "runtime_data" : [
2138 {
2139 "name" : "next_id",
2140 "bitwidth" : 32
2141 }
2142 ],
2143 "primitives" : [
2144 {
2145 "op" : "assign",
2146 "parameters" : [
2147 {
2148 "type" : "field",
2149 "value" : ["scalars", "fabric_metadata_t._mpls_label5"]
2150 },
2151 {
2152 "type" : "hexstr",
2153 "value" : "0x000000"
2154 }
2155 ],
2156 "source_info" : {
2157 "filename" : "include/control/forwarding.p4",
2158 "line" : 66,
2159 "column" : 35,
2160 "source_fragment" : "= 0; ..."
2161 }
2162 },
2163 {
2164 "op" : "assign",
2165 "parameters" : [
2166 {
2167 "type" : "field",
2168 "value" : ["scalars", "fabric_metadata_t._next_id10"]
2169 },
2170 {
2171 "type" : "runtime_data",
2172 "value" : 0
2173 }
2174 ],
2175 "source_info" : {
2176 "filename" : "include/control/forwarding.p4",
2177 "line" : 30,
2178 "column" : 32,
2179 "source_fragment" : "= next_id; ..."
2180 }
2181 }
2182 ]
2183 },
2184 {
2185 "name" : "FabricIngress.forwarding.set_next_id_routing_v4",
2186 "id" : 24,
2187 "runtime_data" : [
2188 {
2189 "name" : "next_id",
2190 "bitwidth" : 32
2191 }
2192 ],
2193 "primitives" : [
2194 {
2195 "op" : "assign",
2196 "parameters" : [
2197 {
2198 "type" : "field",
2199 "value" : ["scalars", "fabric_metadata_t._next_id10"]
2200 },
2201 {
2202 "type" : "runtime_data",
2203 "value" : 0
2204 }
2205 ],
2206 "source_info" : {
2207 "filename" : "include/control/forwarding.p4",
2208 "line" : 30,
2209 "column" : 32,
2210 "source_fragment" : "= next_id; ..."
2211 }
2212 }
2213 ]
2214 },
2215 {
2216 "name" : "FabricIngress.forwarding.nop_routing_v4",
2217 "id" : 25,
2218 "runtime_data" : [],
2219 "primitives" : []
2220 },
2221 {
2222 "name" : "FabricIngress.acl.set_next_id_acl",
2223 "id" : 26,
2224 "runtime_data" : [
2225 {
2226 "name" : "next_id",
2227 "bitwidth" : 32
2228 }
2229 ],
2230 "primitives" : [
2231 {
2232 "op" : "assign",
2233 "parameters" : [
2234 {
2235 "type" : "field",
2236 "value" : ["scalars", "fabric_metadata_t._next_id10"]
2237 },
2238 {
2239 "type" : "runtime_data",
2240 "value" : 0
2241 }
2242 ],
2243 "source_info" : {
2244 "filename" : "include/control/acl.p4",
2245 "line" : 33,
2246 "column" : 32,
2247 "source_fragment" : "= next_id; ..."
2248 }
2249 }
2250 ]
2251 },
2252 {
2253 "name" : "FabricIngress.acl.punt_to_cpu",
2254 "id" : 27,
2255 "runtime_data" : [],
2256 "primitives" : [
2257 {
2258 "op" : "assign",
2259 "parameters" : [
2260 {
2261 "type" : "field",
2262 "value" : ["standard_metadata", "egress_spec"]
2263 },
2264 {
2265 "type" : "hexstr",
2266 "value" : "0x00ff"
2267 }
2268 ],
2269 "source_info" : {
2270 "filename" : "include/control/acl.p4",
2271 "line" : 39,
2272 "column" : 8,
2273 "source_fragment" : "standard_metadata.egress_spec = 255"
2274 }
2275 },
2276 {
2277 "op" : "assign",
2278 "parameters" : [
2279 {
2280 "type" : "field",
2281 "value" : ["scalars", "fabric_metadata_t._skip_next8"]
2282 },
2283 {
2284 "type" : "expression",
2285 "value" : {
2286 "type" : "expression",
2287 "value" : {
2288 "op" : "b2d",
2289 "left" : null,
2290 "right" : {
2291 "type" : "bool",
2292 "value" : true
2293 }
2294 }
2295 }
2296 }
2297 ],
2298 "source_info" : {
2299 "filename" : "include/control/acl.p4",
2300 "line" : 40,
2301 "column" : 34,
2302 "source_fragment" : "= true; ..."
2303 }
2304 }
2305 ]
2306 },
2307 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002308 "name" : "FabricIngress.acl.set_clone_session_id",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002309 "id" : 28,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002310 "runtime_data" : [
2311 {
2312 "name" : "clone_id",
2313 "bitwidth" : 32
2314 }
2315 ],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002316 "primitives" : [
2317 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002318 "op" : "clone_ingress_pkt_to_egress",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002319 "parameters" : [
2320 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002321 "type" : "runtime_data",
2322 "value" : 0
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002323 },
2324 {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002325 "type" : "hexstr",
2326 "value" : "0x1"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002327 }
2328 ],
2329 "source_info" : {
2330 "filename" : "include/control/acl.p4",
2331 "line" : 46,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002332 "column" : 8,
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07002333 "source_fragment" : "clone3(CloneType.I2E, clone_id, {standard_metadata.ingress_port})"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002334 }
2335 }
2336 ]
2337 },
2338 {
2339 "name" : "FabricIngress.acl.drop",
2340 "id" : 29,
2341 "runtime_data" : [],
2342 "primitives" : [
2343 {
2344 "op" : "mark_to_drop",
2345 "parameters" : [
2346 {
2347 "type" : "header",
2348 "value" : "standard_metadata"
2349 }
2350 ],
2351 "source_info" : {
2352 "filename" : "include/control/acl.p4",
2353 "line" : 51,
2354 "column" : 8,
2355 "source_fragment" : "mark_to_drop(standard_metadata)"
2356 }
2357 },
2358 {
2359 "op" : "assign",
2360 "parameters" : [
2361 {
2362 "type" : "field",
2363 "value" : ["scalars", "fabric_metadata_t._skip_next8"]
2364 },
2365 {
2366 "type" : "expression",
2367 "value" : {
2368 "type" : "expression",
2369 "value" : {
2370 "op" : "b2d",
2371 "left" : null,
2372 "right" : {
2373 "type" : "bool",
2374 "value" : true
2375 }
2376 }
2377 }
2378 }
2379 ],
2380 "source_info" : {
2381 "filename" : "include/control/acl.p4",
2382 "line" : 52,
2383 "column" : 34,
2384 "source_fragment" : "= true; ..."
2385 }
2386 }
2387 ]
2388 },
2389 {
2390 "name" : "FabricIngress.acl.nop_acl",
2391 "id" : 30,
2392 "runtime_data" : [],
2393 "primitives" : []
2394 },
2395 {
2396 "name" : "FabricIngress.next.set_vlan",
2397 "id" : 31,
2398 "runtime_data" : [
2399 {
2400 "name" : "vlan_id",
2401 "bitwidth" : 12
2402 }
2403 ],
2404 "primitives" : [
2405 {
2406 "op" : "assign",
2407 "parameters" : [
2408 {
2409 "type" : "field",
2410 "value" : ["scalars", "fabric_metadata_t._vlan_id2"]
2411 },
2412 {
2413 "type" : "runtime_data",
2414 "value" : 0
2415 }
2416 ],
2417 "source_info" : {
2418 "filename" : "include/control/next.p4",
2419 "line" : 70,
2420 "column" : 32,
2421 "source_fragment" : "= vlan_id; ..."
2422 }
2423 }
2424 ]
2425 },
2426 {
2427 "name" : "FabricIngress.next.output_xconnect",
2428 "id" : 32,
2429 "runtime_data" : [
2430 {
2431 "name" : "port_num",
2432 "bitwidth" : 9
2433 }
2434 ],
2435 "primitives" : [
2436 {
2437 "op" : "assign",
2438 "parameters" : [
2439 {
2440 "type" : "field",
2441 "value" : ["standard_metadata", "egress_spec"]
2442 },
2443 {
2444 "type" : "runtime_data",
2445 "value" : 0
2446 }
2447 ],
2448 "source_info" : {
2449 "filename" : "include/control/next.p4",
2450 "line" : 31,
2451 "column" : 5,
2452 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2453 }
2454 }
2455 ]
2456 },
2457 {
2458 "name" : "FabricIngress.next.set_next_id_xconnect",
2459 "id" : 33,
2460 "runtime_data" : [
2461 {
2462 "name" : "next_id",
2463 "bitwidth" : 32
2464 }
2465 ],
2466 "primitives" : [
2467 {
2468 "op" : "assign",
2469 "parameters" : [
2470 {
2471 "type" : "field",
2472 "value" : ["scalars", "fabric_metadata_t._next_id10"]
2473 },
2474 {
2475 "type" : "runtime_data",
2476 "value" : 0
2477 }
2478 ],
2479 "source_info" : {
2480 "filename" : "include/control/next.p4",
2481 "line" : 100,
2482 "column" : 32,
2483 "source_fragment" : "= next_id; ..."
2484 }
2485 }
2486 ]
2487 },
2488 {
2489 "name" : "FabricIngress.next.output_hashed",
2490 "id" : 34,
2491 "runtime_data" : [
2492 {
2493 "name" : "port_num",
2494 "bitwidth" : 9
2495 }
2496 ],
2497 "primitives" : [
2498 {
2499 "op" : "assign",
2500 "parameters" : [
2501 {
2502 "type" : "field",
2503 "value" : ["standard_metadata", "egress_spec"]
2504 },
2505 {
2506 "type" : "runtime_data",
2507 "value" : 0
2508 }
2509 ],
2510 "source_info" : {
2511 "filename" : "include/control/next.p4",
2512 "line" : 31,
2513 "column" : 5,
2514 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2515 }
2516 }
2517 ]
2518 },
2519 {
2520 "name" : "FabricIngress.next.routing_hashed",
2521 "id" : 35,
2522 "runtime_data" : [
2523 {
2524 "name" : "port_num",
2525 "bitwidth" : 9
2526 },
2527 {
2528 "name" : "smac",
2529 "bitwidth" : 48
2530 },
2531 {
2532 "name" : "dmac",
2533 "bitwidth" : 48
2534 }
2535 ],
2536 "primitives" : [
2537 {
2538 "op" : "assign",
2539 "parameters" : [
2540 {
2541 "type" : "field",
2542 "value" : ["ethernet", "src_addr"]
2543 },
2544 {
2545 "type" : "runtime_data",
2546 "value" : 1
2547 }
2548 ],
2549 "source_info" : {
2550 "filename" : "include/control/next.p4",
2551 "line" : 36,
2552 "column" : 8,
2553 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2554 }
2555 },
2556 {
2557 "op" : "assign",
2558 "parameters" : [
2559 {
2560 "type" : "field",
2561 "value" : ["ethernet", "dst_addr"]
2562 },
2563 {
2564 "type" : "runtime_data",
2565 "value" : 2
2566 }
2567 ],
2568 "source_info" : {
2569 "filename" : "include/control/next.p4",
2570 "line" : 41,
2571 "column" : 8,
2572 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2573 }
2574 },
2575 {
2576 "op" : "assign",
2577 "parameters" : [
2578 {
2579 "type" : "field",
2580 "value" : ["standard_metadata", "egress_spec"]
2581 },
2582 {
2583 "type" : "runtime_data",
2584 "value" : 0
2585 }
2586 ],
2587 "source_info" : {
2588 "filename" : "include/control/next.p4",
2589 "line" : 31,
2590 "column" : 5,
2591 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2592 }
2593 }
2594 ]
2595 },
2596 {
2597 "name" : "FabricIngress.next.mpls_routing_hashed",
2598 "id" : 36,
2599 "runtime_data" : [
2600 {
2601 "name" : "port_num",
2602 "bitwidth" : 9
2603 },
2604 {
2605 "name" : "smac",
2606 "bitwidth" : 48
2607 },
2608 {
2609 "name" : "dmac",
2610 "bitwidth" : 48
2611 },
2612 {
2613 "name" : "label",
2614 "bitwidth" : 20
2615 }
2616 ],
2617 "primitives" : [
2618 {
2619 "op" : "assign",
2620 "parameters" : [
2621 {
2622 "type" : "field",
2623 "value" : ["scalars", "fabric_metadata_t._mpls_label5"]
2624 },
2625 {
2626 "type" : "runtime_data",
2627 "value" : 3
2628 }
2629 ],
2630 "source_info" : {
2631 "filename" : "include/control/next.p4",
2632 "line" : 46,
2633 "column" : 35,
2634 "source_fragment" : "= label; ..."
2635 }
2636 },
2637 {
2638 "op" : "assign",
2639 "parameters" : [
2640 {
2641 "type" : "field",
2642 "value" : ["ethernet", "src_addr"]
2643 },
2644 {
2645 "type" : "runtime_data",
2646 "value" : 1
2647 }
2648 ],
2649 "source_info" : {
2650 "filename" : "include/control/next.p4",
2651 "line" : 36,
2652 "column" : 8,
2653 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2654 }
2655 },
2656 {
2657 "op" : "assign",
2658 "parameters" : [
2659 {
2660 "type" : "field",
2661 "value" : ["ethernet", "dst_addr"]
2662 },
2663 {
2664 "type" : "runtime_data",
2665 "value" : 2
2666 }
2667 ],
2668 "source_info" : {
2669 "filename" : "include/control/next.p4",
2670 "line" : 41,
2671 "column" : 8,
2672 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2673 }
2674 },
2675 {
2676 "op" : "assign",
2677 "parameters" : [
2678 {
2679 "type" : "field",
2680 "value" : ["standard_metadata", "egress_spec"]
2681 },
2682 {
2683 "type" : "runtime_data",
2684 "value" : 0
2685 }
2686 ],
2687 "source_info" : {
2688 "filename" : "include/control/next.p4",
2689 "line" : 31,
2690 "column" : 5,
2691 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2692 }
2693 }
2694 ]
2695 },
2696 {
2697 "name" : "FabricIngress.next.set_mcast_group_id",
2698 "id" : 37,
2699 "runtime_data" : [
2700 {
2701 "name" : "group_id",
2702 "bitwidth" : 16
2703 }
2704 ],
2705 "primitives" : [
2706 {
2707 "op" : "assign",
2708 "parameters" : [
2709 {
2710 "type" : "field",
2711 "value" : ["standard_metadata", "mcast_grp"]
2712 },
2713 {
2714 "type" : "runtime_data",
2715 "value" : 0
2716 }
2717 ],
2718 "source_info" : {
2719 "filename" : "include/control/next.p4",
2720 "line" : 213,
2721 "column" : 8,
2722 "source_fragment" : "standard_metadata.mcast_grp = group_id"
2723 }
2724 },
2725 {
2726 "op" : "assign",
2727 "parameters" : [
2728 {
2729 "type" : "field",
2730 "value" : ["scalars", "fabric_metadata_t._is_multicast11"]
2731 },
2732 {
2733 "type" : "expression",
2734 "value" : {
2735 "type" : "expression",
2736 "value" : {
2737 "op" : "b2d",
2738 "left" : null,
2739 "right" : {
2740 "type" : "bool",
2741 "value" : true
2742 }
2743 }
2744 }
2745 }
2746 ],
2747 "source_info" : {
2748 "filename" : "include/control/next.p4",
2749 "line" : 214,
2750 "column" : 37,
2751 "source_fragment" : "= true; ..."
2752 }
2753 }
2754 ]
2755 },
2756 {
2757 "name" : "act",
2758 "id" : 38,
2759 "runtime_data" : [],
2760 "primitives" : [
2761 {
2762 "op" : "assign",
2763 "parameters" : [
2764 {
2765 "type" : "field",
2766 "value" : ["standard_metadata", "egress_spec"]
2767 },
2768 {
2769 "type" : "field",
2770 "value" : ["packet_out", "egress_port"]
2771 }
2772 ],
2773 "source_info" : {
2774 "filename" : "include/control/packetio.p4",
2775 "line" : 25,
2776 "column" : 12,
2777 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
2778 }
2779 },
2780 {
2781 "op" : "remove_header",
2782 "parameters" : [
2783 {
2784 "type" : "header",
2785 "value" : "packet_out"
2786 }
2787 ],
2788 "source_info" : {
2789 "filename" : "include/control/packetio.p4",
2790 "line" : 26,
2791 "column" : 12,
2792 "source_fragment" : "hdr.packet_out.setInvalid()"
2793 }
2794 },
2795 {
2796 "op" : "assign",
2797 "parameters" : [
2798 {
2799 "type" : "field",
2800 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out12"]
2801 },
2802 {
2803 "type" : "expression",
2804 "value" : {
2805 "type" : "expression",
2806 "value" : {
2807 "op" : "b2d",
2808 "left" : null,
2809 "right" : {
2810 "type" : "bool",
2811 "value" : true
2812 }
2813 }
2814 }
2815 }
2816 ],
2817 "source_info" : {
2818 "filename" : "include/control/packetio.p4",
2819 "line" : 27,
2820 "column" : 53,
2821 "source_fragment" : "= true; ..."
2822 }
2823 },
2824 {
2825 "op" : "exit",
2826 "parameters" : [],
2827 "source_info" : {
2828 "filename" : "include/control/packetio.p4",
2829 "line" : 29,
2830 "column" : 12,
2831 "source_fragment" : "exit"
2832 }
2833 }
2834 ]
2835 },
2836 {
2837 "name" : "act_0",
2838 "id" : 39,
2839 "runtime_data" : [],
2840 "primitives" : [
2841 {
2842 "op" : "assign",
2843 "parameters" : [
2844 {
2845 "type" : "field",
2846 "value" : ["scalars", "fabric_metadata_t._eth_type0"]
2847 },
2848 {
2849 "type" : "field",
2850 "value" : ["vlan_tag", "eth_type"]
2851 }
2852 ],
2853 "source_info" : {
2854 "filename" : "include/control/filtering.p4",
2855 "line" : 105,
2856 "column" : 37,
2857 "source_fragment" : "= hdr.vlan_tag.eth_type; ..."
2858 }
2859 },
2860 {
2861 "op" : "assign",
2862 "parameters" : [
2863 {
2864 "type" : "field",
2865 "value" : ["scalars", "fabric_metadata_t._vlan_id2"]
2866 },
2867 {
2868 "type" : "field",
2869 "value" : ["vlan_tag", "vlan_id"]
2870 }
2871 ],
2872 "source_info" : {
2873 "filename" : "include/control/filtering.p4",
2874 "line" : 106,
2875 "column" : 36,
2876 "source_fragment" : "= hdr.vlan_tag.vlan_id; ..."
2877 }
2878 },
2879 {
2880 "op" : "assign",
2881 "parameters" : [
2882 {
2883 "type" : "field",
2884 "value" : ["scalars", "fabric_metadata_t._vlan_pri3"]
2885 },
2886 {
2887 "type" : "field",
2888 "value" : ["vlan_tag", "pri"]
2889 }
2890 ],
2891 "source_info" : {
2892 "filename" : "include/control/filtering.p4",
2893 "line" : 107,
2894 "column" : 37,
2895 "source_fragment" : "= hdr.vlan_tag.pri; ..."
2896 }
2897 },
2898 {
2899 "op" : "assign",
2900 "parameters" : [
2901 {
2902 "type" : "field",
2903 "value" : ["scalars", "fabric_metadata_t._vlan_cfi4"]
2904 },
2905 {
2906 "type" : "field",
2907 "value" : ["vlan_tag", "cfi"]
2908 }
2909 ],
2910 "source_info" : {
2911 "filename" : "include/control/filtering.p4",
2912 "line" : 108,
2913 "column" : 37,
2914 "source_fragment" : "= hdr.vlan_tag.cfi; ..."
2915 }
2916 }
2917 ]
2918 },
2919 {
2920 "name" : "act_1",
2921 "id" : 40,
2922 "runtime_data" : [],
2923 "primitives" : [
2924 {
2925 "op" : "assign",
2926 "parameters" : [
2927 {
2928 "type" : "field",
2929 "value" : ["scalars", "fabric_metadata_t._mpls_ttl6"]
2930 },
2931 {
2932 "type" : "hexstr",
2933 "value" : "0x41"
2934 }
2935 ],
2936 "source_info" : {
2937 "filename" : "include/control/filtering.p4",
2938 "line" : 115,
2939 "column" : 37,
2940 "source_fragment" : "= DEFAULT_MPLS_TTL + 1; ..."
2941 }
2942 }
2943 ]
2944 },
2945 {
2946 "name" : "act_2",
2947 "id" : 41,
2948 "runtime_data" : [],
2949 "primitives" : [
2950 {
2951 "op" : "assign",
2952 "parameters" : [
2953 {
2954 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07002955 "value" : ["scalars", "fabric_metadata_t._bng_type16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07002956 },
2957 {
2958 "type" : "hexstr",
2959 "value" : "0x01"
2960 }
2961 ],
2962 "source_info" : {
2963 "filename" : "include/control/../header.p4",
2964 "line" : 156,
2965 "column" : 37,
2966 "source_fragment" : "2w0x1; ..."
2967 }
2968 },
2969 {
2970 "op" : "assign",
2971 "parameters" : [
2972 {
2973 "type" : "field",
2974 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
2975 },
2976 {
2977 "type" : "expression",
2978 "value" : {
2979 "type" : "expression",
2980 "value" : {
2981 "op" : "b2d",
2982 "left" : null,
2983 "right" : {
2984 "type" : "bool",
2985 "value" : false
2986 }
2987 }
2988 }
2989 }
2990 ]
Daniele Moroe22b5742019-06-28 15:32:37 -07002991 },
2992 {
2993 "op" : "assign",
2994 "parameters" : [
2995 {
2996 "type" : "field",
2997 "value" : ["scalars", "bng_ingress_upstream_drop"]
2998 },
2999 {
3000 "type" : "expression",
3001 "value" : {
3002 "type" : "expression",
3003 "value" : {
3004 "op" : "b2d",
3005 "left" : null,
3006 "right" : {
3007 "type" : "bool",
3008 "value" : false
3009 }
3010 }
3011 }
3012 }
3013 ],
3014 "source_info" : {
3015 "filename" : "include/bng.p4",
3016 "line" : 47,
3017 "column" : 4,
3018 "source_fragment" : "bool drop = false;"
3019 }
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003020 }
3021 ]
3022 },
3023 {
3024 "name" : "act_3",
3025 "id" : 42,
3026 "runtime_data" : [],
3027 "primitives" : [
3028 {
3029 "op" : "assign",
3030 "parameters" : [
3031 {
3032 "type" : "field",
3033 "value" : ["scalars", "bng_ingress_upstream_tmp"]
3034 },
3035 {
3036 "type" : "expression",
3037 "value" : {
3038 "type" : "expression",
3039 "value" : {
3040 "op" : "b2d",
3041 "left" : null,
3042 "right" : {
3043 "type" : "bool",
3044 "value" : true
3045 }
3046 }
3047 }
3048 }
3049 ]
3050 }
3051 ]
3052 },
3053 {
3054 "name" : "act_4",
3055 "id" : 43,
3056 "runtime_data" : [],
3057 "primitives" : [
3058 {
3059 "op" : "assign",
3060 "parameters" : [
3061 {
3062 "type" : "field",
3063 "value" : ["scalars", "bng_ingress_upstream_tmp"]
3064 },
3065 {
3066 "type" : "expression",
3067 "value" : {
3068 "type" : "expression",
3069 "value" : {
3070 "op" : "b2d",
3071 "left" : null,
3072 "right" : {
3073 "type" : "bool",
3074 "value" : false
3075 }
3076 }
3077 }
3078 }
3079 ]
3080 }
3081 ]
3082 },
3083 {
3084 "name" : "act_5",
3085 "id" : 44,
3086 "runtime_data" : [],
3087 "primitives" : [
3088 {
3089 "op" : "assign",
3090 "parameters" : [
3091 {
3092 "type" : "field",
3093 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
3094 },
3095 {
3096 "type" : "expression",
3097 "value" : {
3098 "type" : "expression",
3099 "value" : {
3100 "op" : "b2d",
3101 "left" : null,
3102 "right" : {
3103 "type" : "bool",
3104 "value" : true
3105 }
3106 }
3107 }
3108 }
3109 ],
3110 "source_info" : {
3111 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07003112 "line" : 157,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003113 "column" : 12,
3114 "source_fragment" : "return"
3115 }
3116 }
3117 ]
3118 },
3119 {
3120 "name" : "act_6",
3121 "id" : 45,
3122 "runtime_data" : [],
3123 "primitives" : [
3124 {
Daniele Moroe22b5742019-06-28 15:32:37 -07003125 "op" : "count",
3126 "parameters" : [
3127 {
3128 "type" : "counter_array",
3129 "value" : "FabricIngress.bng_ingress.upstream.c_dropped"
3130 },
3131 {
3132 "type" : "field",
3133 "value" : ["scalars", "fabric_metadata_t._bng_line_id17"]
3134 }
3135 ],
3136 "source_info" : {
3137 "filename" : "include/bng.p4",
3138 "line" : 163,
3139 "column" : 16,
3140 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
3141 }
3142 }
3143 ]
3144 },
3145 {
3146 "name" : "act_7",
3147 "id" : 46,
3148 "runtime_data" : [],
3149 "primitives" : [
3150 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003151 "op" : "assign",
3152 "parameters" : [
3153 {
3154 "type" : "field",
3155 "value" : ["scalars", "bng_ingress_downstream_tmp"]
3156 },
3157 {
3158 "type" : "expression",
3159 "value" : {
3160 "type" : "expression",
3161 "value" : {
3162 "op" : "b2d",
3163 "left" : null,
3164 "right" : {
3165 "type" : "bool",
3166 "value" : true
3167 }
3168 }
3169 }
3170 }
3171 ]
3172 }
3173 ]
3174 },
3175 {
Daniele Moroe22b5742019-06-28 15:32:37 -07003176 "name" : "act_8",
3177 "id" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003178 "runtime_data" : [],
3179 "primitives" : [
3180 {
3181 "op" : "assign",
3182 "parameters" : [
3183 {
3184 "type" : "field",
3185 "value" : ["scalars", "bng_ingress_downstream_tmp"]
3186 },
3187 {
3188 "type" : "expression",
3189 "value" : {
3190 "type" : "expression",
3191 "value" : {
3192 "op" : "b2d",
3193 "left" : null,
3194 "right" : {
3195 "type" : "bool",
3196 "value" : false
3197 }
3198 }
3199 }
3200 }
3201 ]
3202 }
3203 ]
3204 },
3205 {
Daniele Moroe22b5742019-06-28 15:32:37 -07003206 "name" : "act_9",
3207 "id" : 48,
3208 "runtime_data" : [],
3209 "primitives" : [
3210 {
3211 "op" : "execute_meter",
3212 "parameters" : [
3213 {
3214 "type" : "meter_array",
3215 "value" : "FabricIngress.bng_ingress.downstream.m_prio"
3216 },
3217 {
3218 "type" : "field",
3219 "value" : ["scalars", "fabric_metadata_t._bng_line_id17"]
3220 },
3221 {
3222 "type" : "field",
3223 "value" : ["scalars", "fabric_metadata_t._bng_ds_meter_result18"]
3224 }
3225 ],
3226 "source_info" : {
3227 "filename" : "include/bng.p4",
3228 "line" : 293,
3229 "column" : 20,
3230 "source_fragment" : "m_prio.execute_meter((bit<32>)fmeta.bng.line_id, ..."
3231 }
3232 }
3233 ]
3234 },
3235 {
3236 "name" : "act_10",
3237 "id" : 49,
3238 "runtime_data" : [],
3239 "primitives" : [
3240 {
3241 "op" : "execute_meter",
3242 "parameters" : [
3243 {
3244 "type" : "meter_array",
3245 "value" : "FabricIngress.bng_ingress.downstream.m_besteff"
3246 },
3247 {
3248 "type" : "field",
3249 "value" : ["scalars", "fabric_metadata_t._bng_line_id17"]
3250 },
3251 {
3252 "type" : "field",
3253 "value" : ["scalars", "fabric_metadata_t._bng_ds_meter_result18"]
3254 }
3255 ],
3256 "source_info" : {
3257 "filename" : "include/bng.p4",
3258 "line" : 296,
3259 "column" : 20,
3260 "source_fragment" : "m_besteff.execute_meter((bit<32>)fmeta.bng.line_id, ..."
3261 }
3262 }
3263 ]
3264 },
3265 {
3266 "name" : "act_11",
3267 "id" : 50,
3268 "runtime_data" : [],
3269 "primitives" : [
3270 {
3271 "op" : "assign",
3272 "parameters" : [
3273 {
3274 "type" : "field",
3275 "value" : ["scalars", "bng_ingress_downstream_prio"]
3276 },
3277 {
3278 "type" : "expression",
3279 "value" : {
3280 "type" : "expression",
3281 "value" : {
3282 "op" : "b2d",
3283 "left" : null,
3284 "right" : {
3285 "type" : "bool",
3286 "value" : false
3287 }
3288 }
3289 }
3290 }
3291 ],
3292 "source_info" : {
3293 "filename" : "include/bng.p4",
3294 "line" : 190,
3295 "column" : 4,
3296 "source_fragment" : "bool prio = false;"
3297 }
3298 }
3299 ]
3300 },
3301 {
3302 "name" : "act_12",
3303 "id" : 51,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003304 "runtime_data" : [],
3305 "primitives" : [
3306 {
3307 "op" : "assign",
3308 "parameters" : [
3309 {
3310 "type" : "field",
3311 "value" : ["scalars", "tmp"]
3312 },
3313 {
3314 "type" : "expression",
3315 "value" : {
3316 "type" : "expression",
3317 "value" : {
3318 "op" : "&",
3319 "left" : {
3320 "type" : "field",
3321 "value" : ["standard_metadata", "egress_spec"]
3322 },
3323 "right" : {
3324 "type" : "hexstr",
3325 "value" : "0xffffffff"
3326 }
3327 }
3328 }
3329 }
3330 ],
3331 "source_info" : {
3332 "filename" : "include/control/port_counter.p4",
3333 "line" : 31,
3334 "column" : 38,
3335 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
3336 }
3337 },
3338 {
3339 "op" : "count",
3340 "parameters" : [
3341 {
3342 "type" : "counter_array",
3343 "value" : "FabricIngress.port_counters_control.egress_port_counter"
3344 },
3345 {
3346 "type" : "field",
3347 "value" : ["scalars", "tmp"]
3348 }
3349 ],
3350 "source_info" : {
3351 "filename" : "include/control/port_counter.p4",
3352 "line" : 31,
3353 "column" : 12,
3354 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
3355 }
3356 }
3357 ]
3358 },
3359 {
Daniele Moroe22b5742019-06-28 15:32:37 -07003360 "name" : "act_13",
3361 "id" : 52,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003362 "runtime_data" : [],
3363 "primitives" : [
3364 {
3365 "op" : "assign",
3366 "parameters" : [
3367 {
3368 "type" : "field",
3369 "value" : ["scalars", "tmp_1"]
3370 },
3371 {
3372 "type" : "expression",
3373 "value" : {
3374 "type" : "expression",
3375 "value" : {
3376 "op" : "&",
3377 "left" : {
3378 "type" : "field",
3379 "value" : ["standard_metadata", "ingress_port"]
3380 },
3381 "right" : {
3382 "type" : "hexstr",
3383 "value" : "0xffffffff"
3384 }
3385 }
3386 }
3387 }
3388 ],
3389 "source_info" : {
3390 "filename" : "include/control/port_counter.p4",
3391 "line" : 34,
3392 "column" : 39,
3393 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
3394 }
3395 },
3396 {
3397 "op" : "count",
3398 "parameters" : [
3399 {
3400 "type" : "counter_array",
3401 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
3402 },
3403 {
3404 "type" : "field",
3405 "value" : ["scalars", "tmp_1"]
3406 }
3407 ],
3408 "source_info" : {
3409 "filename" : "include/control/port_counter.p4",
3410 "line" : 34,
3411 "column" : 12,
3412 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
3413 }
3414 }
3415 ]
3416 },
3417 {
3418 "name" : "nop",
Daniele Moroe22b5742019-06-28 15:32:37 -07003419 "id" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003420 "runtime_data" : [],
3421 "primitives" : []
3422 },
3423 {
3424 "name" : "nop",
Daniele Moroe22b5742019-06-28 15:32:37 -07003425 "id" : 54,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003426 "runtime_data" : [],
3427 "primitives" : []
3428 },
3429 {
3430 "name" : "FabricEgress.bng_egress.downstream.encap_v4",
Daniele Moroe22b5742019-06-28 15:32:37 -07003431 "id" : 55,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003432 "runtime_data" : [
3433 {
3434 "name" : "c_tag",
3435 "bitwidth" : 12
3436 },
3437 {
3438 "name" : "pppoe_session_id",
3439 "bitwidth" : 16
3440 }
3441 ],
3442 "primitives" : [
3443 {
3444 "op" : "assign",
3445 "parameters" : [
3446 {
3447 "type" : "field",
3448 "value" : ["vlan_tag", "eth_type"]
3449 },
3450 {
3451 "type" : "hexstr",
3452 "value" : "0x8100"
3453 }
3454 ],
3455 "source_info" : {
3456 "filename" : "include/control/../define.p4",
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07003457 "line" : 107,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003458 "column" : 31,
3459 "source_fragment" : "0x8100; ..."
3460 }
3461 },
3462 {
3463 "op" : "add_header",
3464 "parameters" : [
3465 {
3466 "type" : "header",
3467 "value" : "inner_vlan_tag"
3468 }
3469 ],
3470 "source_info" : {
3471 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07003472 "line" : 331,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003473 "column" : 8,
3474 "source_fragment" : "hdr.inner_vlan_tag.setValid()"
3475 }
3476 },
3477 {
3478 "op" : "assign",
3479 "parameters" : [
3480 {
3481 "type" : "field",
3482 "value" : ["inner_vlan_tag", "vlan_id"]
3483 },
3484 {
3485 "type" : "runtime_data",
3486 "value" : 0
3487 }
3488 ],
3489 "source_info" : {
3490 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07003491 "line" : 332,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003492 "column" : 8,
3493 "source_fragment" : "hdr.inner_vlan_tag.vlan_id = c_tag; ..."
3494 }
3495 },
3496 {
3497 "op" : "assign",
3498 "parameters" : [
3499 {
3500 "type" : "field",
3501 "value" : ["inner_vlan_tag", "eth_type"]
3502 },
3503 {
3504 "type" : "hexstr",
3505 "value" : "0x8864"
3506 }
3507 ],
3508 "source_info" : {
3509 "filename" : "include/control/../define.p4",
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07003510 "line" : 114,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003511 "column" : 33,
3512 "source_fragment" : "0x8864; ..."
3513 }
3514 },
3515 {
3516 "op" : "add_header",
3517 "parameters" : [
3518 {
3519 "type" : "header",
3520 "value" : "pppoe"
3521 }
3522 ],
3523 "source_info" : {
3524 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07003525 "line" : 334,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003526 "column" : 8,
3527 "source_fragment" : "hdr.pppoe.setValid()"
3528 }
3529 },
3530 {
3531 "op" : "assign",
3532 "parameters" : [
3533 {
3534 "type" : "field",
3535 "value" : ["pppoe", "version"]
3536 },
3537 {
3538 "type" : "hexstr",
3539 "value" : "0x01"
3540 }
3541 ],
3542 "source_info" : {
3543 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07003544 "line" : 335,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003545 "column" : 8,
3546 "source_fragment" : "hdr.pppoe.version = 4w1"
3547 }
3548 },
3549 {
3550 "op" : "assign",
3551 "parameters" : [
3552 {
3553 "type" : "field",
3554 "value" : ["pppoe", "type_id"]
3555 },
3556 {
3557 "type" : "hexstr",
3558 "value" : "0x01"
3559 }
3560 ],
3561 "source_info" : {
3562 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07003563 "line" : 336,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003564 "column" : 8,
3565 "source_fragment" : "hdr.pppoe.type_id = 4w1"
3566 }
3567 },
3568 {
3569 "op" : "assign",
3570 "parameters" : [
3571 {
3572 "type" : "field",
3573 "value" : ["pppoe", "code"]
3574 },
3575 {
3576 "type" : "hexstr",
3577 "value" : "0x00"
3578 }
3579 ],
3580 "source_info" : {
3581 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07003582 "line" : 337,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003583 "column" : 8,
3584 "source_fragment" : "hdr.pppoe.code = 8w0"
3585 }
3586 },
3587 {
3588 "op" : "assign",
3589 "parameters" : [
3590 {
3591 "type" : "field",
3592 "value" : ["pppoe", "session_id"]
3593 },
3594 {
3595 "type" : "runtime_data",
3596 "value" : 1
3597 }
3598 ],
3599 "source_info" : {
3600 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07003601 "line" : 338,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003602 "column" : 8,
3603 "source_fragment" : "hdr.pppoe.session_id = pppoe_session_id; ..."
3604 }
3605 },
3606 {
3607 "op" : "count",
3608 "parameters" : [
3609 {
3610 "type" : "counter_array",
3611 "value" : "FabricEgress.bng_egress.downstream.c_line_tx"
3612 },
3613 {
3614 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07003615 "value" : ["scalars", "fabric_metadata_t._bng_line_id17"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003616 }
3617 ],
3618 "source_info" : {
3619 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07003620 "line" : 339,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003621 "column" : 8,
3622 "source_fragment" : "c_line_tx.count(fmeta.bng.line_id)"
3623 }
3624 },
3625 {
3626 "op" : "assign",
3627 "parameters" : [
3628 {
3629 "type" : "field",
3630 "value" : ["pppoe", "length"]
3631 },
3632 {
3633 "type" : "expression",
3634 "value" : {
3635 "type" : "expression",
3636 "value" : {
3637 "op" : "&",
3638 "left" : {
3639 "type" : "expression",
3640 "value" : {
3641 "op" : "+",
3642 "left" : {
3643 "type" : "field",
3644 "value" : ["ipv4", "total_len"]
3645 },
3646 "right" : {
3647 "type" : "hexstr",
3648 "value" : "0x0002"
3649 }
3650 }
3651 },
3652 "right" : {
3653 "type" : "hexstr",
3654 "value" : "0xffff"
3655 }
3656 }
3657 }
3658 }
3659 ],
3660 "source_info" : {
3661 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07003662 "line" : 344,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003663 "column" : 8,
3664 "source_fragment" : "hdr.pppoe.length = hdr.ipv4.total_len + 16w2"
3665 }
3666 },
3667 {
3668 "op" : "assign",
3669 "parameters" : [
3670 {
3671 "type" : "field",
3672 "value" : ["pppoe", "protocol"]
3673 },
3674 {
3675 "type" : "hexstr",
3676 "value" : "0x0021"
3677 }
3678 ],
3679 "source_info" : {
3680 "filename" : "include/control/../define.p4",
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07003681 "line" : 116,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003682 "column" : 35,
3683 "source_fragment" : "0x0021; ..."
3684 }
3685 }
3686 ]
3687 },
3688 {
3689 "name" : "FabricEgress.egress_next.pop_mpls_if_present",
Daniele Moroe22b5742019-06-28 15:32:37 -07003690 "id" : 56,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003691 "runtime_data" : [],
3692 "primitives" : [
3693 {
3694 "op" : "remove_header",
3695 "parameters" : [
3696 {
3697 "type" : "header",
3698 "value" : "mpls"
3699 }
3700 ],
3701 "source_info" : {
3702 "filename" : "include/control/next.p4",
3703 "line" : 252,
3704 "column" : 8,
3705 "source_fragment" : "hdr.mpls.setInvalid()"
3706 }
3707 },
3708 {
3709 "op" : "assign",
3710 "parameters" : [
3711 {
3712 "type" : "field",
3713 "value" : ["scalars", "fabric_metadata_t._eth_type0"]
3714 },
3715 {
3716 "type" : "field",
3717 "value" : ["scalars", "fabric_metadata_t._ip_eth_type1"]
3718 }
3719 ],
3720 "source_info" : {
3721 "filename" : "include/control/next.p4",
3722 "line" : 254,
3723 "column" : 33,
3724 "source_fragment" : "= fabric_metadata.ip_eth_type; ..."
3725 }
3726 }
3727 ]
3728 },
3729 {
3730 "name" : "FabricEgress.egress_next.set_mpls",
Daniele Moroe22b5742019-06-28 15:32:37 -07003731 "id" : 57,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003732 "runtime_data" : [],
3733 "primitives" : [
3734 {
3735 "op" : "add_header",
3736 "parameters" : [
3737 {
3738 "type" : "header",
3739 "value" : "mpls"
3740 }
3741 ],
3742 "source_info" : {
3743 "filename" : "include/control/next.p4",
3744 "line" : 259,
3745 "column" : 8,
3746 "source_fragment" : "hdr.mpls.setValid()"
3747 }
3748 },
3749 {
3750 "op" : "assign",
3751 "parameters" : [
3752 {
3753 "type" : "field",
3754 "value" : ["mpls", "label"]
3755 },
3756 {
3757 "type" : "field",
3758 "value" : ["scalars", "fabric_metadata_t._mpls_label5"]
3759 }
3760 ],
3761 "source_info" : {
3762 "filename" : "include/control/next.p4",
3763 "line" : 260,
3764 "column" : 8,
3765 "source_fragment" : "hdr.mpls.label = fabric_metadata.mpls_label; ..."
3766 }
3767 },
3768 {
3769 "op" : "assign",
3770 "parameters" : [
3771 {
3772 "type" : "field",
3773 "value" : ["mpls", "tc"]
3774 },
3775 {
3776 "type" : "hexstr",
3777 "value" : "0x00"
3778 }
3779 ],
3780 "source_info" : {
3781 "filename" : "include/control/next.p4",
3782 "line" : 261,
3783 "column" : 8,
3784 "source_fragment" : "hdr.mpls.tc = 3w0"
3785 }
3786 },
3787 {
3788 "op" : "assign",
3789 "parameters" : [
3790 {
3791 "type" : "field",
3792 "value" : ["mpls", "bos"]
3793 },
3794 {
3795 "type" : "hexstr",
3796 "value" : "0x01"
3797 }
3798 ],
3799 "source_info" : {
3800 "filename" : "include/control/next.p4",
3801 "line" : 262,
3802 "column" : 8,
3803 "source_fragment" : "hdr.mpls.bos = 1w1"
3804 }
3805 },
3806 {
3807 "op" : "assign",
3808 "parameters" : [
3809 {
3810 "type" : "field",
3811 "value" : ["mpls", "ttl"]
3812 },
3813 {
3814 "type" : "field",
3815 "value" : ["scalars", "fabric_metadata_t._mpls_ttl6"]
3816 }
3817 ],
3818 "source_info" : {
3819 "filename" : "include/control/next.p4",
3820 "line" : 263,
3821 "column" : 8,
3822 "source_fragment" : "hdr.mpls.ttl = fabric_metadata.mpls_ttl; // Decrement after push. ..."
3823 }
3824 },
3825 {
3826 "op" : "assign",
3827 "parameters" : [
3828 {
3829 "type" : "field",
3830 "value" : ["scalars", "fabric_metadata_t._eth_type0"]
3831 },
3832 {
3833 "type" : "hexstr",
3834 "value" : "0x8847"
3835 }
3836 ],
3837 "source_info" : {
3838 "filename" : "include/control/../define.p4",
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07003839 "line" : 108,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003840 "column" : 31,
3841 "source_fragment" : "0x8847; ..."
3842 }
3843 }
3844 ]
3845 },
3846 {
3847 "name" : "FabricEgress.egress_next.push_vlan",
Daniele Moroe22b5742019-06-28 15:32:37 -07003848 "id" : 58,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003849 "runtime_data" : [],
3850 "primitives" : [
3851 {
3852 "op" : "add_header",
3853 "parameters" : [
3854 {
3855 "type" : "header",
3856 "value" : "vlan_tag"
3857 }
3858 ],
3859 "source_info" : {
3860 "filename" : "include/control/next.p4",
3861 "line" : 271,
3862 "column" : 8,
3863 "source_fragment" : "hdr.vlan_tag.setValid()"
3864 }
3865 },
3866 {
3867 "op" : "assign",
3868 "parameters" : [
3869 {
3870 "type" : "field",
3871 "value" : ["vlan_tag", "cfi"]
3872 },
3873 {
3874 "type" : "field",
3875 "value" : ["scalars", "fabric_metadata_t._vlan_cfi4"]
3876 }
3877 ],
3878 "source_info" : {
3879 "filename" : "include/control/next.p4",
3880 "line" : 272,
3881 "column" : 8,
3882 "source_fragment" : "hdr.vlan_tag.cfi = fabric_metadata.vlan_cfi; ..."
3883 }
3884 },
3885 {
3886 "op" : "assign",
3887 "parameters" : [
3888 {
3889 "type" : "field",
3890 "value" : ["vlan_tag", "pri"]
3891 },
3892 {
3893 "type" : "field",
3894 "value" : ["scalars", "fabric_metadata_t._vlan_pri3"]
3895 }
3896 ],
3897 "source_info" : {
3898 "filename" : "include/control/next.p4",
3899 "line" : 273,
3900 "column" : 8,
3901 "source_fragment" : "hdr.vlan_tag.pri = fabric_metadata.vlan_pri; ..."
3902 }
3903 },
3904 {
3905 "op" : "assign",
3906 "parameters" : [
3907 {
3908 "type" : "field",
3909 "value" : ["vlan_tag", "eth_type"]
3910 },
3911 {
3912 "type" : "field",
3913 "value" : ["scalars", "fabric_metadata_t._eth_type0"]
3914 }
3915 ],
3916 "source_info" : {
3917 "filename" : "include/control/next.p4",
3918 "line" : 274,
3919 "column" : 8,
3920 "source_fragment" : "hdr.vlan_tag.eth_type = fabric_metadata.eth_type; ..."
3921 }
3922 },
3923 {
3924 "op" : "assign",
3925 "parameters" : [
3926 {
3927 "type" : "field",
3928 "value" : ["vlan_tag", "vlan_id"]
3929 },
3930 {
3931 "type" : "field",
3932 "value" : ["scalars", "fabric_metadata_t._vlan_id2"]
3933 }
3934 ],
3935 "source_info" : {
3936 "filename" : "include/control/next.p4",
3937 "line" : 275,
3938 "column" : 8,
3939 "source_fragment" : "hdr.vlan_tag.vlan_id = fabric_metadata.vlan_id; ..."
3940 }
3941 },
3942 {
3943 "op" : "assign",
3944 "parameters" : [
3945 {
3946 "type" : "field",
3947 "value" : ["ethernet", "eth_type"]
3948 },
3949 {
3950 "type" : "hexstr",
3951 "value" : "0x8100"
3952 }
3953 ],
3954 "source_info" : {
3955 "filename" : "include/control/../define.p4",
Carmelo Cascone7d54994b2019-06-25 18:20:02 -07003956 "line" : 107,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003957 "column" : 31,
3958 "source_fragment" : "0x8100; ..."
3959 }
3960 }
3961 ]
3962 },
3963 {
3964 "name" : "FabricEgress.egress_next.pop_vlan",
Daniele Moroe22b5742019-06-28 15:32:37 -07003965 "id" : 59,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07003966 "runtime_data" : [],
3967 "primitives" : [
3968 {
3969 "op" : "assign",
3970 "parameters" : [
3971 {
3972 "type" : "field",
3973 "value" : ["ethernet", "eth_type"]
3974 },
3975 {
3976 "type" : "field",
3977 "value" : ["scalars", "fabric_metadata_t._eth_type0"]
3978 }
3979 ],
3980 "source_info" : {
3981 "filename" : "include/control/next.p4",
3982 "line" : 286,
3983 "column" : 8,
3984 "source_fragment" : "hdr.ethernet.eth_type = fabric_metadata.eth_type; ..."
3985 }
3986 },
3987 {
3988 "op" : "remove_header",
3989 "parameters" : [
3990 {
3991 "type" : "header",
3992 "value" : "vlan_tag"
3993 }
3994 ],
3995 "source_info" : {
3996 "filename" : "include/control/next.p4",
3997 "line" : 287,
3998 "column" : 8,
3999 "source_fragment" : "hdr.vlan_tag.setInvalid()"
4000 }
4001 }
4002 ]
4003 },
4004 {
Daniele Moroe22b5742019-06-28 15:32:37 -07004005 "name" : "act_14",
4006 "id" : 60,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004007 "runtime_data" : [],
4008 "primitives" : [
4009 {
4010 "op" : "exit",
4011 "parameters" : [],
4012 "source_info" : {
4013 "filename" : "include/control/packetio.p4",
4014 "line" : 41,
4015 "column" : 12,
4016 "source_fragment" : "exit"
4017 }
4018 }
4019 ]
4020 },
4021 {
Daniele Moroe22b5742019-06-28 15:32:37 -07004022 "name" : "act_15",
4023 "id" : 61,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004024 "runtime_data" : [],
4025 "primitives" : [
4026 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004027 "op" : "add_header",
4028 "parameters" : [
4029 {
4030 "type" : "header",
4031 "value" : "packet_in"
4032 }
4033 ],
4034 "source_info" : {
4035 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004036 "line" : 44,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004037 "column" : 12,
4038 "source_fragment" : "hdr.packet_in.setValid()"
4039 }
4040 },
4041 {
4042 "op" : "assign",
4043 "parameters" : [
4044 {
4045 "type" : "field",
4046 "value" : ["packet_in", "ingress_port"]
4047 },
4048 {
4049 "type" : "field",
4050 "value" : ["standard_metadata", "ingress_port"]
4051 }
4052 ],
4053 "source_info" : {
4054 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004055 "line" : 45,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004056 "column" : 12,
4057 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
4058 }
4059 },
4060 {
4061 "op" : "exit",
4062 "parameters" : [],
4063 "source_info" : {
4064 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004065 "line" : 47,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004066 "column" : 12,
4067 "source_fragment" : "exit"
4068 }
4069 }
4070 ]
4071 },
4072 {
Daniele Moroe22b5742019-06-28 15:32:37 -07004073 "name" : "act_16",
4074 "id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004075 "runtime_data" : [],
4076 "primitives" : [
4077 {
4078 "op" : "mark_to_drop",
4079 "parameters" : [
4080 {
4081 "type" : "header",
4082 "value" : "standard_metadata"
4083 }
4084 ],
4085 "source_info" : {
4086 "filename" : "include/control/next.p4",
4087 "line" : 308,
4088 "column" : 12,
4089 "source_fragment" : "mark_to_drop(standard_metadata)"
4090 }
4091 }
4092 ]
4093 },
4094 {
Daniele Moroe22b5742019-06-28 15:32:37 -07004095 "name" : "act_17",
4096 "id" : 63,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004097 "runtime_data" : [],
4098 "primitives" : [
4099 {
4100 "op" : "assign",
4101 "parameters" : [
4102 {
4103 "type" : "field",
4104 "value" : ["scalars", "egress_next_tmp"]
4105 },
4106 {
4107 "type" : "expression",
4108 "value" : {
4109 "type" : "expression",
4110 "value" : {
4111 "op" : "b2d",
4112 "left" : null,
4113 "right" : {
4114 "type" : "bool",
4115 "value" : true
4116 }
4117 }
4118 }
4119 }
4120 ]
4121 }
4122 ]
4123 },
4124 {
Daniele Moroe22b5742019-06-28 15:32:37 -07004125 "name" : "act_18",
4126 "id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004127 "runtime_data" : [],
4128 "primitives" : [
4129 {
4130 "op" : "assign",
4131 "parameters" : [
4132 {
4133 "type" : "field",
4134 "value" : ["scalars", "egress_next_tmp"]
4135 },
4136 {
4137 "type" : "expression",
4138 "value" : {
4139 "type" : "expression",
4140 "value" : {
4141 "op" : "b2d",
4142 "left" : null,
4143 "right" : {
4144 "type" : "bool",
4145 "value" : false
4146 }
4147 }
4148 }
4149 }
4150 ]
4151 }
4152 ]
4153 },
4154 {
Daniele Moroe22b5742019-06-28 15:32:37 -07004155 "name" : "act_19",
4156 "id" : 65,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004157 "runtime_data" : [],
4158 "primitives" : [
4159 {
4160 "op" : "mark_to_drop",
4161 "parameters" : [
4162 {
4163 "type" : "header",
4164 "value" : "standard_metadata"
4165 }
4166 ],
4167 "source_info" : {
4168 "filename" : "include/control/next.p4",
4169 "line" : 327,
4170 "column" : 35,
4171 "source_fragment" : "mark_to_drop(standard_metadata)"
4172 }
4173 }
4174 ]
4175 },
4176 {
Daniele Moroe22b5742019-06-28 15:32:37 -07004177 "name" : "act_20",
4178 "id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004179 "runtime_data" : [],
4180 "primitives" : [
4181 {
4182 "op" : "assign",
4183 "parameters" : [
4184 {
4185 "type" : "field",
4186 "value" : ["mpls", "ttl"]
4187 },
4188 {
4189 "type" : "expression",
4190 "value" : {
4191 "type" : "expression",
4192 "value" : {
4193 "op" : "&",
4194 "left" : {
4195 "type" : "expression",
4196 "value" : {
4197 "op" : "+",
4198 "left" : {
4199 "type" : "field",
4200 "value" : ["mpls", "ttl"]
4201 },
4202 "right" : {
4203 "type" : "hexstr",
4204 "value" : "0xff"
4205 }
4206 }
4207 },
4208 "right" : {
4209 "type" : "hexstr",
4210 "value" : "0xff"
4211 }
4212 }
4213 }
4214 }
4215 ],
4216 "source_info" : {
4217 "filename" : "include/control/next.p4",
4218 "line" : 326,
4219 "column" : 12,
4220 "source_fragment" : "hdr.mpls.ttl = hdr.mpls.ttl - 1"
4221 }
4222 }
4223 ]
4224 },
4225 {
Daniele Moroe22b5742019-06-28 15:32:37 -07004226 "name" : "act_21",
4227 "id" : 67,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004228 "runtime_data" : [],
4229 "primitives" : [
4230 {
4231 "op" : "mark_to_drop",
4232 "parameters" : [
4233 {
4234 "type" : "header",
4235 "value" : "standard_metadata"
4236 }
4237 ],
4238 "source_info" : {
4239 "filename" : "include/control/next.p4",
4240 "line" : 331,
4241 "column" : 39,
4242 "source_fragment" : "mark_to_drop(standard_metadata)"
4243 }
4244 }
4245 ]
4246 },
4247 {
Daniele Moroe22b5742019-06-28 15:32:37 -07004248 "name" : "act_22",
4249 "id" : 68,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004250 "runtime_data" : [],
4251 "primitives" : [
4252 {
4253 "op" : "assign",
4254 "parameters" : [
4255 {
4256 "type" : "field",
4257 "value" : ["ipv4", "ttl"]
4258 },
4259 {
4260 "type" : "expression",
4261 "value" : {
4262 "type" : "expression",
4263 "value" : {
4264 "op" : "&",
4265 "left" : {
4266 "type" : "expression",
4267 "value" : {
4268 "op" : "+",
4269 "left" : {
4270 "type" : "field",
4271 "value" : ["ipv4", "ttl"]
4272 },
4273 "right" : {
4274 "type" : "hexstr",
4275 "value" : "0xff"
4276 }
4277 }
4278 },
4279 "right" : {
4280 "type" : "hexstr",
4281 "value" : "0xff"
4282 }
4283 }
4284 }
4285 }
4286 ],
4287 "source_info" : {
4288 "filename" : "include/control/next.p4",
4289 "line" : 330,
4290 "column" : 16,
4291 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
4292 }
4293 }
4294 ]
4295 }
4296 ],
4297 "pipelines" : [
4298 {
4299 "name" : "ingress",
4300 "id" : 0,
4301 "source_info" : {
4302 "filename" : "fabric.p4",
4303 "line" : 46,
4304 "column" : 8,
4305 "source_fragment" : "FabricIngress"
4306 },
4307 "init_table" : "node_2",
4308 "tables" : [
4309 {
4310 "name" : "tbl_act",
4311 "id" : 0,
4312 "source_info" : {
4313 "filename" : "include/control/packetio.p4",
4314 "line" : 25,
4315 "column" : 42,
4316 "source_fragment" : "= hdr.packet_out.egress_port; ..."
4317 },
4318 "key" : [],
4319 "match_type" : "exact",
4320 "type" : "simple",
4321 "max_size" : 1024,
4322 "with_counters" : false,
4323 "support_timeout" : false,
4324 "direct_meters" : null,
4325 "action_ids" : [38],
4326 "actions" : ["act"],
4327 "base_default_next" : "node_4",
4328 "next_tables" : {
4329 "act" : "node_4"
4330 },
4331 "default_entry" : {
4332 "action_id" : 38,
4333 "action_const" : true,
4334 "action_data" : [],
4335 "action_entry_const" : true
4336 }
4337 },
4338 {
4339 "name" : "tbl_act_0",
4340 "id" : 1,
4341 "source_info" : {
4342 "filename" : "include/control/filtering.p4",
4343 "line" : 105,
4344 "column" : 37,
4345 "source_fragment" : "= hdr.vlan_tag.eth_type; ..."
4346 },
4347 "key" : [],
4348 "match_type" : "exact",
4349 "type" : "simple",
4350 "max_size" : 1024,
4351 "with_counters" : false,
4352 "support_timeout" : false,
4353 "direct_meters" : null,
4354 "action_ids" : [39],
4355 "actions" : ["act_0"],
4356 "base_default_next" : "node_6",
4357 "next_tables" : {
4358 "act_0" : "node_6"
4359 },
4360 "default_entry" : {
4361 "action_id" : 39,
4362 "action_const" : true,
4363 "action_data" : [],
4364 "action_entry_const" : true
4365 }
4366 },
4367 {
4368 "name" : "tbl_act_1",
4369 "id" : 2,
4370 "source_info" : {
4371 "filename" : "include/control/filtering.p4",
4372 "line" : 115,
4373 "column" : 37,
4374 "source_fragment" : "="
4375 },
4376 "key" : [],
4377 "match_type" : "exact",
4378 "type" : "simple",
4379 "max_size" : 1024,
4380 "with_counters" : false,
4381 "support_timeout" : false,
4382 "direct_meters" : null,
4383 "action_ids" : [40],
4384 "actions" : ["act_1"],
4385 "base_default_next" : "FabricIngress.filtering.ingress_port_vlan",
4386 "next_tables" : {
4387 "act_1" : "FabricIngress.filtering.ingress_port_vlan"
4388 },
4389 "default_entry" : {
4390 "action_id" : 40,
4391 "action_const" : true,
4392 "action_data" : [],
4393 "action_entry_const" : true
4394 }
4395 },
4396 {
4397 "name" : "FabricIngress.filtering.ingress_port_vlan",
4398 "id" : 3,
4399 "source_info" : {
4400 "filename" : "include/control/filtering.p4",
4401 "line" : 51,
4402 "column" : 10,
4403 "source_fragment" : "ingress_port_vlan"
4404 },
4405 "key" : [
4406 {
4407 "match_type" : "exact",
4408 "name" : "ig_port",
4409 "target" : ["standard_metadata", "ingress_port"],
4410 "mask" : null
4411 },
4412 {
4413 "match_type" : "exact",
4414 "name" : "vlan_is_valid",
4415 "target" : ["vlan_tag", "$valid$"],
4416 "mask" : null
4417 },
4418 {
4419 "match_type" : "ternary",
4420 "name" : "vlan_id",
4421 "target" : ["vlan_tag", "vlan_id"],
4422 "mask" : null
4423 }
4424 ],
4425 "match_type" : "ternary",
4426 "type" : "simple",
4427 "max_size" : 1024,
4428 "with_counters" : true,
4429 "support_timeout" : false,
4430 "direct_meters" : null,
4431 "action_ids" : [18, 19, 20],
4432 "actions" : ["FabricIngress.filtering.deny", "FabricIngress.filtering.permit", "FabricIngress.filtering.permit_with_internal_vlan"],
4433 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
4434 "next_tables" : {
4435 "FabricIngress.filtering.deny" : "FabricIngress.filtering.fwd_classifier",
4436 "FabricIngress.filtering.permit" : "FabricIngress.filtering.fwd_classifier",
4437 "FabricIngress.filtering.permit_with_internal_vlan" : "FabricIngress.filtering.fwd_classifier"
4438 },
4439 "default_entry" : {
4440 "action_id" : 18,
4441 "action_const" : true,
4442 "action_data" : [],
4443 "action_entry_const" : true
4444 }
4445 },
4446 {
4447 "name" : "FabricIngress.filtering.fwd_classifier",
4448 "id" : 4,
4449 "source_info" : {
4450 "filename" : "include/control/filtering.p4",
4451 "line" : 87,
4452 "column" : 10,
4453 "source_fragment" : "fwd_classifier"
4454 },
4455 "key" : [
4456 {
4457 "match_type" : "exact",
4458 "name" : "ig_port",
4459 "target" : ["standard_metadata", "ingress_port"],
4460 "mask" : null
4461 },
4462 {
4463 "match_type" : "ternary",
4464 "name" : "eth_dst",
4465 "target" : ["ethernet", "dst_addr"],
4466 "mask" : null
4467 },
4468 {
4469 "match_type" : "exact",
4470 "name" : "eth_type",
4471 "target" : ["scalars", "fabric_metadata_t._eth_type0"],
4472 "mask" : null
4473 }
4474 ],
4475 "match_type" : "ternary",
4476 "type" : "simple",
4477 "max_size" : 1024,
4478 "with_counters" : true,
4479 "support_timeout" : false,
4480 "direct_meters" : null,
4481 "action_ids" : [21],
4482 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
4483 "base_default_next" : "node_10",
4484 "next_tables" : {
4485 "FabricIngress.filtering.set_forwarding_type" : "node_10"
4486 },
4487 "default_entry" : {
4488 "action_id" : 21,
4489 "action_const" : true,
4490 "action_data" : ["0x0"],
4491 "action_entry_const" : true
4492 }
4493 },
4494 {
4495 "name" : "tbl_act_2",
4496 "id" : 5,
4497 "source_info" : {
4498 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07004499 "line" : 47,
4500 "column" : 4,
4501 "source_fragment" : "bool drop = false; ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004502 },
4503 "key" : [],
4504 "match_type" : "exact",
4505 "type" : "simple",
4506 "max_size" : 1024,
4507 "with_counters" : false,
4508 "support_timeout" : false,
4509 "direct_meters" : null,
4510 "action_ids" : [41],
4511 "actions" : ["act_2"],
4512 "base_default_next" : "FabricIngress.bng_ingress.upstream.t_line_map",
4513 "next_tables" : {
4514 "act_2" : "FabricIngress.bng_ingress.upstream.t_line_map"
4515 },
4516 "default_entry" : {
4517 "action_id" : 41,
4518 "action_const" : true,
4519 "action_data" : [],
4520 "action_entry_const" : true
4521 }
4522 },
4523 {
4524 "name" : "FabricIngress.bng_ingress.upstream.t_line_map",
4525 "id" : 6,
4526 "source_info" : {
4527 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07004528 "line" : 56,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004529 "column" : 10,
4530 "source_fragment" : "t_line_map"
4531 },
4532 "key" : [
4533 {
4534 "match_type" : "exact",
4535 "name" : "s_tag",
4536 "target" : ["vlan_tag", "vlan_id"],
4537 "mask" : null
4538 },
4539 {
4540 "match_type" : "exact",
4541 "name" : "c_tag",
4542 "target" : ["inner_vlan_tag", "vlan_id"],
4543 "mask" : null
4544 }
4545 ],
4546 "match_type" : "exact",
4547 "type" : "simple",
4548 "max_size" : 8192,
4549 "with_counters" : false,
4550 "support_timeout" : false,
4551 "direct_meters" : null,
4552 "action_ids" : [0, 10],
4553 "actions" : ["nop", "FabricIngress.bng_ingress.upstream.set_line"],
4554 "base_default_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
4555 "next_tables" : {
4556 "nop" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
4557 "FabricIngress.bng_ingress.upstream.set_line" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp"
4558 },
4559 "default_entry" : {
4560 "action_id" : 0,
4561 "action_const" : true,
4562 "action_data" : [],
4563 "action_entry_const" : true
4564 }
4565 },
4566 {
4567 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_cp",
4568 "id" : 7,
4569 "source_info" : {
4570 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07004571 "line" : 79,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004572 "column" : 10,
4573 "source_fragment" : "t_pppoe_cp"
4574 },
4575 "key" : [
4576 {
4577 "match_type" : "exact",
4578 "name" : "pppoe_code",
4579 "target" : ["pppoe", "code"],
4580 "mask" : null
4581 },
4582 {
4583 "match_type" : "ternary",
4584 "name" : "pppoe_protocol",
4585 "target" : ["pppoe", "protocol"],
4586 "mask" : null
4587 }
4588 ],
4589 "match_type" : "ternary",
4590 "type" : "simple",
4591 "max_size" : 16,
4592 "with_counters" : false,
4593 "support_timeout" : false,
4594 "direct_meters" : null,
4595 "action_ids" : [11, 1],
4596 "actions" : ["FabricIngress.bng_ingress.upstream.punt_to_cpu", "nop"],
4597 "base_default_next" : null,
4598 "next_tables" : {
4599 "__HIT__" : "tbl_act_3",
4600 "__MISS__" : "tbl_act_4"
4601 },
4602 "default_entry" : {
4603 "action_id" : 1,
4604 "action_const" : true,
4605 "action_data" : [],
4606 "action_entry_const" : true
4607 }
4608 },
4609 {
4610 "name" : "tbl_act_3",
4611 "id" : 8,
4612 "key" : [],
4613 "match_type" : "exact",
4614 "type" : "simple",
4615 "max_size" : 1024,
4616 "with_counters" : false,
4617 "support_timeout" : false,
4618 "direct_meters" : null,
4619 "action_ids" : [42],
4620 "actions" : ["act_3"],
4621 "base_default_next" : "node_16",
4622 "next_tables" : {
4623 "act_3" : "node_16"
4624 },
4625 "default_entry" : {
4626 "action_id" : 42,
4627 "action_const" : true,
4628 "action_data" : [],
4629 "action_entry_const" : true
4630 }
4631 },
4632 {
4633 "name" : "tbl_act_4",
4634 "id" : 9,
4635 "key" : [],
4636 "match_type" : "exact",
4637 "type" : "simple",
4638 "max_size" : 1024,
4639 "with_counters" : false,
4640 "support_timeout" : false,
4641 "direct_meters" : null,
4642 "action_ids" : [43],
4643 "actions" : ["act_4"],
4644 "base_default_next" : "node_16",
4645 "next_tables" : {
4646 "act_4" : "node_16"
4647 },
4648 "default_entry" : {
4649 "action_id" : 43,
4650 "action_const" : true,
4651 "action_data" : [],
4652 "action_entry_const" : true
4653 }
4654 },
4655 {
4656 "name" : "tbl_act_5",
4657 "id" : 10,
4658 "source_info" : {
4659 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07004660 "line" : 157,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004661 "column" : 12,
4662 "source_fragment" : "return"
4663 },
4664 "key" : [],
4665 "match_type" : "exact",
4666 "type" : "simple",
4667 "max_size" : 1024,
4668 "with_counters" : false,
4669 "support_timeout" : false,
4670 "direct_meters" : null,
4671 "action_ids" : [44],
4672 "actions" : ["act_5"],
4673 "base_default_next" : "node_18",
4674 "next_tables" : {
4675 "act_5" : "node_18"
4676 },
4677 "default_entry" : {
4678 "action_id" : 44,
4679 "action_const" : true,
4680 "action_data" : [],
4681 "action_entry_const" : true
4682 }
4683 },
4684 {
4685 "name" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
4686 "id" : 11,
4687 "source_info" : {
4688 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07004689 "line" : 118,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004690 "column" : 10,
4691 "source_fragment" : "t_pppoe_term_v4"
4692 },
4693 "key" : [
4694 {
4695 "match_type" : "exact",
4696 "name" : "line_id",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004697 "target" : ["scalars", "fabric_metadata_t._bng_line_id17"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004698 "mask" : null
4699 },
4700 {
4701 "match_type" : "exact",
4702 "name" : "ipv4_src",
4703 "target" : ["ipv4", "src_addr"],
4704 "mask" : null
4705 },
4706 {
4707 "match_type" : "exact",
4708 "name" : "pppoe_session_id",
4709 "target" : ["pppoe", "session_id"],
4710 "mask" : null
4711 }
4712 ],
4713 "match_type" : "exact",
4714 "type" : "simple",
4715 "max_size" : 32768,
4716 "with_counters" : false,
4717 "support_timeout" : false,
4718 "direct_meters" : null,
4719 "action_ids" : [13, 12],
4720 "actions" : ["FabricIngress.bng_ingress.upstream.term_enabled_v4", "FabricIngress.bng_ingress.upstream.term_disabled"],
Daniele Moroe22b5742019-06-28 15:32:37 -07004721 "base_default_next" : "node_21",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004722 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07004723 "FabricIngress.bng_ingress.upstream.term_enabled_v4" : "node_21",
4724 "FabricIngress.bng_ingress.upstream.term_disabled" : "node_21"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004725 },
4726 "default_entry" : {
4727 "action_id" : 12,
4728 "action_const" : true,
4729 "action_data" : [],
4730 "action_entry_const" : true
4731 }
4732 },
4733 {
Daniele Moroe22b5742019-06-28 15:32:37 -07004734 "name" : "tbl_act_6",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004735 "id" : 12,
4736 "source_info" : {
4737 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07004738 "line" : 163,
4739 "column" : 16,
4740 "source_fragment" : "c_dropped.count(fmeta.bng.line_id)"
4741 },
4742 "key" : [],
4743 "match_type" : "exact",
4744 "type" : "simple",
4745 "max_size" : 1024,
4746 "with_counters" : false,
4747 "support_timeout" : false,
4748 "direct_meters" : null,
4749 "action_ids" : [45],
4750 "actions" : ["act_6"],
4751 "base_default_next" : "node_33",
4752 "next_tables" : {
4753 "act_6" : "node_33"
4754 },
4755 "default_entry" : {
4756 "action_id" : 45,
4757 "action_const" : true,
4758 "action_data" : [],
4759 "action_entry_const" : true
4760 }
4761 },
4762 {
4763 "name" : "tbl_act_7",
4764 "id" : 13,
4765 "source_info" : {
4766 "filename" : "include/bng.p4",
4767 "line" : 190,
4768 "column" : 4,
4769 "source_fragment" : "bool prio = false;"
4770 },
4771 "key" : [],
4772 "match_type" : "exact",
4773 "type" : "simple",
4774 "max_size" : 1024,
4775 "with_counters" : false,
4776 "support_timeout" : false,
4777 "direct_meters" : null,
4778 "action_ids" : [50],
4779 "actions" : ["act_11"],
4780 "base_default_next" : "node_24",
4781 "next_tables" : {
4782 "act_11" : "node_24"
4783 },
4784 "default_entry" : {
4785 "action_id" : 50,
4786 "action_const" : true,
4787 "action_data" : [],
4788 "action_entry_const" : true
4789 }
4790 },
4791 {
4792 "name" : "FabricIngress.bng_ingress.downstream.t_line_map_v4",
4793 "id" : 14,
4794 "source_info" : {
4795 "filename" : "include/bng.p4",
4796 "line" : 212,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004797 "column" : 10,
4798 "source_fragment" : "t_line_map_v4"
4799 },
4800 "key" : [
4801 {
4802 "match_type" : "exact",
4803 "name" : "ipv4_dst",
4804 "target" : ["ipv4", "dst_addr"],
4805 "mask" : null
4806 }
4807 ],
4808 "match_type" : "exact",
4809 "type" : "simple",
4810 "max_size" : 32768,
4811 "with_counters" : false,
4812 "support_timeout" : false,
4813 "direct_meters" : null,
4814 "action_ids" : [2, 14, 15],
4815 "actions" : ["nop", "FabricIngress.bng_ingress.downstream.set_line_next", "FabricIngress.bng_ingress.downstream.set_line_drop"],
4816 "base_default_next" : null,
4817 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07004818 "__HIT__" : "tbl_act_8",
4819 "__MISS__" : "tbl_act_9"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004820 },
4821 "default_entry" : {
4822 "action_id" : 2,
4823 "action_const" : true,
4824 "action_data" : [],
4825 "action_entry_const" : true
4826 }
4827 },
4828 {
Daniele Moroe22b5742019-06-28 15:32:37 -07004829 "name" : "tbl_act_8",
4830 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004831 "key" : [],
4832 "match_type" : "exact",
4833 "type" : "simple",
4834 "max_size" : 1024,
4835 "with_counters" : false,
4836 "support_timeout" : false,
4837 "direct_meters" : null,
4838 "action_ids" : [46],
4839 "actions" : ["act_7"],
Daniele Moroe22b5742019-06-28 15:32:37 -07004840 "base_default_next" : "node_28",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004841 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07004842 "act_7" : "node_28"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004843 },
4844 "default_entry" : {
4845 "action_id" : 46,
4846 "action_const" : true,
4847 "action_data" : [],
4848 "action_entry_const" : true
4849 }
4850 },
4851 {
Daniele Moroe22b5742019-06-28 15:32:37 -07004852 "name" : "tbl_act_9",
4853 "id" : 16,
4854 "key" : [],
4855 "match_type" : "exact",
4856 "type" : "simple",
4857 "max_size" : 1024,
4858 "with_counters" : false,
4859 "support_timeout" : false,
4860 "direct_meters" : null,
4861 "action_ids" : [47],
4862 "actions" : ["act_8"],
4863 "base_default_next" : "node_28",
4864 "next_tables" : {
4865 "act_8" : "node_28"
4866 },
4867 "default_entry" : {
4868 "action_id" : 47,
4869 "action_const" : true,
4870 "action_data" : [],
4871 "action_entry_const" : true
4872 }
4873 },
4874 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004875 "name" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
Daniele Moroe22b5742019-06-28 15:32:37 -07004876 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004877 "source_info" : {
4878 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07004879 "line" : 252,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004880 "column" : 10,
4881 "source_fragment" : "t_qos_v4"
4882 },
4883 "key" : [
4884 {
4885 "match_type" : "ternary",
4886 "name" : "line_id",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07004887 "target" : ["scalars", "fabric_metadata_t._bng_line_id17"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004888 "mask" : null
4889 },
4890 {
4891 "match_type" : "lpm",
4892 "name" : "ipv4_src",
4893 "target" : ["ipv4", "src_addr"],
4894 "mask" : null
4895 },
4896 {
4897 "match_type" : "ternary",
4898 "name" : "ipv4_dscp",
4899 "target" : ["ipv4", "dscp"],
4900 "mask" : null
4901 },
4902 {
4903 "match_type" : "ternary",
4904 "name" : "ipv4_ecn",
4905 "target" : ["ipv4", "ecn"],
4906 "mask" : null
4907 }
4908 ],
4909 "match_type" : "ternary",
4910 "type" : "simple",
4911 "max_size" : 256,
4912 "with_counters" : false,
4913 "support_timeout" : false,
4914 "direct_meters" : null,
4915 "action_ids" : [16, 17],
4916 "actions" : ["FabricIngress.bng_ingress.downstream.qos_prio", "FabricIngress.bng_ingress.downstream.qos_besteff"],
Daniele Moroe22b5742019-06-28 15:32:37 -07004917 "base_default_next" : "node_30",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004918 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07004919 "FabricIngress.bng_ingress.downstream.qos_prio" : "node_30",
4920 "FabricIngress.bng_ingress.downstream.qos_besteff" : "node_30"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004921 },
4922 "default_entry" : {
4923 "action_id" : 17,
4924 "action_const" : true,
4925 "action_data" : [],
4926 "action_entry_const" : true
4927 }
4928 },
4929 {
Daniele Moroe22b5742019-06-28 15:32:37 -07004930 "name" : "tbl_act_10",
4931 "id" : 18,
4932 "source_info" : {
4933 "filename" : "include/bng.p4",
4934 "line" : 293,
4935 "column" : 20,
4936 "source_fragment" : "m_prio.execute_meter((bit<32>)fmeta.bng.line_id, ..."
4937 },
4938 "key" : [],
4939 "match_type" : "exact",
4940 "type" : "simple",
4941 "max_size" : 1024,
4942 "with_counters" : false,
4943 "support_timeout" : false,
4944 "direct_meters" : null,
4945 "action_ids" : [48],
4946 "actions" : ["act_9"],
4947 "base_default_next" : "node_33",
4948 "next_tables" : {
4949 "act_9" : "node_33"
4950 },
4951 "default_entry" : {
4952 "action_id" : 48,
4953 "action_const" : true,
4954 "action_data" : [],
4955 "action_entry_const" : true
4956 }
4957 },
4958 {
4959 "name" : "tbl_act_11",
4960 "id" : 19,
4961 "source_info" : {
4962 "filename" : "include/bng.p4",
4963 "line" : 296,
4964 "column" : 20,
4965 "source_fragment" : "m_besteff.execute_meter((bit<32>)fmeta.bng.line_id, ..."
4966 },
4967 "key" : [],
4968 "match_type" : "exact",
4969 "type" : "simple",
4970 "max_size" : 1024,
4971 "with_counters" : false,
4972 "support_timeout" : false,
4973 "direct_meters" : null,
4974 "action_ids" : [49],
4975 "actions" : ["act_10"],
4976 "base_default_next" : "node_33",
4977 "next_tables" : {
4978 "act_10" : "node_33"
4979 },
4980 "default_entry" : {
4981 "action_id" : 49,
4982 "action_const" : true,
4983 "action_data" : [],
4984 "action_entry_const" : true
4985 }
4986 },
4987 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004988 "name" : "FabricIngress.forwarding.bridging",
Daniele Moroe22b5742019-06-28 15:32:37 -07004989 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07004990 "source_info" : {
4991 "filename" : "include/control/forwarding.p4",
4992 "line" : 46,
4993 "column" : 10,
4994 "source_fragment" : "bridging"
4995 },
4996 "key" : [
4997 {
4998 "match_type" : "exact",
4999 "name" : "vlan_id",
5000 "target" : ["scalars", "fabric_metadata_t._vlan_id2"],
5001 "mask" : null
5002 },
5003 {
5004 "match_type" : "ternary",
5005 "name" : "eth_dst",
5006 "target" : ["ethernet", "dst_addr"],
5007 "mask" : null
5008 }
5009 ],
5010 "match_type" : "ternary",
5011 "type" : "simple",
5012 "max_size" : 1024,
5013 "with_counters" : true,
5014 "support_timeout" : false,
5015 "direct_meters" : null,
5016 "action_ids" : [22, 3],
5017 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "nop"],
5018 "base_default_next" : "FabricIngress.acl.acl",
5019 "next_tables" : {
5020 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.acl.acl",
5021 "nop" : "FabricIngress.acl.acl"
5022 },
5023 "default_entry" : {
5024 "action_id" : 3,
5025 "action_const" : true,
5026 "action_data" : [],
5027 "action_entry_const" : true
5028 }
5029 },
5030 {
5031 "name" : "FabricIngress.forwarding.mpls",
Daniele Moroe22b5742019-06-28 15:32:37 -07005032 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005033 "source_info" : {
5034 "filename" : "include/control/forwarding.p4",
5035 "line" : 71,
5036 "column" : 10,
5037 "source_fragment" : "mpls"
5038 },
5039 "key" : [
5040 {
5041 "match_type" : "exact",
5042 "name" : "mpls_label",
5043 "target" : ["scalars", "fabric_metadata_t._mpls_label5"],
5044 "mask" : null
5045 }
5046 ],
5047 "match_type" : "exact",
5048 "type" : "simple",
5049 "max_size" : 1024,
5050 "with_counters" : true,
5051 "support_timeout" : false,
5052 "direct_meters" : null,
5053 "action_ids" : [23, 4],
5054 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "nop"],
5055 "base_default_next" : "FabricIngress.acl.acl",
5056 "next_tables" : {
5057 "FabricIngress.forwarding.pop_mpls_and_next" : "FabricIngress.acl.acl",
5058 "nop" : "FabricIngress.acl.acl"
5059 },
5060 "default_entry" : {
5061 "action_id" : 4,
5062 "action_const" : true,
5063 "action_data" : [],
5064 "action_entry_const" : true
5065 }
5066 },
5067 {
5068 "name" : "FabricIngress.forwarding.routing_v4",
Daniele Moroe22b5742019-06-28 15:32:37 -07005069 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005070 "source_info" : {
5071 "filename" : "include/control/forwarding.p4",
5072 "line" : 101,
5073 "column" : 10,
5074 "source_fragment" : "routing_v4"
5075 },
5076 "key" : [
5077 {
5078 "match_type" : "lpm",
5079 "name" : "ipv4_dst",
5080 "target" : ["ipv4", "dst_addr"],
5081 "mask" : null
5082 }
5083 ],
5084 "match_type" : "lpm",
5085 "type" : "simple",
5086 "max_size" : 1024,
5087 "with_counters" : true,
5088 "support_timeout" : false,
5089 "direct_meters" : null,
5090 "action_ids" : [24, 25, 5],
5091 "actions" : ["FabricIngress.forwarding.set_next_id_routing_v4", "FabricIngress.forwarding.nop_routing_v4", "nop"],
5092 "base_default_next" : "FabricIngress.acl.acl",
5093 "next_tables" : {
5094 "FabricIngress.forwarding.set_next_id_routing_v4" : "FabricIngress.acl.acl",
5095 "FabricIngress.forwarding.nop_routing_v4" : "FabricIngress.acl.acl",
5096 "nop" : "FabricIngress.acl.acl"
5097 },
5098 "default_entry" : {
5099 "action_id" : 5,
5100 "action_const" : true,
5101 "action_data" : [],
5102 "action_entry_const" : true
5103 }
5104 },
5105 {
5106 "name" : "FabricIngress.acl.acl",
Daniele Moroe22b5742019-06-28 15:32:37 -07005107 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005108 "source_info" : {
5109 "filename" : "include/control/acl.p4",
5110 "line" : 60,
5111 "column" : 10,
5112 "source_fragment" : "acl"
5113 },
5114 "key" : [
5115 {
5116 "match_type" : "ternary",
5117 "name" : "ig_port",
5118 "target" : ["standard_metadata", "ingress_port"],
5119 "mask" : null
5120 },
5121 {
5122 "match_type" : "ternary",
5123 "name" : "ip_proto",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005124 "target" : ["scalars", "fabric_metadata_t._ip_proto13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005125 "mask" : null
5126 },
5127 {
5128 "match_type" : "ternary",
5129 "name" : "l4_sport",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005130 "target" : ["scalars", "fabric_metadata_t._l4_sport14"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005131 "mask" : null
5132 },
5133 {
5134 "match_type" : "ternary",
5135 "name" : "l4_dport",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005136 "target" : ["scalars", "fabric_metadata_t._l4_dport15"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005137 "mask" : null
5138 },
5139 {
5140 "match_type" : "ternary",
5141 "name" : "eth_src",
5142 "target" : ["ethernet", "dst_addr"],
5143 "mask" : null
5144 },
5145 {
5146 "match_type" : "ternary",
5147 "name" : "eth_dst",
5148 "target" : ["ethernet", "src_addr"],
5149 "mask" : null
5150 },
5151 {
5152 "match_type" : "ternary",
5153 "name" : "vlan_id",
5154 "target" : ["vlan_tag", "vlan_id"],
5155 "mask" : null
5156 },
5157 {
5158 "match_type" : "ternary",
5159 "name" : "eth_type",
5160 "target" : ["scalars", "fabric_metadata_t._eth_type0"],
5161 "mask" : null
5162 },
5163 {
5164 "match_type" : "ternary",
5165 "name" : "ipv4_src",
5166 "target" : ["ipv4", "src_addr"],
5167 "mask" : null
5168 },
5169 {
5170 "match_type" : "ternary",
5171 "name" : "ipv4_dst",
5172 "target" : ["ipv4", "dst_addr"],
5173 "mask" : null
5174 },
5175 {
5176 "match_type" : "ternary",
5177 "name" : "icmp_type",
5178 "target" : ["icmp", "icmp_type"],
5179 "mask" : null
5180 },
5181 {
5182 "match_type" : "ternary",
5183 "name" : "icmp_code",
5184 "target" : ["icmp", "icmp_code"],
5185 "mask" : null
5186 }
5187 ],
5188 "match_type" : "ternary",
5189 "type" : "simple",
5190 "max_size" : 1024,
5191 "with_counters" : true,
5192 "support_timeout" : false,
5193 "direct_meters" : null,
5194 "action_ids" : [26, 27, 28, 29, 30],
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005195 "actions" : ["FabricIngress.acl.set_next_id_acl", "FabricIngress.acl.punt_to_cpu", "FabricIngress.acl.set_clone_session_id", "FabricIngress.acl.drop", "FabricIngress.acl.nop_acl"],
Daniele Moroe22b5742019-06-28 15:32:37 -07005196 "base_default_next" : "node_41",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005197 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07005198 "FabricIngress.acl.set_next_id_acl" : "node_41",
5199 "FabricIngress.acl.punt_to_cpu" : "node_41",
5200 "FabricIngress.acl.set_clone_session_id" : "node_41",
5201 "FabricIngress.acl.drop" : "node_41",
5202 "FabricIngress.acl.nop_acl" : "node_41"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005203 },
5204 "default_entry" : {
5205 "action_id" : 30,
5206 "action_const" : true,
5207 "action_data" : [],
5208 "action_entry_const" : true
5209 }
5210 },
5211 {
5212 "name" : "FabricIngress.next.xconnect",
Daniele Moroe22b5742019-06-28 15:32:37 -07005213 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005214 "source_info" : {
5215 "filename" : "include/control/next.p4",
5216 "line" : 104,
5217 "column" : 10,
5218 "source_fragment" : "xconnect"
5219 },
5220 "key" : [
5221 {
5222 "match_type" : "exact",
5223 "name" : "ig_port",
5224 "target" : ["standard_metadata", "ingress_port"],
5225 "mask" : null
5226 },
5227 {
5228 "match_type" : "exact",
5229 "name" : "next_id",
5230 "target" : ["scalars", "fabric_metadata_t._next_id10"],
5231 "mask" : null
5232 }
5233 ],
5234 "match_type" : "exact",
5235 "type" : "simple",
5236 "max_size" : 1024,
5237 "with_counters" : true,
5238 "support_timeout" : false,
5239 "direct_meters" : null,
5240 "action_ids" : [32, 33, 7],
5241 "actions" : ["FabricIngress.next.output_xconnect", "FabricIngress.next.set_next_id_xconnect", "nop"],
5242 "base_default_next" : "FabricIngress.next.hashed",
5243 "next_tables" : {
5244 "FabricIngress.next.output_xconnect" : "FabricIngress.next.hashed",
5245 "FabricIngress.next.set_next_id_xconnect" : "FabricIngress.next.hashed",
5246 "nop" : "FabricIngress.next.hashed"
5247 },
5248 "default_entry" : {
5249 "action_id" : 7,
5250 "action_const" : true,
5251 "action_data" : [],
5252 "action_entry_const" : true
5253 }
5254 },
5255 {
5256 "name" : "FabricIngress.next.hashed",
Daniele Moroe22b5742019-06-28 15:32:37 -07005257 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005258 "source_info" : {
5259 "filename" : "include/control/next.p4",
5260 "line" : 184,
5261 "column" : 10,
5262 "source_fragment" : "hashed"
5263 },
5264 "key" : [
5265 {
5266 "match_type" : "exact",
5267 "name" : "next_id",
5268 "target" : ["scalars", "fabric_metadata_t._next_id10"],
5269 "mask" : null
5270 }
5271 ],
5272 "match_type" : "exact",
5273 "type" : "indirect_ws",
5274 "action_profile" : "FabricIngress.next.hashed_selector",
5275 "max_size" : 1024,
5276 "with_counters" : true,
5277 "support_timeout" : false,
5278 "direct_meters" : null,
5279 "action_ids" : [34, 35, 36, 8],
5280 "actions" : ["FabricIngress.next.output_hashed", "FabricIngress.next.routing_hashed", "FabricIngress.next.mpls_routing_hashed", "nop"],
5281 "base_default_next" : "FabricIngress.next.multicast",
5282 "next_tables" : {
5283 "FabricIngress.next.output_hashed" : "FabricIngress.next.multicast",
5284 "FabricIngress.next.routing_hashed" : "FabricIngress.next.multicast",
5285 "FabricIngress.next.mpls_routing_hashed" : "FabricIngress.next.multicast",
5286 "nop" : "FabricIngress.next.multicast"
5287 }
5288 },
5289 {
5290 "name" : "FabricIngress.next.multicast",
Daniele Moroe22b5742019-06-28 15:32:37 -07005291 "id" : 26,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005292 "source_info" : {
5293 "filename" : "include/control/next.p4",
5294 "line" : 218,
5295 "column" : 10,
5296 "source_fragment" : "multicast"
5297 },
5298 "key" : [
5299 {
5300 "match_type" : "exact",
5301 "name" : "next_id",
5302 "target" : ["scalars", "fabric_metadata_t._next_id10"],
5303 "mask" : null
5304 }
5305 ],
5306 "match_type" : "exact",
5307 "type" : "simple",
5308 "max_size" : 1024,
5309 "with_counters" : true,
5310 "support_timeout" : false,
5311 "direct_meters" : null,
5312 "action_ids" : [37, 9],
5313 "actions" : ["FabricIngress.next.set_mcast_group_id", "nop"],
5314 "base_default_next" : "FabricIngress.next.next_vlan",
5315 "next_tables" : {
5316 "FabricIngress.next.set_mcast_group_id" : "FabricIngress.next.next_vlan",
5317 "nop" : "FabricIngress.next.next_vlan"
5318 },
5319 "default_entry" : {
5320 "action_id" : 9,
5321 "action_const" : true,
5322 "action_data" : [],
5323 "action_entry_const" : true
5324 }
5325 },
5326 {
5327 "name" : "FabricIngress.next.next_vlan",
Daniele Moroe22b5742019-06-28 15:32:37 -07005328 "id" : 27,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005329 "source_info" : {
5330 "filename" : "include/control/next.p4",
5331 "line" : 74,
5332 "column" : 10,
5333 "source_fragment" : "next_vlan"
5334 },
5335 "key" : [
5336 {
5337 "match_type" : "exact",
5338 "name" : "next_id",
5339 "target" : ["scalars", "fabric_metadata_t._next_id10"],
5340 "mask" : null
5341 }
5342 ],
5343 "match_type" : "exact",
5344 "type" : "simple",
5345 "max_size" : 1024,
5346 "with_counters" : true,
5347 "support_timeout" : false,
5348 "direct_meters" : null,
5349 "action_ids" : [31, 6],
5350 "actions" : ["FabricIngress.next.set_vlan", "nop"],
Daniele Moroe22b5742019-06-28 15:32:37 -07005351 "base_default_next" : "node_46",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005352 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07005353 "FabricIngress.next.set_vlan" : "node_46",
5354 "nop" : "node_46"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005355 },
5356 "default_entry" : {
5357 "action_id" : 6,
5358 "action_const" : true,
5359 "action_data" : [],
5360 "action_entry_const" : true
5361 }
5362 },
5363 {
Daniele Moroe22b5742019-06-28 15:32:37 -07005364 "name" : "tbl_act_12",
5365 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005366 "source_info" : {
5367 "filename" : "include/control/port_counter.p4",
5368 "line" : 31,
5369 "column" : 12,
5370 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
5371 },
5372 "key" : [],
5373 "match_type" : "exact",
5374 "type" : "simple",
5375 "max_size" : 1024,
5376 "with_counters" : false,
5377 "support_timeout" : false,
5378 "direct_meters" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07005379 "action_ids" : [51],
5380 "actions" : ["act_12"],
5381 "base_default_next" : "node_48",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005382 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07005383 "act_12" : "node_48"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005384 },
5385 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07005386 "action_id" : 51,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005387 "action_const" : true,
5388 "action_data" : [],
5389 "action_entry_const" : true
5390 }
5391 },
5392 {
Daniele Moroe22b5742019-06-28 15:32:37 -07005393 "name" : "tbl_act_13",
5394 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005395 "source_info" : {
5396 "filename" : "include/control/port_counter.p4",
5397 "line" : 34,
5398 "column" : 12,
5399 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
5400 },
5401 "key" : [],
5402 "match_type" : "exact",
5403 "type" : "simple",
5404 "max_size" : 1024,
5405 "with_counters" : false,
5406 "support_timeout" : false,
5407 "direct_meters" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07005408 "action_ids" : [52],
5409 "actions" : ["act_13"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005410 "base_default_next" : null,
5411 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07005412 "act_13" : null
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005413 },
5414 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07005415 "action_id" : 52,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005416 "action_const" : true,
5417 "action_data" : [],
5418 "action_entry_const" : true
5419 }
5420 }
5421 ],
5422 "action_profiles" : [
5423 {
5424 "name" : "FabricIngress.next.hashed_selector",
5425 "id" : 0,
5426 "source_info" : {
5427 "filename" : "include/control/next.p4",
5428 "line" : 165,
5429 "column" : 57,
5430 "source_fragment" : "hashed_selector"
5431 },
5432 "max_size" : 1024,
5433 "selector" : {
5434 "algo" : "crc16",
5435 "input" : [
5436 {
5437 "type" : "field",
5438 "value" : ["ipv4", "dst_addr"]
5439 },
5440 {
5441 "type" : "field",
5442 "value" : ["ipv4", "src_addr"]
5443 },
5444 {
5445 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005446 "value" : ["scalars", "fabric_metadata_t._ip_proto13"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005447 },
5448 {
5449 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005450 "value" : ["scalars", "fabric_metadata_t._l4_sport14"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005451 },
5452 {
5453 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005454 "value" : ["scalars", "fabric_metadata_t._l4_dport15"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005455 }
5456 ]
5457 }
5458 }
5459 ],
5460 "conditionals" : [
5461 {
5462 "name" : "node_2",
5463 "id" : 0,
5464 "source_info" : {
5465 "filename" : "include/control/packetio.p4",
5466 "line" : 24,
5467 "column" : 12,
5468 "source_fragment" : "hdr.packet_out.isValid()"
5469 },
5470 "expression" : {
5471 "type" : "expression",
5472 "value" : {
5473 "op" : "d2b",
5474 "left" : null,
5475 "right" : {
5476 "type" : "field",
5477 "value" : ["packet_out", "$valid$"]
5478 }
5479 }
5480 },
5481 "true_next" : "tbl_act",
5482 "false_next" : "node_4"
5483 },
5484 {
5485 "name" : "node_4",
5486 "id" : 1,
5487 "source_info" : {
5488 "filename" : "include/control/filtering.p4",
5489 "line" : 104,
5490 "column" : 12,
5491 "source_fragment" : "hdr.vlan_tag.isValid()"
5492 },
5493 "expression" : {
5494 "type" : "expression",
5495 "value" : {
5496 "op" : "d2b",
5497 "left" : null,
5498 "right" : {
5499 "type" : "field",
5500 "value" : ["vlan_tag", "$valid$"]
5501 }
5502 }
5503 },
5504 "true_next" : "tbl_act_0",
5505 "false_next" : "node_6"
5506 },
5507 {
5508 "name" : "node_6",
5509 "id" : 2,
5510 "source_info" : {
5511 "filename" : "include/control/filtering.p4",
5512 "line" : 110,
5513 "column" : 12,
5514 "source_fragment" : "!hdr.mpls.isValid()"
5515 },
5516 "expression" : {
5517 "type" : "expression",
5518 "value" : {
5519 "op" : "not",
5520 "left" : null,
5521 "right" : {
5522 "type" : "expression",
5523 "value" : {
5524 "op" : "d2b",
5525 "left" : null,
5526 "right" : {
5527 "type" : "field",
5528 "value" : ["mpls", "$valid$"]
5529 }
5530 }
5531 }
5532 }
5533 },
5534 "true_next" : "tbl_act_1",
5535 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
5536 },
5537 {
5538 "name" : "node_10",
5539 "id" : 3,
5540 "source_info" : {
5541 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07005542 "line" : 385,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005543 "column" : 12,
5544 "source_fragment" : "hdr.pppoe.isValid()"
5545 },
5546 "expression" : {
5547 "type" : "expression",
5548 "value" : {
5549 "op" : "d2b",
5550 "left" : null,
5551 "right" : {
5552 "type" : "field",
5553 "value" : ["pppoe", "$valid$"]
5554 }
5555 }
5556 },
5557 "true_next" : "tbl_act_2",
Daniele Moroe22b5742019-06-28 15:32:37 -07005558 "false_next" : "tbl_act_7"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005559 },
5560 {
5561 "name" : "node_16",
5562 "id" : 4,
5563 "expression" : {
5564 "type" : "expression",
5565 "value" : {
5566 "op" : "d2b",
5567 "left" : null,
5568 "right" : {
5569 "type" : "field",
5570 "value" : ["scalars", "bng_ingress_upstream_tmp"]
5571 }
5572 }
5573 },
5574 "true_next" : "tbl_act_5",
5575 "false_next" : "node_18"
5576 },
5577 {
5578 "name" : "node_18",
5579 "id" : 5,
5580 "expression" : {
5581 "type" : "expression",
5582 "value" : {
5583 "op" : "not",
5584 "left" : null,
5585 "right" : {
5586 "type" : "expression",
5587 "value" : {
5588 "op" : "d2b",
5589 "left" : null,
5590 "right" : {
5591 "type" : "field",
5592 "value" : ["scalars", "bng_ingress_upstream_hasReturned"]
5593 }
5594 }
5595 }
5596 }
5597 },
5598 "true_next" : "node_19",
Daniele Moroe22b5742019-06-28 15:32:37 -07005599 "false_next" : "node_33"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005600 },
5601 {
5602 "name" : "node_19",
5603 "id" : 6,
5604 "source_info" : {
5605 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07005606 "line" : 160,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005607 "column" : 12,
5608 "source_fragment" : "hdr.ipv4.isValid()"
5609 },
5610 "expression" : {
5611 "type" : "expression",
5612 "value" : {
5613 "op" : "d2b",
5614 "left" : null,
5615 "right" : {
5616 "type" : "field",
5617 "value" : ["ipv4", "$valid$"]
5618 }
5619 }
5620 },
5621 "true_next" : "FabricIngress.bng_ingress.upstream.t_pppoe_term_v4",
Daniele Moroe22b5742019-06-28 15:32:37 -07005622 "false_next" : "node_33"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005623 },
5624 {
5625 "name" : "node_21",
5626 "id" : 7,
5627 "source_info" : {
5628 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07005629 "line" : 162,
5630 "column" : 15,
5631 "source_fragment" : "drop == true"
5632 },
5633 "expression" : {
5634 "type" : "expression",
5635 "value" : {
5636 "op" : "==",
5637 "left" : {
5638 "type" : "expression",
5639 "value" : {
5640 "op" : "d2b",
5641 "left" : null,
5642 "right" : {
5643 "type" : "field",
5644 "value" : ["scalars", "bng_ingress_upstream_drop"]
5645 }
5646 }
5647 },
5648 "right" : {
5649 "type" : "bool",
5650 "value" : true
5651 }
5652 }
5653 },
5654 "true_next" : "tbl_act_6",
5655 "false_next" : "node_33"
5656 },
5657 {
5658 "name" : "node_24",
5659 "id" : 8,
5660 "source_info" : {
5661 "filename" : "include/bng.p4",
5662 "line" : 285,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005663 "column" : 12,
5664 "source_fragment" : "hdr.ipv4.isValid()"
5665 },
5666 "expression" : {
5667 "type" : "expression",
5668 "value" : {
5669 "op" : "d2b",
5670 "left" : null,
5671 "right" : {
5672 "type" : "field",
5673 "value" : ["ipv4", "$valid$"]
5674 }
5675 }
5676 },
5677 "true_next" : "FabricIngress.bng_ingress.downstream.t_line_map_v4",
Daniele Moroe22b5742019-06-28 15:32:37 -07005678 "false_next" : "node_33"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005679 },
5680 {
Daniele Moroe22b5742019-06-28 15:32:37 -07005681 "name" : "node_28",
5682 "id" : 9,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005683 "expression" : {
5684 "type" : "expression",
5685 "value" : {
5686 "op" : "d2b",
5687 "left" : null,
5688 "right" : {
5689 "type" : "field",
5690 "value" : ["scalars", "bng_ingress_downstream_tmp"]
5691 }
5692 }
5693 },
5694 "true_next" : "FabricIngress.bng_ingress.downstream.t_qos_v4",
Daniele Moroe22b5742019-06-28 15:32:37 -07005695 "false_next" : "node_33"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005696 },
5697 {
Daniele Moroe22b5742019-06-28 15:32:37 -07005698 "name" : "node_30",
5699 "id" : 10,
5700 "source_info" : {
5701 "filename" : "include/bng.p4",
5702 "line" : 292,
5703 "column" : 20,
5704 "source_fragment" : "prio==true"
5705 },
5706 "expression" : {
5707 "type" : "expression",
5708 "value" : {
5709 "op" : "==",
5710 "left" : {
5711 "type" : "expression",
5712 "value" : {
5713 "op" : "d2b",
5714 "left" : null,
5715 "right" : {
5716 "type" : "field",
5717 "value" : ["scalars", "bng_ingress_downstream_prio"]
5718 }
5719 }
5720 },
5721 "right" : {
5722 "type" : "bool",
5723 "value" : true
5724 }
5725 }
5726 },
5727 "true_next" : "tbl_act_10",
5728 "false_next" : "tbl_act_11"
5729 },
5730 {
5731 "name" : "node_33",
5732 "id" : 11,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005733 "source_info" : {
5734 "filename" : "fabric.p4",
5735 "line" : 74,
5736 "column" : 12,
5737 "source_fragment" : "fabric_metadata.skip_forwarding == false"
5738 },
5739 "expression" : {
5740 "type" : "expression",
5741 "value" : {
5742 "op" : "==",
5743 "left" : {
5744 "type" : "expression",
5745 "value" : {
5746 "op" : "d2b",
5747 "left" : null,
5748 "right" : {
5749 "type" : "field",
5750 "value" : ["scalars", "fabric_metadata_t._skip_forwarding7"]
5751 }
5752 }
5753 },
5754 "right" : {
5755 "type" : "bool",
5756 "value" : false
5757 }
5758 }
5759 },
Daniele Moroe22b5742019-06-28 15:32:37 -07005760 "true_next" : "node_34",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005761 "false_next" : "FabricIngress.acl.acl"
5762 },
5763 {
Daniele Moroe22b5742019-06-28 15:32:37 -07005764 "name" : "node_34",
5765 "id" : 12,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005766 "source_info" : {
5767 "filename" : "include/control/forwarding.p4",
5768 "line" : 141,
5769 "column" : 12,
5770 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
5771 },
5772 "expression" : {
5773 "type" : "expression",
5774 "value" : {
5775 "op" : "==",
5776 "left" : {
5777 "type" : "field",
5778 "value" : ["scalars", "fabric_metadata_t._fwd_type9"]
5779 },
5780 "right" : {
5781 "type" : "hexstr",
5782 "value" : "0x00"
5783 }
5784 }
5785 },
5786 "true_next" : "FabricIngress.forwarding.bridging",
Daniele Moroe22b5742019-06-28 15:32:37 -07005787 "false_next" : "node_36"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005788 },
5789 {
Daniele Moroe22b5742019-06-28 15:32:37 -07005790 "name" : "node_36",
5791 "id" : 13,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005792 "source_info" : {
5793 "filename" : "include/control/forwarding.p4",
5794 "line" : 142,
5795 "column" : 17,
5796 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
5797 },
5798 "expression" : {
5799 "type" : "expression",
5800 "value" : {
5801 "op" : "==",
5802 "left" : {
5803 "type" : "field",
5804 "value" : ["scalars", "fabric_metadata_t._fwd_type9"]
5805 },
5806 "right" : {
5807 "type" : "hexstr",
5808 "value" : "0x01"
5809 }
5810 }
5811 },
5812 "true_next" : "FabricIngress.forwarding.mpls",
Daniele Moroe22b5742019-06-28 15:32:37 -07005813 "false_next" : "node_38"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005814 },
5815 {
Daniele Moroe22b5742019-06-28 15:32:37 -07005816 "name" : "node_38",
5817 "id" : 14,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005818 "source_info" : {
5819 "filename" : "include/control/forwarding.p4",
5820 "line" : 143,
5821 "column" : 17,
5822 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
5823 },
5824 "expression" : {
5825 "type" : "expression",
5826 "value" : {
5827 "op" : "==",
5828 "left" : {
5829 "type" : "field",
5830 "value" : ["scalars", "fabric_metadata_t._fwd_type9"]
5831 },
5832 "right" : {
5833 "type" : "hexstr",
5834 "value" : "0x02"
5835 }
5836 }
5837 },
5838 "true_next" : "FabricIngress.forwarding.routing_v4",
5839 "false_next" : "FabricIngress.acl.acl"
5840 },
5841 {
Daniele Moroe22b5742019-06-28 15:32:37 -07005842 "name" : "node_41",
5843 "id" : 15,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005844 "source_info" : {
5845 "filename" : "fabric.p4",
5846 "line" : 78,
5847 "column" : 12,
5848 "source_fragment" : "fabric_metadata.skip_next == false"
5849 },
5850 "expression" : {
5851 "type" : "expression",
5852 "value" : {
5853 "op" : "==",
5854 "left" : {
5855 "type" : "expression",
5856 "value" : {
5857 "op" : "d2b",
5858 "left" : null,
5859 "right" : {
5860 "type" : "field",
5861 "value" : ["scalars", "fabric_metadata_t._skip_next8"]
5862 }
5863 }
5864 },
5865 "right" : {
5866 "type" : "bool",
5867 "value" : false
5868 }
5869 }
5870 },
5871 "false_next" : null,
5872 "true_next" : "FabricIngress.next.xconnect"
5873 },
5874 {
Daniele Moroe22b5742019-06-28 15:32:37 -07005875 "name" : "node_46",
5876 "id" : 16,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005877 "source_info" : {
5878 "filename" : "include/control/port_counter.p4",
5879 "line" : 30,
5880 "column" : 12,
5881 "source_fragment" : "standard_metadata.egress_spec < 511"
5882 },
5883 "expression" : {
5884 "type" : "expression",
5885 "value" : {
5886 "op" : "<",
5887 "left" : {
5888 "type" : "field",
5889 "value" : ["standard_metadata", "egress_spec"]
5890 },
5891 "right" : {
5892 "type" : "hexstr",
5893 "value" : "0x01ff"
5894 }
5895 }
5896 },
Daniele Moroe22b5742019-06-28 15:32:37 -07005897 "true_next" : "tbl_act_12",
5898 "false_next" : "node_48"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005899 },
5900 {
Daniele Moroe22b5742019-06-28 15:32:37 -07005901 "name" : "node_48",
5902 "id" : 17,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005903 "source_info" : {
5904 "filename" : "include/control/port_counter.p4",
5905 "line" : 33,
5906 "column" : 12,
5907 "source_fragment" : "standard_metadata.ingress_port < 511"
5908 },
5909 "expression" : {
5910 "type" : "expression",
5911 "value" : {
5912 "op" : "<",
5913 "left" : {
5914 "type" : "field",
5915 "value" : ["standard_metadata", "ingress_port"]
5916 },
5917 "right" : {
5918 "type" : "hexstr",
5919 "value" : "0x01ff"
5920 }
5921 }
5922 },
5923 "false_next" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07005924 "true_next" : "tbl_act_13"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005925 }
5926 ]
5927 },
5928 {
5929 "name" : "egress",
5930 "id" : 1,
5931 "source_info" : {
5932 "filename" : "fabric.p4",
5933 "line" : 92,
5934 "column" : 8,
5935 "source_fragment" : "FabricEgress"
5936 },
Daniele Moroe22b5742019-06-28 15:32:37 -07005937 "init_table" : "node_52",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005938 "tables" : [
5939 {
Daniele Moroe22b5742019-06-28 15:32:37 -07005940 "name" : "tbl_act_14",
5941 "id" : 30,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005942 "source_info" : {
5943 "filename" : "include/control/packetio.p4",
5944 "line" : 41,
5945 "column" : 12,
5946 "source_fragment" : "exit"
5947 },
5948 "key" : [],
5949 "match_type" : "exact",
5950 "type" : "simple",
5951 "max_size" : 1024,
5952 "with_counters" : false,
5953 "support_timeout" : false,
5954 "direct_meters" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07005955 "action_ids" : [60],
5956 "actions" : ["act_14"],
5957 "base_default_next" : "node_54",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005958 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07005959 "act_14" : "node_54"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005960 },
5961 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07005962 "action_id" : 60,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005963 "action_const" : true,
5964 "action_data" : [],
5965 "action_entry_const" : true
5966 }
5967 },
5968 {
Daniele Moroe22b5742019-06-28 15:32:37 -07005969 "name" : "tbl_act_15",
5970 "id" : 31,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005971 "source_info" : {
5972 "filename" : "include/control/packetio.p4",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07005973 "line" : 44,
5974 "column" : 12,
5975 "source_fragment" : "hdr.packet_in.setValid(); ..."
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005976 },
5977 "key" : [],
5978 "match_type" : "exact",
5979 "type" : "simple",
5980 "max_size" : 1024,
5981 "with_counters" : false,
5982 "support_timeout" : false,
5983 "direct_meters" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07005984 "action_ids" : [61],
5985 "actions" : ["act_15"],
5986 "base_default_next" : "node_56",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005987 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07005988 "act_15" : "node_56"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005989 },
5990 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07005991 "action_id" : 61,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07005992 "action_const" : true,
5993 "action_data" : [],
5994 "action_entry_const" : true
5995 }
5996 },
5997 {
Daniele Moroe22b5742019-06-28 15:32:37 -07005998 "name" : "tbl_act_16",
5999 "id" : 32,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006000 "source_info" : {
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006001 "filename" : "include/control/next.p4",
6002 "line" : 308,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006003 "column" : 12,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006004 "source_fragment" : "mark_to_drop(standard_metadata)"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006005 },
6006 "key" : [],
6007 "match_type" : "exact",
6008 "type" : "simple",
6009 "max_size" : 1024,
6010 "with_counters" : false,
6011 "support_timeout" : false,
6012 "direct_meters" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07006013 "action_ids" : [62],
6014 "actions" : ["act_16"],
6015 "base_default_next" : "node_58",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006016 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006017 "act_16" : "node_58"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006018 },
6019 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006020 "action_id" : 62,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006021 "action_const" : true,
6022 "action_data" : [],
6023 "action_entry_const" : true
6024 }
6025 },
6026 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006027 "name" : "tbl_egress_next_pop_mpls_if_present",
Daniele Moroe22b5742019-06-28 15:32:37 -07006028 "id" : 33,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006029 "source_info" : {
6030 "filename" : "include/control/next.p4",
6031 "line" : 312,
6032 "column" : 36,
6033 "source_fragment" : "pop_mpls_if_present()"
6034 },
6035 "key" : [],
6036 "match_type" : "exact",
6037 "type" : "simple",
6038 "max_size" : 1024,
6039 "with_counters" : false,
6040 "support_timeout" : false,
6041 "direct_meters" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07006042 "action_ids" : [56],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006043 "actions" : ["FabricEgress.egress_next.pop_mpls_if_present"],
6044 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
6045 "next_tables" : {
6046 "FabricEgress.egress_next.pop_mpls_if_present" : "FabricEgress.egress_next.egress_vlan"
6047 },
6048 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006049 "action_id" : 56,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006050 "action_const" : true,
6051 "action_data" : [],
6052 "action_entry_const" : true
6053 }
6054 },
6055 {
6056 "name" : "tbl_egress_next_set_mpls",
Daniele Moroe22b5742019-06-28 15:32:37 -07006057 "id" : 34,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006058 "source_info" : {
6059 "filename" : "include/control/next.p4",
6060 "line" : 314,
6061 "column" : 12,
6062 "source_fragment" : "set_mpls()"
6063 },
6064 "key" : [],
6065 "match_type" : "exact",
6066 "type" : "simple",
6067 "max_size" : 1024,
6068 "with_counters" : false,
6069 "support_timeout" : false,
6070 "direct_meters" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07006071 "action_ids" : [57],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006072 "actions" : ["FabricEgress.egress_next.set_mpls"],
6073 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
6074 "next_tables" : {
6075 "FabricEgress.egress_next.set_mpls" : "FabricEgress.egress_next.egress_vlan"
6076 },
6077 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006078 "action_id" : 57,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006079 "action_const" : true,
6080 "action_data" : [],
6081 "action_entry_const" : true
6082 }
6083 },
6084 {
6085 "name" : "FabricEgress.egress_next.egress_vlan",
Daniele Moroe22b5742019-06-28 15:32:37 -07006086 "id" : 35,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006087 "source_info" : {
6088 "filename" : "include/control/next.p4",
6089 "line" : 291,
6090 "column" : 10,
6091 "source_fragment" : "egress_vlan"
6092 },
6093 "key" : [
6094 {
6095 "match_type" : "exact",
6096 "name" : "vlan_id",
6097 "target" : ["scalars", "fabric_metadata_t._vlan_id2"],
6098 "mask" : null
6099 },
6100 {
6101 "match_type" : "exact",
6102 "name" : "eg_port",
6103 "target" : ["standard_metadata", "egress_port"],
6104 "mask" : null
6105 }
6106 ],
6107 "match_type" : "exact",
6108 "type" : "simple",
6109 "max_size" : 1024,
6110 "with_counters" : true,
6111 "support_timeout" : false,
6112 "direct_meters" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07006113 "action_ids" : [59, 54],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006114 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
6115 "base_default_next" : null,
6116 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006117 "__HIT__" : "tbl_act_17",
6118 "__MISS__" : "tbl_act_18"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006119 },
6120 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006121 "action_id" : 54,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006122 "action_const" : true,
6123 "action_data" : [],
6124 "action_entry_const" : true
6125 }
6126 },
6127 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006128 "name" : "tbl_act_17",
6129 "id" : 36,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006130 "key" : [],
6131 "match_type" : "exact",
6132 "type" : "simple",
6133 "max_size" : 1024,
6134 "with_counters" : false,
6135 "support_timeout" : false,
6136 "direct_meters" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07006137 "action_ids" : [63],
6138 "actions" : ["act_17"],
6139 "base_default_next" : "node_65",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006140 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006141 "act_17" : "node_65"
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006142 },
6143 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006144 "action_id" : 63,
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006145 "action_const" : true,
6146 "action_data" : [],
6147 "action_entry_const" : true
6148 }
6149 },
6150 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006151 "name" : "tbl_act_18",
6152 "id" : 37,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006153 "key" : [],
6154 "match_type" : "exact",
6155 "type" : "simple",
6156 "max_size" : 1024,
6157 "with_counters" : false,
6158 "support_timeout" : false,
6159 "direct_meters" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07006160 "action_ids" : [64],
6161 "actions" : ["act_18"],
6162 "base_default_next" : "node_65",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006163 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006164 "act_18" : "node_65"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006165 },
6166 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006167 "action_id" : 64,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006168 "action_const" : true,
6169 "action_data" : [],
6170 "action_entry_const" : true
6171 }
6172 },
6173 {
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006174 "name" : "tbl_egress_next_push_vlan",
Daniele Moroe22b5742019-06-28 15:32:37 -07006175 "id" : 38,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006176 "source_info" : {
6177 "filename" : "include/control/next.p4",
6178 "line" : 320,
6179 "column" : 16,
6180 "source_fragment" : "push_vlan()"
6181 },
6182 "key" : [],
6183 "match_type" : "exact",
6184 "type" : "simple",
6185 "max_size" : 1024,
6186 "with_counters" : false,
6187 "support_timeout" : false,
6188 "direct_meters" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07006189 "action_ids" : [58],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006190 "actions" : ["FabricEgress.egress_next.push_vlan"],
Daniele Moroe22b5742019-06-28 15:32:37 -07006191 "base_default_next" : "node_68",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006192 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006193 "FabricEgress.egress_next.push_vlan" : "node_68"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006194 },
6195 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006196 "action_id" : 58,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006197 "action_const" : true,
6198 "action_data" : [],
6199 "action_entry_const" : true
6200 }
6201 },
6202 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006203 "name" : "tbl_act_19",
6204 "id" : 39,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006205 "source_info" : {
6206 "filename" : "include/control/next.p4",
6207 "line" : 326,
6208 "column" : 25,
6209 "source_fragment" : "="
6210 },
6211 "key" : [],
6212 "match_type" : "exact",
6213 "type" : "simple",
6214 "max_size" : 1024,
6215 "with_counters" : false,
6216 "support_timeout" : false,
6217 "direct_meters" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07006218 "action_ids" : [66],
6219 "actions" : ["act_20"],
6220 "base_default_next" : "node_70",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006221 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006222 "act_20" : "node_70"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006223 },
6224 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006225 "action_id" : 66,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006226 "action_const" : true,
6227 "action_data" : [],
6228 "action_entry_const" : true
6229 }
6230 },
6231 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006232 "name" : "tbl_act_20",
6233 "id" : 40,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006234 "source_info" : {
6235 "filename" : "include/control/next.p4",
6236 "line" : 327,
6237 "column" : 35,
6238 "source_fragment" : "mark_to_drop(standard_metadata)"
6239 },
6240 "key" : [],
6241 "match_type" : "exact",
6242 "type" : "simple",
6243 "max_size" : 1024,
6244 "with_counters" : false,
6245 "support_timeout" : false,
6246 "direct_meters" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07006247 "action_ids" : [65],
6248 "actions" : ["act_19"],
6249 "base_default_next" : "node_76",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006250 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006251 "act_19" : "node_76"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006252 },
6253 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006254 "action_id" : 65,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006255 "action_const" : true,
6256 "action_data" : [],
6257 "action_entry_const" : true
6258 }
6259 },
6260 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006261 "name" : "tbl_act_21",
6262 "id" : 41,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006263 "source_info" : {
6264 "filename" : "include/control/next.p4",
6265 "line" : 330,
6266 "column" : 29,
6267 "source_fragment" : "="
6268 },
6269 "key" : [],
6270 "match_type" : "exact",
6271 "type" : "simple",
6272 "max_size" : 1024,
6273 "with_counters" : false,
6274 "support_timeout" : false,
6275 "direct_meters" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07006276 "action_ids" : [68],
6277 "actions" : ["act_22"],
6278 "base_default_next" : "node_74",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006279 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006280 "act_22" : "node_74"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006281 },
6282 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006283 "action_id" : 68,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006284 "action_const" : true,
6285 "action_data" : [],
6286 "action_entry_const" : true
6287 }
6288 },
6289 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006290 "name" : "tbl_act_22",
6291 "id" : 42,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006292 "source_info" : {
6293 "filename" : "include/control/next.p4",
6294 "line" : 331,
6295 "column" : 39,
6296 "source_fragment" : "mark_to_drop(standard_metadata)"
6297 },
6298 "key" : [],
6299 "match_type" : "exact",
6300 "type" : "simple",
6301 "max_size" : 1024,
6302 "with_counters" : false,
6303 "support_timeout" : false,
6304 "direct_meters" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07006305 "action_ids" : [67],
6306 "actions" : ["act_21"],
6307 "base_default_next" : "node_76",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006308 "next_tables" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006309 "act_21" : "node_76"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006310 },
6311 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006312 "action_id" : 67,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006313 "action_const" : true,
6314 "action_data" : [],
6315 "action_entry_const" : true
6316 }
6317 },
6318 {
6319 "name" : "FabricEgress.bng_egress.downstream.t_session_encap",
Daniele Moroe22b5742019-06-28 15:32:37 -07006320 "id" : 43,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006321 "source_info" : {
6322 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07006323 "line" : 356,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006324 "column" : 10,
6325 "source_fragment" : "t_session_encap"
6326 },
6327 "key" : [
6328 {
6329 "match_type" : "exact",
6330 "name" : "line_id",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006331 "target" : ["scalars", "fabric_metadata_t._bng_line_id17"],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006332 "mask" : null
6333 }
6334 ],
6335 "match_type" : "exact",
6336 "type" : "simple",
6337 "max_size" : 8192,
6338 "with_counters" : false,
6339 "support_timeout" : false,
6340 "direct_meters" : null,
Daniele Moroe22b5742019-06-28 15:32:37 -07006341 "action_ids" : [53, 55],
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006342 "actions" : ["nop", "FabricEgress.bng_egress.downstream.encap_v4"],
6343 "base_default_next" : null,
6344 "next_tables" : {
6345 "nop" : null,
6346 "FabricEgress.bng_egress.downstream.encap_v4" : null
6347 },
6348 "default_entry" : {
Daniele Moroe22b5742019-06-28 15:32:37 -07006349 "action_id" : 53,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006350 "action_const" : true,
6351 "action_data" : [],
6352 "action_entry_const" : true
6353 }
6354 }
6355 ],
6356 "action_profiles" : [],
6357 "conditionals" : [
6358 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006359 "name" : "node_52",
6360 "id" : 18,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006361 "source_info" : {
6362 "filename" : "include/control/packetio.p4",
6363 "line" : 39,
6364 "column" : 12,
6365 "source_fragment" : "fabric_metadata.is_controller_packet_out == true"
6366 },
6367 "expression" : {
6368 "type" : "expression",
6369 "value" : {
6370 "op" : "==",
6371 "left" : {
6372 "type" : "expression",
6373 "value" : {
6374 "op" : "d2b",
6375 "left" : null,
6376 "right" : {
6377 "type" : "field",
6378 "value" : ["scalars", "fabric_metadata_t._is_controller_packet_out12"]
6379 }
6380 }
6381 },
6382 "right" : {
6383 "type" : "bool",
6384 "value" : true
6385 }
6386 }
6387 },
Daniele Moroe22b5742019-06-28 15:32:37 -07006388 "true_next" : "tbl_act_14",
6389 "false_next" : "node_54"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006390 },
6391 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006392 "name" : "node_54",
6393 "id" : 19,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006394 "source_info" : {
6395 "filename" : "include/control/packetio.p4",
6396 "line" : 43,
6397 "column" : 12,
6398 "source_fragment" : "standard_metadata.egress_port == 255"
6399 },
6400 "expression" : {
6401 "type" : "expression",
6402 "value" : {
6403 "op" : "==",
6404 "left" : {
6405 "type" : "field",
6406 "value" : ["standard_metadata", "egress_port"]
6407 },
6408 "right" : {
6409 "type" : "hexstr",
6410 "value" : "0x00ff"
6411 }
6412 }
6413 },
Daniele Moroe22b5742019-06-28 15:32:37 -07006414 "true_next" : "tbl_act_15",
6415 "false_next" : "node_56"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006416 },
6417 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006418 "name" : "node_56",
6419 "id" : 20,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006420 "source_info" : {
6421 "filename" : "include/control/next.p4",
6422 "line" : 306,
6423 "column" : 12,
6424 "source_fragment" : "fabric_metadata.is_multicast == true ..."
6425 },
6426 "expression" : {
6427 "type" : "expression",
6428 "value" : {
6429 "op" : "and",
6430 "left" : {
6431 "type" : "expression",
6432 "value" : {
6433 "op" : "==",
6434 "left" : {
6435 "type" : "expression",
6436 "value" : {
6437 "op" : "d2b",
6438 "left" : null,
6439 "right" : {
6440 "type" : "field",
6441 "value" : ["scalars", "fabric_metadata_t._is_multicast11"]
6442 }
6443 }
6444 },
6445 "right" : {
6446 "type" : "bool",
6447 "value" : true
6448 }
6449 }
6450 },
6451 "right" : {
6452 "type" : "expression",
6453 "value" : {
6454 "op" : "==",
6455 "left" : {
6456 "type" : "field",
6457 "value" : ["standard_metadata", "ingress_port"]
6458 },
6459 "right" : {
6460 "type" : "field",
6461 "value" : ["standard_metadata", "egress_port"]
6462 }
6463 }
6464 }
6465 }
6466 },
Daniele Moroe22b5742019-06-28 15:32:37 -07006467 "true_next" : "tbl_act_16",
6468 "false_next" : "node_58"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006469 },
6470 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006471 "name" : "node_58",
6472 "id" : 21,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006473 "source_info" : {
6474 "filename" : "include/control/next.p4",
6475 "line" : 311,
6476 "column" : 12,
6477 "source_fragment" : "fabric_metadata.mpls_label == 0"
6478 },
6479 "expression" : {
6480 "type" : "expression",
6481 "value" : {
6482 "op" : "==",
6483 "left" : {
6484 "type" : "field",
6485 "value" : ["scalars", "fabric_metadata_t._mpls_label5"]
6486 },
6487 "right" : {
6488 "type" : "hexstr",
6489 "value" : "0x000000"
6490 }
6491 }
6492 },
Daniele Moroe22b5742019-06-28 15:32:37 -07006493 "true_next" : "node_59",
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006494 "false_next" : "tbl_egress_next_set_mpls"
6495 },
6496 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006497 "name" : "node_59",
6498 "id" : 22,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006499 "source_info" : {
6500 "filename" : "include/control/next.p4",
6501 "line" : 312,
6502 "column" : 16,
6503 "source_fragment" : "hdr.mpls.isValid()"
6504 },
6505 "expression" : {
6506 "type" : "expression",
6507 "value" : {
6508 "op" : "d2b",
6509 "left" : null,
6510 "right" : {
6511 "type" : "field",
6512 "value" : ["mpls", "$valid$"]
6513 }
6514 }
6515 },
6516 "true_next" : "tbl_egress_next_pop_mpls_if_present",
6517 "false_next" : "FabricEgress.egress_next.egress_vlan"
6518 },
6519 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006520 "name" : "node_65",
6521 "id" : 23,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006522 "source_info" : {
6523 "filename" : "include/control/next.p4",
6524 "line" : 317,
6525 "column" : 12,
6526 "source_fragment" : "!egress_vlan.apply().hit"
6527 },
6528 "expression" : {
6529 "type" : "expression",
6530 "value" : {
6531 "op" : "not",
6532 "left" : null,
6533 "right" : {
6534 "type" : "expression",
6535 "value" : {
6536 "op" : "d2b",
6537 "left" : null,
6538 "right" : {
6539 "type" : "field",
6540 "value" : ["scalars", "egress_next_tmp"]
6541 }
6542 }
6543 }
6544 }
6545 },
Daniele Moroe22b5742019-06-28 15:32:37 -07006546 "true_next" : "node_66",
6547 "false_next" : "node_68"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006548 },
6549 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006550 "name" : "node_66",
6551 "id" : 24,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006552 "source_info" : {
6553 "filename" : "include/control/next.p4",
6554 "line" : 319,
6555 "column" : 16,
6556 "source_fragment" : "fabric_metadata.vlan_id != DEFAULT_VLAN_ID"
6557 },
6558 "expression" : {
6559 "type" : "expression",
6560 "value" : {
6561 "op" : "!=",
6562 "left" : {
6563 "type" : "field",
6564 "value" : ["scalars", "fabric_metadata_t._vlan_id2"]
6565 },
6566 "right" : {
6567 "type" : "hexstr",
6568 "value" : "0x0ffe"
6569 }
6570 }
6571 },
6572 "true_next" : "tbl_egress_next_push_vlan",
Daniele Moroe22b5742019-06-28 15:32:37 -07006573 "false_next" : "node_68"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006574 },
6575 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006576 "name" : "node_68",
6577 "id" : 25,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006578 "source_info" : {
6579 "filename" : "include/control/next.p4",
6580 "line" : 325,
6581 "column" : 12,
6582 "source_fragment" : "hdr.mpls.isValid()"
6583 },
6584 "expression" : {
6585 "type" : "expression",
6586 "value" : {
6587 "op" : "d2b",
6588 "left" : null,
6589 "right" : {
6590 "type" : "field",
6591 "value" : ["mpls", "$valid$"]
6592 }
6593 }
6594 },
Daniele Moroe22b5742019-06-28 15:32:37 -07006595 "true_next" : "tbl_act_19",
6596 "false_next" : "node_72"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006597 },
6598 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006599 "name" : "node_70",
6600 "id" : 26,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006601 "source_info" : {
6602 "filename" : "include/control/next.p4",
6603 "line" : 327,
6604 "column" : 16,
6605 "source_fragment" : "hdr.mpls.ttl == 0"
6606 },
6607 "expression" : {
6608 "type" : "expression",
6609 "value" : {
6610 "op" : "==",
6611 "left" : {
6612 "type" : "field",
6613 "value" : ["mpls", "ttl"]
6614 },
6615 "right" : {
6616 "type" : "hexstr",
6617 "value" : "0x00"
6618 }
6619 }
6620 },
Daniele Moroe22b5742019-06-28 15:32:37 -07006621 "true_next" : "tbl_act_20",
6622 "false_next" : "node_76"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006623 },
6624 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006625 "name" : "node_72",
6626 "id" : 27,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006627 "source_info" : {
6628 "filename" : "include/control/next.p4",
6629 "line" : 329,
6630 "column" : 15,
6631 "source_fragment" : "hdr.ipv4.isValid()"
6632 },
6633 "expression" : {
6634 "type" : "expression",
6635 "value" : {
6636 "op" : "d2b",
6637 "left" : null,
6638 "right" : {
6639 "type" : "field",
6640 "value" : ["ipv4", "$valid$"]
6641 }
6642 }
6643 },
Daniele Moroe22b5742019-06-28 15:32:37 -07006644 "true_next" : "tbl_act_21",
6645 "false_next" : "node_76"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006646 },
6647 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006648 "name" : "node_74",
6649 "id" : 28,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006650 "source_info" : {
6651 "filename" : "include/control/next.p4",
6652 "line" : 331,
6653 "column" : 20,
6654 "source_fragment" : "hdr.ipv4.ttl == 0"
6655 },
6656 "expression" : {
6657 "type" : "expression",
6658 "value" : {
6659 "op" : "==",
6660 "left" : {
6661 "type" : "field",
6662 "value" : ["ipv4", "ttl"]
6663 },
6664 "right" : {
6665 "type" : "hexstr",
6666 "value" : "0x00"
6667 }
6668 }
6669 },
Daniele Moroe22b5742019-06-28 15:32:37 -07006670 "true_next" : "tbl_act_22",
6671 "false_next" : "node_76"
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006672 },
6673 {
Daniele Moroe22b5742019-06-28 15:32:37 -07006674 "name" : "node_76",
6675 "id" : 29,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006676 "source_info" : {
6677 "filename" : "include/bng.p4",
Daniele Moroe22b5742019-06-28 15:32:37 -07006678 "line" : 405,
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006679 "column" : 12,
6680 "source_fragment" : "fmeta.bng.type == BNG_TYPE_DOWNSTREAM"
6681 },
6682 "expression" : {
6683 "type" : "expression",
6684 "value" : {
6685 "op" : "==",
6686 "left" : {
6687 "type" : "field",
Daniele Moro01ca2ab2019-06-25 11:48:48 -07006688 "value" : ["scalars", "fabric_metadata_t._bng_type16"]
Carmelo Cascone4d8785b2019-05-31 17:11:26 -07006689 },
6690 "right" : {
6691 "type" : "hexstr",
6692 "value" : "0x02"
6693 }
6694 }
6695 },
6696 "false_next" : null,
6697 "true_next" : "FabricEgress.bng_egress.downstream.t_session_encap"
6698 }
6699 ]
6700 }
6701 ],
6702 "checksums" : [
6703 {
6704 "name" : "cksum",
6705 "id" : 0,
6706 "source_info" : {
6707 "filename" : "include/checksum.p4",
6708 "line" : 28,
6709 "column" : 8,
6710 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
6711 },
6712 "target" : ["ipv4", "hdr_checksum"],
6713 "type" : "generic",
6714 "calculation" : "calc",
6715 "verify" : false,
6716 "update" : true,
6717 "if_cond" : {
6718 "type" : "expression",
6719 "value" : {
6720 "op" : "d2b",
6721 "left" : null,
6722 "right" : {
6723 "type" : "field",
6724 "value" : ["ipv4", "$valid$"]
6725 }
6726 }
6727 }
6728 },
6729 {
6730 "name" : "cksum_0",
6731 "id" : 1,
6732 "source_info" : {
6733 "filename" : "include/checksum.p4",
6734 "line" : 57,
6735 "column" : 8,
6736 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
6737 },
6738 "target" : ["ipv4", "hdr_checksum"],
6739 "type" : "generic",
6740 "calculation" : "calc_0",
6741 "verify" : true,
6742 "update" : false,
6743 "if_cond" : {
6744 "type" : "expression",
6745 "value" : {
6746 "op" : "d2b",
6747 "left" : null,
6748 "right" : {
6749 "type" : "field",
6750 "value" : ["ipv4", "$valid$"]
6751 }
6752 }
6753 }
6754 }
6755 ],
6756 "force_arith" : [],
6757 "extern_instances" : [],
6758 "field_aliases" : [
6759 [
6760 "queueing_metadata.enq_timestamp",
6761 ["standard_metadata", "enq_timestamp"]
6762 ],
6763 [
6764 "queueing_metadata.enq_qdepth",
6765 ["standard_metadata", "enq_qdepth"]
6766 ],
6767 [
6768 "queueing_metadata.deq_timedelta",
6769 ["standard_metadata", "deq_timedelta"]
6770 ],
6771 [
6772 "queueing_metadata.deq_qdepth",
6773 ["standard_metadata", "deq_qdepth"]
6774 ],
6775 [
6776 "intrinsic_metadata.ingress_global_timestamp",
6777 ["standard_metadata", "ingress_global_timestamp"]
6778 ],
6779 [
6780 "intrinsic_metadata.egress_global_timestamp",
6781 ["standard_metadata", "egress_global_timestamp"]
6782 ],
6783 [
6784 "intrinsic_metadata.lf_field_list",
6785 ["standard_metadata", "lf_field_list"]
6786 ],
6787 [
6788 "intrinsic_metadata.mcast_grp",
6789 ["standard_metadata", "mcast_grp"]
6790 ],
6791 [
6792 "intrinsic_metadata.resubmit_flag",
6793 ["standard_metadata", "resubmit_flag"]
6794 ],
6795 [
6796 "intrinsic_metadata.egress_rid",
6797 ["standard_metadata", "egress_rid"]
6798 ],
6799 [
6800 "intrinsic_metadata.recirculate_flag",
6801 ["standard_metadata", "recirculate_flag"]
6802 ],
6803 [
6804 "intrinsic_metadata.priority",
6805 ["standard_metadata", "priority"]
6806 ]
6807 ],
6808 "program" : "fabric.p4",
6809 "__meta__" : {
6810 "version" : [2, 18],
6811 "compiler" : "https://github.com/p4lang/p4c"
6812 }
6813}