blob: 89b5743b78723fea8bb5f875248980e4292e923a [file] [log] [blame]
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001{
2 "header_types" : [
3 {
4 "name" : "scalars_0",
5 "id" : 0,
6 "fields" : [
7 ["tmp", 4, false],
8 ["tmp_0", 1, false],
9 ["tmp_1", 1, false],
10 ["tmp_2", 32, false],
11 ["tmp_3", 32, false],
12 ["tmp_4", 32, false],
13 ["next_tmp_2", 1, false],
14 ["next_tmp_3", 1, false],
15 ["next_tmp_4", 1, false],
16 ["next_hasReturned_0", 1, false],
17 ["fabric_metadata_t.fwd_type", 3, false],
18 ["fabric_metadata_t.next_id", 32, false],
19 ["fabric_metadata_t.pop_vlan_when_packet_in", 1, false],
20 ["fabric_metadata_t.is_multicast", 1, false],
21 ["fabric_metadata_t.clone_to_cpu", 1, false],
22 ["fabric_metadata_t.ip_proto", 8, false],
23 ["fabric_metadata_t.l4_src_port", 16, false],
24 ["fabric_metadata_t.l4_dst_port", 16, false],
25 ["fabric_metadata_t.compute_checksum", 1, false],
26 ["_padding_1", 7, false]
27 ]
28 },
29 {
30 "name" : "standard_metadata",
31 "id" : 1,
32 "fields" : [
33 ["ingress_port", 9, false],
34 ["egress_spec", 9, false],
35 ["egress_port", 9, false],
36 ["clone_spec", 32, false],
37 ["instance_type", 32, false],
38 ["drop", 1, false],
39 ["recirculate_port", 16, false],
40 ["packet_length", 32, false],
41 ["enq_timestamp", 32, false],
42 ["enq_qdepth", 19, false],
43 ["deq_timedelta", 32, false],
44 ["deq_qdepth", 19, false],
45 ["ingress_global_timestamp", 48, false],
46 ["egress_global_timestamp", 48, false],
47 ["lf_field_list", 32, false],
48 ["mcast_grp", 16, false],
49 ["resubmit_flag", 32, false],
50 ["egress_rid", 16, false],
51 ["checksum_error", 1, false],
52 ["recirculate_flag", 32, false],
53 ["_padding", 5, false]
54 ]
55 },
56 {
57 "name" : "ethernet_t",
58 "id" : 2,
59 "fields" : [
60 ["dst_addr", 48, false],
61 ["src_addr", 48, false],
62 ["ether_type", 16, false]
63 ]
64 },
65 {
66 "name" : "vlan_tag_t",
67 "id" : 3,
68 "fields" : [
69 ["pri", 3, false],
70 ["cfi", 1, false],
71 ["vlan_id", 12, false],
72 ["ether_type", 16, false]
73 ]
74 },
75 {
76 "name" : "mpls_t",
77 "id" : 4,
78 "fields" : [
79 ["label", 20, false],
80 ["tc", 3, false],
81 ["bos", 1, false],
82 ["ttl", 8, false]
83 ]
84 },
85 {
86 "name" : "ipv4_t",
87 "id" : 5,
88 "fields" : [
89 ["version", 4, false],
90 ["ihl", 4, false],
91 ["dscp", 6, false],
92 ["ecn", 2, false],
93 ["total_len", 16, false],
94 ["identification", 16, false],
95 ["flags", 3, false],
96 ["frag_offset", 13, false],
97 ["ttl", 8, false],
98 ["protocol", 8, false],
99 ["hdr_checksum", 16, false],
100 ["src_addr", 32, false],
101 ["dst_addr", 32, false]
102 ]
103 },
104 {
105 "name" : "arp_t",
106 "id" : 6,
107 "fields" : [
108 ["hw_type", 16, false],
109 ["proto_type", 16, false],
110 ["hw_addr_len", 8, false],
111 ["proto_addr_len", 8, false],
112 ["opcode", 16, false]
113 ]
114 },
115 {
116 "name" : "tcp_t",
117 "id" : 7,
118 "fields" : [
119 ["src_port", 16, false],
120 ["dst_port", 16, false],
121 ["seq_no", 32, false],
122 ["ack_no", 32, false],
123 ["data_offset", 4, false],
124 ["res", 3, false],
125 ["ecn", 3, false],
126 ["ctrl", 6, false],
127 ["window", 16, false],
128 ["checksum", 16, false],
129 ["urgent_ptr", 16, false]
130 ]
131 },
132 {
133 "name" : "udp_t",
134 "id" : 8,
135 "fields" : [
136 ["src_port", 16, false],
137 ["dst_port", 16, false],
138 ["len", 16, false],
139 ["checksum", 16, false]
140 ]
141 },
142 {
143 "name" : "icmp_t",
144 "id" : 9,
145 "fields" : [
146 ["icmp_type", 8, false],
147 ["icmp_code", 8, false],
148 ["checksum", 16, false],
149 ["identifier", 16, false],
150 ["sequence_number", 16, false],
151 ["timestamp", 64, false]
152 ]
153 },
154 {
155 "name" : "packet_out_header_t",
156 "id" : 10,
157 "fields" : [
158 ["egress_port", 9, false],
159 ["_pad", 7, false]
160 ]
161 },
162 {
163 "name" : "packet_in_header_t",
164 "id" : 11,
165 "fields" : [
166 ["ingress_port", 9, false],
167 ["_pad", 7, false]
168 ]
169 },
170 {
171 "name" : "report_fixed_header_t",
172 "id" : 12,
173 "fields" : [
174 ["ver", 4, false],
175 ["nproto", 4, false],
176 ["d", 1, false],
177 ["q", 1, false],
178 ["f", 1, false],
179 ["rsvd", 15, false],
180 ["hw_id", 6, false],
181 ["seq_no", 32, false],
182 ["ingress_tstamp", 32, false]
183 ]
184 },
185 {
186 "name" : "drop_report_header_t",
187 "id" : 13,
188 "fields" : [
189 ["switch_id", 32, false],
190 ["ingress_port_id", 16, false],
191 ["egress_port_id", 16, false],
192 ["queue_id", 8, false],
193 ["drop_reason", 8, false],
194 ["pad", 16, false]
195 ]
196 },
197 {
198 "name" : "local_report_header_t",
199 "id" : 14,
200 "fields" : [
201 ["switch_id", 32, false],
202 ["ingress_port_id", 16, false],
203 ["egress_port_id", 16, false],
204 ["queue_id", 8, false],
205 ["queue_occupancy", 24, false],
206 ["egress_tstamp", 32, false]
207 ]
208 },
209 {
210 "name" : "intl4_shim_t",
211 "id" : 15,
212 "fields" : [
213 ["int_type", 8, false],
214 ["rsvd1", 8, false],
215 ["len", 8, false],
216 ["rsvd2", 8, false]
217 ]
218 },
219 {
220 "name" : "int_header_t",
221 "id" : 16,
222 "fields" : [
223 ["ver", 2, false],
224 ["rep", 2, false],
225 ["c", 1, false],
226 ["e", 1, false],
227 ["rsvd1", 5, false],
228 ["ins_cnt", 5, false],
229 ["max_hop_cnt", 8, false],
230 ["total_hop_cnt", 8, false],
231 ["instruction_mask_0003", 4, false],
232 ["instruction_mask_0407", 4, false],
233 ["instruction_mask_0811", 4, false],
234 ["instruction_mask_1215", 4, false],
235 ["rsvd2", 16, false]
236 ]
237 },
238 {
239 "name" : "int_data_t",
240 "id" : 17,
241 "fields" : [
242 ["data", "*"]
243 ],
244 "max_length" : 1004
245 },
246 {
247 "name" : "int_switch_id_t",
248 "id" : 18,
249 "fields" : [
250 ["switch_id", 32, false]
251 ]
252 },
253 {
254 "name" : "int_port_ids_t",
255 "id" : 19,
256 "fields" : [
257 ["ingress_port_id", 16, false],
258 ["egress_port_id", 16, false]
259 ]
260 },
261 {
262 "name" : "int_hop_latency_t",
263 "id" : 20,
264 "fields" : [
265 ["hop_latency", 32, false]
266 ]
267 },
268 {
269 "name" : "int_q_occupancy_t",
270 "id" : 21,
271 "fields" : [
272 ["q_id", 8, false],
273 ["q_occupancy", 24, false]
274 ]
275 },
276 {
277 "name" : "int_ingress_tstamp_t",
278 "id" : 22,
279 "fields" : [
280 ["ingress_tstamp", 32, false]
281 ]
282 },
283 {
284 "name" : "int_egress_tstamp_t",
285 "id" : 23,
286 "fields" : [
287 ["egress_tstamp", 32, false]
288 ]
289 },
290 {
291 "name" : "int_q_congestion_t",
292 "id" : 24,
293 "fields" : [
294 ["q_id", 8, false],
295 ["q_congestion", 24, false]
296 ]
297 },
298 {
299 "name" : "int_egress_port_tx_util_t",
300 "id" : 25,
301 "fields" : [
302 ["egress_port_tx_util", 32, false]
303 ]
304 },
305 {
306 "name" : "intl4_tail_t",
307 "id" : 26,
308 "fields" : [
309 ["next_proto", 8, false],
310 ["dest_port", 16, false],
311 ["dscp", 8, false]
312 ]
313 },
314 {
315 "name" : "int_metadata_t",
316 "id" : 27,
317 "fields" : [
318 ["switch_id", 32, false],
319 ["insert_byte_cnt", 16, false],
320 ["source", 1, false],
321 ["sink", 1, false],
322 ["mirror_id", 8, false],
323 ["flow_id", 16, false],
324 ["metadata_len", 8, false],
325 ["_padding_0", 6, false]
326 ]
327 }
328 ],
329 "headers" : [
330 {
331 "name" : "scalars",
332 "id" : 0,
333 "header_type" : "scalars_0",
334 "metadata" : true,
335 "pi_omit" : true
336 },
337 {
338 "name" : "standard_metadata",
339 "id" : 1,
340 "header_type" : "standard_metadata",
341 "metadata" : true,
342 "pi_omit" : true
343 },
344 {
345 "name" : "ethernet",
346 "id" : 2,
347 "header_type" : "ethernet_t",
348 "metadata" : false,
349 "pi_omit" : true
350 },
351 {
352 "name" : "vlan_tag",
353 "id" : 3,
354 "header_type" : "vlan_tag_t",
355 "metadata" : false,
356 "pi_omit" : true
357 },
358 {
359 "name" : "mpls",
360 "id" : 4,
361 "header_type" : "mpls_t",
362 "metadata" : false,
363 "pi_omit" : true
364 },
365 {
366 "name" : "ipv4",
367 "id" : 5,
368 "header_type" : "ipv4_t",
369 "metadata" : false,
370 "pi_omit" : true
371 },
372 {
373 "name" : "arp",
374 "id" : 6,
375 "header_type" : "arp_t",
376 "metadata" : false,
377 "pi_omit" : true
378 },
379 {
380 "name" : "tcp",
381 "id" : 7,
382 "header_type" : "tcp_t",
383 "metadata" : false,
384 "pi_omit" : true
385 },
386 {
387 "name" : "udp",
388 "id" : 8,
389 "header_type" : "udp_t",
390 "metadata" : false,
391 "pi_omit" : true
392 },
393 {
394 "name" : "icmp",
395 "id" : 9,
396 "header_type" : "icmp_t",
397 "metadata" : false,
398 "pi_omit" : true
399 },
400 {
401 "name" : "packet_out",
402 "id" : 10,
403 "header_type" : "packet_out_header_t",
404 "metadata" : false,
405 "pi_omit" : true
406 },
407 {
408 "name" : "packet_in",
409 "id" : 11,
410 "header_type" : "packet_in_header_t",
411 "metadata" : false,
412 "pi_omit" : true
413 },
414 {
415 "name" : "report_ethernet",
416 "id" : 12,
417 "header_type" : "ethernet_t",
418 "metadata" : false,
419 "pi_omit" : true
420 },
421 {
422 "name" : "report_ipv4",
423 "id" : 13,
424 "header_type" : "ipv4_t",
425 "metadata" : false,
426 "pi_omit" : true
427 },
428 {
429 "name" : "report_udp",
430 "id" : 14,
431 "header_type" : "udp_t",
432 "metadata" : false,
433 "pi_omit" : true
434 },
435 {
436 "name" : "report_fixed_header",
437 "id" : 15,
438 "header_type" : "report_fixed_header_t",
439 "metadata" : false,
440 "pi_omit" : true
441 },
442 {
443 "name" : "report_local.drop_report_header",
444 "id" : 16,
445 "header_type" : "drop_report_header_t",
446 "metadata" : false,
447 "pi_omit" : true
448 },
449 {
450 "name" : "report_local.local_report_header",
451 "id" : 17,
452 "header_type" : "local_report_header_t",
453 "metadata" : false,
454 "pi_omit" : true
455 },
456 {
457 "name" : "intl4_shim",
458 "id" : 18,
459 "header_type" : "intl4_shim_t",
460 "metadata" : false,
461 "pi_omit" : true
462 },
463 {
464 "name" : "int_header",
465 "id" : 19,
466 "header_type" : "int_header_t",
467 "metadata" : false,
468 "pi_omit" : true
469 },
470 {
471 "name" : "int_data",
472 "id" : 20,
473 "header_type" : "int_data_t",
474 "metadata" : false,
475 "pi_omit" : true
476 },
477 {
478 "name" : "int_switch_id",
479 "id" : 21,
480 "header_type" : "int_switch_id_t",
481 "metadata" : false,
482 "pi_omit" : true
483 },
484 {
485 "name" : "int_port_ids",
486 "id" : 22,
487 "header_type" : "int_port_ids_t",
488 "metadata" : false,
489 "pi_omit" : true
490 },
491 {
492 "name" : "int_hop_latency",
493 "id" : 23,
494 "header_type" : "int_hop_latency_t",
495 "metadata" : false,
496 "pi_omit" : true
497 },
498 {
499 "name" : "int_q_occupancy",
500 "id" : 24,
501 "header_type" : "int_q_occupancy_t",
502 "metadata" : false,
503 "pi_omit" : true
504 },
505 {
506 "name" : "int_ingress_tstamp",
507 "id" : 25,
508 "header_type" : "int_ingress_tstamp_t",
509 "metadata" : false,
510 "pi_omit" : true
511 },
512 {
513 "name" : "int_egress_tstamp",
514 "id" : 26,
515 "header_type" : "int_egress_tstamp_t",
516 "metadata" : false,
517 "pi_omit" : true
518 },
519 {
520 "name" : "int_q_congestion",
521 "id" : 27,
522 "header_type" : "int_q_congestion_t",
523 "metadata" : false,
524 "pi_omit" : true
525 },
526 {
527 "name" : "int_egress_tx_util",
528 "id" : 28,
529 "header_type" : "int_egress_port_tx_util_t",
530 "metadata" : false,
531 "pi_omit" : true
532 },
533 {
534 "name" : "intl4_tail",
535 "id" : 29,
536 "header_type" : "intl4_tail_t",
537 "metadata" : false,
538 "pi_omit" : true
539 },
540 {
541 "name" : "userMetadata.int_meta",
542 "id" : 30,
543 "header_type" : "int_metadata_t",
544 "metadata" : true,
545 "pi_omit" : true
546 }
547 ],
548 "header_stacks" : [],
549 "header_union_types" : [
550 {
551 "name" : "local_report_t",
552 "id" : 0,
553 "headers" : [
554 ["drop_report_header", "drop_report_header_t"],
555 ["local_report_header", "local_report_header_t"]
556 ]
557 }
558 ],
559 "header_unions" : [
560 {
561 "name" : "report_local",
562 "id" : 0,
563 "union_type" : "local_report_t",
564 "header_ids" : [16, 17],
565 "pi_omit" : true
566 }
567 ],
568 "header_union_stacks" : [],
569 "field_lists" : [
570 {
571 "id" : 1,
572 "name" : "fl",
573 "elements" : []
574 }
575 ],
576 "errors" : [],
577 "enums" : [],
578 "parsers" : [
579 {
580 "name" : "parser",
581 "id" : 0,
582 "init_state" : "start",
583 "parse_states" : [
584 {
585 "name" : "start",
586 "id" : 0,
587 "parser_ops" : [],
588 "transitions" : [
589 {
590 "type" : "hexstr",
591 "value" : "0x00ff",
592 "mask" : null,
593 "next_state" : "parse_packet_out"
594 },
595 {
596 "value" : "default",
597 "mask" : null,
598 "next_state" : "parse_ethernet"
599 }
600 ],
601 "transition_key" : [
602 {
603 "type" : "field",
604 "value" : ["standard_metadata", "ingress_port"]
605 }
606 ]
607 },
608 {
609 "name" : "parse_packet_out",
610 "id" : 1,
611 "parser_ops" : [
612 {
613 "parameters" : [
614 {
615 "type" : "regular",
616 "value" : "packet_out"
617 }
618 ],
619 "op" : "extract"
620 }
621 ],
622 "transitions" : [
623 {
624 "value" : "default",
625 "mask" : null,
626 "next_state" : "parse_ethernet"
627 }
628 ],
629 "transition_key" : []
630 },
631 {
632 "name" : "parse_ethernet",
633 "id" : 2,
634 "parser_ops" : [
635 {
636 "parameters" : [
637 {
638 "type" : "regular",
639 "value" : "ethernet"
640 }
641 ],
642 "op" : "extract"
643 }
644 ],
645 "transitions" : [
646 {
647 "type" : "hexstr",
648 "value" : "0x8100",
649 "mask" : null,
650 "next_state" : "parse_vlan_tag"
651 },
652 {
653 "type" : "hexstr",
654 "value" : "0x8847",
655 "mask" : null,
656 "next_state" : "parse_mpls"
657 },
658 {
659 "type" : "hexstr",
660 "value" : "0x0806",
661 "mask" : null,
662 "next_state" : "parse_arp"
663 },
664 {
665 "type" : "hexstr",
666 "value" : "0x0800",
667 "mask" : null,
668 "next_state" : "parse_ipv4"
669 },
670 {
671 "value" : "default",
672 "mask" : null,
673 "next_state" : null
674 }
675 ],
676 "transition_key" : [
677 {
678 "type" : "field",
679 "value" : ["ethernet", "ether_type"]
680 }
681 ]
682 },
683 {
684 "name" : "parse_vlan_tag",
685 "id" : 3,
686 "parser_ops" : [
687 {
688 "parameters" : [
689 {
690 "type" : "regular",
691 "value" : "vlan_tag"
692 }
693 ],
694 "op" : "extract"
695 }
696 ],
697 "transitions" : [
698 {
699 "type" : "hexstr",
700 "value" : "0x0806",
701 "mask" : null,
702 "next_state" : "parse_arp"
703 },
704 {
705 "type" : "hexstr",
706 "value" : "0x0800",
707 "mask" : null,
708 "next_state" : "parse_ipv4"
709 },
710 {
711 "type" : "hexstr",
712 "value" : "0x8847",
713 "mask" : null,
714 "next_state" : "parse_mpls"
715 },
716 {
717 "value" : "default",
718 "mask" : null,
719 "next_state" : null
720 }
721 ],
722 "transition_key" : [
723 {
724 "type" : "field",
725 "value" : ["vlan_tag", "ether_type"]
726 }
727 ]
728 },
729 {
730 "name" : "parse_mpls",
731 "id" : 4,
732 "parser_ops" : [
733 {
734 "parameters" : [
735 {
736 "type" : "regular",
737 "value" : "mpls"
738 }
739 ],
740 "op" : "extract"
741 },
742 {
743 "parameters" : [
744 {
745 "type" : "field",
746 "value" : ["scalars", "tmp"]
747 },
748 {
749 "type" : "lookahead",
750 "value" : [0, 4]
751 }
752 ],
753 "op" : "set"
754 }
755 ],
756 "transitions" : [
757 {
758 "type" : "hexstr",
759 "value" : "0x04",
760 "mask" : null,
761 "next_state" : "parse_ipv4"
762 },
763 {
764 "value" : "default",
765 "mask" : null,
766 "next_state" : "parse_ethernet"
767 }
768 ],
769 "transition_key" : [
770 {
771 "type" : "field",
772 "value" : ["scalars", "tmp"]
773 }
774 ]
775 },
776 {
777 "name" : "parse_ipv4",
778 "id" : 5,
779 "parser_ops" : [
780 {
781 "parameters" : [
782 {
783 "type" : "regular",
784 "value" : "ipv4"
785 }
786 ],
787 "op" : "extract"
788 },
789 {
790 "parameters" : [
791 {
792 "type" : "field",
793 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
794 },
795 {
796 "type" : "field",
797 "value" : ["ipv4", "protocol"]
798 }
799 ],
800 "op" : "set"
801 }
802 ],
803 "transitions" : [
804 {
805 "type" : "hexstr",
806 "value" : "0x06",
807 "mask" : null,
808 "next_state" : "parse_tcp"
809 },
810 {
811 "type" : "hexstr",
812 "value" : "0x11",
813 "mask" : null,
814 "next_state" : "parse_udp"
815 },
816 {
817 "type" : "hexstr",
818 "value" : "0x01",
819 "mask" : null,
820 "next_state" : "parse_icmp"
821 },
822 {
823 "value" : "default",
824 "mask" : null,
825 "next_state" : null
826 }
827 ],
828 "transition_key" : [
829 {
830 "type" : "field",
831 "value" : ["ipv4", "protocol"]
832 }
833 ]
834 },
835 {
836 "name" : "parse_arp",
837 "id" : 6,
838 "parser_ops" : [
839 {
840 "parameters" : [
841 {
842 "type" : "regular",
843 "value" : "arp"
844 }
845 ],
846 "op" : "extract"
847 }
848 ],
849 "transitions" : [
850 {
851 "value" : "default",
852 "mask" : null,
853 "next_state" : null
854 }
855 ],
856 "transition_key" : []
857 },
858 {
859 "name" : "parse_tcp",
860 "id" : 7,
861 "parser_ops" : [
862 {
863 "parameters" : [
864 {
865 "type" : "regular",
866 "value" : "tcp"
867 }
868 ],
869 "op" : "extract"
870 },
871 {
872 "parameters" : [
873 {
874 "type" : "field",
875 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
876 },
877 {
878 "type" : "field",
879 "value" : ["tcp", "src_port"]
880 }
881 ],
882 "op" : "set"
883 },
884 {
885 "parameters" : [
886 {
887 "type" : "field",
888 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
889 },
890 {
891 "type" : "field",
892 "value" : ["tcp", "dst_port"]
893 }
894 ],
895 "op" : "set"
896 },
897 {
898 "parameters" : [
899 {
900 "type" : "field",
901 "value" : ["scalars", "tmp_0"]
902 },
903 {
904 "type" : "expression",
905 "value" : {
906 "type" : "expression",
907 "value" : {
908 "op" : "?",
909 "left" : {
910 "type" : "hexstr",
911 "value" : "0x01"
912 },
913 "right" : {
914 "type" : "hexstr",
915 "value" : "0x00"
916 },
917 "cond" : {
918 "type" : "expression",
919 "value" : {
920 "op" : "and",
921 "left" : {
922 "type" : "expression",
923 "value" : {
924 "op" : "d2b",
925 "left" : null,
926 "right" : {
927 "type" : "field",
928 "value" : ["ipv4", "$valid$"]
929 }
930 }
931 },
932 "right" : {
933 "type" : "expression",
934 "value" : {
935 "op" : "==",
936 "left" : {
937 "type" : "expression",
938 "value" : {
939 "op" : "&",
940 "left" : {
941 "type" : "field",
942 "value" : ["ipv4", "dscp"]
943 },
944 "right" : {
945 "type" : "hexstr",
946 "value" : "0x01"
947 }
948 }
949 },
950 "right" : {
951 "type" : "hexstr",
952 "value" : "0x01"
953 }
954 }
955 }
956 }
957 }
958 }
959 }
960 }
961 ],
962 "op" : "set"
963 }
964 ],
965 "transitions" : [
966 {
967 "type" : "hexstr",
968 "value" : "0x01",
969 "mask" : null,
970 "next_state" : "parse_intl4_shim"
971 },
972 {
973 "value" : "default",
974 "mask" : null,
975 "next_state" : null
976 }
977 ],
978 "transition_key" : [
979 {
980 "type" : "field",
981 "value" : ["scalars", "tmp_0"]
982 }
983 ]
984 },
985 {
986 "name" : "parse_udp",
987 "id" : 8,
988 "parser_ops" : [
989 {
990 "parameters" : [
991 {
992 "type" : "regular",
993 "value" : "udp"
994 }
995 ],
996 "op" : "extract"
997 },
998 {
999 "parameters" : [
1000 {
1001 "type" : "field",
1002 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
1003 },
1004 {
1005 "type" : "field",
1006 "value" : ["udp", "src_port"]
1007 }
1008 ],
1009 "op" : "set"
1010 },
1011 {
1012 "parameters" : [
1013 {
1014 "type" : "field",
1015 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
1016 },
1017 {
1018 "type" : "field",
1019 "value" : ["udp", "dst_port"]
1020 }
1021 ],
1022 "op" : "set"
1023 },
1024 {
1025 "parameters" : [
1026 {
1027 "type" : "field",
1028 "value" : ["scalars", "tmp_1"]
1029 },
1030 {
1031 "type" : "expression",
1032 "value" : {
1033 "type" : "expression",
1034 "value" : {
1035 "op" : "?",
1036 "left" : {
1037 "type" : "hexstr",
1038 "value" : "0x01"
1039 },
1040 "right" : {
1041 "type" : "hexstr",
1042 "value" : "0x00"
1043 },
1044 "cond" : {
1045 "type" : "expression",
1046 "value" : {
1047 "op" : "and",
1048 "left" : {
1049 "type" : "expression",
1050 "value" : {
1051 "op" : "d2b",
1052 "left" : null,
1053 "right" : {
1054 "type" : "field",
1055 "value" : ["ipv4", "$valid$"]
1056 }
1057 }
1058 },
1059 "right" : {
1060 "type" : "expression",
1061 "value" : {
1062 "op" : "==",
1063 "left" : {
1064 "type" : "expression",
1065 "value" : {
1066 "op" : "&",
1067 "left" : {
1068 "type" : "field",
1069 "value" : ["ipv4", "dscp"]
1070 },
1071 "right" : {
1072 "type" : "hexstr",
1073 "value" : "0x01"
1074 }
1075 }
1076 },
1077 "right" : {
1078 "type" : "hexstr",
1079 "value" : "0x01"
1080 }
1081 }
1082 }
1083 }
1084 }
1085 }
1086 }
1087 }
1088 ],
1089 "op" : "set"
1090 }
1091 ],
1092 "transitions" : [
1093 {
1094 "type" : "hexstr",
1095 "value" : "0x01",
1096 "mask" : null,
1097 "next_state" : "parse_intl4_shim"
1098 },
1099 {
1100 "value" : "default",
1101 "mask" : null,
1102 "next_state" : null
1103 }
1104 ],
1105 "transition_key" : [
1106 {
1107 "type" : "field",
1108 "value" : ["scalars", "tmp_1"]
1109 }
1110 ]
1111 },
1112 {
1113 "name" : "parse_icmp",
1114 "id" : 9,
1115 "parser_ops" : [
1116 {
1117 "parameters" : [
1118 {
1119 "type" : "regular",
1120 "value" : "icmp"
1121 }
1122 ],
1123 "op" : "extract"
1124 }
1125 ],
1126 "transitions" : [
1127 {
1128 "value" : "default",
1129 "mask" : null,
1130 "next_state" : null
1131 }
1132 ],
1133 "transition_key" : []
1134 },
1135 {
1136 "name" : "parse_intl4_shim",
1137 "id" : 10,
1138 "parser_ops" : [
1139 {
1140 "parameters" : [
1141 {
1142 "type" : "regular",
1143 "value" : "intl4_shim"
1144 }
1145 ],
1146 "op" : "extract"
1147 },
1148 {
1149 "parameters" : [
1150 {
1151 "type" : "regular",
1152 "value" : "int_header"
1153 }
1154 ],
1155 "op" : "extract"
1156 },
1157 {
1158 "parameters" : [
1159 {
1160 "type" : "field",
1161 "value" : ["userMetadata.int_meta", "metadata_len"]
1162 },
1163 {
1164 "type" : "expression",
1165 "value" : {
1166 "type" : "expression",
1167 "value" : {
1168 "op" : "&",
1169 "left" : {
1170 "type" : "expression",
1171 "value" : {
1172 "op" : "+",
1173 "left" : {
1174 "type" : "field",
1175 "value" : ["intl4_shim", "len"]
1176 },
1177 "right" : {
1178 "type" : "hexstr",
1179 "value" : "0xfc"
1180 }
1181 }
1182 },
1183 "right" : {
1184 "type" : "hexstr",
1185 "value" : "0xff"
1186 }
1187 }
1188 }
1189 }
1190 ],
1191 "op" : "set"
1192 }
1193 ],
1194 "transitions" : [
1195 {
1196 "type" : "hexstr",
1197 "value" : "0x00",
1198 "mask" : null,
1199 "next_state" : "parse_intl4_tail"
1200 },
1201 {
1202 "value" : "default",
1203 "mask" : null,
1204 "next_state" : "parse_int_data"
1205 }
1206 ],
1207 "transition_key" : [
1208 {
1209 "type" : "field",
1210 "value" : ["userMetadata.int_meta", "metadata_len"]
1211 }
1212 ]
1213 },
1214 {
1215 "name" : "parse_int_data",
1216 "id" : 11,
1217 "parser_ops" : [
1218 {
1219 "parameters" : [
1220 {
1221 "type" : "field",
1222 "value" : ["scalars", "tmp_2"]
1223 },
1224 {
1225 "type" : "expression",
1226 "value" : {
1227 "type" : "expression",
1228 "value" : {
1229 "op" : "&",
1230 "left" : {
1231 "type" : "expression",
1232 "value" : {
1233 "op" : "&",
1234 "left" : {
1235 "type" : "expression",
1236 "value" : {
1237 "op" : "<<",
1238 "left" : {
1239 "type" : "expression",
1240 "value" : {
1241 "op" : "&",
1242 "left" : {
1243 "type" : "expression",
1244 "value" : {
1245 "op" : "+",
1246 "left" : {
1247 "type" : "field",
1248 "value" : ["intl4_shim", "len"]
1249 },
1250 "right" : {
1251 "type" : "hexstr",
1252 "value" : "0xfc"
1253 }
1254 }
1255 },
1256 "right" : {
1257 "type" : "hexstr",
1258 "value" : "0xff"
1259 }
1260 }
1261 },
1262 "right" : {
1263 "type" : "hexstr",
1264 "value" : "0x5"
1265 }
1266 }
1267 },
1268 "right" : {
1269 "type" : "hexstr",
1270 "value" : "0xff"
1271 }
1272 }
1273 },
1274 "right" : {
1275 "type" : "hexstr",
1276 "value" : "0xffffffff"
1277 }
1278 }
1279 }
1280 }
1281 ],
1282 "op" : "set"
1283 },
1284 {
1285 "parameters" : [
1286 {
1287 "type" : "regular",
1288 "value" : "int_data"
1289 },
1290 {
1291 "type" : "expression",
1292 "value" : {
1293 "type" : "field",
1294 "value" : ["scalars", "tmp_2"]
1295 }
1296 }
1297 ],
1298 "op" : "extract_VL"
1299 }
1300 ],
1301 "transitions" : [
1302 {
1303 "value" : "default",
1304 "mask" : null,
1305 "next_state" : "parse_intl4_tail"
1306 }
1307 ],
1308 "transition_key" : []
1309 },
1310 {
1311 "name" : "parse_intl4_tail",
1312 "id" : 12,
1313 "parser_ops" : [
1314 {
1315 "parameters" : [
1316 {
1317 "type" : "regular",
1318 "value" : "intl4_tail"
1319 }
1320 ],
1321 "op" : "extract"
1322 }
1323 ],
1324 "transitions" : [
1325 {
1326 "value" : "default",
1327 "mask" : null,
1328 "next_state" : null
1329 }
1330 ],
1331 "transition_key" : []
1332 }
1333 ]
1334 }
1335 ],
1336 "parse_vsets" : [],
1337 "deparsers" : [
1338 {
1339 "name" : "deparser",
1340 "id" : 0,
1341 "source_info" : {
1342 "filename" : "include/parser.p4",
Charles Chancf696e52018-08-16 16:25:13 -07001343 "line" : 223,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001344 "column" : 8,
1345 "source_fragment" : "FabricDeparser"
1346 },
1347 "order" : ["packet_in", "report_ethernet", "report_ipv4", "report_udp", "report_fixed_header", "ethernet", "vlan_tag", "mpls", "arp", "ipv4", "tcp", "udp", "icmp", "intl4_shim", "int_header", "int_switch_id", "int_port_ids", "int_hop_latency", "int_q_occupancy", "int_ingress_tstamp", "int_egress_tstamp", "int_q_congestion", "int_egress_tx_util", "int_data", "intl4_tail"]
1348 }
1349 ],
1350 "meter_arrays" : [],
1351 "counter_arrays" : [
1352 {
1353 "name" : "FabricIngress.process_set_source_sink.counter_set_source",
1354 "id" : 0,
1355 "is_direct" : true,
1356 "binding" : "FabricIngress.process_set_source_sink.tb_set_source"
1357 },
1358 {
1359 "name" : "FabricIngress.process_set_source_sink.counter_set_sink",
1360 "id" : 1,
1361 "is_direct" : true,
1362 "binding" : "FabricIngress.process_set_source_sink.tb_set_sink"
1363 },
1364 {
1365 "name" : "FabricIngress.filtering.ingress_port_vlan_counter",
1366 "id" : 2,
1367 "is_direct" : true,
1368 "binding" : "FabricIngress.filtering.ingress_port_vlan"
1369 },
1370 {
1371 "name" : "FabricIngress.filtering.fwd_classifier_counter",
1372 "id" : 3,
1373 "is_direct" : true,
1374 "binding" : "FabricIngress.filtering.fwd_classifier"
1375 },
1376 {
1377 "name" : "FabricIngress.forwarding.bridging_counter",
1378 "id" : 4,
1379 "is_direct" : true,
1380 "binding" : "FabricIngress.forwarding.bridging"
1381 },
1382 {
1383 "name" : "FabricIngress.forwarding.mpls_counter",
1384 "id" : 5,
1385 "is_direct" : true,
1386 "binding" : "FabricIngress.forwarding.mpls"
1387 },
1388 {
1389 "name" : "FabricIngress.forwarding.unicast_v4_counter",
1390 "id" : 6,
1391 "is_direct" : true,
1392 "binding" : "FabricIngress.forwarding.unicast_v4"
1393 },
1394 {
1395 "name" : "FabricIngress.forwarding.acl_counter",
1396 "id" : 7,
1397 "is_direct" : true,
1398 "binding" : "FabricIngress.forwarding.acl"
1399 },
1400 {
1401 "name" : "FabricIngress.next.vlan_meta_counter",
1402 "id" : 8,
1403 "is_direct" : true,
1404 "binding" : "FabricIngress.next.vlan_meta"
1405 },
1406 {
1407 "name" : "FabricIngress.next.simple_counter",
1408 "id" : 9,
1409 "is_direct" : true,
1410 "binding" : "FabricIngress.next.simple"
1411 },
1412 {
1413 "name" : "FabricIngress.next.hashed_counter",
1414 "id" : 10,
1415 "is_direct" : true,
1416 "binding" : "FabricIngress.next.hashed"
1417 },
1418 {
1419 "name" : "FabricIngress.next.multicast_counter",
1420 "id" : 11,
1421 "is_direct" : true,
1422 "binding" : "FabricIngress.next.multicast"
1423 },
1424 {
1425 "name" : "FabricIngress.port_counters_control.egress_port_counter",
1426 "id" : 12,
1427 "source_info" : {
1428 "filename" : "include/control/port_counter.p4",
1429 "line" : 23,
1430 "column" : 48,
1431 "source_fragment" : "egress_port_counter"
1432 },
1433 "size" : 511,
1434 "is_direct" : false
1435 },
1436 {
1437 "name" : "FabricIngress.port_counters_control.ingress_port_counter",
1438 "id" : 13,
1439 "source_info" : {
1440 "filename" : "include/control/port_counter.p4",
1441 "line" : 24,
1442 "column" : 48,
1443 "source_fragment" : "ingress_port_counter"
1444 },
1445 "size" : 511,
1446 "is_direct" : false
1447 },
1448 {
1449 "name" : "FabricEgress.process_int_source.counter_int_source",
1450 "id" : 14,
1451 "is_direct" : true,
1452 "binding" : "FabricEgress.process_int_source.tb_int_source"
1453 },
1454 {
1455 "name" : "FabricEgress.process_int_transit.counter_int_insert",
1456 "id" : 15,
1457 "is_direct" : true,
1458 "binding" : "FabricEgress.process_int_transit.tb_int_insert"
1459 },
1460 {
1461 "name" : "FabricEgress.process_int_transit.counter_int_inst_0003",
1462 "id" : 16,
1463 "is_direct" : true,
1464 "binding" : "FabricEgress.process_int_transit.tb_int_inst_0003"
1465 },
1466 {
1467 "name" : "FabricEgress.process_int_transit.counter_int_inst_0407",
1468 "id" : 17,
1469 "is_direct" : true,
1470 "binding" : "FabricEgress.process_int_transit.tb_int_inst_0407"
1471 },
1472 {
1473 "name" : "FabricEgress.egress_next.egress_vlan_counter",
1474 "id" : 18,
1475 "is_direct" : true,
1476 "binding" : "FabricEgress.egress_next.egress_vlan"
1477 }
1478 ],
1479 "register_arrays" : [],
1480 "calculations" : [
1481 {
1482 "name" : "calc",
1483 "id" : 0,
1484 "source_info" : {
1485 "filename" : "include/checksum.p4",
1486 "line" : 28,
1487 "column" : 8,
1488 "source_fragment" : "update_checksum(hdr.ipv4.isValid(), ..."
1489 },
1490 "algo" : "csum16",
1491 "input" : [
1492 {
1493 "type" : "field",
1494 "value" : ["ipv4", "version"]
1495 },
1496 {
1497 "type" : "field",
1498 "value" : ["ipv4", "ihl"]
1499 },
1500 {
1501 "type" : "field",
1502 "value" : ["ipv4", "dscp"]
1503 },
1504 {
1505 "type" : "field",
1506 "value" : ["ipv4", "ecn"]
1507 },
1508 {
1509 "type" : "field",
1510 "value" : ["ipv4", "total_len"]
1511 },
1512 {
1513 "type" : "field",
1514 "value" : ["ipv4", "identification"]
1515 },
1516 {
1517 "type" : "field",
1518 "value" : ["ipv4", "flags"]
1519 },
1520 {
1521 "type" : "field",
1522 "value" : ["ipv4", "frag_offset"]
1523 },
1524 {
1525 "type" : "field",
1526 "value" : ["ipv4", "ttl"]
1527 },
1528 {
1529 "type" : "field",
1530 "value" : ["ipv4", "protocol"]
1531 },
1532 {
1533 "type" : "field",
1534 "value" : ["ipv4", "src_addr"]
1535 },
1536 {
1537 "type" : "field",
1538 "value" : ["ipv4", "dst_addr"]
1539 }
1540 ]
1541 },
1542 {
1543 "name" : "calc_0",
1544 "id" : 1,
1545 "source_info" : {
1546 "filename" : "include/checksum.p4",
1547 "line" : 57,
1548 "column" : 8,
1549 "source_fragment" : "verify_checksum(hdr.ipv4.isValid(), ..."
1550 },
1551 "algo" : "csum16",
1552 "input" : [
1553 {
1554 "type" : "field",
1555 "value" : ["ipv4", "version"]
1556 },
1557 {
1558 "type" : "field",
1559 "value" : ["ipv4", "ihl"]
1560 },
1561 {
1562 "type" : "field",
1563 "value" : ["ipv4", "dscp"]
1564 },
1565 {
1566 "type" : "field",
1567 "value" : ["ipv4", "ecn"]
1568 },
1569 {
1570 "type" : "field",
1571 "value" : ["ipv4", "total_len"]
1572 },
1573 {
1574 "type" : "field",
1575 "value" : ["ipv4", "identification"]
1576 },
1577 {
1578 "type" : "field",
1579 "value" : ["ipv4", "flags"]
1580 },
1581 {
1582 "type" : "field",
1583 "value" : ["ipv4", "frag_offset"]
1584 },
1585 {
1586 "type" : "field",
1587 "value" : ["ipv4", "ttl"]
1588 },
1589 {
1590 "type" : "field",
1591 "value" : ["ipv4", "protocol"]
1592 },
1593 {
1594 "type" : "field",
1595 "value" : ["ipv4", "src_addr"]
1596 },
1597 {
1598 "type" : "field",
1599 "value" : ["ipv4", "dst_addr"]
1600 }
1601 ]
1602 }
1603 ],
1604 "learn_lists" : [],
1605 "actions" : [
1606 {
1607 "name" : "NoAction",
1608 "id" : 0,
1609 "runtime_data" : [],
1610 "primitives" : []
1611 },
1612 {
1613 "name" : "NoAction",
1614 "id" : 1,
1615 "runtime_data" : [],
1616 "primitives" : []
1617 },
1618 {
1619 "name" : "NoAction",
1620 "id" : 2,
1621 "runtime_data" : [],
1622 "primitives" : []
1623 },
1624 {
1625 "name" : "NoAction",
1626 "id" : 3,
1627 "runtime_data" : [],
1628 "primitives" : []
1629 },
1630 {
1631 "name" : "NoAction",
1632 "id" : 4,
1633 "runtime_data" : [],
1634 "primitives" : []
1635 },
1636 {
1637 "name" : "NoAction",
1638 "id" : 5,
1639 "runtime_data" : [],
1640 "primitives" : []
1641 },
1642 {
1643 "name" : "NoAction",
1644 "id" : 6,
1645 "runtime_data" : [],
1646 "primitives" : []
1647 },
1648 {
1649 "name" : "NoAction",
1650 "id" : 7,
1651 "runtime_data" : [],
1652 "primitives" : []
1653 },
1654 {
1655 "name" : "nop",
1656 "id" : 8,
1657 "runtime_data" : [],
1658 "primitives" : []
1659 },
1660 {
1661 "name" : "nop",
1662 "id" : 9,
1663 "runtime_data" : [],
1664 "primitives" : []
1665 },
1666 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001667 "name" : "FabricIngress.process_set_source_sink.int_set_source",
Charles Chancf696e52018-08-16 16:25:13 -07001668 "id" : 10,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001669 "runtime_data" : [],
1670 "primitives" : [
1671 {
1672 "op" : "assign",
1673 "parameters" : [
1674 {
1675 "type" : "field",
1676 "value" : ["userMetadata.int_meta", "source"]
1677 },
1678 {
1679 "type" : "hexstr",
1680 "value" : "0x01"
1681 }
1682 ],
1683 "source_info" : {
1684 "filename" : "include/int_source.p4",
1685 "line" : 94,
1686 "column" : 8,
1687 "source_fragment" : "fabric_metadata.int_meta.source = 1"
1688 }
1689 }
1690 ]
1691 },
1692 {
1693 "name" : "FabricIngress.process_set_source_sink.int_set_sink",
Charles Chancf696e52018-08-16 16:25:13 -07001694 "id" : 11,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001695 "runtime_data" : [],
1696 "primitives" : [
1697 {
1698 "op" : "assign",
1699 "parameters" : [
1700 {
1701 "type" : "field",
1702 "value" : ["userMetadata.int_meta", "sink"]
1703 },
1704 {
1705 "type" : "hexstr",
1706 "value" : "0x01"
1707 }
1708 ],
1709 "source_info" : {
1710 "filename" : "include/int_source.p4",
1711 "line" : 98,
1712 "column" : 8,
1713 "source_fragment" : "fabric_metadata.int_meta.sink = 1"
1714 }
1715 }
1716 ]
1717 },
1718 {
1719 "name" : "FabricIngress.filtering.drop",
Charles Chancf696e52018-08-16 16:25:13 -07001720 "id" : 12,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001721 "runtime_data" : [],
1722 "primitives" : [
1723 {
1724 "op" : "drop",
1725 "parameters" : [],
1726 "source_info" : {
1727 "filename" : "include/control/filtering.p4",
1728 "line" : 37,
1729 "column" : 8,
1730 "source_fragment" : "mark_to_drop()"
1731 }
1732 }
1733 ]
1734 },
1735 {
1736 "name" : "FabricIngress.filtering.set_vlan",
Charles Chancf696e52018-08-16 16:25:13 -07001737 "id" : 13,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001738 "runtime_data" : [
1739 {
1740 "name" : "new_vlan_id",
1741 "bitwidth" : 12
1742 }
1743 ],
1744 "primitives" : [
1745 {
1746 "op" : "assign",
1747 "parameters" : [
1748 {
1749 "type" : "field",
1750 "value" : ["vlan_tag", "vlan_id"]
1751 },
1752 {
1753 "type" : "runtime_data",
1754 "value" : 0
1755 }
1756 ],
1757 "source_info" : {
1758 "filename" : "include/control/filtering.p4",
1759 "line" : 42,
1760 "column" : 8,
1761 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
1762 }
1763 }
1764 ]
1765 },
1766 {
1767 "name" : "FabricIngress.filtering.push_internal_vlan",
Charles Chancf696e52018-08-16 16:25:13 -07001768 "id" : 14,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001769 "runtime_data" : [
1770 {
1771 "name" : "new_vlan_id",
1772 "bitwidth" : 12
1773 }
1774 ],
1775 "primitives" : [
1776 {
1777 "op" : "add_header",
1778 "parameters" : [
1779 {
1780 "type" : "header",
1781 "value" : "vlan_tag"
1782 }
1783 ],
1784 "source_info" : {
1785 "filename" : "include/control/filtering.p4",
1786 "line" : 49,
1787 "column" : 8,
1788 "source_fragment" : "hdr.vlan_tag.setValid()"
1789 }
1790 },
1791 {
1792 "op" : "assign",
1793 "parameters" : [
1794 {
1795 "type" : "field",
1796 "value" : ["vlan_tag", "cfi"]
1797 },
1798 {
1799 "type" : "hexstr",
1800 "value" : "0x00"
1801 }
1802 ],
1803 "source_info" : {
1804 "filename" : "include/control/filtering.p4",
1805 "line" : 50,
1806 "column" : 8,
1807 "source_fragment" : "hdr.vlan_tag.cfi = 0"
1808 }
1809 },
1810 {
1811 "op" : "assign",
1812 "parameters" : [
1813 {
1814 "type" : "field",
1815 "value" : ["vlan_tag", "pri"]
1816 },
1817 {
1818 "type" : "hexstr",
1819 "value" : "0x00"
1820 }
1821 ],
1822 "source_info" : {
1823 "filename" : "include/control/filtering.p4",
1824 "line" : 51,
1825 "column" : 8,
1826 "source_fragment" : "hdr.vlan_tag.pri = 0"
1827 }
1828 },
1829 {
1830 "op" : "assign",
1831 "parameters" : [
1832 {
1833 "type" : "field",
1834 "value" : ["vlan_tag", "ether_type"]
1835 },
1836 {
1837 "type" : "field",
1838 "value" : ["ethernet", "ether_type"]
1839 }
1840 ],
1841 "source_info" : {
1842 "filename" : "include/control/filtering.p4",
1843 "line" : 52,
1844 "column" : 8,
1845 "source_fragment" : "hdr.vlan_tag.ether_type = hdr.ethernet.ether_type"
1846 }
1847 },
1848 {
1849 "op" : "assign",
1850 "parameters" : [
1851 {
1852 "type" : "field",
1853 "value" : ["ethernet", "ether_type"]
1854 },
1855 {
1856 "type" : "hexstr",
1857 "value" : "0x8100"
1858 }
1859 ],
1860 "source_info" : {
1861 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07001862 "line" : 89,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001863 "column" : 31,
1864 "source_fragment" : "0x8100; ..."
1865 }
1866 },
1867 {
1868 "op" : "assign",
1869 "parameters" : [
1870 {
1871 "type" : "field",
1872 "value" : ["vlan_tag", "vlan_id"]
1873 },
1874 {
1875 "type" : "runtime_data",
1876 "value" : 0
1877 }
1878 ],
1879 "source_info" : {
1880 "filename" : "include/control/filtering.p4",
1881 "line" : 54,
1882 "column" : 8,
1883 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
1884 }
1885 },
1886 {
1887 "op" : "assign",
1888 "parameters" : [
1889 {
1890 "type" : "field",
1891 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
1892 },
1893 {
1894 "type" : "expression",
1895 "value" : {
1896 "type" : "expression",
1897 "value" : {
1898 "op" : "b2d",
1899 "left" : null,
1900 "right" : {
1901 "type" : "bool",
1902 "value" : true
1903 }
1904 }
1905 }
1906 }
1907 ],
1908 "source_info" : {
1909 "filename" : "include/control/filtering.p4",
1910 "line" : 57,
1911 "column" : 8,
1912 "source_fragment" : "fabric_metadata.pop_vlan_when_packet_in = true"
1913 }
1914 }
1915 ]
1916 },
1917 {
1918 "name" : "FabricIngress.filtering.set_forwarding_type",
Charles Chancf696e52018-08-16 16:25:13 -07001919 "id" : 15,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001920 "runtime_data" : [
1921 {
1922 "name" : "fwd_type",
1923 "bitwidth" : 3
1924 }
1925 ],
1926 "primitives" : [
1927 {
1928 "op" : "assign",
1929 "parameters" : [
1930 {
1931 "type" : "field",
1932 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
1933 },
1934 {
1935 "type" : "runtime_data",
1936 "value" : 0
1937 }
1938 ],
1939 "source_info" : {
1940 "filename" : "include/control/filtering.p4",
1941 "line" : 94,
1942 "column" : 8,
1943 "source_fragment" : "fabric_metadata.fwd_type = fwd_type"
1944 }
1945 }
1946 ]
1947 },
1948 {
1949 "name" : "FabricIngress.forwarding.set_next_id_bridging",
Charles Chancf696e52018-08-16 16:25:13 -07001950 "id" : 16,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001951 "runtime_data" : [
1952 {
1953 "name" : "next_id",
1954 "bitwidth" : 32
1955 }
1956 ],
1957 "primitives" : [
1958 {
1959 "op" : "assign",
1960 "parameters" : [
1961 {
1962 "type" : "field",
1963 "value" : ["scalars", "fabric_metadata_t.next_id"]
1964 },
1965 {
1966 "type" : "runtime_data",
1967 "value" : 0
1968 }
1969 ],
1970 "source_info" : {
1971 "filename" : "include/control/forwarding.p4",
1972 "line" : 37,
1973 "column" : 8,
1974 "source_fragment" : "fabric_metadata.next_id = next_id"
1975 }
1976 }
1977 ]
1978 },
1979 {
1980 "name" : "FabricIngress.forwarding.pop_mpls_and_next",
Charles Chancf696e52018-08-16 16:25:13 -07001981 "id" : 17,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09001982 "runtime_data" : [
1983 {
1984 "name" : "next_id",
1985 "bitwidth" : 32
1986 }
1987 ],
1988 "primitives" : [
1989 {
1990 "op" : "remove_header",
1991 "parameters" : [
1992 {
1993 "type" : "header",
1994 "value" : "mpls"
1995 }
1996 ],
1997 "source_info" : {
1998 "filename" : "include/control/forwarding.p4",
1999 "line" : 60,
2000 "column" : 8,
2001 "source_fragment" : "hdr.mpls.setInvalid()"
2002 }
2003 },
2004 {
2005 "op" : "assign",
2006 "parameters" : [
2007 {
2008 "type" : "field",
2009 "value" : ["scalars", "fabric_metadata_t.next_id"]
2010 },
2011 {
2012 "type" : "runtime_data",
2013 "value" : 0
2014 }
2015 ],
2016 "source_info" : {
2017 "filename" : "include/control/forwarding.p4",
2018 "line" : 61,
2019 "column" : 8,
2020 "source_fragment" : "fabric_metadata.next_id = next_id"
2021 }
2022 }
2023 ]
2024 },
2025 {
2026 "name" : "FabricIngress.forwarding.set_next_id_unicast_v4",
Charles Chancf696e52018-08-16 16:25:13 -07002027 "id" : 18,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002028 "runtime_data" : [
2029 {
2030 "name" : "next_id",
2031 "bitwidth" : 32
2032 }
2033 ],
2034 "primitives" : [
2035 {
2036 "op" : "assign",
2037 "parameters" : [
2038 {
2039 "type" : "field",
2040 "value" : ["scalars", "fabric_metadata_t.next_id"]
2041 },
2042 {
2043 "type" : "runtime_data",
2044 "value" : 0
2045 }
2046 ],
2047 "source_info" : {
2048 "filename" : "include/control/forwarding.p4",
2049 "line" : 83,
2050 "column" : 8,
2051 "source_fragment" : "fabric_metadata.next_id = next_id"
2052 }
2053 }
2054 ]
2055 },
2056 {
2057 "name" : "FabricIngress.forwarding.set_next_id_acl",
Charles Chancf696e52018-08-16 16:25:13 -07002058 "id" : 19,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002059 "runtime_data" : [
2060 {
2061 "name" : "next_id",
2062 "bitwidth" : 32
2063 }
2064 ],
2065 "primitives" : [
2066 {
2067 "op" : "assign",
2068 "parameters" : [
2069 {
2070 "type" : "field",
2071 "value" : ["scalars", "fabric_metadata_t.next_id"]
2072 },
2073 {
2074 "type" : "runtime_data",
2075 "value" : 0
2076 }
2077 ],
2078 "source_info" : {
2079 "filename" : "include/control/forwarding.p4",
2080 "line" : 105,
2081 "column" : 8,
2082 "source_fragment" : "fabric_metadata.next_id = next_id"
2083 }
2084 }
2085 ]
2086 },
2087 {
2088 "name" : "FabricIngress.forwarding.punt_to_cpu",
Charles Chancf696e52018-08-16 16:25:13 -07002089 "id" : 20,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002090 "runtime_data" : [],
2091 "primitives" : [
2092 {
2093 "op" : "assign",
2094 "parameters" : [
2095 {
2096 "type" : "field",
2097 "value" : ["standard_metadata", "egress_spec"]
2098 },
2099 {
2100 "type" : "hexstr",
2101 "value" : "0x00ff"
2102 }
2103 ],
2104 "source_info" : {
2105 "filename" : "include/control/forwarding.p4",
2106 "line" : 111,
2107 "column" : 8,
2108 "source_fragment" : "standard_metadata.egress_spec = 255"
2109 }
2110 },
2111 {
2112 "op" : "exit",
2113 "parameters" : [],
2114 "source_info" : {
2115 "filename" : "include/control/forwarding.p4",
2116 "line" : 113,
2117 "column" : 8,
2118 "source_fragment" : "exit"
2119 }
2120 }
2121 ]
2122 },
2123 {
2124 "name" : "FabricIngress.forwarding.clone_to_cpu",
Charles Chancf696e52018-08-16 16:25:13 -07002125 "id" : 21,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002126 "runtime_data" : [],
2127 "primitives" : [
2128 {
2129 "op" : "assign",
2130 "parameters" : [
2131 {
2132 "type" : "field",
2133 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
2134 },
2135 {
2136 "type" : "expression",
2137 "value" : {
2138 "type" : "expression",
2139 "value" : {
2140 "op" : "b2d",
2141 "left" : null,
2142 "right" : {
2143 "type" : "bool",
2144 "value" : true
2145 }
2146 }
2147 }
2148 }
2149 ],
2150 "source_info" : {
2151 "filename" : "include/control/forwarding.p4",
2152 "line" : 118,
2153 "column" : 8,
2154 "source_fragment" : "fabric_metadata.clone_to_cpu = true"
2155 }
2156 }
2157 ]
2158 },
2159 {
2160 "name" : "FabricIngress.forwarding.drop",
Charles Chancf696e52018-08-16 16:25:13 -07002161 "id" : 22,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002162 "runtime_data" : [],
2163 "primitives" : [
2164 {
2165 "op" : "drop",
2166 "parameters" : [],
2167 "source_info" : {
2168 "filename" : "include/control/forwarding.p4",
2169 "line" : 123,
2170 "column" : 8,
2171 "source_fragment" : "mark_to_drop()"
2172 }
2173 }
2174 ]
2175 },
2176 {
Charles Chancf696e52018-08-16 16:25:13 -07002177 "name" : "FabricIngress.forwarding.nop_acl",
2178 "id" : 23,
2179 "runtime_data" : [],
2180 "primitives" : []
2181 },
2182 {
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002183 "name" : "FabricIngress.next.set_vlan",
2184 "id" : 24,
2185 "runtime_data" : [
2186 {
2187 "name" : "new_vlan_id",
2188 "bitwidth" : 12
2189 }
2190 ],
2191 "primitives" : [
2192 {
2193 "op" : "assign",
2194 "parameters" : [
2195 {
2196 "type" : "field",
2197 "value" : ["vlan_tag", "vlan_id"]
2198 },
2199 {
2200 "type" : "runtime_data",
2201 "value" : 0
2202 }
2203 ],
2204 "source_info" : {
2205 "filename" : "include/control/next.p4",
2206 "line" : 61,
2207 "column" : 8,
2208 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2209 }
2210 }
2211 ]
2212 },
2213 {
2214 "name" : "FabricIngress.next.output_simple",
2215 "id" : 25,
2216 "runtime_data" : [
2217 {
2218 "name" : "port_num",
2219 "bitwidth" : 9
2220 }
2221 ],
2222 "primitives" : [
2223 {
2224 "op" : "assign",
2225 "parameters" : [
2226 {
2227 "type" : "field",
2228 "value" : ["standard_metadata", "egress_spec"]
2229 },
2230 {
2231 "type" : "runtime_data",
2232 "value" : 0
2233 }
2234 ],
2235 "source_info" : {
2236 "filename" : "include/control/next.p4",
2237 "line" : 85,
2238 "column" : 8,
2239 "source_fragment" : "standard_metadata.egress_spec = port_num"
2240 }
2241 }
2242 ]
2243 },
2244 {
2245 "name" : "FabricIngress.next.set_vlan_output",
2246 "id" : 26,
2247 "runtime_data" : [
2248 {
2249 "name" : "new_vlan_id",
2250 "bitwidth" : 12
2251 },
2252 {
2253 "name" : "port_num",
2254 "bitwidth" : 9
2255 }
2256 ],
2257 "primitives" : [
2258 {
2259 "op" : "assign",
2260 "parameters" : [
2261 {
2262 "type" : "field",
2263 "value" : ["vlan_tag", "vlan_id"]
2264 },
2265 {
2266 "type" : "runtime_data",
2267 "value" : 0
2268 }
2269 ],
2270 "source_info" : {
2271 "filename" : "include/control/next.p4",
2272 "line" : 90,
2273 "column" : 8,
2274 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id"
2275 }
2276 },
2277 {
2278 "op" : "assign",
2279 "parameters" : [
2280 {
2281 "type" : "field",
2282 "value" : ["standard_metadata", "egress_spec"]
2283 },
2284 {
2285 "type" : "runtime_data",
2286 "value" : 1
2287 }
2288 ],
2289 "source_info" : {
2290 "filename" : "include/control/next.p4",
2291 "line" : 85,
2292 "column" : 8,
2293 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2294 }
2295 }
2296 ]
2297 },
2298 {
2299 "name" : "FabricIngress.next.l3_routing_simple",
2300 "id" : 27,
2301 "runtime_data" : [
2302 {
2303 "name" : "port_num",
2304 "bitwidth" : 9
2305 },
2306 {
2307 "name" : "smac",
2308 "bitwidth" : 48
2309 },
2310 {
2311 "name" : "dmac",
2312 "bitwidth" : 48
2313 }
2314 ],
2315 "primitives" : [
2316 {
2317 "op" : "assign",
2318 "parameters" : [
2319 {
2320 "type" : "field",
2321 "value" : ["ethernet", "src_addr"]
2322 },
2323 {
2324 "type" : "runtime_data",
2325 "value" : 1
2326 }
2327 ],
2328 "source_info" : {
2329 "filename" : "include/control/next.p4",
2330 "line" : 37,
2331 "column" : 8,
2332 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2333 }
2334 },
2335 {
2336 "op" : "assign",
2337 "parameters" : [
2338 {
2339 "type" : "field",
2340 "value" : ["ethernet", "dst_addr"]
2341 },
2342 {
2343 "type" : "runtime_data",
2344 "value" : 2
2345 }
2346 ],
2347 "source_info" : {
2348 "filename" : "include/control/next.p4",
2349 "line" : 41,
2350 "column" : 8,
2351 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2352 }
2353 },
2354 {
2355 "op" : "assign",
2356 "parameters" : [
2357 {
2358 "type" : "field",
2359 "value" : ["standard_metadata", "egress_spec"]
2360 },
2361 {
2362 "type" : "runtime_data",
2363 "value" : 0
2364 }
2365 ],
2366 "source_info" : {
2367 "filename" : "include/control/next.p4",
2368 "line" : 85,
2369 "column" : 8,
2370 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2371 }
2372 }
2373 ]
2374 },
2375 {
2376 "name" : "FabricIngress.next.mpls_routing_v4_simple",
2377 "id" : 28,
2378 "runtime_data" : [
2379 {
2380 "name" : "port_num",
2381 "bitwidth" : 9
2382 },
2383 {
2384 "name" : "smac",
2385 "bitwidth" : 48
2386 },
2387 {
2388 "name" : "dmac",
2389 "bitwidth" : 48
2390 },
2391 {
2392 "name" : "label",
2393 "bitwidth" : 20
2394 }
2395 ],
2396 "primitives" : [
2397 {
2398 "op" : "assign",
2399 "parameters" : [
2400 {
2401 "type" : "field",
2402 "value" : ["ethernet", "src_addr"]
2403 },
2404 {
2405 "type" : "runtime_data",
2406 "value" : 1
2407 }
2408 ],
2409 "source_info" : {
2410 "filename" : "include/control/next.p4",
2411 "line" : 37,
2412 "column" : 8,
2413 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2414 }
2415 },
2416 {
2417 "op" : "assign",
2418 "parameters" : [
2419 {
2420 "type" : "field",
2421 "value" : ["ethernet", "dst_addr"]
2422 },
2423 {
2424 "type" : "runtime_data",
2425 "value" : 2
2426 }
2427 ],
2428 "source_info" : {
2429 "filename" : "include/control/next.p4",
2430 "line" : 41,
2431 "column" : 8,
2432 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2433 }
2434 },
2435 {
2436 "op" : "assign",
2437 "parameters" : [
2438 {
2439 "type" : "field",
2440 "value" : ["standard_metadata", "egress_spec"]
2441 },
2442 {
2443 "type" : "runtime_data",
2444 "value" : 0
2445 }
2446 ],
2447 "source_info" : {
2448 "filename" : "include/control/next.p4",
2449 "line" : 85,
2450 "column" : 8,
2451 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2452 }
2453 },
2454 {
2455 "op" : "add_header",
2456 "parameters" : [
2457 {
2458 "type" : "header",
2459 "value" : "mpls"
2460 }
2461 ],
2462 "source_info" : {
2463 "filename" : "include/control/next.p4",
2464 "line" : 46,
2465 "column" : 8,
2466 "source_fragment" : "hdr.mpls.setValid()"
2467 }
2468 },
2469 {
2470 "op" : "assign",
2471 "parameters" : [
2472 {
2473 "type" : "field",
2474 "value" : ["vlan_tag", "ether_type"]
2475 },
2476 {
2477 "type" : "hexstr",
2478 "value" : "0x8847"
2479 }
2480 ],
2481 "source_info" : {
2482 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002483 "line" : 90,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002484 "column" : 31,
2485 "source_fragment" : "0x8847; ..."
2486 }
2487 },
2488 {
2489 "op" : "assign",
2490 "parameters" : [
2491 {
2492 "type" : "field",
2493 "value" : ["mpls", "label"]
2494 },
2495 {
2496 "type" : "runtime_data",
2497 "value" : 3
2498 }
2499 ],
2500 "source_info" : {
2501 "filename" : "include/control/next.p4",
2502 "line" : 48,
2503 "column" : 8,
2504 "source_fragment" : "hdr.mpls.label = label; ..."
2505 }
2506 },
2507 {
2508 "op" : "assign",
2509 "parameters" : [
2510 {
2511 "type" : "field",
2512 "value" : ["mpls", "tc"]
2513 },
2514 {
2515 "type" : "hexstr",
2516 "value" : "0x00"
2517 }
2518 ],
2519 "source_info" : {
2520 "filename" : "include/control/next.p4",
2521 "line" : 49,
2522 "column" : 8,
2523 "source_fragment" : "hdr.mpls.tc = tc; ..."
2524 }
2525 },
2526 {
2527 "op" : "assign",
2528 "parameters" : [
2529 {
2530 "type" : "field",
2531 "value" : ["mpls", "bos"]
2532 },
2533 {
2534 "type" : "hexstr",
2535 "value" : "0x01"
2536 }
2537 ],
2538 "source_info" : {
2539 "filename" : "include/control/next.p4",
2540 "line" : 50,
2541 "column" : 8,
2542 "source_fragment" : "hdr.mpls.bos = 1w1"
2543 }
2544 },
2545 {
2546 "op" : "assign",
2547 "parameters" : [
2548 {
2549 "type" : "field",
2550 "value" : ["mpls", "ttl"]
2551 },
2552 {
2553 "type" : "hexstr",
2554 "value" : "0x40"
2555 }
2556 ],
2557 "source_info" : {
2558 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002559 "line" : 110,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002560 "column" : 32,
2561 "source_fragment" : "64; ..."
2562 }
2563 }
2564 ]
2565 },
2566 {
2567 "name" : "FabricIngress.next.mpls_routing_v6_simple",
2568 "id" : 29,
2569 "runtime_data" : [
2570 {
2571 "name" : "port_num",
2572 "bitwidth" : 9
2573 },
2574 {
2575 "name" : "smac",
2576 "bitwidth" : 48
2577 },
2578 {
2579 "name" : "dmac",
2580 "bitwidth" : 48
2581 },
2582 {
2583 "name" : "label",
2584 "bitwidth" : 20
2585 }
2586 ],
2587 "primitives" : [
2588 {
2589 "op" : "assign",
2590 "parameters" : [
2591 {
2592 "type" : "field",
2593 "value" : ["ethernet", "src_addr"]
2594 },
2595 {
2596 "type" : "runtime_data",
2597 "value" : 1
2598 }
2599 ],
2600 "source_info" : {
2601 "filename" : "include/control/next.p4",
2602 "line" : 37,
2603 "column" : 8,
2604 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2605 }
2606 },
2607 {
2608 "op" : "assign",
2609 "parameters" : [
2610 {
2611 "type" : "field",
2612 "value" : ["ethernet", "dst_addr"]
2613 },
2614 {
2615 "type" : "runtime_data",
2616 "value" : 2
2617 }
2618 ],
2619 "source_info" : {
2620 "filename" : "include/control/next.p4",
2621 "line" : 41,
2622 "column" : 8,
2623 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2624 }
2625 },
2626 {
2627 "op" : "assign",
2628 "parameters" : [
2629 {
2630 "type" : "field",
2631 "value" : ["standard_metadata", "egress_spec"]
2632 },
2633 {
2634 "type" : "runtime_data",
2635 "value" : 0
2636 }
2637 ],
2638 "source_info" : {
2639 "filename" : "include/control/next.p4",
2640 "line" : 85,
2641 "column" : 8,
2642 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2643 }
2644 },
2645 {
2646 "op" : "add_header",
2647 "parameters" : [
2648 {
2649 "type" : "header",
2650 "value" : "mpls"
2651 }
2652 ],
2653 "source_info" : {
2654 "filename" : "include/control/next.p4",
2655 "line" : 46,
2656 "column" : 8,
2657 "source_fragment" : "hdr.mpls.setValid()"
2658 }
2659 },
2660 {
2661 "op" : "assign",
2662 "parameters" : [
2663 {
2664 "type" : "field",
2665 "value" : ["vlan_tag", "ether_type"]
2666 },
2667 {
2668 "type" : "hexstr",
2669 "value" : "0x8847"
2670 }
2671 ],
2672 "source_info" : {
2673 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002674 "line" : 90,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002675 "column" : 31,
2676 "source_fragment" : "0x8847; ..."
2677 }
2678 },
2679 {
2680 "op" : "assign",
2681 "parameters" : [
2682 {
2683 "type" : "field",
2684 "value" : ["mpls", "label"]
2685 },
2686 {
2687 "type" : "runtime_data",
2688 "value" : 3
2689 }
2690 ],
2691 "source_info" : {
2692 "filename" : "include/control/next.p4",
2693 "line" : 48,
2694 "column" : 8,
2695 "source_fragment" : "hdr.mpls.label = label; ..."
2696 }
2697 },
2698 {
2699 "op" : "assign",
2700 "parameters" : [
2701 {
2702 "type" : "field",
2703 "value" : ["mpls", "tc"]
2704 },
2705 {
2706 "type" : "hexstr",
2707 "value" : "0x00"
2708 }
2709 ],
2710 "source_info" : {
2711 "filename" : "include/control/next.p4",
2712 "line" : 49,
2713 "column" : 8,
2714 "source_fragment" : "hdr.mpls.tc = tc; ..."
2715 }
2716 },
2717 {
2718 "op" : "assign",
2719 "parameters" : [
2720 {
2721 "type" : "field",
2722 "value" : ["mpls", "bos"]
2723 },
2724 {
2725 "type" : "hexstr",
2726 "value" : "0x01"
2727 }
2728 ],
2729 "source_info" : {
2730 "filename" : "include/control/next.p4",
2731 "line" : 50,
2732 "column" : 8,
2733 "source_fragment" : "hdr.mpls.bos = 1w1"
2734 }
2735 },
2736 {
2737 "op" : "assign",
2738 "parameters" : [
2739 {
2740 "type" : "field",
2741 "value" : ["mpls", "ttl"]
2742 },
2743 {
2744 "type" : "hexstr",
2745 "value" : "0x40"
2746 }
2747 ],
2748 "source_info" : {
2749 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07002750 "line" : 110,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09002751 "column" : 32,
2752 "source_fragment" : "64; ..."
2753 }
2754 }
2755 ]
2756 },
2757 {
2758 "name" : "FabricIngress.next.l3_routing_vlan",
2759 "id" : 30,
2760 "runtime_data" : [
2761 {
2762 "name" : "port_num",
2763 "bitwidth" : 9
2764 },
2765 {
2766 "name" : "smac",
2767 "bitwidth" : 48
2768 },
2769 {
2770 "name" : "dmac",
2771 "bitwidth" : 48
2772 },
2773 {
2774 "name" : "new_vlan_id",
2775 "bitwidth" : 12
2776 }
2777 ],
2778 "primitives" : [
2779 {
2780 "op" : "assign",
2781 "parameters" : [
2782 {
2783 "type" : "field",
2784 "value" : ["ethernet", "src_addr"]
2785 },
2786 {
2787 "type" : "runtime_data",
2788 "value" : 1
2789 }
2790 ],
2791 "source_info" : {
2792 "filename" : "include/control/next.p4",
2793 "line" : 37,
2794 "column" : 8,
2795 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2796 }
2797 },
2798 {
2799 "op" : "assign",
2800 "parameters" : [
2801 {
2802 "type" : "field",
2803 "value" : ["ethernet", "dst_addr"]
2804 },
2805 {
2806 "type" : "runtime_data",
2807 "value" : 2
2808 }
2809 ],
2810 "source_info" : {
2811 "filename" : "include/control/next.p4",
2812 "line" : 41,
2813 "column" : 8,
2814 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2815 }
2816 },
2817 {
2818 "op" : "assign",
2819 "parameters" : [
2820 {
2821 "type" : "field",
2822 "value" : ["vlan_tag", "vlan_id"]
2823 },
2824 {
2825 "type" : "runtime_data",
2826 "value" : 3
2827 }
2828 ],
2829 "source_info" : {
2830 "filename" : "include/control/next.p4",
2831 "line" : 90,
2832 "column" : 8,
2833 "source_fragment" : "hdr.vlan_tag.vlan_id = new_vlan_id; ..."
2834 }
2835 },
2836 {
2837 "op" : "assign",
2838 "parameters" : [
2839 {
2840 "type" : "field",
2841 "value" : ["standard_metadata", "egress_spec"]
2842 },
2843 {
2844 "type" : "runtime_data",
2845 "value" : 0
2846 }
2847 ],
2848 "source_info" : {
2849 "filename" : "include/control/next.p4",
2850 "line" : 85,
2851 "column" : 8,
2852 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2853 }
2854 }
2855 ]
2856 },
2857 {
2858 "name" : "FabricIngress.next.l3_routing_hashed",
2859 "id" : 31,
2860 "runtime_data" : [
2861 {
2862 "name" : "port_num",
2863 "bitwidth" : 9
2864 },
2865 {
2866 "name" : "smac",
2867 "bitwidth" : 48
2868 },
2869 {
2870 "name" : "dmac",
2871 "bitwidth" : 48
2872 }
2873 ],
2874 "primitives" : [
2875 {
2876 "op" : "assign",
2877 "parameters" : [
2878 {
2879 "type" : "field",
2880 "value" : ["ethernet", "src_addr"]
2881 },
2882 {
2883 "type" : "runtime_data",
2884 "value" : 1
2885 }
2886 ],
2887 "source_info" : {
2888 "filename" : "include/control/next.p4",
2889 "line" : 37,
2890 "column" : 8,
2891 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2892 }
2893 },
2894 {
2895 "op" : "assign",
2896 "parameters" : [
2897 {
2898 "type" : "field",
2899 "value" : ["ethernet", "dst_addr"]
2900 },
2901 {
2902 "type" : "runtime_data",
2903 "value" : 2
2904 }
2905 ],
2906 "source_info" : {
2907 "filename" : "include/control/next.p4",
2908 "line" : 41,
2909 "column" : 8,
2910 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2911 }
2912 },
2913 {
2914 "op" : "assign",
2915 "parameters" : [
2916 {
2917 "type" : "field",
2918 "value" : ["standard_metadata", "egress_spec"]
2919 },
2920 {
2921 "type" : "runtime_data",
2922 "value" : 0
2923 }
2924 ],
2925 "source_info" : {
2926 "filename" : "include/control/next.p4",
2927 "line" : 149,
2928 "column" : 8,
2929 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
2930 }
2931 }
2932 ]
2933 },
2934 {
2935 "name" : "FabricIngress.next.mpls_routing_v4_hashed",
2936 "id" : 32,
2937 "runtime_data" : [
2938 {
2939 "name" : "port_num",
2940 "bitwidth" : 9
2941 },
2942 {
2943 "name" : "smac",
2944 "bitwidth" : 48
2945 },
2946 {
2947 "name" : "dmac",
2948 "bitwidth" : 48
2949 },
2950 {
2951 "name" : "label",
2952 "bitwidth" : 20
2953 }
2954 ],
2955 "primitives" : [
2956 {
2957 "op" : "assign",
2958 "parameters" : [
2959 {
2960 "type" : "field",
2961 "value" : ["ethernet", "src_addr"]
2962 },
2963 {
2964 "type" : "runtime_data",
2965 "value" : 1
2966 }
2967 ],
2968 "source_info" : {
2969 "filename" : "include/control/next.p4",
2970 "line" : 37,
2971 "column" : 8,
2972 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
2973 }
2974 },
2975 {
2976 "op" : "assign",
2977 "parameters" : [
2978 {
2979 "type" : "field",
2980 "value" : ["ethernet", "dst_addr"]
2981 },
2982 {
2983 "type" : "runtime_data",
2984 "value" : 2
2985 }
2986 ],
2987 "source_info" : {
2988 "filename" : "include/control/next.p4",
2989 "line" : 41,
2990 "column" : 8,
2991 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
2992 }
2993 },
2994 {
2995 "op" : "assign",
2996 "parameters" : [
2997 {
2998 "type" : "field",
2999 "value" : ["standard_metadata", "egress_spec"]
3000 },
3001 {
3002 "type" : "runtime_data",
3003 "value" : 0
3004 }
3005 ],
3006 "source_info" : {
3007 "filename" : "include/control/next.p4",
3008 "line" : 149,
3009 "column" : 8,
3010 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3011 }
3012 },
3013 {
3014 "op" : "add_header",
3015 "parameters" : [
3016 {
3017 "type" : "header",
3018 "value" : "mpls"
3019 }
3020 ],
3021 "source_info" : {
3022 "filename" : "include/control/next.p4",
3023 "line" : 46,
3024 "column" : 8,
3025 "source_fragment" : "hdr.mpls.setValid()"
3026 }
3027 },
3028 {
3029 "op" : "assign",
3030 "parameters" : [
3031 {
3032 "type" : "field",
3033 "value" : ["vlan_tag", "ether_type"]
3034 },
3035 {
3036 "type" : "hexstr",
3037 "value" : "0x8847"
3038 }
3039 ],
3040 "source_info" : {
3041 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003042 "line" : 90,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003043 "column" : 31,
3044 "source_fragment" : "0x8847; ..."
3045 }
3046 },
3047 {
3048 "op" : "assign",
3049 "parameters" : [
3050 {
3051 "type" : "field",
3052 "value" : ["mpls", "label"]
3053 },
3054 {
3055 "type" : "runtime_data",
3056 "value" : 3
3057 }
3058 ],
3059 "source_info" : {
3060 "filename" : "include/control/next.p4",
3061 "line" : 48,
3062 "column" : 8,
3063 "source_fragment" : "hdr.mpls.label = label; ..."
3064 }
3065 },
3066 {
3067 "op" : "assign",
3068 "parameters" : [
3069 {
3070 "type" : "field",
3071 "value" : ["mpls", "tc"]
3072 },
3073 {
3074 "type" : "hexstr",
3075 "value" : "0x00"
3076 }
3077 ],
3078 "source_info" : {
3079 "filename" : "include/control/next.p4",
3080 "line" : 49,
3081 "column" : 8,
3082 "source_fragment" : "hdr.mpls.tc = tc; ..."
3083 }
3084 },
3085 {
3086 "op" : "assign",
3087 "parameters" : [
3088 {
3089 "type" : "field",
3090 "value" : ["mpls", "bos"]
3091 },
3092 {
3093 "type" : "hexstr",
3094 "value" : "0x01"
3095 }
3096 ],
3097 "source_info" : {
3098 "filename" : "include/control/next.p4",
3099 "line" : 50,
3100 "column" : 8,
3101 "source_fragment" : "hdr.mpls.bos = 1w1"
3102 }
3103 },
3104 {
3105 "op" : "assign",
3106 "parameters" : [
3107 {
3108 "type" : "field",
3109 "value" : ["mpls", "ttl"]
3110 },
3111 {
3112 "type" : "hexstr",
3113 "value" : "0x40"
3114 }
3115 ],
3116 "source_info" : {
3117 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003118 "line" : 110,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003119 "column" : 32,
3120 "source_fragment" : "64; ..."
3121 }
3122 }
3123 ]
3124 },
3125 {
3126 "name" : "FabricIngress.next.mpls_routing_v6_hashed",
3127 "id" : 33,
3128 "runtime_data" : [
3129 {
3130 "name" : "port_num",
3131 "bitwidth" : 9
3132 },
3133 {
3134 "name" : "smac",
3135 "bitwidth" : 48
3136 },
3137 {
3138 "name" : "dmac",
3139 "bitwidth" : 48
3140 },
3141 {
3142 "name" : "label",
3143 "bitwidth" : 20
3144 }
3145 ],
3146 "primitives" : [
3147 {
3148 "op" : "assign",
3149 "parameters" : [
3150 {
3151 "type" : "field",
3152 "value" : ["ethernet", "src_addr"]
3153 },
3154 {
3155 "type" : "runtime_data",
3156 "value" : 1
3157 }
3158 ],
3159 "source_info" : {
3160 "filename" : "include/control/next.p4",
3161 "line" : 37,
3162 "column" : 8,
3163 "source_fragment" : "hdr.ethernet.src_addr = smac; ..."
3164 }
3165 },
3166 {
3167 "op" : "assign",
3168 "parameters" : [
3169 {
3170 "type" : "field",
3171 "value" : ["ethernet", "dst_addr"]
3172 },
3173 {
3174 "type" : "runtime_data",
3175 "value" : 2
3176 }
3177 ],
3178 "source_info" : {
3179 "filename" : "include/control/next.p4",
3180 "line" : 41,
3181 "column" : 8,
3182 "source_fragment" : "hdr.ethernet.dst_addr = dmac; ..."
3183 }
3184 },
3185 {
3186 "op" : "assign",
3187 "parameters" : [
3188 {
3189 "type" : "field",
3190 "value" : ["standard_metadata", "egress_spec"]
3191 },
3192 {
3193 "type" : "runtime_data",
3194 "value" : 0
3195 }
3196 ],
3197 "source_info" : {
3198 "filename" : "include/control/next.p4",
3199 "line" : 149,
3200 "column" : 8,
3201 "source_fragment" : "standard_metadata.egress_spec = port_num; ..."
3202 }
3203 },
3204 {
3205 "op" : "add_header",
3206 "parameters" : [
3207 {
3208 "type" : "header",
3209 "value" : "mpls"
3210 }
3211 ],
3212 "source_info" : {
3213 "filename" : "include/control/next.p4",
3214 "line" : 46,
3215 "column" : 8,
3216 "source_fragment" : "hdr.mpls.setValid()"
3217 }
3218 },
3219 {
3220 "op" : "assign",
3221 "parameters" : [
3222 {
3223 "type" : "field",
3224 "value" : ["vlan_tag", "ether_type"]
3225 },
3226 {
3227 "type" : "hexstr",
3228 "value" : "0x8847"
3229 }
3230 ],
3231 "source_info" : {
3232 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003233 "line" : 90,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003234 "column" : 31,
3235 "source_fragment" : "0x8847; ..."
3236 }
3237 },
3238 {
3239 "op" : "assign",
3240 "parameters" : [
3241 {
3242 "type" : "field",
3243 "value" : ["mpls", "label"]
3244 },
3245 {
3246 "type" : "runtime_data",
3247 "value" : 3
3248 }
3249 ],
3250 "source_info" : {
3251 "filename" : "include/control/next.p4",
3252 "line" : 48,
3253 "column" : 8,
3254 "source_fragment" : "hdr.mpls.label = label; ..."
3255 }
3256 },
3257 {
3258 "op" : "assign",
3259 "parameters" : [
3260 {
3261 "type" : "field",
3262 "value" : ["mpls", "tc"]
3263 },
3264 {
3265 "type" : "hexstr",
3266 "value" : "0x00"
3267 }
3268 ],
3269 "source_info" : {
3270 "filename" : "include/control/next.p4",
3271 "line" : 49,
3272 "column" : 8,
3273 "source_fragment" : "hdr.mpls.tc = tc; ..."
3274 }
3275 },
3276 {
3277 "op" : "assign",
3278 "parameters" : [
3279 {
3280 "type" : "field",
3281 "value" : ["mpls", "bos"]
3282 },
3283 {
3284 "type" : "hexstr",
3285 "value" : "0x01"
3286 }
3287 ],
3288 "source_info" : {
3289 "filename" : "include/control/next.p4",
3290 "line" : 50,
3291 "column" : 8,
3292 "source_fragment" : "hdr.mpls.bos = 1w1"
3293 }
3294 },
3295 {
3296 "op" : "assign",
3297 "parameters" : [
3298 {
3299 "type" : "field",
3300 "value" : ["mpls", "ttl"]
3301 },
3302 {
3303 "type" : "hexstr",
3304 "value" : "0x40"
3305 }
3306 ],
3307 "source_info" : {
3308 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003309 "line" : 110,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003310 "column" : 32,
3311 "source_fragment" : "64; ..."
3312 }
3313 }
3314 ]
3315 },
3316 {
3317 "name" : "FabricIngress.next.set_mcast_group",
3318 "id" : 34,
3319 "runtime_data" : [
3320 {
3321 "name" : "gid",
3322 "bitwidth" : 16
3323 }
3324 ],
3325 "primitives" : [
3326 {
3327 "op" : "assign",
3328 "parameters" : [
3329 {
3330 "type" : "field",
3331 "value" : ["standard_metadata", "mcast_grp"]
3332 },
3333 {
3334 "type" : "runtime_data",
3335 "value" : 0
3336 }
3337 ],
3338 "source_info" : {
3339 "filename" : "include/control/next.p4",
3340 "line" : 202,
3341 "column" : 8,
3342 "source_fragment" : "standard_metadata.mcast_grp = gid"
3343 }
3344 },
3345 {
3346 "op" : "assign",
3347 "parameters" : [
3348 {
3349 "type" : "field",
3350 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
3351 },
3352 {
3353 "type" : "expression",
3354 "value" : {
3355 "type" : "expression",
3356 "value" : {
3357 "op" : "b2d",
3358 "left" : null,
3359 "right" : {
3360 "type" : "bool",
3361 "value" : true
3362 }
3363 }
3364 }
3365 }
3366 ],
3367 "source_info" : {
3368 "filename" : "include/control/next.p4",
3369 "line" : 203,
3370 "column" : 8,
3371 "source_fragment" : "fabric_metadata.is_multicast = true"
3372 }
3373 }
3374 ]
3375 },
3376 {
3377 "name" : "act",
3378 "id" : 35,
3379 "runtime_data" : [],
3380 "primitives" : [
3381 {
3382 "op" : "assign",
3383 "parameters" : [
3384 {
3385 "type" : "field",
3386 "value" : ["standard_metadata", "egress_spec"]
3387 },
3388 {
3389 "type" : "field",
3390 "value" : ["packet_out", "egress_port"]
3391 }
3392 ],
3393 "source_info" : {
3394 "filename" : "include/control/packetio.p4",
3395 "line" : 26,
3396 "column" : 12,
3397 "source_fragment" : "standard_metadata.egress_spec = hdr.packet_out.egress_port"
3398 }
3399 },
3400 {
3401 "op" : "remove_header",
3402 "parameters" : [
3403 {
3404 "type" : "header",
3405 "value" : "packet_out"
3406 }
3407 ],
3408 "source_info" : {
3409 "filename" : "include/control/packetio.p4",
3410 "line" : 27,
3411 "column" : 12,
3412 "source_fragment" : "hdr.packet_out.setInvalid()"
3413 }
3414 }
3415 ]
3416 },
3417 {
3418 "name" : "act_0",
3419 "id" : 36,
3420 "runtime_data" : [],
3421 "primitives" : [
3422 {
3423 "op" : "assign",
3424 "parameters" : [
3425 {
3426 "type" : "field",
3427 "value" : ["vlan_tag", "ether_type"]
3428 },
3429 {
3430 "type" : "hexstr",
3431 "value" : "0x0800"
3432 }
3433 ],
3434 "source_info" : {
3435 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07003436 "line" : 92,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09003437 "column" : 31,
3438 "source_fragment" : "0x0800; ..."
3439 }
3440 }
3441 ]
3442 },
3443 {
3444 "name" : "act_1",
3445 "id" : 37,
3446 "runtime_data" : [],
3447 "primitives" : [
3448 {
3449 "op" : "assign",
3450 "parameters" : [
3451 {
3452 "type" : "field",
3453 "value" : ["scalars", "next_hasReturned_0"]
3454 },
3455 {
3456 "type" : "expression",
3457 "value" : {
3458 "type" : "expression",
3459 "value" : {
3460 "op" : "b2d",
3461 "left" : null,
3462 "right" : {
3463 "type" : "bool",
3464 "value" : false
3465 }
3466 }
3467 }
3468 }
3469 ]
3470 }
3471 ]
3472 },
3473 {
3474 "name" : "act_2",
3475 "id" : 38,
3476 "runtime_data" : [],
3477 "primitives" : [
3478 {
3479 "op" : "assign",
3480 "parameters" : [
3481 {
3482 "type" : "field",
3483 "value" : ["scalars", "next_tmp_4"]
3484 },
3485 {
3486 "type" : "expression",
3487 "value" : {
3488 "type" : "expression",
3489 "value" : {
3490 "op" : "b2d",
3491 "left" : null,
3492 "right" : {
3493 "type" : "bool",
3494 "value" : true
3495 }
3496 }
3497 }
3498 }
3499 ]
3500 }
3501 ]
3502 },
3503 {
3504 "name" : "act_3",
3505 "id" : 39,
3506 "runtime_data" : [],
3507 "primitives" : [
3508 {
3509 "op" : "assign",
3510 "parameters" : [
3511 {
3512 "type" : "field",
3513 "value" : ["scalars", "next_tmp_4"]
3514 },
3515 {
3516 "type" : "expression",
3517 "value" : {
3518 "type" : "expression",
3519 "value" : {
3520 "op" : "b2d",
3521 "left" : null,
3522 "right" : {
3523 "type" : "bool",
3524 "value" : false
3525 }
3526 }
3527 }
3528 }
3529 ]
3530 }
3531 ]
3532 },
3533 {
3534 "name" : "act_4",
3535 "id" : 40,
3536 "runtime_data" : [],
3537 "primitives" : [
3538 {
3539 "op" : "assign",
3540 "parameters" : [
3541 {
3542 "type" : "field",
3543 "value" : ["scalars", "next_tmp_3"]
3544 },
3545 {
3546 "type" : "expression",
3547 "value" : {
3548 "type" : "expression",
3549 "value" : {
3550 "op" : "b2d",
3551 "left" : null,
3552 "right" : {
3553 "type" : "bool",
3554 "value" : true
3555 }
3556 }
3557 }
3558 }
3559 ]
3560 }
3561 ]
3562 },
3563 {
3564 "name" : "act_5",
3565 "id" : 41,
3566 "runtime_data" : [],
3567 "primitives" : [
3568 {
3569 "op" : "assign",
3570 "parameters" : [
3571 {
3572 "type" : "field",
3573 "value" : ["scalars", "next_tmp_3"]
3574 },
3575 {
3576 "type" : "expression",
3577 "value" : {
3578 "type" : "expression",
3579 "value" : {
3580 "op" : "b2d",
3581 "left" : null,
3582 "right" : {
3583 "type" : "bool",
3584 "value" : false
3585 }
3586 }
3587 }
3588 }
3589 ]
3590 }
3591 ]
3592 },
3593 {
3594 "name" : "act_6",
3595 "id" : 42,
3596 "runtime_data" : [],
3597 "primitives" : [
3598 {
3599 "op" : "assign",
3600 "parameters" : [
3601 {
3602 "type" : "field",
3603 "value" : ["scalars", "next_tmp_2"]
3604 },
3605 {
3606 "type" : "expression",
3607 "value" : {
3608 "type" : "expression",
3609 "value" : {
3610 "op" : "b2d",
3611 "left" : null,
3612 "right" : {
3613 "type" : "bool",
3614 "value" : true
3615 }
3616 }
3617 }
3618 }
3619 ]
3620 }
3621 ]
3622 },
3623 {
3624 "name" : "act_7",
3625 "id" : 43,
3626 "runtime_data" : [],
3627 "primitives" : [
3628 {
3629 "op" : "assign",
3630 "parameters" : [
3631 {
3632 "type" : "field",
3633 "value" : ["scalars", "next_tmp_2"]
3634 },
3635 {
3636 "type" : "expression",
3637 "value" : {
3638 "type" : "expression",
3639 "value" : {
3640 "op" : "b2d",
3641 "left" : null,
3642 "right" : {
3643 "type" : "bool",
3644 "value" : false
3645 }
3646 }
3647 }
3648 }
3649 ]
3650 }
3651 ]
3652 },
3653 {
3654 "name" : "act_8",
3655 "id" : 44,
3656 "runtime_data" : [],
3657 "primitives" : [
3658 {
3659 "op" : "assign",
3660 "parameters" : [
3661 {
3662 "type" : "field",
3663 "value" : ["scalars", "next_hasReturned_0"]
3664 },
3665 {
3666 "type" : "expression",
3667 "value" : {
3668 "type" : "expression",
3669 "value" : {
3670 "op" : "b2d",
3671 "left" : null,
3672 "right" : {
3673 "type" : "bool",
3674 "value" : true
3675 }
3676 }
3677 }
3678 }
3679 ],
3680 "source_info" : {
3681 "filename" : "include/control/next.p4",
3682 "line" : 223,
3683 "column" : 20,
3684 "source_fragment" : "return"
3685 }
3686 }
3687 ]
3688 },
3689 {
3690 "name" : "act_9",
3691 "id" : 45,
3692 "runtime_data" : [],
3693 "primitives" : [
3694 {
3695 "op" : "assign",
3696 "parameters" : [
3697 {
3698 "type" : "field",
3699 "value" : ["ipv4", "ttl"]
3700 },
3701 {
3702 "type" : "expression",
3703 "value" : {
3704 "type" : "expression",
3705 "value" : {
3706 "op" : "&",
3707 "left" : {
3708 "type" : "expression",
3709 "value" : {
3710 "op" : "+",
3711 "left" : {
3712 "type" : "field",
3713 "value" : ["ipv4", "ttl"]
3714 },
3715 "right" : {
3716 "type" : "hexstr",
3717 "value" : "0xff"
3718 }
3719 }
3720 },
3721 "right" : {
3722 "type" : "hexstr",
3723 "value" : "0xff"
3724 }
3725 }
3726 }
3727 }
3728 ],
3729 "source_info" : {
3730 "filename" : "include/control/next.p4",
3731 "line" : 230,
3732 "column" : 16,
3733 "source_fragment" : "hdr.ipv4.ttl = hdr.ipv4.ttl - 1"
3734 }
3735 }
3736 ]
3737 },
3738 {
3739 "name" : "act_10",
3740 "id" : 46,
3741 "runtime_data" : [],
3742 "primitives" : [
3743 {
3744 "op" : "assign",
3745 "parameters" : [
3746 {
3747 "type" : "field",
3748 "value" : ["scalars", "tmp_3"]
3749 },
3750 {
3751 "type" : "expression",
3752 "value" : {
3753 "type" : "expression",
3754 "value" : {
3755 "op" : "&",
3756 "left" : {
3757 "type" : "field",
3758 "value" : ["standard_metadata", "egress_spec"]
3759 },
3760 "right" : {
3761 "type" : "hexstr",
3762 "value" : "0xffffffff"
3763 }
3764 }
3765 }
3766 }
3767 ],
3768 "source_info" : {
3769 "filename" : "include/control/port_counter.p4",
3770 "line" : 28,
3771 "column" : 38,
3772 "source_fragment" : "(bit<32>)standard_metadata.egress_spec"
3773 }
3774 },
3775 {
3776 "op" : "count",
3777 "parameters" : [
3778 {
3779 "type" : "counter_array",
3780 "value" : "FabricIngress.port_counters_control.egress_port_counter"
3781 },
3782 {
3783 "type" : "field",
3784 "value" : ["scalars", "tmp_3"]
3785 }
3786 ],
3787 "source_info" : {
3788 "filename" : "include/control/port_counter.p4",
3789 "line" : 28,
3790 "column" : 12,
3791 "source_fragment" : "egress_port_counter.count((bit<32>)standard_metadata.egress_spec)"
3792 }
3793 }
3794 ]
3795 },
3796 {
3797 "name" : "act_11",
3798 "id" : 47,
3799 "runtime_data" : [],
3800 "primitives" : [
3801 {
3802 "op" : "assign",
3803 "parameters" : [
3804 {
3805 "type" : "field",
3806 "value" : ["scalars", "tmp_4"]
3807 },
3808 {
3809 "type" : "expression",
3810 "value" : {
3811 "type" : "expression",
3812 "value" : {
3813 "op" : "&",
3814 "left" : {
3815 "type" : "field",
3816 "value" : ["standard_metadata", "ingress_port"]
3817 },
3818 "right" : {
3819 "type" : "hexstr",
3820 "value" : "0xffffffff"
3821 }
3822 }
3823 }
3824 }
3825 ],
3826 "source_info" : {
3827 "filename" : "include/control/port_counter.p4",
3828 "line" : 31,
3829 "column" : 39,
3830 "source_fragment" : "(bit<32>)standard_metadata.ingress_port"
3831 }
3832 },
3833 {
3834 "op" : "count",
3835 "parameters" : [
3836 {
3837 "type" : "counter_array",
3838 "value" : "FabricIngress.port_counters_control.ingress_port_counter"
3839 },
3840 {
3841 "type" : "field",
3842 "value" : ["scalars", "tmp_4"]
3843 }
3844 ],
3845 "source_info" : {
3846 "filename" : "include/control/port_counter.p4",
3847 "line" : 31,
3848 "column" : 12,
3849 "source_fragment" : "ingress_port_counter.count((bit<32>)standard_metadata.ingress_port)"
3850 }
3851 }
3852 ]
3853 },
3854 {
3855 "name" : "act_12",
3856 "id" : 48,
3857 "runtime_data" : [],
3858 "primitives" : [
3859 {
3860 "op" : "clone_ingress_pkt_to_egress",
3861 "parameters" : [
3862 {
3863 "type" : "hexstr",
3864 "value" : "0x000001f4"
3865 },
3866 {
3867 "type" : "hexstr",
3868 "value" : "0x1"
3869 }
3870 ]
3871 }
3872 ]
3873 },
3874 {
3875 "name" : "NoAction",
3876 "id" : 49,
3877 "runtime_data" : [],
3878 "primitives" : []
3879 },
3880 {
3881 "name" : "NoAction",
3882 "id" : 50,
3883 "runtime_data" : [],
3884 "primitives" : []
3885 },
3886 {
3887 "name" : "NoAction",
3888 "id" : 51,
3889 "runtime_data" : [],
3890 "primitives" : []
3891 },
3892 {
3893 "name" : "NoAction",
3894 "id" : 52,
3895 "runtime_data" : [],
3896 "primitives" : []
3897 },
3898 {
3899 "name" : "NoAction",
3900 "id" : 53,
3901 "runtime_data" : [],
3902 "primitives" : []
3903 },
3904 {
3905 "name" : "nop",
3906 "id" : 54,
3907 "runtime_data" : [],
3908 "primitives" : []
3909 },
3910 {
3911 "name" : "drop_now",
3912 "id" : 55,
3913 "runtime_data" : [],
3914 "primitives" : [
3915 {
3916 "op" : "drop",
3917 "parameters" : [],
3918 "source_info" : {
3919 "filename" : "include/control/../action.p4",
3920 "line" : 24,
3921 "column" : 4,
3922 "source_fragment" : "mark_to_drop()"
3923 }
3924 },
3925 {
3926 "op" : "exit",
3927 "parameters" : [],
3928 "source_info" : {
3929 "filename" : "include/control/../action.p4",
3930 "line" : 25,
3931 "column" : 4,
3932 "source_fragment" : "exit"
3933 }
3934 }
3935 ]
3936 },
3937 {
3938 "name" : "drop_now",
3939 "id" : 56,
3940 "runtime_data" : [],
3941 "primitives" : [
3942 {
3943 "op" : "drop",
3944 "parameters" : [],
3945 "source_info" : {
3946 "filename" : "include/control/../action.p4",
3947 "line" : 24,
3948 "column" : 4,
3949 "source_fragment" : "mark_to_drop()"
3950 }
3951 },
3952 {
3953 "op" : "exit",
3954 "parameters" : [],
3955 "source_info" : {
3956 "filename" : "include/control/../action.p4",
3957 "line" : 25,
3958 "column" : 4,
3959 "source_fragment" : "exit"
3960 }
3961 }
3962 ]
3963 },
3964 {
3965 "name" : "FabricEgress.process_int_source.int_source_dscp",
3966 "id" : 57,
3967 "runtime_data" : [
3968 {
3969 "name" : "max_hop",
3970 "bitwidth" : 8
3971 },
3972 {
3973 "name" : "ins_cnt",
3974 "bitwidth" : 5
3975 },
3976 {
3977 "name" : "ins_mask0003",
3978 "bitwidth" : 4
3979 },
3980 {
3981 "name" : "ins_mask0407",
3982 "bitwidth" : 4
3983 }
3984 ],
3985 "primitives" : [
3986 {
3987 "op" : "add_header",
3988 "parameters" : [
3989 {
3990 "type" : "header",
3991 "value" : "intl4_shim"
3992 }
3993 ],
3994 "source_info" : {
3995 "filename" : "include/int_source.p4",
3996 "line" : 31,
3997 "column" : 8,
3998 "source_fragment" : "hdr.intl4_shim.setValid()"
3999 }
4000 },
4001 {
4002 "op" : "assign",
4003 "parameters" : [
4004 {
4005 "type" : "field",
4006 "value" : ["intl4_shim", "int_type"]
4007 },
4008 {
4009 "type" : "hexstr",
4010 "value" : "0x01"
4011 }
4012 ],
4013 "source_info" : {
4014 "filename" : "include/int_source.p4",
4015 "line" : 33,
4016 "column" : 8,
4017 "source_fragment" : "hdr.intl4_shim.int_type = 1"
4018 }
4019 },
4020 {
4021 "op" : "assign",
4022 "parameters" : [
4023 {
4024 "type" : "field",
4025 "value" : ["intl4_shim", "len"]
4026 },
4027 {
4028 "type" : "hexstr",
4029 "value" : "0x04"
4030 }
4031 ],
4032 "source_info" : {
4033 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004034 "line" : 124,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004035 "column" : 35,
4036 "source_fragment" : "4; ..."
4037 }
4038 },
4039 {
4040 "op" : "add_header",
4041 "parameters" : [
4042 {
4043 "type" : "header",
4044 "value" : "int_header"
4045 }
4046 ],
4047 "source_info" : {
4048 "filename" : "include/int_source.p4",
4049 "line" : 37,
4050 "column" : 8,
4051 "source_fragment" : "hdr.int_header.setValid()"
4052 }
4053 },
4054 {
4055 "op" : "assign",
4056 "parameters" : [
4057 {
4058 "type" : "field",
4059 "value" : ["int_header", "ver"]
4060 },
4061 {
4062 "type" : "hexstr",
4063 "value" : "0x00"
4064 }
4065 ],
4066 "source_info" : {
4067 "filename" : "include/int_source.p4",
4068 "line" : 38,
4069 "column" : 8,
4070 "source_fragment" : "hdr.int_header.ver = 0"
4071 }
4072 },
4073 {
4074 "op" : "assign",
4075 "parameters" : [
4076 {
4077 "type" : "field",
4078 "value" : ["int_header", "rep"]
4079 },
4080 {
4081 "type" : "hexstr",
4082 "value" : "0x00"
4083 }
4084 ],
4085 "source_info" : {
4086 "filename" : "include/int_source.p4",
4087 "line" : 39,
4088 "column" : 8,
4089 "source_fragment" : "hdr.int_header.rep = 0"
4090 }
4091 },
4092 {
4093 "op" : "assign",
4094 "parameters" : [
4095 {
4096 "type" : "field",
4097 "value" : ["int_header", "c"]
4098 },
4099 {
4100 "type" : "hexstr",
4101 "value" : "0x00"
4102 }
4103 ],
4104 "source_info" : {
4105 "filename" : "include/int_source.p4",
4106 "line" : 40,
4107 "column" : 8,
4108 "source_fragment" : "hdr.int_header.c = 0"
4109 }
4110 },
4111 {
4112 "op" : "assign",
4113 "parameters" : [
4114 {
4115 "type" : "field",
4116 "value" : ["int_header", "e"]
4117 },
4118 {
4119 "type" : "hexstr",
4120 "value" : "0x00"
4121 }
4122 ],
4123 "source_info" : {
4124 "filename" : "include/int_source.p4",
4125 "line" : 41,
4126 "column" : 8,
4127 "source_fragment" : "hdr.int_header.e = 0"
4128 }
4129 },
4130 {
4131 "op" : "assign",
4132 "parameters" : [
4133 {
4134 "type" : "field",
4135 "value" : ["int_header", "rsvd1"]
4136 },
4137 {
4138 "type" : "hexstr",
4139 "value" : "0x00"
4140 }
4141 ],
4142 "source_info" : {
4143 "filename" : "include/int_source.p4",
4144 "line" : 42,
4145 "column" : 8,
4146 "source_fragment" : "hdr.int_header.rsvd1 = 0"
4147 }
4148 },
4149 {
4150 "op" : "assign",
4151 "parameters" : [
4152 {
4153 "type" : "field",
4154 "value" : ["int_header", "ins_cnt"]
4155 },
4156 {
4157 "type" : "runtime_data",
4158 "value" : 1
4159 }
4160 ],
4161 "source_info" : {
4162 "filename" : "include/int_source.p4",
4163 "line" : 43,
4164 "column" : 8,
4165 "source_fragment" : "hdr.int_header.ins_cnt = ins_cnt; ..."
4166 }
4167 },
4168 {
4169 "op" : "assign",
4170 "parameters" : [
4171 {
4172 "type" : "field",
4173 "value" : ["int_header", "max_hop_cnt"]
4174 },
4175 {
4176 "type" : "runtime_data",
4177 "value" : 0
4178 }
4179 ],
4180 "source_info" : {
4181 "filename" : "include/int_source.p4",
4182 "line" : 44,
4183 "column" : 8,
4184 "source_fragment" : "hdr.int_header.max_hop_cnt = max_hop; ..."
4185 }
4186 },
4187 {
4188 "op" : "assign",
4189 "parameters" : [
4190 {
4191 "type" : "field",
4192 "value" : ["int_header", "total_hop_cnt"]
4193 },
4194 {
4195 "type" : "hexstr",
4196 "value" : "0x00"
4197 }
4198 ],
4199 "source_info" : {
4200 "filename" : "include/int_source.p4",
4201 "line" : 45,
4202 "column" : 8,
4203 "source_fragment" : "hdr.int_header.total_hop_cnt = 0"
4204 }
4205 },
4206 {
4207 "op" : "assign",
4208 "parameters" : [
4209 {
4210 "type" : "field",
4211 "value" : ["int_header", "instruction_mask_0003"]
4212 },
4213 {
4214 "type" : "runtime_data",
4215 "value" : 2
4216 }
4217 ],
4218 "source_info" : {
4219 "filename" : "include/int_source.p4",
4220 "line" : 46,
4221 "column" : 8,
4222 "source_fragment" : "hdr.int_header.instruction_mask_0003 = ins_mask0003; ..."
4223 }
4224 },
4225 {
4226 "op" : "assign",
4227 "parameters" : [
4228 {
4229 "type" : "field",
4230 "value" : ["int_header", "instruction_mask_0407"]
4231 },
4232 {
4233 "type" : "runtime_data",
4234 "value" : 3
4235 }
4236 ],
4237 "source_info" : {
4238 "filename" : "include/int_source.p4",
4239 "line" : 47,
4240 "column" : 8,
4241 "source_fragment" : "hdr.int_header.instruction_mask_0407 = ins_mask0407; ..."
4242 }
4243 },
4244 {
4245 "op" : "assign",
4246 "parameters" : [
4247 {
4248 "type" : "field",
4249 "value" : ["int_header", "instruction_mask_0811"]
4250 },
4251 {
4252 "type" : "hexstr",
4253 "value" : "0x00"
4254 }
4255 ],
4256 "source_info" : {
4257 "filename" : "include/int_source.p4",
4258 "line" : 48,
4259 "column" : 8,
4260 "source_fragment" : "hdr.int_header.instruction_mask_0811 = 0"
4261 }
4262 },
4263 {
4264 "op" : "assign",
4265 "parameters" : [
4266 {
4267 "type" : "field",
4268 "value" : ["int_header", "instruction_mask_1215"]
4269 },
4270 {
4271 "type" : "hexstr",
4272 "value" : "0x00"
4273 }
4274 ],
4275 "source_info" : {
4276 "filename" : "include/int_source.p4",
4277 "line" : 49,
4278 "column" : 8,
4279 "source_fragment" : "hdr.int_header.instruction_mask_1215 = 0"
4280 }
4281 },
4282 {
4283 "op" : "add_header",
4284 "parameters" : [
4285 {
4286 "type" : "header",
4287 "value" : "intl4_tail"
4288 }
4289 ],
4290 "source_info" : {
4291 "filename" : "include/int_source.p4",
4292 "line" : 52,
4293 "column" : 8,
4294 "source_fragment" : "hdr.intl4_tail.setValid()"
4295 }
4296 },
4297 {
4298 "op" : "assign",
4299 "parameters" : [
4300 {
4301 "type" : "field",
4302 "value" : ["intl4_tail", "next_proto"]
4303 },
4304 {
4305 "type" : "field",
4306 "value" : ["ipv4", "protocol"]
4307 }
4308 ],
4309 "source_info" : {
4310 "filename" : "include/int_source.p4",
4311 "line" : 53,
4312 "column" : 8,
4313 "source_fragment" : "hdr.intl4_tail.next_proto = hdr.ipv4.protocol"
4314 }
4315 },
4316 {
4317 "op" : "assign",
4318 "parameters" : [
4319 {
4320 "type" : "field",
4321 "value" : ["intl4_tail", "dest_port"]
4322 },
4323 {
4324 "type" : "field",
4325 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
4326 }
4327 ],
4328 "source_info" : {
4329 "filename" : "include/int_source.p4",
4330 "line" : 54,
4331 "column" : 8,
4332 "source_fragment" : "hdr.intl4_tail.dest_port = fabric_metadata.l4_dst_port"
4333 }
4334 },
4335 {
4336 "op" : "assign",
4337 "parameters" : [
4338 {
4339 "type" : "field",
4340 "value" : ["intl4_tail", "dscp"]
4341 },
4342 {
4343 "type" : "expression",
4344 "value" : {
4345 "type" : "expression",
4346 "value" : {
4347 "op" : "&",
4348 "left" : {
4349 "type" : "field",
4350 "value" : ["ipv4", "dscp"]
4351 },
4352 "right" : {
4353 "type" : "hexstr",
4354 "value" : "0xff"
4355 }
4356 }
4357 }
4358 }
4359 ],
4360 "source_info" : {
4361 "filename" : "include/int_source.p4",
4362 "line" : 55,
4363 "column" : 8,
4364 "source_fragment" : "hdr.intl4_tail.dscp = (bit<8>) hdr.ipv4.dscp"
4365 }
4366 },
4367 {
4368 "op" : "assign",
4369 "parameters" : [
4370 {
4371 "type" : "field",
4372 "value" : ["ipv4", "total_len"]
4373 },
4374 {
4375 "type" : "expression",
4376 "value" : {
4377 "type" : "expression",
4378 "value" : {
4379 "op" : "&",
4380 "left" : {
4381 "type" : "expression",
4382 "value" : {
4383 "op" : "+",
4384 "left" : {
4385 "type" : "field",
4386 "value" : ["ipv4", "total_len"]
4387 },
4388 "right" : {
4389 "type" : "hexstr",
4390 "value" : "0x0010"
4391 }
4392 }
4393 },
4394 "right" : {
4395 "type" : "hexstr",
4396 "value" : "0xffff"
4397 }
4398 }
4399 }
4400 }
4401 ],
4402 "source_info" : {
4403 "filename" : "include/int_source.p4",
4404 "line" : 58,
4405 "column" : 8,
4406 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + 16"
4407 }
4408 },
4409 {
4410 "op" : "assign",
4411 "parameters" : [
4412 {
4413 "type" : "field",
4414 "value" : ["udp", "len"]
4415 },
4416 {
4417 "type" : "expression",
4418 "value" : {
4419 "type" : "expression",
4420 "value" : {
4421 "op" : "&",
4422 "left" : {
4423 "type" : "expression",
4424 "value" : {
4425 "op" : "+",
4426 "left" : {
4427 "type" : "field",
4428 "value" : ["udp", "len"]
4429 },
4430 "right" : {
4431 "type" : "hexstr",
4432 "value" : "0x0010"
4433 }
4434 }
4435 },
4436 "right" : {
4437 "type" : "hexstr",
4438 "value" : "0xffff"
4439 }
4440 }
4441 }
4442 }
4443 ],
4444 "source_info" : {
4445 "filename" : "include/int_source.p4",
4446 "line" : 59,
4447 "column" : 8,
4448 "source_fragment" : "hdr.udp.len = hdr.udp.len + 16"
4449 }
4450 },
4451 {
4452 "op" : "assign",
4453 "parameters" : [
4454 {
4455 "type" : "field",
4456 "value" : ["ipv4", "dscp"]
4457 },
4458 {
4459 "type" : "hexstr",
4460 "value" : "0x01"
4461 }
4462 ],
4463 "source_info" : {
4464 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07004465 "line" : 122,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09004466 "column" : 24,
4467 "source_fragment" : "0x1; ..."
4468 }
4469 }
4470 ]
4471 },
4472 {
4473 "name" : "FabricEgress.process_int_transit.int_update_total_hop_cnt",
4474 "id" : 58,
4475 "runtime_data" : [],
4476 "primitives" : [
4477 {
4478 "op" : "assign",
4479 "parameters" : [
4480 {
4481 "type" : "field",
4482 "value" : ["int_header", "total_hop_cnt"]
4483 },
4484 {
4485 "type" : "expression",
4486 "value" : {
4487 "type" : "expression",
4488 "value" : {
4489 "op" : "&",
4490 "left" : {
4491 "type" : "expression",
4492 "value" : {
4493 "op" : "+",
4494 "left" : {
4495 "type" : "field",
4496 "value" : ["int_header", "total_hop_cnt"]
4497 },
4498 "right" : {
4499 "type" : "hexstr",
4500 "value" : "0x01"
4501 }
4502 }
4503 },
4504 "right" : {
4505 "type" : "hexstr",
4506 "value" : "0xff"
4507 }
4508 }
4509 }
4510 }
4511 ],
4512 "source_info" : {
4513 "filename" : "include/int_transit.p4",
4514 "line" : 30,
4515 "column" : 8,
4516 "source_fragment" : "hdr.int_header.total_hop_cnt = hdr.int_header.total_hop_cnt + 1"
4517 }
4518 }
4519 ]
4520 },
4521 {
4522 "name" : "FabricEgress.process_int_transit.int_transit",
4523 "id" : 59,
4524 "runtime_data" : [
4525 {
4526 "name" : "switch_id",
4527 "bitwidth" : 32
4528 }
4529 ],
4530 "primitives" : [
4531 {
4532 "op" : "assign",
4533 "parameters" : [
4534 {
4535 "type" : "field",
4536 "value" : ["userMetadata.int_meta", "switch_id"]
4537 },
4538 {
4539 "type" : "runtime_data",
4540 "value" : 0
4541 }
4542 ],
4543 "source_info" : {
4544 "filename" : "include/int_transit.p4",
4545 "line" : 34,
4546 "column" : 8,
4547 "source_fragment" : "fabric_metadata.int_meta.switch_id = switch_id"
4548 }
4549 },
4550 {
4551 "op" : "assign",
4552 "parameters" : [
4553 {
4554 "type" : "field",
4555 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
4556 },
4557 {
4558 "type" : "expression",
4559 "value" : {
4560 "type" : "expression",
4561 "value" : {
4562 "op" : "&",
4563 "left" : {
4564 "type" : "expression",
4565 "value" : {
4566 "op" : "<<",
4567 "left" : {
4568 "type" : "expression",
4569 "value" : {
4570 "op" : "&",
4571 "left" : {
4572 "type" : "field",
4573 "value" : ["int_header", "ins_cnt"]
4574 },
4575 "right" : {
4576 "type" : "hexstr",
4577 "value" : "0xffff"
4578 }
4579 }
4580 },
4581 "right" : {
4582 "type" : "hexstr",
4583 "value" : "0x2"
4584 }
4585 }
4586 },
4587 "right" : {
4588 "type" : "hexstr",
4589 "value" : "0xffff"
4590 }
4591 }
4592 }
4593 }
4594 ],
4595 "source_info" : {
4596 "filename" : "include/int_transit.p4",
4597 "line" : 35,
4598 "column" : 8,
4599 "source_fragment" : "fabric_metadata.int_meta.insert_byte_cnt = (bit<16>) hdr.int_header.ins_cnt << 2"
4600 }
4601 }
4602 ]
4603 },
4604 {
4605 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i0",
4606 "id" : 60,
4607 "runtime_data" : [],
4608 "primitives" : []
4609 },
4610 {
4611 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i1",
4612 "id" : 61,
4613 "runtime_data" : [],
4614 "primitives" : [
4615 {
4616 "op" : "add_header",
4617 "parameters" : [
4618 {
4619 "type" : "header",
4620 "value" : "int_q_occupancy"
4621 }
4622 ],
4623 "source_info" : {
4624 "filename" : "include/int_transit.p4",
4625 "line" : 57,
4626 "column" : 8,
4627 "source_fragment" : "hdr.int_q_occupancy.setValid()"
4628 }
4629 },
4630 {
4631 "op" : "assign",
4632 "parameters" : [
4633 {
4634 "type" : "field",
4635 "value" : ["int_q_occupancy", "q_id"]
4636 },
4637 {
4638 "type" : "hexstr",
4639 "value" : "0x00"
4640 }
4641 ],
4642 "source_info" : {
4643 "filename" : "include/int_transit.p4",
4644 "line" : 58,
4645 "column" : 8,
4646 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
4647 }
4648 },
4649 {
4650 "op" : "assign",
4651 "parameters" : [
4652 {
4653 "type" : "field",
4654 "value" : ["int_q_occupancy", "q_occupancy"]
4655 },
4656 {
4657 "type" : "expression",
4658 "value" : {
4659 "type" : "expression",
4660 "value" : {
4661 "op" : "&",
4662 "left" : {
4663 "type" : "field",
4664 "value" : ["standard_metadata", "deq_qdepth"]
4665 },
4666 "right" : {
4667 "type" : "hexstr",
4668 "value" : "0xffffff"
4669 }
4670 }
4671 }
4672 }
4673 ],
4674 "source_info" : {
4675 "filename" : "include/int_transit.p4",
4676 "line" : 61,
4677 "column" : 8,
4678 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
4679 }
4680 }
4681 ]
4682 },
4683 {
4684 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i2",
4685 "id" : 62,
4686 "runtime_data" : [],
4687 "primitives" : [
4688 {
4689 "op" : "add_header",
4690 "parameters" : [
4691 {
4692 "type" : "header",
4693 "value" : "int_hop_latency"
4694 }
4695 ],
4696 "source_info" : {
4697 "filename" : "include/int_transit.p4",
4698 "line" : 51,
4699 "column" : 8,
4700 "source_fragment" : "hdr.int_hop_latency.setValid()"
4701 }
4702 },
4703 {
4704 "op" : "assign",
4705 "parameters" : [
4706 {
4707 "type" : "field",
4708 "value" : ["int_hop_latency", "hop_latency"]
4709 },
4710 {
4711 "type" : "field",
4712 "value" : ["standard_metadata", "deq_timedelta"]
4713 }
4714 ],
4715 "source_info" : {
4716 "filename" : "include/int_transit.p4",
4717 "line" : 52,
4718 "column" : 8,
4719 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
4720 }
4721 }
4722 ]
4723 },
4724 {
4725 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i3",
4726 "id" : 63,
4727 "runtime_data" : [],
4728 "primitives" : [
4729 {
4730 "op" : "add_header",
4731 "parameters" : [
4732 {
4733 "type" : "header",
4734 "value" : "int_q_occupancy"
4735 }
4736 ],
4737 "source_info" : {
4738 "filename" : "include/int_transit.p4",
4739 "line" : 57,
4740 "column" : 8,
4741 "source_fragment" : "hdr.int_q_occupancy.setValid()"
4742 }
4743 },
4744 {
4745 "op" : "assign",
4746 "parameters" : [
4747 {
4748 "type" : "field",
4749 "value" : ["int_q_occupancy", "q_id"]
4750 },
4751 {
4752 "type" : "hexstr",
4753 "value" : "0x00"
4754 }
4755 ],
4756 "source_info" : {
4757 "filename" : "include/int_transit.p4",
4758 "line" : 58,
4759 "column" : 8,
4760 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
4761 }
4762 },
4763 {
4764 "op" : "assign",
4765 "parameters" : [
4766 {
4767 "type" : "field",
4768 "value" : ["int_q_occupancy", "q_occupancy"]
4769 },
4770 {
4771 "type" : "expression",
4772 "value" : {
4773 "type" : "expression",
4774 "value" : {
4775 "op" : "&",
4776 "left" : {
4777 "type" : "field",
4778 "value" : ["standard_metadata", "deq_qdepth"]
4779 },
4780 "right" : {
4781 "type" : "hexstr",
4782 "value" : "0xffffff"
4783 }
4784 }
4785 }
4786 }
4787 ],
4788 "source_info" : {
4789 "filename" : "include/int_transit.p4",
4790 "line" : 61,
4791 "column" : 8,
4792 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
4793 }
4794 },
4795 {
4796 "op" : "add_header",
4797 "parameters" : [
4798 {
4799 "type" : "header",
4800 "value" : "int_hop_latency"
4801 }
4802 ],
4803 "source_info" : {
4804 "filename" : "include/int_transit.p4",
4805 "line" : 51,
4806 "column" : 8,
4807 "source_fragment" : "hdr.int_hop_latency.setValid()"
4808 }
4809 },
4810 {
4811 "op" : "assign",
4812 "parameters" : [
4813 {
4814 "type" : "field",
4815 "value" : ["int_hop_latency", "hop_latency"]
4816 },
4817 {
4818 "type" : "field",
4819 "value" : ["standard_metadata", "deq_timedelta"]
4820 }
4821 ],
4822 "source_info" : {
4823 "filename" : "include/int_transit.p4",
4824 "line" : 52,
4825 "column" : 8,
4826 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
4827 }
4828 }
4829 ]
4830 },
4831 {
4832 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i4",
4833 "id" : 64,
4834 "runtime_data" : [],
4835 "primitives" : [
4836 {
4837 "op" : "add_header",
4838 "parameters" : [
4839 {
4840 "type" : "header",
4841 "value" : "int_port_ids"
4842 }
4843 ],
4844 "source_info" : {
4845 "filename" : "include/int_transit.p4",
4846 "line" : 44,
4847 "column" : 8,
4848 "source_fragment" : "hdr.int_port_ids.setValid()"
4849 }
4850 },
4851 {
4852 "op" : "assign",
4853 "parameters" : [
4854 {
4855 "type" : "field",
4856 "value" : ["int_port_ids", "ingress_port_id"]
4857 },
4858 {
4859 "type" : "expression",
4860 "value" : {
4861 "type" : "expression",
4862 "value" : {
4863 "op" : "&",
4864 "left" : {
4865 "type" : "field",
4866 "value" : ["standard_metadata", "ingress_port"]
4867 },
4868 "right" : {
4869 "type" : "hexstr",
4870 "value" : "0xffff"
4871 }
4872 }
4873 }
4874 }
4875 ],
4876 "source_info" : {
4877 "filename" : "include/int_transit.p4",
4878 "line" : 45,
4879 "column" : 8,
4880 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
4881 }
4882 },
4883 {
4884 "op" : "assign",
4885 "parameters" : [
4886 {
4887 "type" : "field",
4888 "value" : ["int_port_ids", "egress_port_id"]
4889 },
4890 {
4891 "type" : "expression",
4892 "value" : {
4893 "type" : "expression",
4894 "value" : {
4895 "op" : "&",
4896 "left" : {
4897 "type" : "field",
4898 "value" : ["standard_metadata", "egress_port"]
4899 },
4900 "right" : {
4901 "type" : "hexstr",
4902 "value" : "0xffff"
4903 }
4904 }
4905 }
4906 }
4907 ],
4908 "source_info" : {
4909 "filename" : "include/int_transit.p4",
4910 "line" : 47,
4911 "column" : 8,
4912 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
4913 }
4914 }
4915 ]
4916 },
4917 {
4918 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i5",
4919 "id" : 65,
4920 "runtime_data" : [],
4921 "primitives" : [
4922 {
4923 "op" : "add_header",
4924 "parameters" : [
4925 {
4926 "type" : "header",
4927 "value" : "int_q_occupancy"
4928 }
4929 ],
4930 "source_info" : {
4931 "filename" : "include/int_transit.p4",
4932 "line" : 57,
4933 "column" : 8,
4934 "source_fragment" : "hdr.int_q_occupancy.setValid()"
4935 }
4936 },
4937 {
4938 "op" : "assign",
4939 "parameters" : [
4940 {
4941 "type" : "field",
4942 "value" : ["int_q_occupancy", "q_id"]
4943 },
4944 {
4945 "type" : "hexstr",
4946 "value" : "0x00"
4947 }
4948 ],
4949 "source_info" : {
4950 "filename" : "include/int_transit.p4",
4951 "line" : 58,
4952 "column" : 8,
4953 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
4954 }
4955 },
4956 {
4957 "op" : "assign",
4958 "parameters" : [
4959 {
4960 "type" : "field",
4961 "value" : ["int_q_occupancy", "q_occupancy"]
4962 },
4963 {
4964 "type" : "expression",
4965 "value" : {
4966 "type" : "expression",
4967 "value" : {
4968 "op" : "&",
4969 "left" : {
4970 "type" : "field",
4971 "value" : ["standard_metadata", "deq_qdepth"]
4972 },
4973 "right" : {
4974 "type" : "hexstr",
4975 "value" : "0xffffff"
4976 }
4977 }
4978 }
4979 }
4980 ],
4981 "source_info" : {
4982 "filename" : "include/int_transit.p4",
4983 "line" : 61,
4984 "column" : 8,
4985 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
4986 }
4987 },
4988 {
4989 "op" : "add_header",
4990 "parameters" : [
4991 {
4992 "type" : "header",
4993 "value" : "int_port_ids"
4994 }
4995 ],
4996 "source_info" : {
4997 "filename" : "include/int_transit.p4",
4998 "line" : 44,
4999 "column" : 8,
5000 "source_fragment" : "hdr.int_port_ids.setValid()"
5001 }
5002 },
5003 {
5004 "op" : "assign",
5005 "parameters" : [
5006 {
5007 "type" : "field",
5008 "value" : ["int_port_ids", "ingress_port_id"]
5009 },
5010 {
5011 "type" : "expression",
5012 "value" : {
5013 "type" : "expression",
5014 "value" : {
5015 "op" : "&",
5016 "left" : {
5017 "type" : "field",
5018 "value" : ["standard_metadata", "ingress_port"]
5019 },
5020 "right" : {
5021 "type" : "hexstr",
5022 "value" : "0xffff"
5023 }
5024 }
5025 }
5026 }
5027 ],
5028 "source_info" : {
5029 "filename" : "include/int_transit.p4",
5030 "line" : 45,
5031 "column" : 8,
5032 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
5033 }
5034 },
5035 {
5036 "op" : "assign",
5037 "parameters" : [
5038 {
5039 "type" : "field",
5040 "value" : ["int_port_ids", "egress_port_id"]
5041 },
5042 {
5043 "type" : "expression",
5044 "value" : {
5045 "type" : "expression",
5046 "value" : {
5047 "op" : "&",
5048 "left" : {
5049 "type" : "field",
5050 "value" : ["standard_metadata", "egress_port"]
5051 },
5052 "right" : {
5053 "type" : "hexstr",
5054 "value" : "0xffff"
5055 }
5056 }
5057 }
5058 }
5059 ],
5060 "source_info" : {
5061 "filename" : "include/int_transit.p4",
5062 "line" : 47,
5063 "column" : 8,
5064 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
5065 }
5066 }
5067 ]
5068 },
5069 {
5070 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i6",
5071 "id" : 66,
5072 "runtime_data" : [],
5073 "primitives" : [
5074 {
5075 "op" : "add_header",
5076 "parameters" : [
5077 {
5078 "type" : "header",
5079 "value" : "int_hop_latency"
5080 }
5081 ],
5082 "source_info" : {
5083 "filename" : "include/int_transit.p4",
5084 "line" : 51,
5085 "column" : 8,
5086 "source_fragment" : "hdr.int_hop_latency.setValid()"
5087 }
5088 },
5089 {
5090 "op" : "assign",
5091 "parameters" : [
5092 {
5093 "type" : "field",
5094 "value" : ["int_hop_latency", "hop_latency"]
5095 },
5096 {
5097 "type" : "field",
5098 "value" : ["standard_metadata", "deq_timedelta"]
5099 }
5100 ],
5101 "source_info" : {
5102 "filename" : "include/int_transit.p4",
5103 "line" : 52,
5104 "column" : 8,
5105 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
5106 }
5107 },
5108 {
5109 "op" : "add_header",
5110 "parameters" : [
5111 {
5112 "type" : "header",
5113 "value" : "int_port_ids"
5114 }
5115 ],
5116 "source_info" : {
5117 "filename" : "include/int_transit.p4",
5118 "line" : 44,
5119 "column" : 8,
5120 "source_fragment" : "hdr.int_port_ids.setValid()"
5121 }
5122 },
5123 {
5124 "op" : "assign",
5125 "parameters" : [
5126 {
5127 "type" : "field",
5128 "value" : ["int_port_ids", "ingress_port_id"]
5129 },
5130 {
5131 "type" : "expression",
5132 "value" : {
5133 "type" : "expression",
5134 "value" : {
5135 "op" : "&",
5136 "left" : {
5137 "type" : "field",
5138 "value" : ["standard_metadata", "ingress_port"]
5139 },
5140 "right" : {
5141 "type" : "hexstr",
5142 "value" : "0xffff"
5143 }
5144 }
5145 }
5146 }
5147 ],
5148 "source_info" : {
5149 "filename" : "include/int_transit.p4",
5150 "line" : 45,
5151 "column" : 8,
5152 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
5153 }
5154 },
5155 {
5156 "op" : "assign",
5157 "parameters" : [
5158 {
5159 "type" : "field",
5160 "value" : ["int_port_ids", "egress_port_id"]
5161 },
5162 {
5163 "type" : "expression",
5164 "value" : {
5165 "type" : "expression",
5166 "value" : {
5167 "op" : "&",
5168 "left" : {
5169 "type" : "field",
5170 "value" : ["standard_metadata", "egress_port"]
5171 },
5172 "right" : {
5173 "type" : "hexstr",
5174 "value" : "0xffff"
5175 }
5176 }
5177 }
5178 }
5179 ],
5180 "source_info" : {
5181 "filename" : "include/int_transit.p4",
5182 "line" : 47,
5183 "column" : 8,
5184 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
5185 }
5186 }
5187 ]
5188 },
5189 {
5190 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i7",
5191 "id" : 67,
5192 "runtime_data" : [],
5193 "primitives" : [
5194 {
5195 "op" : "add_header",
5196 "parameters" : [
5197 {
5198 "type" : "header",
5199 "value" : "int_q_occupancy"
5200 }
5201 ],
5202 "source_info" : {
5203 "filename" : "include/int_transit.p4",
5204 "line" : 57,
5205 "column" : 8,
5206 "source_fragment" : "hdr.int_q_occupancy.setValid()"
5207 }
5208 },
5209 {
5210 "op" : "assign",
5211 "parameters" : [
5212 {
5213 "type" : "field",
5214 "value" : ["int_q_occupancy", "q_id"]
5215 },
5216 {
5217 "type" : "hexstr",
5218 "value" : "0x00"
5219 }
5220 ],
5221 "source_info" : {
5222 "filename" : "include/int_transit.p4",
5223 "line" : 58,
5224 "column" : 8,
5225 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
5226 }
5227 },
5228 {
5229 "op" : "assign",
5230 "parameters" : [
5231 {
5232 "type" : "field",
5233 "value" : ["int_q_occupancy", "q_occupancy"]
5234 },
5235 {
5236 "type" : "expression",
5237 "value" : {
5238 "type" : "expression",
5239 "value" : {
5240 "op" : "&",
5241 "left" : {
5242 "type" : "field",
5243 "value" : ["standard_metadata", "deq_qdepth"]
5244 },
5245 "right" : {
5246 "type" : "hexstr",
5247 "value" : "0xffffff"
5248 }
5249 }
5250 }
5251 }
5252 ],
5253 "source_info" : {
5254 "filename" : "include/int_transit.p4",
5255 "line" : 61,
5256 "column" : 8,
5257 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
5258 }
5259 },
5260 {
5261 "op" : "add_header",
5262 "parameters" : [
5263 {
5264 "type" : "header",
5265 "value" : "int_hop_latency"
5266 }
5267 ],
5268 "source_info" : {
5269 "filename" : "include/int_transit.p4",
5270 "line" : 51,
5271 "column" : 8,
5272 "source_fragment" : "hdr.int_hop_latency.setValid()"
5273 }
5274 },
5275 {
5276 "op" : "assign",
5277 "parameters" : [
5278 {
5279 "type" : "field",
5280 "value" : ["int_hop_latency", "hop_latency"]
5281 },
5282 {
5283 "type" : "field",
5284 "value" : ["standard_metadata", "deq_timedelta"]
5285 }
5286 ],
5287 "source_info" : {
5288 "filename" : "include/int_transit.p4",
5289 "line" : 52,
5290 "column" : 8,
5291 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
5292 }
5293 },
5294 {
5295 "op" : "add_header",
5296 "parameters" : [
5297 {
5298 "type" : "header",
5299 "value" : "int_port_ids"
5300 }
5301 ],
5302 "source_info" : {
5303 "filename" : "include/int_transit.p4",
5304 "line" : 44,
5305 "column" : 8,
5306 "source_fragment" : "hdr.int_port_ids.setValid()"
5307 }
5308 },
5309 {
5310 "op" : "assign",
5311 "parameters" : [
5312 {
5313 "type" : "field",
5314 "value" : ["int_port_ids", "ingress_port_id"]
5315 },
5316 {
5317 "type" : "expression",
5318 "value" : {
5319 "type" : "expression",
5320 "value" : {
5321 "op" : "&",
5322 "left" : {
5323 "type" : "field",
5324 "value" : ["standard_metadata", "ingress_port"]
5325 },
5326 "right" : {
5327 "type" : "hexstr",
5328 "value" : "0xffff"
5329 }
5330 }
5331 }
5332 }
5333 ],
5334 "source_info" : {
5335 "filename" : "include/int_transit.p4",
5336 "line" : 45,
5337 "column" : 8,
5338 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
5339 }
5340 },
5341 {
5342 "op" : "assign",
5343 "parameters" : [
5344 {
5345 "type" : "field",
5346 "value" : ["int_port_ids", "egress_port_id"]
5347 },
5348 {
5349 "type" : "expression",
5350 "value" : {
5351 "type" : "expression",
5352 "value" : {
5353 "op" : "&",
5354 "left" : {
5355 "type" : "field",
5356 "value" : ["standard_metadata", "egress_port"]
5357 },
5358 "right" : {
5359 "type" : "hexstr",
5360 "value" : "0xffff"
5361 }
5362 }
5363 }
5364 }
5365 ],
5366 "source_info" : {
5367 "filename" : "include/int_transit.p4",
5368 "line" : 47,
5369 "column" : 8,
5370 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
5371 }
5372 }
5373 ]
5374 },
5375 {
5376 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i8",
5377 "id" : 68,
5378 "runtime_data" : [],
5379 "primitives" : [
5380 {
5381 "op" : "add_header",
5382 "parameters" : [
5383 {
5384 "type" : "header",
5385 "value" : "int_switch_id"
5386 }
5387 ],
5388 "source_info" : {
5389 "filename" : "include/int_transit.p4",
5390 "line" : 40,
5391 "column" : 8,
5392 "source_fragment" : "hdr.int_switch_id.setValid()"
5393 }
5394 },
5395 {
5396 "op" : "assign",
5397 "parameters" : [
5398 {
5399 "type" : "field",
5400 "value" : ["int_switch_id", "switch_id"]
5401 },
5402 {
5403 "type" : "field",
5404 "value" : ["userMetadata.int_meta", "switch_id"]
5405 }
5406 ],
5407 "source_info" : {
5408 "filename" : "include/int_transit.p4",
5409 "line" : 41,
5410 "column" : 8,
5411 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
5412 }
5413 }
5414 ]
5415 },
5416 {
5417 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i9",
5418 "id" : 69,
5419 "runtime_data" : [],
5420 "primitives" : [
5421 {
5422 "op" : "add_header",
5423 "parameters" : [
5424 {
5425 "type" : "header",
5426 "value" : "int_q_occupancy"
5427 }
5428 ],
5429 "source_info" : {
5430 "filename" : "include/int_transit.p4",
5431 "line" : 57,
5432 "column" : 8,
5433 "source_fragment" : "hdr.int_q_occupancy.setValid()"
5434 }
5435 },
5436 {
5437 "op" : "assign",
5438 "parameters" : [
5439 {
5440 "type" : "field",
5441 "value" : ["int_q_occupancy", "q_id"]
5442 },
5443 {
5444 "type" : "hexstr",
5445 "value" : "0x00"
5446 }
5447 ],
5448 "source_info" : {
5449 "filename" : "include/int_transit.p4",
5450 "line" : 58,
5451 "column" : 8,
5452 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
5453 }
5454 },
5455 {
5456 "op" : "assign",
5457 "parameters" : [
5458 {
5459 "type" : "field",
5460 "value" : ["int_q_occupancy", "q_occupancy"]
5461 },
5462 {
5463 "type" : "expression",
5464 "value" : {
5465 "type" : "expression",
5466 "value" : {
5467 "op" : "&",
5468 "left" : {
5469 "type" : "field",
5470 "value" : ["standard_metadata", "deq_qdepth"]
5471 },
5472 "right" : {
5473 "type" : "hexstr",
5474 "value" : "0xffffff"
5475 }
5476 }
5477 }
5478 }
5479 ],
5480 "source_info" : {
5481 "filename" : "include/int_transit.p4",
5482 "line" : 61,
5483 "column" : 8,
5484 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
5485 }
5486 },
5487 {
5488 "op" : "add_header",
5489 "parameters" : [
5490 {
5491 "type" : "header",
5492 "value" : "int_switch_id"
5493 }
5494 ],
5495 "source_info" : {
5496 "filename" : "include/int_transit.p4",
5497 "line" : 40,
5498 "column" : 8,
5499 "source_fragment" : "hdr.int_switch_id.setValid()"
5500 }
5501 },
5502 {
5503 "op" : "assign",
5504 "parameters" : [
5505 {
5506 "type" : "field",
5507 "value" : ["int_switch_id", "switch_id"]
5508 },
5509 {
5510 "type" : "field",
5511 "value" : ["userMetadata.int_meta", "switch_id"]
5512 }
5513 ],
5514 "source_info" : {
5515 "filename" : "include/int_transit.p4",
5516 "line" : 41,
5517 "column" : 8,
5518 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
5519 }
5520 }
5521 ]
5522 },
5523 {
5524 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i10",
5525 "id" : 70,
5526 "runtime_data" : [],
5527 "primitives" : [
5528 {
5529 "op" : "add_header",
5530 "parameters" : [
5531 {
5532 "type" : "header",
5533 "value" : "int_hop_latency"
5534 }
5535 ],
5536 "source_info" : {
5537 "filename" : "include/int_transit.p4",
5538 "line" : 51,
5539 "column" : 8,
5540 "source_fragment" : "hdr.int_hop_latency.setValid()"
5541 }
5542 },
5543 {
5544 "op" : "assign",
5545 "parameters" : [
5546 {
5547 "type" : "field",
5548 "value" : ["int_hop_latency", "hop_latency"]
5549 },
5550 {
5551 "type" : "field",
5552 "value" : ["standard_metadata", "deq_timedelta"]
5553 }
5554 ],
5555 "source_info" : {
5556 "filename" : "include/int_transit.p4",
5557 "line" : 52,
5558 "column" : 8,
5559 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
5560 }
5561 },
5562 {
5563 "op" : "add_header",
5564 "parameters" : [
5565 {
5566 "type" : "header",
5567 "value" : "int_switch_id"
5568 }
5569 ],
5570 "source_info" : {
5571 "filename" : "include/int_transit.p4",
5572 "line" : 40,
5573 "column" : 8,
5574 "source_fragment" : "hdr.int_switch_id.setValid()"
5575 }
5576 },
5577 {
5578 "op" : "assign",
5579 "parameters" : [
5580 {
5581 "type" : "field",
5582 "value" : ["int_switch_id", "switch_id"]
5583 },
5584 {
5585 "type" : "field",
5586 "value" : ["userMetadata.int_meta", "switch_id"]
5587 }
5588 ],
5589 "source_info" : {
5590 "filename" : "include/int_transit.p4",
5591 "line" : 41,
5592 "column" : 8,
5593 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
5594 }
5595 }
5596 ]
5597 },
5598 {
5599 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i11",
5600 "id" : 71,
5601 "runtime_data" : [],
5602 "primitives" : [
5603 {
5604 "op" : "add_header",
5605 "parameters" : [
5606 {
5607 "type" : "header",
5608 "value" : "int_q_occupancy"
5609 }
5610 ],
5611 "source_info" : {
5612 "filename" : "include/int_transit.p4",
5613 "line" : 57,
5614 "column" : 8,
5615 "source_fragment" : "hdr.int_q_occupancy.setValid()"
5616 }
5617 },
5618 {
5619 "op" : "assign",
5620 "parameters" : [
5621 {
5622 "type" : "field",
5623 "value" : ["int_q_occupancy", "q_id"]
5624 },
5625 {
5626 "type" : "hexstr",
5627 "value" : "0x00"
5628 }
5629 ],
5630 "source_info" : {
5631 "filename" : "include/int_transit.p4",
5632 "line" : 58,
5633 "column" : 8,
5634 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
5635 }
5636 },
5637 {
5638 "op" : "assign",
5639 "parameters" : [
5640 {
5641 "type" : "field",
5642 "value" : ["int_q_occupancy", "q_occupancy"]
5643 },
5644 {
5645 "type" : "expression",
5646 "value" : {
5647 "type" : "expression",
5648 "value" : {
5649 "op" : "&",
5650 "left" : {
5651 "type" : "field",
5652 "value" : ["standard_metadata", "deq_qdepth"]
5653 },
5654 "right" : {
5655 "type" : "hexstr",
5656 "value" : "0xffffff"
5657 }
5658 }
5659 }
5660 }
5661 ],
5662 "source_info" : {
5663 "filename" : "include/int_transit.p4",
5664 "line" : 61,
5665 "column" : 8,
5666 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
5667 }
5668 },
5669 {
5670 "op" : "add_header",
5671 "parameters" : [
5672 {
5673 "type" : "header",
5674 "value" : "int_hop_latency"
5675 }
5676 ],
5677 "source_info" : {
5678 "filename" : "include/int_transit.p4",
5679 "line" : 51,
5680 "column" : 8,
5681 "source_fragment" : "hdr.int_hop_latency.setValid()"
5682 }
5683 },
5684 {
5685 "op" : "assign",
5686 "parameters" : [
5687 {
5688 "type" : "field",
5689 "value" : ["int_hop_latency", "hop_latency"]
5690 },
5691 {
5692 "type" : "field",
5693 "value" : ["standard_metadata", "deq_timedelta"]
5694 }
5695 ],
5696 "source_info" : {
5697 "filename" : "include/int_transit.p4",
5698 "line" : 52,
5699 "column" : 8,
5700 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
5701 }
5702 },
5703 {
5704 "op" : "add_header",
5705 "parameters" : [
5706 {
5707 "type" : "header",
5708 "value" : "int_switch_id"
5709 }
5710 ],
5711 "source_info" : {
5712 "filename" : "include/int_transit.p4",
5713 "line" : 40,
5714 "column" : 8,
5715 "source_fragment" : "hdr.int_switch_id.setValid()"
5716 }
5717 },
5718 {
5719 "op" : "assign",
5720 "parameters" : [
5721 {
5722 "type" : "field",
5723 "value" : ["int_switch_id", "switch_id"]
5724 },
5725 {
5726 "type" : "field",
5727 "value" : ["userMetadata.int_meta", "switch_id"]
5728 }
5729 ],
5730 "source_info" : {
5731 "filename" : "include/int_transit.p4",
5732 "line" : 41,
5733 "column" : 8,
5734 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
5735 }
5736 }
5737 ]
5738 },
5739 {
5740 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i12",
5741 "id" : 72,
5742 "runtime_data" : [],
5743 "primitives" : [
5744 {
5745 "op" : "add_header",
5746 "parameters" : [
5747 {
5748 "type" : "header",
5749 "value" : "int_port_ids"
5750 }
5751 ],
5752 "source_info" : {
5753 "filename" : "include/int_transit.p4",
5754 "line" : 44,
5755 "column" : 8,
5756 "source_fragment" : "hdr.int_port_ids.setValid()"
5757 }
5758 },
5759 {
5760 "op" : "assign",
5761 "parameters" : [
5762 {
5763 "type" : "field",
5764 "value" : ["int_port_ids", "ingress_port_id"]
5765 },
5766 {
5767 "type" : "expression",
5768 "value" : {
5769 "type" : "expression",
5770 "value" : {
5771 "op" : "&",
5772 "left" : {
5773 "type" : "field",
5774 "value" : ["standard_metadata", "ingress_port"]
5775 },
5776 "right" : {
5777 "type" : "hexstr",
5778 "value" : "0xffff"
5779 }
5780 }
5781 }
5782 }
5783 ],
5784 "source_info" : {
5785 "filename" : "include/int_transit.p4",
5786 "line" : 45,
5787 "column" : 8,
5788 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
5789 }
5790 },
5791 {
5792 "op" : "assign",
5793 "parameters" : [
5794 {
5795 "type" : "field",
5796 "value" : ["int_port_ids", "egress_port_id"]
5797 },
5798 {
5799 "type" : "expression",
5800 "value" : {
5801 "type" : "expression",
5802 "value" : {
5803 "op" : "&",
5804 "left" : {
5805 "type" : "field",
5806 "value" : ["standard_metadata", "egress_port"]
5807 },
5808 "right" : {
5809 "type" : "hexstr",
5810 "value" : "0xffff"
5811 }
5812 }
5813 }
5814 }
5815 ],
5816 "source_info" : {
5817 "filename" : "include/int_transit.p4",
5818 "line" : 47,
5819 "column" : 8,
5820 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
5821 }
5822 },
5823 {
5824 "op" : "add_header",
5825 "parameters" : [
5826 {
5827 "type" : "header",
5828 "value" : "int_switch_id"
5829 }
5830 ],
5831 "source_info" : {
5832 "filename" : "include/int_transit.p4",
5833 "line" : 40,
5834 "column" : 8,
5835 "source_fragment" : "hdr.int_switch_id.setValid()"
5836 }
5837 },
5838 {
5839 "op" : "assign",
5840 "parameters" : [
5841 {
5842 "type" : "field",
5843 "value" : ["int_switch_id", "switch_id"]
5844 },
5845 {
5846 "type" : "field",
5847 "value" : ["userMetadata.int_meta", "switch_id"]
5848 }
5849 ],
5850 "source_info" : {
5851 "filename" : "include/int_transit.p4",
5852 "line" : 41,
5853 "column" : 8,
5854 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
5855 }
5856 }
5857 ]
5858 },
5859 {
5860 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i13",
5861 "id" : 73,
5862 "runtime_data" : [],
5863 "primitives" : [
5864 {
5865 "op" : "add_header",
5866 "parameters" : [
5867 {
5868 "type" : "header",
5869 "value" : "int_q_occupancy"
5870 }
5871 ],
5872 "source_info" : {
5873 "filename" : "include/int_transit.p4",
5874 "line" : 57,
5875 "column" : 8,
5876 "source_fragment" : "hdr.int_q_occupancy.setValid()"
5877 }
5878 },
5879 {
5880 "op" : "assign",
5881 "parameters" : [
5882 {
5883 "type" : "field",
5884 "value" : ["int_q_occupancy", "q_id"]
5885 },
5886 {
5887 "type" : "hexstr",
5888 "value" : "0x00"
5889 }
5890 ],
5891 "source_info" : {
5892 "filename" : "include/int_transit.p4",
5893 "line" : 58,
5894 "column" : 8,
5895 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
5896 }
5897 },
5898 {
5899 "op" : "assign",
5900 "parameters" : [
5901 {
5902 "type" : "field",
5903 "value" : ["int_q_occupancy", "q_occupancy"]
5904 },
5905 {
5906 "type" : "expression",
5907 "value" : {
5908 "type" : "expression",
5909 "value" : {
5910 "op" : "&",
5911 "left" : {
5912 "type" : "field",
5913 "value" : ["standard_metadata", "deq_qdepth"]
5914 },
5915 "right" : {
5916 "type" : "hexstr",
5917 "value" : "0xffffff"
5918 }
5919 }
5920 }
5921 }
5922 ],
5923 "source_info" : {
5924 "filename" : "include/int_transit.p4",
5925 "line" : 61,
5926 "column" : 8,
5927 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
5928 }
5929 },
5930 {
5931 "op" : "add_header",
5932 "parameters" : [
5933 {
5934 "type" : "header",
5935 "value" : "int_port_ids"
5936 }
5937 ],
5938 "source_info" : {
5939 "filename" : "include/int_transit.p4",
5940 "line" : 44,
5941 "column" : 8,
5942 "source_fragment" : "hdr.int_port_ids.setValid()"
5943 }
5944 },
5945 {
5946 "op" : "assign",
5947 "parameters" : [
5948 {
5949 "type" : "field",
5950 "value" : ["int_port_ids", "ingress_port_id"]
5951 },
5952 {
5953 "type" : "expression",
5954 "value" : {
5955 "type" : "expression",
5956 "value" : {
5957 "op" : "&",
5958 "left" : {
5959 "type" : "field",
5960 "value" : ["standard_metadata", "ingress_port"]
5961 },
5962 "right" : {
5963 "type" : "hexstr",
5964 "value" : "0xffff"
5965 }
5966 }
5967 }
5968 }
5969 ],
5970 "source_info" : {
5971 "filename" : "include/int_transit.p4",
5972 "line" : 45,
5973 "column" : 8,
5974 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
5975 }
5976 },
5977 {
5978 "op" : "assign",
5979 "parameters" : [
5980 {
5981 "type" : "field",
5982 "value" : ["int_port_ids", "egress_port_id"]
5983 },
5984 {
5985 "type" : "expression",
5986 "value" : {
5987 "type" : "expression",
5988 "value" : {
5989 "op" : "&",
5990 "left" : {
5991 "type" : "field",
5992 "value" : ["standard_metadata", "egress_port"]
5993 },
5994 "right" : {
5995 "type" : "hexstr",
5996 "value" : "0xffff"
5997 }
5998 }
5999 }
6000 }
6001 ],
6002 "source_info" : {
6003 "filename" : "include/int_transit.p4",
6004 "line" : 47,
6005 "column" : 8,
6006 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6007 }
6008 },
6009 {
6010 "op" : "add_header",
6011 "parameters" : [
6012 {
6013 "type" : "header",
6014 "value" : "int_switch_id"
6015 }
6016 ],
6017 "source_info" : {
6018 "filename" : "include/int_transit.p4",
6019 "line" : 40,
6020 "column" : 8,
6021 "source_fragment" : "hdr.int_switch_id.setValid()"
6022 }
6023 },
6024 {
6025 "op" : "assign",
6026 "parameters" : [
6027 {
6028 "type" : "field",
6029 "value" : ["int_switch_id", "switch_id"]
6030 },
6031 {
6032 "type" : "field",
6033 "value" : ["userMetadata.int_meta", "switch_id"]
6034 }
6035 ],
6036 "source_info" : {
6037 "filename" : "include/int_transit.p4",
6038 "line" : 41,
6039 "column" : 8,
6040 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
6041 }
6042 }
6043 ]
6044 },
6045 {
6046 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i14",
6047 "id" : 74,
6048 "runtime_data" : [],
6049 "primitives" : [
6050 {
6051 "op" : "add_header",
6052 "parameters" : [
6053 {
6054 "type" : "header",
6055 "value" : "int_hop_latency"
6056 }
6057 ],
6058 "source_info" : {
6059 "filename" : "include/int_transit.p4",
6060 "line" : 51,
6061 "column" : 8,
6062 "source_fragment" : "hdr.int_hop_latency.setValid()"
6063 }
6064 },
6065 {
6066 "op" : "assign",
6067 "parameters" : [
6068 {
6069 "type" : "field",
6070 "value" : ["int_hop_latency", "hop_latency"]
6071 },
6072 {
6073 "type" : "field",
6074 "value" : ["standard_metadata", "deq_timedelta"]
6075 }
6076 ],
6077 "source_info" : {
6078 "filename" : "include/int_transit.p4",
6079 "line" : 52,
6080 "column" : 8,
6081 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6082 }
6083 },
6084 {
6085 "op" : "add_header",
6086 "parameters" : [
6087 {
6088 "type" : "header",
6089 "value" : "int_port_ids"
6090 }
6091 ],
6092 "source_info" : {
6093 "filename" : "include/int_transit.p4",
6094 "line" : 44,
6095 "column" : 8,
6096 "source_fragment" : "hdr.int_port_ids.setValid()"
6097 }
6098 },
6099 {
6100 "op" : "assign",
6101 "parameters" : [
6102 {
6103 "type" : "field",
6104 "value" : ["int_port_ids", "ingress_port_id"]
6105 },
6106 {
6107 "type" : "expression",
6108 "value" : {
6109 "type" : "expression",
6110 "value" : {
6111 "op" : "&",
6112 "left" : {
6113 "type" : "field",
6114 "value" : ["standard_metadata", "ingress_port"]
6115 },
6116 "right" : {
6117 "type" : "hexstr",
6118 "value" : "0xffff"
6119 }
6120 }
6121 }
6122 }
6123 ],
6124 "source_info" : {
6125 "filename" : "include/int_transit.p4",
6126 "line" : 45,
6127 "column" : 8,
6128 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6129 }
6130 },
6131 {
6132 "op" : "assign",
6133 "parameters" : [
6134 {
6135 "type" : "field",
6136 "value" : ["int_port_ids", "egress_port_id"]
6137 },
6138 {
6139 "type" : "expression",
6140 "value" : {
6141 "type" : "expression",
6142 "value" : {
6143 "op" : "&",
6144 "left" : {
6145 "type" : "field",
6146 "value" : ["standard_metadata", "egress_port"]
6147 },
6148 "right" : {
6149 "type" : "hexstr",
6150 "value" : "0xffff"
6151 }
6152 }
6153 }
6154 }
6155 ],
6156 "source_info" : {
6157 "filename" : "include/int_transit.p4",
6158 "line" : 47,
6159 "column" : 8,
6160 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6161 }
6162 },
6163 {
6164 "op" : "add_header",
6165 "parameters" : [
6166 {
6167 "type" : "header",
6168 "value" : "int_switch_id"
6169 }
6170 ],
6171 "source_info" : {
6172 "filename" : "include/int_transit.p4",
6173 "line" : 40,
6174 "column" : 8,
6175 "source_fragment" : "hdr.int_switch_id.setValid()"
6176 }
6177 },
6178 {
6179 "op" : "assign",
6180 "parameters" : [
6181 {
6182 "type" : "field",
6183 "value" : ["int_switch_id", "switch_id"]
6184 },
6185 {
6186 "type" : "field",
6187 "value" : ["userMetadata.int_meta", "switch_id"]
6188 }
6189 ],
6190 "source_info" : {
6191 "filename" : "include/int_transit.p4",
6192 "line" : 41,
6193 "column" : 8,
6194 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
6195 }
6196 }
6197 ]
6198 },
6199 {
6200 "name" : "FabricEgress.process_int_transit.int_set_header_0003_i15",
6201 "id" : 75,
6202 "runtime_data" : [],
6203 "primitives" : [
6204 {
6205 "op" : "add_header",
6206 "parameters" : [
6207 {
6208 "type" : "header",
6209 "value" : "int_q_occupancy"
6210 }
6211 ],
6212 "source_info" : {
6213 "filename" : "include/int_transit.p4",
6214 "line" : 57,
6215 "column" : 8,
6216 "source_fragment" : "hdr.int_q_occupancy.setValid()"
6217 }
6218 },
6219 {
6220 "op" : "assign",
6221 "parameters" : [
6222 {
6223 "type" : "field",
6224 "value" : ["int_q_occupancy", "q_id"]
6225 },
6226 {
6227 "type" : "hexstr",
6228 "value" : "0x00"
6229 }
6230 ],
6231 "source_info" : {
6232 "filename" : "include/int_transit.p4",
6233 "line" : 58,
6234 "column" : 8,
6235 "source_fragment" : "hdr.int_q_occupancy.q_id = ..."
6236 }
6237 },
6238 {
6239 "op" : "assign",
6240 "parameters" : [
6241 {
6242 "type" : "field",
6243 "value" : ["int_q_occupancy", "q_occupancy"]
6244 },
6245 {
6246 "type" : "expression",
6247 "value" : {
6248 "type" : "expression",
6249 "value" : {
6250 "op" : "&",
6251 "left" : {
6252 "type" : "field",
6253 "value" : ["standard_metadata", "deq_qdepth"]
6254 },
6255 "right" : {
6256 "type" : "hexstr",
6257 "value" : "0xffffff"
6258 }
6259 }
6260 }
6261 }
6262 ],
6263 "source_info" : {
6264 "filename" : "include/int_transit.p4",
6265 "line" : 61,
6266 "column" : 8,
6267 "source_fragment" : "hdr.int_q_occupancy.q_occupancy = ..."
6268 }
6269 },
6270 {
6271 "op" : "add_header",
6272 "parameters" : [
6273 {
6274 "type" : "header",
6275 "value" : "int_hop_latency"
6276 }
6277 ],
6278 "source_info" : {
6279 "filename" : "include/int_transit.p4",
6280 "line" : 51,
6281 "column" : 8,
6282 "source_fragment" : "hdr.int_hop_latency.setValid()"
6283 }
6284 },
6285 {
6286 "op" : "assign",
6287 "parameters" : [
6288 {
6289 "type" : "field",
6290 "value" : ["int_hop_latency", "hop_latency"]
6291 },
6292 {
6293 "type" : "field",
6294 "value" : ["standard_metadata", "deq_timedelta"]
6295 }
6296 ],
6297 "source_info" : {
6298 "filename" : "include/int_transit.p4",
6299 "line" : 52,
6300 "column" : 8,
6301 "source_fragment" : "hdr.int_hop_latency.hop_latency = ..."
6302 }
6303 },
6304 {
6305 "op" : "add_header",
6306 "parameters" : [
6307 {
6308 "type" : "header",
6309 "value" : "int_port_ids"
6310 }
6311 ],
6312 "source_info" : {
6313 "filename" : "include/int_transit.p4",
6314 "line" : 44,
6315 "column" : 8,
6316 "source_fragment" : "hdr.int_port_ids.setValid()"
6317 }
6318 },
6319 {
6320 "op" : "assign",
6321 "parameters" : [
6322 {
6323 "type" : "field",
6324 "value" : ["int_port_ids", "ingress_port_id"]
6325 },
6326 {
6327 "type" : "expression",
6328 "value" : {
6329 "type" : "expression",
6330 "value" : {
6331 "op" : "&",
6332 "left" : {
6333 "type" : "field",
6334 "value" : ["standard_metadata", "ingress_port"]
6335 },
6336 "right" : {
6337 "type" : "hexstr",
6338 "value" : "0xffff"
6339 }
6340 }
6341 }
6342 }
6343 ],
6344 "source_info" : {
6345 "filename" : "include/int_transit.p4",
6346 "line" : 45,
6347 "column" : 8,
6348 "source_fragment" : "hdr.int_port_ids.ingress_port_id = ..."
6349 }
6350 },
6351 {
6352 "op" : "assign",
6353 "parameters" : [
6354 {
6355 "type" : "field",
6356 "value" : ["int_port_ids", "egress_port_id"]
6357 },
6358 {
6359 "type" : "expression",
6360 "value" : {
6361 "type" : "expression",
6362 "value" : {
6363 "op" : "&",
6364 "left" : {
6365 "type" : "field",
6366 "value" : ["standard_metadata", "egress_port"]
6367 },
6368 "right" : {
6369 "type" : "hexstr",
6370 "value" : "0xffff"
6371 }
6372 }
6373 }
6374 }
6375 ],
6376 "source_info" : {
6377 "filename" : "include/int_transit.p4",
6378 "line" : 47,
6379 "column" : 8,
6380 "source_fragment" : "hdr.int_port_ids.egress_port_id = ..."
6381 }
6382 },
6383 {
6384 "op" : "add_header",
6385 "parameters" : [
6386 {
6387 "type" : "header",
6388 "value" : "int_switch_id"
6389 }
6390 ],
6391 "source_info" : {
6392 "filename" : "include/int_transit.p4",
6393 "line" : 40,
6394 "column" : 8,
6395 "source_fragment" : "hdr.int_switch_id.setValid()"
6396 }
6397 },
6398 {
6399 "op" : "assign",
6400 "parameters" : [
6401 {
6402 "type" : "field",
6403 "value" : ["int_switch_id", "switch_id"]
6404 },
6405 {
6406 "type" : "field",
6407 "value" : ["userMetadata.int_meta", "switch_id"]
6408 }
6409 ],
6410 "source_info" : {
6411 "filename" : "include/int_transit.p4",
6412 "line" : 41,
6413 "column" : 8,
6414 "source_fragment" : "hdr.int_switch_id.switch_id = fabric_metadata.int_meta.switch_id"
6415 }
6416 }
6417 ]
6418 },
6419 {
6420 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i0",
6421 "id" : 76,
6422 "runtime_data" : [],
6423 "primitives" : []
6424 },
6425 {
6426 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i1",
6427 "id" : 77,
6428 "runtime_data" : [],
6429 "primitives" : [
6430 {
6431 "op" : "add_header",
6432 "parameters" : [
6433 {
6434 "type" : "header",
6435 "value" : "int_egress_tx_util"
6436 }
6437 ],
6438 "source_info" : {
6439 "filename" : "include/int_transit.p4",
6440 "line" : 88,
6441 "column" : 8,
6442 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
6443 }
6444 },
6445 {
6446 "op" : "assign",
6447 "parameters" : [
6448 {
6449 "type" : "field",
6450 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
6451 },
6452 {
6453 "type" : "hexstr",
6454 "value" : "0x00000000"
6455 }
6456 ],
6457 "source_info" : {
6458 "filename" : "include/int_transit.p4",
6459 "line" : 89,
6460 "column" : 8,
6461 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
6462 }
6463 }
6464 ]
6465 },
6466 {
6467 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i2",
6468 "id" : 78,
6469 "runtime_data" : [],
6470 "primitives" : [
6471 {
6472 "op" : "add_header",
6473 "parameters" : [
6474 {
6475 "type" : "header",
6476 "value" : "int_q_congestion"
6477 }
6478 ],
6479 "source_info" : {
6480 "filename" : "include/int_transit.p4",
6481 "line" : 78,
6482 "column" : 8,
6483 "source_fragment" : "hdr.int_q_congestion.setValid()"
6484 }
6485 },
6486 {
6487 "op" : "assign",
6488 "parameters" : [
6489 {
6490 "type" : "field",
6491 "value" : ["int_q_congestion", "q_id"]
6492 },
6493 {
6494 "type" : "hexstr",
6495 "value" : "0x00"
6496 }
6497 ],
6498 "source_info" : {
6499 "filename" : "include/int_transit.p4",
6500 "line" : 79,
6501 "column" : 8,
6502 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
6503 }
6504 },
6505 {
6506 "op" : "assign",
6507 "parameters" : [
6508 {
6509 "type" : "field",
6510 "value" : ["int_q_congestion", "q_congestion"]
6511 },
6512 {
6513 "type" : "hexstr",
6514 "value" : "0x000000"
6515 }
6516 ],
6517 "source_info" : {
6518 "filename" : "include/int_transit.p4",
6519 "line" : 82,
6520 "column" : 8,
6521 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
6522 }
6523 }
6524 ]
6525 },
6526 {
6527 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i3",
6528 "id" : 79,
6529 "runtime_data" : [],
6530 "primitives" : [
6531 {
6532 "op" : "add_header",
6533 "parameters" : [
6534 {
6535 "type" : "header",
6536 "value" : "int_egress_tx_util"
6537 }
6538 ],
6539 "source_info" : {
6540 "filename" : "include/int_transit.p4",
6541 "line" : 88,
6542 "column" : 8,
6543 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
6544 }
6545 },
6546 {
6547 "op" : "assign",
6548 "parameters" : [
6549 {
6550 "type" : "field",
6551 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
6552 },
6553 {
6554 "type" : "hexstr",
6555 "value" : "0x00000000"
6556 }
6557 ],
6558 "source_info" : {
6559 "filename" : "include/int_transit.p4",
6560 "line" : 89,
6561 "column" : 8,
6562 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
6563 }
6564 },
6565 {
6566 "op" : "add_header",
6567 "parameters" : [
6568 {
6569 "type" : "header",
6570 "value" : "int_q_congestion"
6571 }
6572 ],
6573 "source_info" : {
6574 "filename" : "include/int_transit.p4",
6575 "line" : 78,
6576 "column" : 8,
6577 "source_fragment" : "hdr.int_q_congestion.setValid()"
6578 }
6579 },
6580 {
6581 "op" : "assign",
6582 "parameters" : [
6583 {
6584 "type" : "field",
6585 "value" : ["int_q_congestion", "q_id"]
6586 },
6587 {
6588 "type" : "hexstr",
6589 "value" : "0x00"
6590 }
6591 ],
6592 "source_info" : {
6593 "filename" : "include/int_transit.p4",
6594 "line" : 79,
6595 "column" : 8,
6596 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
6597 }
6598 },
6599 {
6600 "op" : "assign",
6601 "parameters" : [
6602 {
6603 "type" : "field",
6604 "value" : ["int_q_congestion", "q_congestion"]
6605 },
6606 {
6607 "type" : "hexstr",
6608 "value" : "0x000000"
6609 }
6610 ],
6611 "source_info" : {
6612 "filename" : "include/int_transit.p4",
6613 "line" : 82,
6614 "column" : 8,
6615 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
6616 }
6617 }
6618 ]
6619 },
6620 {
6621 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i4",
6622 "id" : 80,
6623 "runtime_data" : [],
6624 "primitives" : [
6625 {
6626 "op" : "add_header",
6627 "parameters" : [
6628 {
6629 "type" : "header",
6630 "value" : "int_egress_tstamp"
6631 }
6632 ],
6633 "source_info" : {
6634 "filename" : "include/int_transit.p4",
6635 "line" : 70,
6636 "column" : 8,
6637 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
6638 }
6639 },
6640 {
6641 "op" : "assign",
6642 "parameters" : [
6643 {
6644 "type" : "field",
6645 "value" : ["int_egress_tstamp", "egress_tstamp"]
6646 },
6647 {
6648 "type" : "expression",
6649 "value" : {
6650 "type" : "expression",
6651 "value" : {
6652 "op" : "&",
6653 "left" : {
6654 "type" : "expression",
6655 "value" : {
6656 "op" : "+",
6657 "left" : {
6658 "type" : "field",
6659 "value" : ["standard_metadata", "enq_timestamp"]
6660 },
6661 "right" : {
6662 "type" : "field",
6663 "value" : ["standard_metadata", "deq_timedelta"]
6664 }
6665 }
6666 },
6667 "right" : {
6668 "type" : "hexstr",
6669 "value" : "0xffffffff"
6670 }
6671 }
6672 }
6673 }
6674 ],
6675 "source_info" : {
6676 "filename" : "include/int_transit.p4",
6677 "line" : 71,
6678 "column" : 8,
6679 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
6680 }
6681 }
6682 ]
6683 },
6684 {
6685 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i5",
6686 "id" : 81,
6687 "runtime_data" : [],
6688 "primitives" : [
6689 {
6690 "op" : "add_header",
6691 "parameters" : [
6692 {
6693 "type" : "header",
6694 "value" : "int_egress_tx_util"
6695 }
6696 ],
6697 "source_info" : {
6698 "filename" : "include/int_transit.p4",
6699 "line" : 88,
6700 "column" : 8,
6701 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
6702 }
6703 },
6704 {
6705 "op" : "assign",
6706 "parameters" : [
6707 {
6708 "type" : "field",
6709 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
6710 },
6711 {
6712 "type" : "hexstr",
6713 "value" : "0x00000000"
6714 }
6715 ],
6716 "source_info" : {
6717 "filename" : "include/int_transit.p4",
6718 "line" : 89,
6719 "column" : 8,
6720 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
6721 }
6722 },
6723 {
6724 "op" : "add_header",
6725 "parameters" : [
6726 {
6727 "type" : "header",
6728 "value" : "int_egress_tstamp"
6729 }
6730 ],
6731 "source_info" : {
6732 "filename" : "include/int_transit.p4",
6733 "line" : 70,
6734 "column" : 8,
6735 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
6736 }
6737 },
6738 {
6739 "op" : "assign",
6740 "parameters" : [
6741 {
6742 "type" : "field",
6743 "value" : ["int_egress_tstamp", "egress_tstamp"]
6744 },
6745 {
6746 "type" : "expression",
6747 "value" : {
6748 "type" : "expression",
6749 "value" : {
6750 "op" : "&",
6751 "left" : {
6752 "type" : "expression",
6753 "value" : {
6754 "op" : "+",
6755 "left" : {
6756 "type" : "field",
6757 "value" : ["standard_metadata", "enq_timestamp"]
6758 },
6759 "right" : {
6760 "type" : "field",
6761 "value" : ["standard_metadata", "deq_timedelta"]
6762 }
6763 }
6764 },
6765 "right" : {
6766 "type" : "hexstr",
6767 "value" : "0xffffffff"
6768 }
6769 }
6770 }
6771 }
6772 ],
6773 "source_info" : {
6774 "filename" : "include/int_transit.p4",
6775 "line" : 71,
6776 "column" : 8,
6777 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
6778 }
6779 }
6780 ]
6781 },
6782 {
6783 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i6",
6784 "id" : 82,
6785 "runtime_data" : [],
6786 "primitives" : [
6787 {
6788 "op" : "add_header",
6789 "parameters" : [
6790 {
6791 "type" : "header",
6792 "value" : "int_q_congestion"
6793 }
6794 ],
6795 "source_info" : {
6796 "filename" : "include/int_transit.p4",
6797 "line" : 78,
6798 "column" : 8,
6799 "source_fragment" : "hdr.int_q_congestion.setValid()"
6800 }
6801 },
6802 {
6803 "op" : "assign",
6804 "parameters" : [
6805 {
6806 "type" : "field",
6807 "value" : ["int_q_congestion", "q_id"]
6808 },
6809 {
6810 "type" : "hexstr",
6811 "value" : "0x00"
6812 }
6813 ],
6814 "source_info" : {
6815 "filename" : "include/int_transit.p4",
6816 "line" : 79,
6817 "column" : 8,
6818 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
6819 }
6820 },
6821 {
6822 "op" : "assign",
6823 "parameters" : [
6824 {
6825 "type" : "field",
6826 "value" : ["int_q_congestion", "q_congestion"]
6827 },
6828 {
6829 "type" : "hexstr",
6830 "value" : "0x000000"
6831 }
6832 ],
6833 "source_info" : {
6834 "filename" : "include/int_transit.p4",
6835 "line" : 82,
6836 "column" : 8,
6837 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
6838 }
6839 },
6840 {
6841 "op" : "add_header",
6842 "parameters" : [
6843 {
6844 "type" : "header",
6845 "value" : "int_egress_tstamp"
6846 }
6847 ],
6848 "source_info" : {
6849 "filename" : "include/int_transit.p4",
6850 "line" : 70,
6851 "column" : 8,
6852 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
6853 }
6854 },
6855 {
6856 "op" : "assign",
6857 "parameters" : [
6858 {
6859 "type" : "field",
6860 "value" : ["int_egress_tstamp", "egress_tstamp"]
6861 },
6862 {
6863 "type" : "expression",
6864 "value" : {
6865 "type" : "expression",
6866 "value" : {
6867 "op" : "&",
6868 "left" : {
6869 "type" : "expression",
6870 "value" : {
6871 "op" : "+",
6872 "left" : {
6873 "type" : "field",
6874 "value" : ["standard_metadata", "enq_timestamp"]
6875 },
6876 "right" : {
6877 "type" : "field",
6878 "value" : ["standard_metadata", "deq_timedelta"]
6879 }
6880 }
6881 },
6882 "right" : {
6883 "type" : "hexstr",
6884 "value" : "0xffffffff"
6885 }
6886 }
6887 }
6888 }
6889 ],
6890 "source_info" : {
6891 "filename" : "include/int_transit.p4",
6892 "line" : 71,
6893 "column" : 8,
6894 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
6895 }
6896 }
6897 ]
6898 },
6899 {
6900 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i7",
6901 "id" : 83,
6902 "runtime_data" : [],
6903 "primitives" : [
6904 {
6905 "op" : "add_header",
6906 "parameters" : [
6907 {
6908 "type" : "header",
6909 "value" : "int_egress_tx_util"
6910 }
6911 ],
6912 "source_info" : {
6913 "filename" : "include/int_transit.p4",
6914 "line" : 88,
6915 "column" : 8,
6916 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
6917 }
6918 },
6919 {
6920 "op" : "assign",
6921 "parameters" : [
6922 {
6923 "type" : "field",
6924 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
6925 },
6926 {
6927 "type" : "hexstr",
6928 "value" : "0x00000000"
6929 }
6930 ],
6931 "source_info" : {
6932 "filename" : "include/int_transit.p4",
6933 "line" : 89,
6934 "column" : 8,
6935 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
6936 }
6937 },
6938 {
6939 "op" : "add_header",
6940 "parameters" : [
6941 {
6942 "type" : "header",
6943 "value" : "int_q_congestion"
6944 }
6945 ],
6946 "source_info" : {
6947 "filename" : "include/int_transit.p4",
6948 "line" : 78,
6949 "column" : 8,
6950 "source_fragment" : "hdr.int_q_congestion.setValid()"
6951 }
6952 },
6953 {
6954 "op" : "assign",
6955 "parameters" : [
6956 {
6957 "type" : "field",
6958 "value" : ["int_q_congestion", "q_id"]
6959 },
6960 {
6961 "type" : "hexstr",
6962 "value" : "0x00"
6963 }
6964 ],
6965 "source_info" : {
6966 "filename" : "include/int_transit.p4",
6967 "line" : 79,
6968 "column" : 8,
6969 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
6970 }
6971 },
6972 {
6973 "op" : "assign",
6974 "parameters" : [
6975 {
6976 "type" : "field",
6977 "value" : ["int_q_congestion", "q_congestion"]
6978 },
6979 {
6980 "type" : "hexstr",
6981 "value" : "0x000000"
6982 }
6983 ],
6984 "source_info" : {
6985 "filename" : "include/int_transit.p4",
6986 "line" : 82,
6987 "column" : 8,
6988 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
6989 }
6990 },
6991 {
6992 "op" : "add_header",
6993 "parameters" : [
6994 {
6995 "type" : "header",
6996 "value" : "int_egress_tstamp"
6997 }
6998 ],
6999 "source_info" : {
7000 "filename" : "include/int_transit.p4",
7001 "line" : 70,
7002 "column" : 8,
7003 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
7004 }
7005 },
7006 {
7007 "op" : "assign",
7008 "parameters" : [
7009 {
7010 "type" : "field",
7011 "value" : ["int_egress_tstamp", "egress_tstamp"]
7012 },
7013 {
7014 "type" : "expression",
7015 "value" : {
7016 "type" : "expression",
7017 "value" : {
7018 "op" : "&",
7019 "left" : {
7020 "type" : "expression",
7021 "value" : {
7022 "op" : "+",
7023 "left" : {
7024 "type" : "field",
7025 "value" : ["standard_metadata", "enq_timestamp"]
7026 },
7027 "right" : {
7028 "type" : "field",
7029 "value" : ["standard_metadata", "deq_timedelta"]
7030 }
7031 }
7032 },
7033 "right" : {
7034 "type" : "hexstr",
7035 "value" : "0xffffffff"
7036 }
7037 }
7038 }
7039 }
7040 ],
7041 "source_info" : {
7042 "filename" : "include/int_transit.p4",
7043 "line" : 71,
7044 "column" : 8,
7045 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
7046 }
7047 }
7048 ]
7049 },
7050 {
7051 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i8",
7052 "id" : 84,
7053 "runtime_data" : [],
7054 "primitives" : [
7055 {
7056 "op" : "add_header",
7057 "parameters" : [
7058 {
7059 "type" : "header",
7060 "value" : "int_ingress_tstamp"
7061 }
7062 ],
7063 "source_info" : {
7064 "filename" : "include/int_transit.p4",
7065 "line" : 65,
7066 "column" : 8,
7067 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
7068 }
7069 },
7070 {
7071 "op" : "assign",
7072 "parameters" : [
7073 {
7074 "type" : "field",
7075 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
7076 },
7077 {
7078 "type" : "field",
7079 "value" : ["standard_metadata", "enq_timestamp"]
7080 }
7081 ],
7082 "source_info" : {
7083 "filename" : "include/int_transit.p4",
7084 "line" : 66,
7085 "column" : 8,
7086 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
7087 }
7088 }
7089 ]
7090 },
7091 {
7092 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i9",
7093 "id" : 85,
7094 "runtime_data" : [],
7095 "primitives" : [
7096 {
7097 "op" : "add_header",
7098 "parameters" : [
7099 {
7100 "type" : "header",
7101 "value" : "int_egress_tx_util"
7102 }
7103 ],
7104 "source_info" : {
7105 "filename" : "include/int_transit.p4",
7106 "line" : 88,
7107 "column" : 8,
7108 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
7109 }
7110 },
7111 {
7112 "op" : "assign",
7113 "parameters" : [
7114 {
7115 "type" : "field",
7116 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
7117 },
7118 {
7119 "type" : "hexstr",
7120 "value" : "0x00000000"
7121 }
7122 ],
7123 "source_info" : {
7124 "filename" : "include/int_transit.p4",
7125 "line" : 89,
7126 "column" : 8,
7127 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
7128 }
7129 },
7130 {
7131 "op" : "add_header",
7132 "parameters" : [
7133 {
7134 "type" : "header",
7135 "value" : "int_ingress_tstamp"
7136 }
7137 ],
7138 "source_info" : {
7139 "filename" : "include/int_transit.p4",
7140 "line" : 65,
7141 "column" : 8,
7142 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
7143 }
7144 },
7145 {
7146 "op" : "assign",
7147 "parameters" : [
7148 {
7149 "type" : "field",
7150 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
7151 },
7152 {
7153 "type" : "field",
7154 "value" : ["standard_metadata", "enq_timestamp"]
7155 }
7156 ],
7157 "source_info" : {
7158 "filename" : "include/int_transit.p4",
7159 "line" : 66,
7160 "column" : 8,
7161 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
7162 }
7163 }
7164 ]
7165 },
7166 {
7167 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i10",
7168 "id" : 86,
7169 "runtime_data" : [],
7170 "primitives" : [
7171 {
7172 "op" : "add_header",
7173 "parameters" : [
7174 {
7175 "type" : "header",
7176 "value" : "int_q_congestion"
7177 }
7178 ],
7179 "source_info" : {
7180 "filename" : "include/int_transit.p4",
7181 "line" : 78,
7182 "column" : 8,
7183 "source_fragment" : "hdr.int_q_congestion.setValid()"
7184 }
7185 },
7186 {
7187 "op" : "assign",
7188 "parameters" : [
7189 {
7190 "type" : "field",
7191 "value" : ["int_q_congestion", "q_id"]
7192 },
7193 {
7194 "type" : "hexstr",
7195 "value" : "0x00"
7196 }
7197 ],
7198 "source_info" : {
7199 "filename" : "include/int_transit.p4",
7200 "line" : 79,
7201 "column" : 8,
7202 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
7203 }
7204 },
7205 {
7206 "op" : "assign",
7207 "parameters" : [
7208 {
7209 "type" : "field",
7210 "value" : ["int_q_congestion", "q_congestion"]
7211 },
7212 {
7213 "type" : "hexstr",
7214 "value" : "0x000000"
7215 }
7216 ],
7217 "source_info" : {
7218 "filename" : "include/int_transit.p4",
7219 "line" : 82,
7220 "column" : 8,
7221 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
7222 }
7223 },
7224 {
7225 "op" : "add_header",
7226 "parameters" : [
7227 {
7228 "type" : "header",
7229 "value" : "int_ingress_tstamp"
7230 }
7231 ],
7232 "source_info" : {
7233 "filename" : "include/int_transit.p4",
7234 "line" : 65,
7235 "column" : 8,
7236 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
7237 }
7238 },
7239 {
7240 "op" : "assign",
7241 "parameters" : [
7242 {
7243 "type" : "field",
7244 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
7245 },
7246 {
7247 "type" : "field",
7248 "value" : ["standard_metadata", "enq_timestamp"]
7249 }
7250 ],
7251 "source_info" : {
7252 "filename" : "include/int_transit.p4",
7253 "line" : 66,
7254 "column" : 8,
7255 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
7256 }
7257 }
7258 ]
7259 },
7260 {
7261 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i11",
7262 "id" : 87,
7263 "runtime_data" : [],
7264 "primitives" : [
7265 {
7266 "op" : "add_header",
7267 "parameters" : [
7268 {
7269 "type" : "header",
7270 "value" : "int_egress_tx_util"
7271 }
7272 ],
7273 "source_info" : {
7274 "filename" : "include/int_transit.p4",
7275 "line" : 88,
7276 "column" : 8,
7277 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
7278 }
7279 },
7280 {
7281 "op" : "assign",
7282 "parameters" : [
7283 {
7284 "type" : "field",
7285 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
7286 },
7287 {
7288 "type" : "hexstr",
7289 "value" : "0x00000000"
7290 }
7291 ],
7292 "source_info" : {
7293 "filename" : "include/int_transit.p4",
7294 "line" : 89,
7295 "column" : 8,
7296 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
7297 }
7298 },
7299 {
7300 "op" : "add_header",
7301 "parameters" : [
7302 {
7303 "type" : "header",
7304 "value" : "int_q_congestion"
7305 }
7306 ],
7307 "source_info" : {
7308 "filename" : "include/int_transit.p4",
7309 "line" : 78,
7310 "column" : 8,
7311 "source_fragment" : "hdr.int_q_congestion.setValid()"
7312 }
7313 },
7314 {
7315 "op" : "assign",
7316 "parameters" : [
7317 {
7318 "type" : "field",
7319 "value" : ["int_q_congestion", "q_id"]
7320 },
7321 {
7322 "type" : "hexstr",
7323 "value" : "0x00"
7324 }
7325 ],
7326 "source_info" : {
7327 "filename" : "include/int_transit.p4",
7328 "line" : 79,
7329 "column" : 8,
7330 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
7331 }
7332 },
7333 {
7334 "op" : "assign",
7335 "parameters" : [
7336 {
7337 "type" : "field",
7338 "value" : ["int_q_congestion", "q_congestion"]
7339 },
7340 {
7341 "type" : "hexstr",
7342 "value" : "0x000000"
7343 }
7344 ],
7345 "source_info" : {
7346 "filename" : "include/int_transit.p4",
7347 "line" : 82,
7348 "column" : 8,
7349 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
7350 }
7351 },
7352 {
7353 "op" : "add_header",
7354 "parameters" : [
7355 {
7356 "type" : "header",
7357 "value" : "int_ingress_tstamp"
7358 }
7359 ],
7360 "source_info" : {
7361 "filename" : "include/int_transit.p4",
7362 "line" : 65,
7363 "column" : 8,
7364 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
7365 }
7366 },
7367 {
7368 "op" : "assign",
7369 "parameters" : [
7370 {
7371 "type" : "field",
7372 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
7373 },
7374 {
7375 "type" : "field",
7376 "value" : ["standard_metadata", "enq_timestamp"]
7377 }
7378 ],
7379 "source_info" : {
7380 "filename" : "include/int_transit.p4",
7381 "line" : 66,
7382 "column" : 8,
7383 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
7384 }
7385 }
7386 ]
7387 },
7388 {
7389 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i12",
7390 "id" : 88,
7391 "runtime_data" : [],
7392 "primitives" : [
7393 {
7394 "op" : "add_header",
7395 "parameters" : [
7396 {
7397 "type" : "header",
7398 "value" : "int_egress_tstamp"
7399 }
7400 ],
7401 "source_info" : {
7402 "filename" : "include/int_transit.p4",
7403 "line" : 70,
7404 "column" : 8,
7405 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
7406 }
7407 },
7408 {
7409 "op" : "assign",
7410 "parameters" : [
7411 {
7412 "type" : "field",
7413 "value" : ["int_egress_tstamp", "egress_tstamp"]
7414 },
7415 {
7416 "type" : "expression",
7417 "value" : {
7418 "type" : "expression",
7419 "value" : {
7420 "op" : "&",
7421 "left" : {
7422 "type" : "expression",
7423 "value" : {
7424 "op" : "+",
7425 "left" : {
7426 "type" : "field",
7427 "value" : ["standard_metadata", "enq_timestamp"]
7428 },
7429 "right" : {
7430 "type" : "field",
7431 "value" : ["standard_metadata", "deq_timedelta"]
7432 }
7433 }
7434 },
7435 "right" : {
7436 "type" : "hexstr",
7437 "value" : "0xffffffff"
7438 }
7439 }
7440 }
7441 }
7442 ],
7443 "source_info" : {
7444 "filename" : "include/int_transit.p4",
7445 "line" : 71,
7446 "column" : 8,
7447 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
7448 }
7449 },
7450 {
7451 "op" : "add_header",
7452 "parameters" : [
7453 {
7454 "type" : "header",
7455 "value" : "int_ingress_tstamp"
7456 }
7457 ],
7458 "source_info" : {
7459 "filename" : "include/int_transit.p4",
7460 "line" : 65,
7461 "column" : 8,
7462 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
7463 }
7464 },
7465 {
7466 "op" : "assign",
7467 "parameters" : [
7468 {
7469 "type" : "field",
7470 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
7471 },
7472 {
7473 "type" : "field",
7474 "value" : ["standard_metadata", "enq_timestamp"]
7475 }
7476 ],
7477 "source_info" : {
7478 "filename" : "include/int_transit.p4",
7479 "line" : 66,
7480 "column" : 8,
7481 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
7482 }
7483 }
7484 ]
7485 },
7486 {
7487 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i13",
7488 "id" : 89,
7489 "runtime_data" : [],
7490 "primitives" : [
7491 {
7492 "op" : "add_header",
7493 "parameters" : [
7494 {
7495 "type" : "header",
7496 "value" : "int_egress_tx_util"
7497 }
7498 ],
7499 "source_info" : {
7500 "filename" : "include/int_transit.p4",
7501 "line" : 88,
7502 "column" : 8,
7503 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
7504 }
7505 },
7506 {
7507 "op" : "assign",
7508 "parameters" : [
7509 {
7510 "type" : "field",
7511 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
7512 },
7513 {
7514 "type" : "hexstr",
7515 "value" : "0x00000000"
7516 }
7517 ],
7518 "source_info" : {
7519 "filename" : "include/int_transit.p4",
7520 "line" : 89,
7521 "column" : 8,
7522 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
7523 }
7524 },
7525 {
7526 "op" : "add_header",
7527 "parameters" : [
7528 {
7529 "type" : "header",
7530 "value" : "int_egress_tstamp"
7531 }
7532 ],
7533 "source_info" : {
7534 "filename" : "include/int_transit.p4",
7535 "line" : 70,
7536 "column" : 8,
7537 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
7538 }
7539 },
7540 {
7541 "op" : "assign",
7542 "parameters" : [
7543 {
7544 "type" : "field",
7545 "value" : ["int_egress_tstamp", "egress_tstamp"]
7546 },
7547 {
7548 "type" : "expression",
7549 "value" : {
7550 "type" : "expression",
7551 "value" : {
7552 "op" : "&",
7553 "left" : {
7554 "type" : "expression",
7555 "value" : {
7556 "op" : "+",
7557 "left" : {
7558 "type" : "field",
7559 "value" : ["standard_metadata", "enq_timestamp"]
7560 },
7561 "right" : {
7562 "type" : "field",
7563 "value" : ["standard_metadata", "deq_timedelta"]
7564 }
7565 }
7566 },
7567 "right" : {
7568 "type" : "hexstr",
7569 "value" : "0xffffffff"
7570 }
7571 }
7572 }
7573 }
7574 ],
7575 "source_info" : {
7576 "filename" : "include/int_transit.p4",
7577 "line" : 71,
7578 "column" : 8,
7579 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
7580 }
7581 },
7582 {
7583 "op" : "add_header",
7584 "parameters" : [
7585 {
7586 "type" : "header",
7587 "value" : "int_ingress_tstamp"
7588 }
7589 ],
7590 "source_info" : {
7591 "filename" : "include/int_transit.p4",
7592 "line" : 65,
7593 "column" : 8,
7594 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
7595 }
7596 },
7597 {
7598 "op" : "assign",
7599 "parameters" : [
7600 {
7601 "type" : "field",
7602 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
7603 },
7604 {
7605 "type" : "field",
7606 "value" : ["standard_metadata", "enq_timestamp"]
7607 }
7608 ],
7609 "source_info" : {
7610 "filename" : "include/int_transit.p4",
7611 "line" : 66,
7612 "column" : 8,
7613 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
7614 }
7615 }
7616 ]
7617 },
7618 {
7619 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i14",
7620 "id" : 90,
7621 "runtime_data" : [],
7622 "primitives" : [
7623 {
7624 "op" : "add_header",
7625 "parameters" : [
7626 {
7627 "type" : "header",
7628 "value" : "int_q_congestion"
7629 }
7630 ],
7631 "source_info" : {
7632 "filename" : "include/int_transit.p4",
7633 "line" : 78,
7634 "column" : 8,
7635 "source_fragment" : "hdr.int_q_congestion.setValid()"
7636 }
7637 },
7638 {
7639 "op" : "assign",
7640 "parameters" : [
7641 {
7642 "type" : "field",
7643 "value" : ["int_q_congestion", "q_id"]
7644 },
7645 {
7646 "type" : "hexstr",
7647 "value" : "0x00"
7648 }
7649 ],
7650 "source_info" : {
7651 "filename" : "include/int_transit.p4",
7652 "line" : 79,
7653 "column" : 8,
7654 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
7655 }
7656 },
7657 {
7658 "op" : "assign",
7659 "parameters" : [
7660 {
7661 "type" : "field",
7662 "value" : ["int_q_congestion", "q_congestion"]
7663 },
7664 {
7665 "type" : "hexstr",
7666 "value" : "0x000000"
7667 }
7668 ],
7669 "source_info" : {
7670 "filename" : "include/int_transit.p4",
7671 "line" : 82,
7672 "column" : 8,
7673 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
7674 }
7675 },
7676 {
7677 "op" : "add_header",
7678 "parameters" : [
7679 {
7680 "type" : "header",
7681 "value" : "int_egress_tstamp"
7682 }
7683 ],
7684 "source_info" : {
7685 "filename" : "include/int_transit.p4",
7686 "line" : 70,
7687 "column" : 8,
7688 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
7689 }
7690 },
7691 {
7692 "op" : "assign",
7693 "parameters" : [
7694 {
7695 "type" : "field",
7696 "value" : ["int_egress_tstamp", "egress_tstamp"]
7697 },
7698 {
7699 "type" : "expression",
7700 "value" : {
7701 "type" : "expression",
7702 "value" : {
7703 "op" : "&",
7704 "left" : {
7705 "type" : "expression",
7706 "value" : {
7707 "op" : "+",
7708 "left" : {
7709 "type" : "field",
7710 "value" : ["standard_metadata", "enq_timestamp"]
7711 },
7712 "right" : {
7713 "type" : "field",
7714 "value" : ["standard_metadata", "deq_timedelta"]
7715 }
7716 }
7717 },
7718 "right" : {
7719 "type" : "hexstr",
7720 "value" : "0xffffffff"
7721 }
7722 }
7723 }
7724 }
7725 ],
7726 "source_info" : {
7727 "filename" : "include/int_transit.p4",
7728 "line" : 71,
7729 "column" : 8,
7730 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
7731 }
7732 },
7733 {
7734 "op" : "add_header",
7735 "parameters" : [
7736 {
7737 "type" : "header",
7738 "value" : "int_ingress_tstamp"
7739 }
7740 ],
7741 "source_info" : {
7742 "filename" : "include/int_transit.p4",
7743 "line" : 65,
7744 "column" : 8,
7745 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
7746 }
7747 },
7748 {
7749 "op" : "assign",
7750 "parameters" : [
7751 {
7752 "type" : "field",
7753 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
7754 },
7755 {
7756 "type" : "field",
7757 "value" : ["standard_metadata", "enq_timestamp"]
7758 }
7759 ],
7760 "source_info" : {
7761 "filename" : "include/int_transit.p4",
7762 "line" : 66,
7763 "column" : 8,
7764 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
7765 }
7766 }
7767 ]
7768 },
7769 {
7770 "name" : "FabricEgress.process_int_transit.int_set_header_0407_i15",
7771 "id" : 91,
7772 "runtime_data" : [],
7773 "primitives" : [
7774 {
7775 "op" : "add_header",
7776 "parameters" : [
7777 {
7778 "type" : "header",
7779 "value" : "int_egress_tx_util"
7780 }
7781 ],
7782 "source_info" : {
7783 "filename" : "include/int_transit.p4",
7784 "line" : 88,
7785 "column" : 8,
7786 "source_fragment" : "hdr.int_egress_tx_util.setValid()"
7787 }
7788 },
7789 {
7790 "op" : "assign",
7791 "parameters" : [
7792 {
7793 "type" : "field",
7794 "value" : ["int_egress_tx_util", "egress_port_tx_util"]
7795 },
7796 {
7797 "type" : "hexstr",
7798 "value" : "0x00000000"
7799 }
7800 ],
7801 "source_info" : {
7802 "filename" : "include/int_transit.p4",
7803 "line" : 89,
7804 "column" : 8,
7805 "source_fragment" : "hdr.int_egress_tx_util.egress_port_tx_util = ..."
7806 }
7807 },
7808 {
7809 "op" : "add_header",
7810 "parameters" : [
7811 {
7812 "type" : "header",
7813 "value" : "int_q_congestion"
7814 }
7815 ],
7816 "source_info" : {
7817 "filename" : "include/int_transit.p4",
7818 "line" : 78,
7819 "column" : 8,
7820 "source_fragment" : "hdr.int_q_congestion.setValid()"
7821 }
7822 },
7823 {
7824 "op" : "assign",
7825 "parameters" : [
7826 {
7827 "type" : "field",
7828 "value" : ["int_q_congestion", "q_id"]
7829 },
7830 {
7831 "type" : "hexstr",
7832 "value" : "0x00"
7833 }
7834 ],
7835 "source_info" : {
7836 "filename" : "include/int_transit.p4",
7837 "line" : 79,
7838 "column" : 8,
7839 "source_fragment" : "hdr.int_q_congestion.q_id = ..."
7840 }
7841 },
7842 {
7843 "op" : "assign",
7844 "parameters" : [
7845 {
7846 "type" : "field",
7847 "value" : ["int_q_congestion", "q_congestion"]
7848 },
7849 {
7850 "type" : "hexstr",
7851 "value" : "0x000000"
7852 }
7853 ],
7854 "source_info" : {
7855 "filename" : "include/int_transit.p4",
7856 "line" : 82,
7857 "column" : 8,
7858 "source_fragment" : "hdr.int_q_congestion.q_congestion = ..."
7859 }
7860 },
7861 {
7862 "op" : "add_header",
7863 "parameters" : [
7864 {
7865 "type" : "header",
7866 "value" : "int_egress_tstamp"
7867 }
7868 ],
7869 "source_info" : {
7870 "filename" : "include/int_transit.p4",
7871 "line" : 70,
7872 "column" : 8,
7873 "source_fragment" : "hdr.int_egress_tstamp.setValid()"
7874 }
7875 },
7876 {
7877 "op" : "assign",
7878 "parameters" : [
7879 {
7880 "type" : "field",
7881 "value" : ["int_egress_tstamp", "egress_tstamp"]
7882 },
7883 {
7884 "type" : "expression",
7885 "value" : {
7886 "type" : "expression",
7887 "value" : {
7888 "op" : "&",
7889 "left" : {
7890 "type" : "expression",
7891 "value" : {
7892 "op" : "+",
7893 "left" : {
7894 "type" : "field",
7895 "value" : ["standard_metadata", "enq_timestamp"]
7896 },
7897 "right" : {
7898 "type" : "field",
7899 "value" : ["standard_metadata", "deq_timedelta"]
7900 }
7901 }
7902 },
7903 "right" : {
7904 "type" : "hexstr",
7905 "value" : "0xffffffff"
7906 }
7907 }
7908 }
7909 }
7910 ],
7911 "source_info" : {
7912 "filename" : "include/int_transit.p4",
7913 "line" : 71,
7914 "column" : 8,
7915 "source_fragment" : "hdr.int_egress_tstamp.egress_tstamp = ..."
7916 }
7917 },
7918 {
7919 "op" : "add_header",
7920 "parameters" : [
7921 {
7922 "type" : "header",
7923 "value" : "int_ingress_tstamp"
7924 }
7925 ],
7926 "source_info" : {
7927 "filename" : "include/int_transit.p4",
7928 "line" : 65,
7929 "column" : 8,
7930 "source_fragment" : "hdr.int_ingress_tstamp.setValid()"
7931 }
7932 },
7933 {
7934 "op" : "assign",
7935 "parameters" : [
7936 {
7937 "type" : "field",
7938 "value" : ["int_ingress_tstamp", "ingress_tstamp"]
7939 },
7940 {
7941 "type" : "field",
7942 "value" : ["standard_metadata", "enq_timestamp"]
7943 }
7944 ],
7945 "source_info" : {
7946 "filename" : "include/int_transit.p4",
7947 "line" : 66,
7948 "column" : 8,
7949 "source_fragment" : "hdr.int_ingress_tstamp.ingress_tstamp = ..."
7950 }
7951 }
7952 ]
7953 },
7954 {
7955 "name" : "FabricEgress.process_int_outer_encap.int_update_ipv4",
7956 "id" : 92,
7957 "runtime_data" : [],
7958 "primitives" : [
7959 {
7960 "op" : "assign",
7961 "parameters" : [
7962 {
7963 "type" : "field",
7964 "value" : ["ipv4", "total_len"]
7965 },
7966 {
7967 "type" : "expression",
7968 "value" : {
7969 "type" : "expression",
7970 "value" : {
7971 "op" : "&",
7972 "left" : {
7973 "type" : "expression",
7974 "value" : {
7975 "op" : "+",
7976 "left" : {
7977 "type" : "field",
7978 "value" : ["ipv4", "total_len"]
7979 },
7980 "right" : {
7981 "type" : "field",
7982 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
7983 }
7984 }
7985 },
7986 "right" : {
7987 "type" : "hexstr",
7988 "value" : "0xffff"
7989 }
7990 }
7991 }
7992 }
7993 ],
7994 "source_info" : {
7995 "filename" : "include/int_transit.p4",
7996 "line" : 304,
7997 "column" : 8,
7998 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len + fabric_metadata.int_meta.insert_byte_cnt"
7999 }
8000 }
8001 ]
8002 },
8003 {
8004 "name" : "FabricEgress.process_int_outer_encap.int_update_udp",
8005 "id" : 93,
8006 "runtime_data" : [],
8007 "primitives" : [
8008 {
8009 "op" : "assign",
8010 "parameters" : [
8011 {
8012 "type" : "field",
8013 "value" : ["udp", "len"]
8014 },
8015 {
8016 "type" : "expression",
8017 "value" : {
8018 "type" : "expression",
8019 "value" : {
8020 "op" : "&",
8021 "left" : {
8022 "type" : "expression",
8023 "value" : {
8024 "op" : "+",
8025 "left" : {
8026 "type" : "field",
8027 "value" : ["udp", "len"]
8028 },
8029 "right" : {
8030 "type" : "field",
8031 "value" : ["userMetadata.int_meta", "insert_byte_cnt"]
8032 }
8033 }
8034 },
8035 "right" : {
8036 "type" : "hexstr",
8037 "value" : "0xffff"
8038 }
8039 }
8040 }
8041 }
8042 ],
8043 "source_info" : {
8044 "filename" : "include/int_transit.p4",
8045 "line" : 307,
8046 "column" : 8,
8047 "source_fragment" : "hdr.udp.len = hdr.udp.len + fabric_metadata.int_meta.insert_byte_cnt"
8048 }
8049 }
8050 ]
8051 },
8052 {
8053 "name" : "FabricEgress.process_int_outer_encap.int_update_shim",
8054 "id" : 94,
8055 "runtime_data" : [],
8056 "primitives" : [
8057 {
8058 "op" : "assign",
8059 "parameters" : [
8060 {
8061 "type" : "field",
8062 "value" : ["intl4_shim", "len"]
8063 },
8064 {
8065 "type" : "expression",
8066 "value" : {
8067 "type" : "expression",
8068 "value" : {
8069 "op" : "&",
8070 "left" : {
8071 "type" : "expression",
8072 "value" : {
8073 "op" : "+",
8074 "left" : {
8075 "type" : "field",
8076 "value" : ["intl4_shim", "len"]
8077 },
8078 "right" : {
8079 "type" : "expression",
8080 "value" : {
8081 "op" : "&",
8082 "left" : {
8083 "type" : "field",
8084 "value" : ["int_header", "ins_cnt"]
8085 },
8086 "right" : {
8087 "type" : "hexstr",
8088 "value" : "0xff"
8089 }
8090 }
8091 }
8092 }
8093 },
8094 "right" : {
8095 "type" : "hexstr",
8096 "value" : "0xff"
8097 }
8098 }
8099 }
8100 }
8101 ],
8102 "source_info" : {
8103 "filename" : "include/int_transit.p4",
8104 "line" : 310,
8105 "column" : 8,
8106 "source_fragment" : "hdr.intl4_shim.len = hdr.intl4_shim.len + (bit<8>)hdr.int_header.ins_cnt"
8107 }
8108 }
8109 ]
8110 },
8111 {
8112 "name" : "FabricEgress.process_int_report.do_report_encapsulation",
8113 "id" : 95,
8114 "runtime_data" : [
8115 {
8116 "name" : "src_mac",
8117 "bitwidth" : 48
8118 },
8119 {
8120 "name" : "mon_mac",
8121 "bitwidth" : 48
8122 },
8123 {
8124 "name" : "src_ip",
8125 "bitwidth" : 32
8126 },
8127 {
8128 "name" : "mon_ip",
8129 "bitwidth" : 32
8130 },
8131 {
8132 "name" : "mon_port",
8133 "bitwidth" : 16
8134 }
8135 ],
8136 "primitives" : [
8137 {
8138 "op" : "add_header",
8139 "parameters" : [
8140 {
8141 "type" : "header",
8142 "value" : "report_ethernet"
8143 }
8144 ],
8145 "source_info" : {
8146 "filename" : "include/int_report.p4",
8147 "line" : 50,
8148 "column" : 8,
8149 "source_fragment" : "hdr.report_ethernet.setValid()"
8150 }
8151 },
8152 {
8153 "op" : "assign",
8154 "parameters" : [
8155 {
8156 "type" : "field",
8157 "value" : ["report_ethernet", "dst_addr"]
8158 },
8159 {
8160 "type" : "runtime_data",
8161 "value" : 1
8162 }
8163 ],
8164 "source_info" : {
8165 "filename" : "include/int_report.p4",
8166 "line" : 51,
8167 "column" : 8,
8168 "source_fragment" : "hdr.report_ethernet.dst_addr = mon_mac"
8169 }
8170 },
8171 {
8172 "op" : "assign",
8173 "parameters" : [
8174 {
8175 "type" : "field",
8176 "value" : ["report_ethernet", "src_addr"]
8177 },
8178 {
8179 "type" : "runtime_data",
8180 "value" : 0
8181 }
8182 ],
8183 "source_info" : {
8184 "filename" : "include/int_report.p4",
8185 "line" : 52,
8186 "column" : 8,
8187 "source_fragment" : "hdr.report_ethernet.src_addr = src_mac"
8188 }
8189 },
8190 {
8191 "op" : "assign",
8192 "parameters" : [
8193 {
8194 "type" : "field",
8195 "value" : ["report_ethernet", "ether_type"]
8196 },
8197 {
8198 "type" : "hexstr",
8199 "value" : "0x0800"
8200 }
8201 ],
8202 "source_info" : {
8203 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008204 "line" : 92,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008205 "column" : 31,
8206 "source_fragment" : "0x0800; ..."
8207 }
8208 },
8209 {
8210 "op" : "add_header",
8211 "parameters" : [
8212 {
8213 "type" : "header",
8214 "value" : "report_ipv4"
8215 }
8216 ],
8217 "source_info" : {
8218 "filename" : "include/int_report.p4",
8219 "line" : 56,
8220 "column" : 8,
8221 "source_fragment" : "hdr.report_ipv4.setValid()"
8222 }
8223 },
8224 {
8225 "op" : "assign",
8226 "parameters" : [
8227 {
8228 "type" : "field",
8229 "value" : ["report_ipv4", "version"]
8230 },
8231 {
8232 "type" : "hexstr",
8233 "value" : "0x04"
8234 }
8235 ],
8236 "source_info" : {
8237 "filename" : "include/int_report.p4",
8238 "line" : 57,
8239 "column" : 8,
8240 "source_fragment" : "hdr.report_ipv4.version = 4w4"
8241 }
8242 },
8243 {
8244 "op" : "assign",
8245 "parameters" : [
8246 {
8247 "type" : "field",
8248 "value" : ["report_ipv4", "ihl"]
8249 },
8250 {
8251 "type" : "hexstr",
8252 "value" : "0x05"
8253 }
8254 ],
8255 "source_info" : {
8256 "filename" : "include/int_report.p4",
8257 "line" : 58,
8258 "column" : 8,
8259 "source_fragment" : "hdr.report_ipv4.ihl = 4w5"
8260 }
8261 },
8262 {
8263 "op" : "assign",
8264 "parameters" : [
8265 {
8266 "type" : "field",
8267 "value" : ["report_ipv4", "dscp"]
8268 },
8269 {
8270 "type" : "hexstr",
8271 "value" : "0x00"
8272 }
8273 ],
8274 "source_info" : {
8275 "filename" : "include/int_report.p4",
8276 "line" : 59,
8277 "column" : 8,
8278 "source_fragment" : "hdr.report_ipv4.dscp = 6w0"
8279 }
8280 },
8281 {
8282 "op" : "assign",
8283 "parameters" : [
8284 {
8285 "type" : "field",
8286 "value" : ["report_ipv4", "ecn"]
8287 },
8288 {
8289 "type" : "hexstr",
8290 "value" : "0x00"
8291 }
8292 ],
8293 "source_info" : {
8294 "filename" : "include/int_report.p4",
8295 "line" : 60,
8296 "column" : 8,
8297 "source_fragment" : "hdr.report_ipv4.ecn = 2w0"
8298 }
8299 },
8300 {
8301 "op" : "assign",
8302 "parameters" : [
8303 {
8304 "type" : "field",
8305 "value" : ["report_ipv4", "total_len"]
8306 },
8307 {
8308 "type" : "expression",
8309 "value" : {
8310 "type" : "expression",
8311 "value" : {
8312 "op" : "&",
8313 "left" : {
8314 "type" : "expression",
8315 "value" : {
8316 "op" : "+",
8317 "left" : {
8318 "type" : "hexstr",
8319 "value" : "0x0036"
8320 },
8321 "right" : {
8322 "type" : "field",
8323 "value" : ["ipv4", "total_len"]
8324 }
8325 }
8326 },
8327 "right" : {
8328 "type" : "hexstr",
8329 "value" : "0xffff"
8330 }
8331 }
8332 }
8333 }
8334 ],
8335 "source_info" : {
8336 "filename" : "include/int_report.p4",
8337 "line" : 62,
8338 "column" : 8,
8339 "source_fragment" : "hdr.report_ipv4.total_len = (bit<16>) IPV4_MIN_HEAD_LEN + (bit<16>) UDP_HEADER_LEN + ..."
8340 }
8341 },
8342 {
8343 "op" : "assign",
8344 "parameters" : [
8345 {
8346 "type" : "field",
8347 "value" : ["report_ipv4", "identification"]
8348 },
8349 {
8350 "type" : "hexstr",
8351 "value" : "0x0000"
8352 }
8353 ],
8354 "source_info" : {
8355 "filename" : "include/int_report.p4",
8356 "line" : 65,
8357 "column" : 8,
8358 "source_fragment" : "hdr.report_ipv4.identification = 0"
8359 }
8360 },
8361 {
8362 "op" : "assign",
8363 "parameters" : [
8364 {
8365 "type" : "field",
8366 "value" : ["report_ipv4", "flags"]
8367 },
8368 {
8369 "type" : "hexstr",
8370 "value" : "0x00"
8371 }
8372 ],
8373 "source_info" : {
8374 "filename" : "include/int_report.p4",
8375 "line" : 66,
8376 "column" : 8,
8377 "source_fragment" : "hdr.report_ipv4.flags = 0"
8378 }
8379 },
8380 {
8381 "op" : "assign",
8382 "parameters" : [
8383 {
8384 "type" : "field",
8385 "value" : ["report_ipv4", "frag_offset"]
8386 },
8387 {
8388 "type" : "hexstr",
8389 "value" : "0x0000"
8390 }
8391 ],
8392 "source_info" : {
8393 "filename" : "include/int_report.p4",
8394 "line" : 67,
8395 "column" : 8,
8396 "source_fragment" : "hdr.report_ipv4.frag_offset = 0"
8397 }
8398 },
8399 {
8400 "op" : "assign",
8401 "parameters" : [
8402 {
8403 "type" : "field",
8404 "value" : ["report_ipv4", "ttl"]
8405 },
8406 {
8407 "type" : "hexstr",
8408 "value" : "0xff"
8409 }
8410 ],
8411 "source_info" : {
8412 "filename" : "include/int_report.p4",
8413 "line" : 68,
8414 "column" : 8,
8415 "source_fragment" : "hdr.report_ipv4.ttl = 0xFF"
8416 }
8417 },
8418 {
8419 "op" : "assign",
8420 "parameters" : [
8421 {
8422 "type" : "field",
8423 "value" : ["report_ipv4", "protocol"]
8424 },
8425 {
8426 "type" : "hexstr",
8427 "value" : "0x11"
8428 }
8429 ],
8430 "source_info" : {
8431 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008432 "line" : 98,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008433 "column" : 25,
8434 "source_fragment" : "17; ..."
8435 }
8436 },
8437 {
8438 "op" : "assign",
8439 "parameters" : [
8440 {
8441 "type" : "field",
8442 "value" : ["report_ipv4", "src_addr"]
8443 },
8444 {
8445 "type" : "runtime_data",
8446 "value" : 2
8447 }
8448 ],
8449 "source_info" : {
8450 "filename" : "include/int_report.p4",
8451 "line" : 70,
8452 "column" : 8,
8453 "source_fragment" : "hdr.report_ipv4.src_addr = src_ip"
8454 }
8455 },
8456 {
8457 "op" : "assign",
8458 "parameters" : [
8459 {
8460 "type" : "field",
8461 "value" : ["report_ipv4", "dst_addr"]
8462 },
8463 {
8464 "type" : "runtime_data",
8465 "value" : 3
8466 }
8467 ],
8468 "source_info" : {
8469 "filename" : "include/int_report.p4",
8470 "line" : 71,
8471 "column" : 8,
8472 "source_fragment" : "hdr.report_ipv4.dst_addr = mon_ip"
8473 }
8474 },
8475 {
8476 "op" : "add_header",
8477 "parameters" : [
8478 {
8479 "type" : "header",
8480 "value" : "report_udp"
8481 }
8482 ],
8483 "source_info" : {
8484 "filename" : "include/int_report.p4",
8485 "line" : 74,
8486 "column" : 8,
8487 "source_fragment" : "hdr.report_udp.setValid()"
8488 }
8489 },
8490 {
8491 "op" : "assign",
8492 "parameters" : [
8493 {
8494 "type" : "field",
8495 "value" : ["report_udp", "src_port"]
8496 },
8497 {
8498 "type" : "hexstr",
8499 "value" : "0x0000"
8500 }
8501 ],
8502 "source_info" : {
8503 "filename" : "include/int_report.p4",
8504 "line" : 75,
8505 "column" : 8,
8506 "source_fragment" : "hdr.report_udp.src_port = 0"
8507 }
8508 },
8509 {
8510 "op" : "assign",
8511 "parameters" : [
8512 {
8513 "type" : "field",
8514 "value" : ["report_udp", "dst_port"]
8515 },
8516 {
8517 "type" : "runtime_data",
8518 "value" : 4
8519 }
8520 ],
8521 "source_info" : {
8522 "filename" : "include/int_report.p4",
8523 "line" : 76,
8524 "column" : 8,
8525 "source_fragment" : "hdr.report_udp.dst_port = mon_port"
8526 }
8527 },
8528 {
8529 "op" : "assign",
8530 "parameters" : [
8531 {
8532 "type" : "field",
8533 "value" : ["report_udp", "len"]
8534 },
8535 {
8536 "type" : "expression",
8537 "value" : {
8538 "type" : "expression",
8539 "value" : {
8540 "op" : "&",
8541 "left" : {
8542 "type" : "expression",
8543 "value" : {
8544 "op" : "+",
8545 "left" : {
8546 "type" : "hexstr",
8547 "value" : "0x0022"
8548 },
8549 "right" : {
8550 "type" : "field",
8551 "value" : ["ipv4", "total_len"]
8552 }
8553 }
8554 },
8555 "right" : {
8556 "type" : "hexstr",
8557 "value" : "0xffff"
8558 }
8559 }
8560 }
8561 }
8562 ],
8563 "source_info" : {
8564 "filename" : "include/int_report.p4",
8565 "line" : 77,
8566 "column" : 8,
8567 "source_fragment" : "hdr.report_udp.len = (bit<16>) UDP_HEADER_LEN + (bit<16>) REPORT_FIXED_HEADER_LEN + ..."
8568 }
8569 },
8570 {
8571 "op" : "assign",
8572 "parameters" : [
8573 {
8574 "type" : "field",
8575 "value" : ["scalars", "fabric_metadata_t.compute_checksum"]
8576 },
8577 {
8578 "type" : "expression",
8579 "value" : {
8580 "type" : "expression",
8581 "value" : {
8582 "op" : "b2d",
8583 "left" : null,
8584 "right" : {
8585 "type" : "bool",
8586 "value" : true
8587 }
8588 }
8589 }
8590 }
8591 ],
8592 "source_info" : {
8593 "filename" : "include/int_report.p4",
8594 "line" : 80,
8595 "column" : 8,
8596 "source_fragment" : "fabric_metadata.compute_checksum = true"
8597 }
8598 },
8599 {
8600 "op" : "add_header",
8601 "parameters" : [
8602 {
8603 "type" : "header",
8604 "value" : "report_fixed_header"
8605 }
8606 ],
8607 "source_info" : {
8608 "filename" : "include/int_report.p4",
8609 "line" : 30,
8610 "column" : 8,
8611 "source_fragment" : "hdr.report_fixed_header.setValid()"
8612 }
8613 },
8614 {
8615 "op" : "assign",
8616 "parameters" : [
8617 {
8618 "type" : "field",
8619 "value" : ["report_fixed_header", "ver"]
8620 },
8621 {
8622 "type" : "hexstr",
8623 "value" : "0x00"
8624 }
8625 ],
8626 "source_info" : {
8627 "filename" : "include/int_report.p4",
8628 "line" : 31,
8629 "column" : 8,
8630 "source_fragment" : "hdr.report_fixed_header.ver = 0"
8631 }
8632 },
8633 {
8634 "op" : "assign",
8635 "parameters" : [
8636 {
8637 "type" : "field",
8638 "value" : ["report_fixed_header", "nproto"]
8639 },
8640 {
8641 "type" : "hexstr",
8642 "value" : "0x00"
8643 }
8644 ],
8645 "source_info" : {
8646 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008647 "line" : 129,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008648 "column" : 31,
8649 "source_fragment" : "0; ..."
8650 }
8651 },
8652 {
8653 "op" : "assign",
8654 "parameters" : [
8655 {
8656 "type" : "field",
8657 "value" : ["report_fixed_header", "d"]
8658 },
8659 {
8660 "type" : "hexstr",
8661 "value" : "0x00"
8662 }
8663 ],
8664 "source_info" : {
8665 "filename" : "include/int_report.p4",
8666 "line" : 34,
8667 "column" : 8,
8668 "source_fragment" : "hdr.report_fixed_header.d = 0"
8669 }
8670 },
8671 {
8672 "op" : "assign",
8673 "parameters" : [
8674 {
8675 "type" : "field",
8676 "value" : ["report_fixed_header", "q"]
8677 },
8678 {
8679 "type" : "hexstr",
8680 "value" : "0x00"
8681 }
8682 ],
8683 "source_info" : {
8684 "filename" : "include/int_report.p4",
8685 "line" : 35,
8686 "column" : 8,
8687 "source_fragment" : "hdr.report_fixed_header.q = 0"
8688 }
8689 },
8690 {
8691 "op" : "assign",
8692 "parameters" : [
8693 {
8694 "type" : "field",
8695 "value" : ["report_fixed_header", "f"]
8696 },
8697 {
8698 "type" : "hexstr",
8699 "value" : "0x01"
8700 }
8701 ],
8702 "source_info" : {
8703 "filename" : "include/int_report.p4",
8704 "line" : 36,
8705 "column" : 8,
8706 "source_fragment" : "hdr.report_fixed_header.f = 1"
8707 }
8708 },
8709 {
8710 "op" : "assign",
8711 "parameters" : [
8712 {
8713 "type" : "field",
8714 "value" : ["report_fixed_header", "rsvd"]
8715 },
8716 {
8717 "type" : "hexstr",
8718 "value" : "0x0000"
8719 }
8720 ],
8721 "source_info" : {
8722 "filename" : "include/int_report.p4",
8723 "line" : 37,
8724 "column" : 8,
8725 "source_fragment" : "hdr.report_fixed_header.rsvd = 0"
8726 }
8727 },
8728 {
8729 "op" : "assign",
8730 "parameters" : [
8731 {
8732 "type" : "field",
8733 "value" : ["report_fixed_header", "hw_id"]
8734 },
8735 {
8736 "type" : "hexstr",
8737 "value" : "0x01"
8738 }
8739 ],
8740 "source_info" : {
8741 "filename" : "include/control/../define.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -07008742 "line" : 133,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09008743 "column" : 21,
8744 "source_fragment" : "1; ..."
8745 }
8746 },
8747 {
8748 "op" : "assign",
8749 "parameters" : [
8750 {
8751 "type" : "field",
8752 "value" : ["report_fixed_header", "seq_no"]
8753 },
8754 {
8755 "type" : "hexstr",
8756 "value" : "0x00000000"
8757 }
8758 ],
8759 "source_info" : {
8760 "filename" : "include/int_report.p4",
8761 "line" : 41,
8762 "column" : 8,
8763 "source_fragment" : "hdr.report_fixed_header.seq_no = 0"
8764 }
8765 },
8766 {
8767 "op" : "assign",
8768 "parameters" : [
8769 {
8770 "type" : "field",
8771 "value" : ["report_fixed_header", "ingress_tstamp"]
8772 },
8773 {
8774 "type" : "field",
8775 "value" : ["standard_metadata", "enq_timestamp"]
8776 }
8777 ],
8778 "source_info" : {
8779 "filename" : "include/int_report.p4",
8780 "line" : 43,
8781 "column" : 8,
8782 "source_fragment" : "hdr.report_fixed_header.ingress_tstamp = ..."
8783 }
8784 }
8785 ]
8786 },
8787 {
8788 "name" : "FabricEgress.process_int_sink.restore_header",
8789 "id" : 96,
8790 "runtime_data" : [],
8791 "primitives" : [
8792 {
8793 "op" : "assign",
8794 "parameters" : [
8795 {
8796 "type" : "field",
8797 "value" : ["udp", "dst_port"]
8798 },
8799 {
8800 "type" : "field",
8801 "value" : ["intl4_tail", "dest_port"]
8802 }
8803 ],
8804 "source_info" : {
8805 "filename" : "include/int_sink.p4",
8806 "line" : 26,
8807 "column" : 8,
8808 "source_fragment" : "hdr.udp.dst_port = hdr.intl4_tail.dest_port"
8809 }
8810 },
8811 {
8812 "op" : "assign",
8813 "parameters" : [
8814 {
8815 "type" : "field",
8816 "value" : ["ipv4", "dscp"]
8817 },
8818 {
8819 "type" : "expression",
8820 "value" : {
8821 "type" : "expression",
8822 "value" : {
8823 "op" : "&",
8824 "left" : {
8825 "type" : "field",
8826 "value" : ["intl4_tail", "dscp"]
8827 },
8828 "right" : {
8829 "type" : "hexstr",
8830 "value" : "0x3f"
8831 }
8832 }
8833 }
8834 }
8835 ],
8836 "source_info" : {
8837 "filename" : "include/int_sink.p4",
8838 "line" : 27,
8839 "column" : 8,
8840 "source_fragment" : "hdr.ipv4.dscp = (bit<6>)hdr.intl4_tail.dscp"
8841 }
8842 }
8843 ]
8844 },
8845 {
8846 "name" : "FabricEgress.process_int_sink.int_sink",
8847 "id" : 97,
8848 "runtime_data" : [],
8849 "primitives" : [
8850 {
8851 "op" : "assign",
8852 "parameters" : [
8853 {
8854 "type" : "field",
8855 "value" : ["ipv4", "total_len"]
8856 },
8857 {
8858 "type" : "expression",
8859 "value" : {
8860 "type" : "expression",
8861 "value" : {
8862 "op" : "&",
8863 "left" : {
8864 "type" : "expression",
8865 "value" : {
8866 "op" : "-",
8867 "left" : {
8868 "type" : "field",
8869 "value" : ["ipv4", "total_len"]
8870 },
8871 "right" : {
8872 "type" : "expression",
8873 "value" : {
8874 "op" : "&",
8875 "left" : {
8876 "type" : "expression",
8877 "value" : {
8878 "op" : "&",
8879 "left" : {
8880 "type" : "expression",
8881 "value" : {
8882 "op" : "<<",
8883 "left" : {
8884 "type" : "field",
8885 "value" : ["intl4_shim", "len"]
8886 },
8887 "right" : {
8888 "type" : "hexstr",
8889 "value" : "0x2"
8890 }
8891 }
8892 },
8893 "right" : {
8894 "type" : "hexstr",
8895 "value" : "0xff"
8896 }
8897 }
8898 },
8899 "right" : {
8900 "type" : "hexstr",
8901 "value" : "0xffff"
8902 }
8903 }
8904 }
8905 }
8906 },
8907 "right" : {
8908 "type" : "hexstr",
8909 "value" : "0xffff"
8910 }
8911 }
8912 }
8913 }
8914 ],
8915 "source_info" : {
8916 "filename" : "include/int_sink.p4",
8917 "line" : 32,
8918 "column" : 8,
8919 "source_fragment" : "hdr.ipv4.total_len = hdr.ipv4.total_len - (bit<16>)(hdr.intl4_shim.len << 2)"
8920 }
8921 },
8922 {
8923 "op" : "assign",
8924 "parameters" : [
8925 {
8926 "type" : "field",
8927 "value" : ["udp", "len"]
8928 },
8929 {
8930 "type" : "expression",
8931 "value" : {
8932 "type" : "expression",
8933 "value" : {
8934 "op" : "&",
8935 "left" : {
8936 "type" : "expression",
8937 "value" : {
8938 "op" : "-",
8939 "left" : {
8940 "type" : "field",
8941 "value" : ["udp", "len"]
8942 },
8943 "right" : {
8944 "type" : "expression",
8945 "value" : {
8946 "op" : "&",
8947 "left" : {
8948 "type" : "expression",
8949 "value" : {
8950 "op" : "&",
8951 "left" : {
8952 "type" : "expression",
8953 "value" : {
8954 "op" : "<<",
8955 "left" : {
8956 "type" : "field",
8957 "value" : ["intl4_shim", "len"]
8958 },
8959 "right" : {
8960 "type" : "hexstr",
8961 "value" : "0x2"
8962 }
8963 }
8964 },
8965 "right" : {
8966 "type" : "hexstr",
8967 "value" : "0xff"
8968 }
8969 }
8970 },
8971 "right" : {
8972 "type" : "hexstr",
8973 "value" : "0xffff"
8974 }
8975 }
8976 }
8977 }
8978 },
8979 "right" : {
8980 "type" : "hexstr",
8981 "value" : "0xffff"
8982 }
8983 }
8984 }
8985 }
8986 ],
8987 "source_info" : {
8988 "filename" : "include/int_sink.p4",
8989 "line" : 33,
8990 "column" : 8,
8991 "source_fragment" : "hdr.udp.len = hdr.udp.len - (bit<16>)(hdr.intl4_shim.len << 2)"
8992 }
8993 },
8994 {
8995 "op" : "remove_header",
8996 "parameters" : [
8997 {
8998 "type" : "header",
8999 "value" : "int_header"
9000 }
9001 ],
9002 "source_info" : {
9003 "filename" : "include/int_sink.p4",
9004 "line" : 35,
9005 "column" : 8,
9006 "source_fragment" : "hdr.int_header.setInvalid()"
9007 }
9008 },
9009 {
9010 "op" : "remove_header",
9011 "parameters" : [
9012 {
9013 "type" : "header",
9014 "value" : "int_data"
9015 }
9016 ],
9017 "source_info" : {
9018 "filename" : "include/int_sink.p4",
9019 "line" : 36,
9020 "column" : 8,
9021 "source_fragment" : "hdr.int_data.setInvalid()"
9022 }
9023 },
9024 {
9025 "op" : "remove_header",
9026 "parameters" : [
9027 {
9028 "type" : "header",
9029 "value" : "intl4_shim"
9030 }
9031 ],
9032 "source_info" : {
9033 "filename" : "include/int_sink.p4",
9034 "line" : 37,
9035 "column" : 8,
9036 "source_fragment" : "hdr.intl4_shim.setInvalid()"
9037 }
9038 },
9039 {
9040 "op" : "remove_header",
9041 "parameters" : [
9042 {
9043 "type" : "header",
9044 "value" : "intl4_tail"
9045 }
9046 ],
9047 "source_info" : {
9048 "filename" : "include/int_sink.p4",
9049 "line" : 38,
9050 "column" : 8,
9051 "source_fragment" : "hdr.intl4_tail.setInvalid()"
9052 }
9053 },
9054 {
9055 "op" : "remove_header",
9056 "parameters" : [
9057 {
9058 "type" : "header",
9059 "value" : "int_switch_id"
9060 }
9061 ],
9062 "source_info" : {
9063 "filename" : "include/int_sink.p4",
9064 "line" : 39,
9065 "column" : 8,
9066 "source_fragment" : "hdr.int_switch_id.setInvalid()"
9067 }
9068 },
9069 {
9070 "op" : "remove_header",
9071 "parameters" : [
9072 {
9073 "type" : "header",
9074 "value" : "int_port_ids"
9075 }
9076 ],
9077 "source_info" : {
9078 "filename" : "include/int_sink.p4",
9079 "line" : 40,
9080 "column" : 8,
9081 "source_fragment" : "hdr.int_port_ids.setInvalid()"
9082 }
9083 },
9084 {
9085 "op" : "remove_header",
9086 "parameters" : [
9087 {
9088 "type" : "header",
9089 "value" : "int_hop_latency"
9090 }
9091 ],
9092 "source_info" : {
9093 "filename" : "include/int_sink.p4",
9094 "line" : 41,
9095 "column" : 8,
9096 "source_fragment" : "hdr.int_hop_latency.setInvalid()"
9097 }
9098 },
9099 {
9100 "op" : "remove_header",
9101 "parameters" : [
9102 {
9103 "type" : "header",
9104 "value" : "int_q_occupancy"
9105 }
9106 ],
9107 "source_info" : {
9108 "filename" : "include/int_sink.p4",
9109 "line" : 42,
9110 "column" : 8,
9111 "source_fragment" : "hdr.int_q_occupancy.setInvalid()"
9112 }
9113 },
9114 {
9115 "op" : "remove_header",
9116 "parameters" : [
9117 {
9118 "type" : "header",
9119 "value" : "int_ingress_tstamp"
9120 }
9121 ],
9122 "source_info" : {
9123 "filename" : "include/int_sink.p4",
9124 "line" : 43,
9125 "column" : 8,
9126 "source_fragment" : "hdr.int_ingress_tstamp.setInvalid()"
9127 }
9128 },
9129 {
9130 "op" : "remove_header",
9131 "parameters" : [
9132 {
9133 "type" : "header",
9134 "value" : "int_egress_tstamp"
9135 }
9136 ],
9137 "source_info" : {
9138 "filename" : "include/int_sink.p4",
9139 "line" : 44,
9140 "column" : 8,
9141 "source_fragment" : "hdr.int_egress_tstamp.setInvalid()"
9142 }
9143 },
9144 {
9145 "op" : "remove_header",
9146 "parameters" : [
9147 {
9148 "type" : "header",
9149 "value" : "int_q_congestion"
9150 }
9151 ],
9152 "source_info" : {
9153 "filename" : "include/int_sink.p4",
9154 "line" : 45,
9155 "column" : 8,
9156 "source_fragment" : "hdr.int_q_congestion.setInvalid()"
9157 }
9158 },
9159 {
9160 "op" : "remove_header",
9161 "parameters" : [
9162 {
9163 "type" : "header",
9164 "value" : "int_egress_tx_util"
9165 }
9166 ],
9167 "source_info" : {
9168 "filename" : "include/int_sink.p4",
9169 "line" : 46,
9170 "column" : 8,
9171 "source_fragment" : "hdr.int_egress_tx_util.setInvalid()"
9172 }
9173 }
9174 ]
9175 },
9176 {
9177 "name" : "FabricEgress.pkt_io_egress.pop_vlan",
9178 "id" : 98,
9179 "runtime_data" : [],
9180 "primitives" : [
9181 {
9182 "op" : "assign",
9183 "parameters" : [
9184 {
9185 "type" : "field",
9186 "value" : ["ethernet", "ether_type"]
9187 },
9188 {
9189 "type" : "field",
9190 "value" : ["vlan_tag", "ether_type"]
9191 }
9192 ],
9193 "source_info" : {
9194 "filename" : "include/control/packetio.p4",
9195 "line" : 38,
9196 "column" : 8,
9197 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
9198 }
9199 },
9200 {
9201 "op" : "remove_header",
9202 "parameters" : [
9203 {
9204 "type" : "header",
9205 "value" : "vlan_tag"
9206 }
9207 ],
9208 "source_info" : {
9209 "filename" : "include/control/packetio.p4",
9210 "line" : 39,
9211 "column" : 8,
9212 "source_fragment" : "hdr.vlan_tag.setInvalid()"
9213 }
9214 }
9215 ]
9216 },
9217 {
9218 "name" : "FabricEgress.egress_next.pop_vlan",
9219 "id" : 99,
9220 "runtime_data" : [],
9221 "primitives" : [
9222 {
9223 "op" : "assign",
9224 "parameters" : [
9225 {
9226 "type" : "field",
9227 "value" : ["ethernet", "ether_type"]
9228 },
9229 {
9230 "type" : "field",
9231 "value" : ["vlan_tag", "ether_type"]
9232 }
9233 ],
9234 "source_info" : {
9235 "filename" : "include/control/next.p4",
9236 "line" : 253,
9237 "column" : 8,
9238 "source_fragment" : "hdr.ethernet.ether_type = hdr.vlan_tag.ether_type"
9239 }
9240 },
9241 {
9242 "op" : "remove_header",
9243 "parameters" : [
9244 {
9245 "type" : "header",
9246 "value" : "vlan_tag"
9247 }
9248 ],
9249 "source_info" : {
9250 "filename" : "include/control/next.p4",
9251 "line" : 254,
9252 "column" : 8,
9253 "source_fragment" : "hdr.vlan_tag.setInvalid()"
9254 }
9255 }
9256 ]
9257 },
9258 {
9259 "name" : "act_13",
9260 "id" : 100,
9261 "runtime_data" : [],
9262 "primitives" : [
9263 {
9264 "op" : "add_header",
9265 "parameters" : [
9266 {
9267 "type" : "header",
9268 "value" : "packet_in"
9269 }
9270 ],
9271 "source_info" : {
9272 "filename" : "include/control/packetio.p4",
9273 "line" : 51,
9274 "column" : 12,
9275 "source_fragment" : "hdr.packet_in.setValid()"
9276 }
9277 },
9278 {
9279 "op" : "assign",
9280 "parameters" : [
9281 {
9282 "type" : "field",
9283 "value" : ["packet_in", "ingress_port"]
9284 },
9285 {
9286 "type" : "field",
9287 "value" : ["standard_metadata", "ingress_port"]
9288 }
9289 ],
9290 "source_info" : {
9291 "filename" : "include/control/packetio.p4",
9292 "line" : 52,
9293 "column" : 12,
9294 "source_fragment" : "hdr.packet_in.ingress_port = standard_metadata.ingress_port"
9295 }
9296 }
9297 ]
9298 }
9299 ],
9300 "pipelines" : [
9301 {
9302 "name" : "ingress",
9303 "id" : 0,
9304 "source_info" : {
9305 "filename" : "fabric.p4",
9306 "line" : 40,
9307 "column" : 8,
9308 "source_fragment" : "FabricIngress"
9309 },
9310 "init_table" : "node_2",
9311 "tables" : [
9312 {
9313 "name" : "tbl_act",
9314 "id" : 0,
9315 "key" : [],
9316 "match_type" : "exact",
9317 "type" : "simple",
9318 "max_size" : 1024,
9319 "with_counters" : false,
9320 "support_timeout" : false,
9321 "direct_meters" : null,
9322 "action_ids" : [35],
9323 "actions" : ["act"],
9324 "base_default_next" : null,
9325 "next_tables" : {
9326 "act" : null
9327 },
9328 "default_entry" : {
9329 "action_id" : 35,
9330 "action_const" : true,
9331 "action_data" : [],
9332 "action_entry_const" : true
9333 }
9334 },
9335 {
9336 "name" : "FabricIngress.filtering.ingress_port_vlan",
9337 "id" : 1,
9338 "source_info" : {
9339 "filename" : "include/control/filtering.p4",
9340 "line" : 61,
9341 "column" : 10,
9342 "source_fragment" : "ingress_port_vlan"
9343 },
9344 "key" : [
9345 {
9346 "match_type" : "exact",
9347 "name" : "standard_metadata.ingress_port",
9348 "target" : ["standard_metadata", "ingress_port"],
9349 "mask" : null
9350 },
9351 {
9352 "match_type" : "exact",
9353 "name" : "hdr.vlan_tag.is_valid",
9354 "target" : ["vlan_tag", "$valid$"],
9355 "mask" : null
9356 },
9357 {
9358 "match_type" : "ternary",
9359 "name" : "hdr.vlan_tag.vlan_id",
9360 "target" : ["vlan_tag", "vlan_id"],
9361 "mask" : null
9362 }
9363 ],
9364 "match_type" : "ternary",
9365 "type" : "simple",
9366 "max_size" : 1024,
9367 "with_counters" : true,
9368 "support_timeout" : false,
9369 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -07009370 "action_ids" : [14, 13, 8, 12],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009371 "actions" : ["FabricIngress.filtering.push_internal_vlan", "FabricIngress.filtering.set_vlan", "nop", "FabricIngress.filtering.drop"],
9372 "base_default_next" : "FabricIngress.filtering.fwd_classifier",
9373 "next_tables" : {
9374 "FabricIngress.filtering.push_internal_vlan" : "FabricIngress.filtering.fwd_classifier",
9375 "FabricIngress.filtering.set_vlan" : "FabricIngress.filtering.fwd_classifier",
9376 "nop" : "FabricIngress.filtering.fwd_classifier",
9377 "FabricIngress.filtering.drop" : "FabricIngress.filtering.fwd_classifier"
9378 },
9379 "default_entry" : {
9380 "action_id" : 8,
9381 "action_const" : true,
9382 "action_data" : [],
9383 "action_entry_const" : true
9384 }
9385 },
9386 {
9387 "name" : "FabricIngress.filtering.fwd_classifier",
9388 "id" : 2,
9389 "source_info" : {
9390 "filename" : "include/control/filtering.p4",
9391 "line" : 98,
9392 "column" : 10,
9393 "source_fragment" : "fwd_classifier"
9394 },
9395 "key" : [
9396 {
9397 "match_type" : "exact",
9398 "name" : "standard_metadata.ingress_port",
9399 "target" : ["standard_metadata", "ingress_port"],
9400 "mask" : null
9401 },
9402 {
9403 "match_type" : "exact",
9404 "name" : "hdr.ethernet.dst_addr",
9405 "target" : ["ethernet", "dst_addr"],
9406 "mask" : null
9407 },
9408 {
9409 "match_type" : "exact",
9410 "name" : "hdr.vlan_tag.ether_type",
9411 "target" : ["vlan_tag", "ether_type"],
9412 "mask" : null
9413 }
9414 ],
9415 "match_type" : "exact",
9416 "type" : "simple",
9417 "max_size" : 1024,
9418 "with_counters" : true,
9419 "support_timeout" : false,
9420 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -07009421 "action_ids" : [15],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009422 "actions" : ["FabricIngress.filtering.set_forwarding_type"],
9423 "base_default_next" : "node_6",
9424 "next_tables" : {
9425 "FabricIngress.filtering.set_forwarding_type" : "node_6"
9426 },
9427 "default_entry" : {
Charles Chancf696e52018-08-16 16:25:13 -07009428 "action_id" : 15,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009429 "action_const" : true,
9430 "action_data" : ["0x0"],
9431 "action_entry_const" : true
9432 }
9433 },
9434 {
9435 "name" : "FabricIngress.forwarding.bridging",
9436 "id" : 3,
9437 "source_info" : {
9438 "filename" : "include/control/forwarding.p4",
9439 "line" : 41,
9440 "column" : 10,
9441 "source_fragment" : "bridging"
9442 },
9443 "key" : [
9444 {
9445 "match_type" : "exact",
9446 "name" : "hdr.vlan_tag.vlan_id",
9447 "target" : ["vlan_tag", "vlan_id"],
9448 "mask" : null
9449 },
9450 {
9451 "match_type" : "ternary",
9452 "name" : "hdr.ethernet.dst_addr",
9453 "target" : ["ethernet", "dst_addr"],
9454 "mask" : null
9455 }
9456 ],
9457 "match_type" : "ternary",
9458 "type" : "simple",
9459 "max_size" : 1024,
9460 "with_counters" : true,
9461 "support_timeout" : false,
9462 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -07009463 "action_ids" : [16, 2],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009464 "actions" : ["FabricIngress.forwarding.set_next_id_bridging", "NoAction"],
9465 "base_default_next" : "FabricIngress.forwarding.acl",
9466 "next_tables" : {
9467 "FabricIngress.forwarding.set_next_id_bridging" : "FabricIngress.forwarding.acl",
9468 "NoAction" : "FabricIngress.forwarding.acl"
9469 },
9470 "default_entry" : {
9471 "action_id" : 2,
9472 "action_const" : false,
9473 "action_data" : [],
9474 "action_entry_const" : false
9475 }
9476 },
9477 {
9478 "name" : "FabricIngress.forwarding.mpls",
9479 "id" : 4,
9480 "source_info" : {
9481 "filename" : "include/control/forwarding.p4",
9482 "line" : 65,
9483 "column" : 10,
9484 "source_fragment" : "mpls"
9485 },
9486 "key" : [
9487 {
9488 "match_type" : "exact",
9489 "name" : "hdr.mpls.label",
9490 "target" : ["mpls", "label"],
9491 "mask" : null
9492 }
9493 ],
9494 "match_type" : "exact",
9495 "type" : "simple",
9496 "max_size" : 1024,
9497 "with_counters" : true,
9498 "support_timeout" : false,
9499 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -07009500 "action_ids" : [17, 3],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009501 "actions" : ["FabricIngress.forwarding.pop_mpls_and_next", "NoAction"],
9502 "base_default_next" : "tbl_act_0",
9503 "next_tables" : {
9504 "FabricIngress.forwarding.pop_mpls_and_next" : "tbl_act_0",
9505 "NoAction" : "tbl_act_0"
9506 },
9507 "default_entry" : {
9508 "action_id" : 3,
9509 "action_const" : false,
9510 "action_data" : [],
9511 "action_entry_const" : false
9512 }
9513 },
9514 {
9515 "name" : "tbl_act_0",
9516 "id" : 5,
9517 "key" : [],
9518 "match_type" : "exact",
9519 "type" : "simple",
9520 "max_size" : 1024,
9521 "with_counters" : false,
9522 "support_timeout" : false,
9523 "direct_meters" : null,
9524 "action_ids" : [36],
9525 "actions" : ["act_0"],
9526 "base_default_next" : "FabricIngress.forwarding.acl",
9527 "next_tables" : {
9528 "act_0" : "FabricIngress.forwarding.acl"
9529 },
9530 "default_entry" : {
9531 "action_id" : 36,
9532 "action_const" : true,
9533 "action_data" : [],
9534 "action_entry_const" : true
9535 }
9536 },
9537 {
9538 "name" : "FabricIngress.forwarding.unicast_v4",
9539 "id" : 6,
9540 "source_info" : {
9541 "filename" : "include/control/forwarding.p4",
9542 "line" : 87,
9543 "column" : 10,
9544 "source_fragment" : "unicast_v4"
9545 },
9546 "key" : [
9547 {
9548 "match_type" : "lpm",
9549 "name" : "hdr.ipv4.dst_addr",
9550 "target" : ["ipv4", "dst_addr"],
9551 "mask" : null
9552 }
9553 ],
9554 "match_type" : "lpm",
9555 "type" : "simple",
9556 "max_size" : 1024,
9557 "with_counters" : true,
9558 "support_timeout" : false,
9559 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -07009560 "action_ids" : [18, 4],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009561 "actions" : ["FabricIngress.forwarding.set_next_id_unicast_v4", "NoAction"],
9562 "base_default_next" : "FabricIngress.forwarding.acl",
9563 "next_tables" : {
9564 "FabricIngress.forwarding.set_next_id_unicast_v4" : "FabricIngress.forwarding.acl",
9565 "NoAction" : "FabricIngress.forwarding.acl"
9566 },
9567 "default_entry" : {
9568 "action_id" : 4,
9569 "action_const" : false,
9570 "action_data" : [],
9571 "action_entry_const" : false
9572 }
9573 },
9574 {
9575 "name" : "FabricIngress.forwarding.acl",
9576 "id" : 7,
9577 "source_info" : {
9578 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -07009579 "line" : 131,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009580 "column" : 10,
9581 "source_fragment" : "acl"
9582 },
9583 "key" : [
9584 {
9585 "match_type" : "ternary",
9586 "name" : "standard_metadata.ingress_port",
9587 "target" : ["standard_metadata", "ingress_port"],
9588 "mask" : null
9589 },
9590 {
9591 "match_type" : "ternary",
9592 "name" : "fabric_metadata.ip_proto",
9593 "target" : ["scalars", "fabric_metadata_t.ip_proto"],
9594 "mask" : null
9595 },
9596 {
9597 "match_type" : "ternary",
9598 "name" : "fabric_metadata.l4_src_port",
9599 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
9600 "mask" : null
9601 },
9602 {
9603 "match_type" : "ternary",
9604 "name" : "fabric_metadata.l4_dst_port",
9605 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
9606 "mask" : null
9607 },
9608 {
9609 "match_type" : "ternary",
9610 "name" : "hdr.ethernet.dst_addr",
9611 "target" : ["ethernet", "dst_addr"],
9612 "mask" : null
9613 },
9614 {
9615 "match_type" : "ternary",
9616 "name" : "hdr.ethernet.src_addr",
9617 "target" : ["ethernet", "src_addr"],
9618 "mask" : null
9619 },
9620 {
9621 "match_type" : "ternary",
9622 "name" : "hdr.vlan_tag.vlan_id",
9623 "target" : ["vlan_tag", "vlan_id"],
9624 "mask" : null
9625 },
9626 {
9627 "match_type" : "ternary",
9628 "name" : "hdr.vlan_tag.ether_type",
9629 "target" : ["vlan_tag", "ether_type"],
9630 "mask" : null
9631 },
9632 {
9633 "match_type" : "ternary",
9634 "name" : "hdr.ipv4.src_addr",
9635 "target" : ["ipv4", "src_addr"],
9636 "mask" : null
9637 },
9638 {
9639 "match_type" : "ternary",
9640 "name" : "hdr.ipv4.dst_addr",
9641 "target" : ["ipv4", "dst_addr"],
9642 "mask" : null
9643 },
9644 {
9645 "match_type" : "ternary",
9646 "name" : "hdr.icmp.icmp_type",
9647 "target" : ["icmp", "icmp_type"],
9648 "mask" : null
9649 },
9650 {
9651 "match_type" : "ternary",
9652 "name" : "hdr.icmp.icmp_code",
9653 "target" : ["icmp", "icmp_code"],
9654 "mask" : null
9655 }
9656 ],
9657 "match_type" : "ternary",
9658 "type" : "simple",
9659 "max_size" : 128,
9660 "with_counters" : true,
9661 "support_timeout" : false,
9662 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -07009663 "action_ids" : [19, 20, 21, 22, 23],
9664 "actions" : ["FabricIngress.forwarding.set_next_id_acl", "FabricIngress.forwarding.punt_to_cpu", "FabricIngress.forwarding.clone_to_cpu", "FabricIngress.forwarding.drop", "FabricIngress.forwarding.nop_acl"],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009665 "base_default_next" : "tbl_act_1",
9666 "next_tables" : {
9667 "FabricIngress.forwarding.set_next_id_acl" : "tbl_act_1",
9668 "FabricIngress.forwarding.punt_to_cpu" : "tbl_act_1",
9669 "FabricIngress.forwarding.clone_to_cpu" : "tbl_act_1",
9670 "FabricIngress.forwarding.drop" : "tbl_act_1",
Charles Chancf696e52018-08-16 16:25:13 -07009671 "FabricIngress.forwarding.nop_acl" : "tbl_act_1"
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009672 },
9673 "default_entry" : {
Charles Chancf696e52018-08-16 16:25:13 -07009674 "action_id" : 23,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009675 "action_const" : true,
9676 "action_data" : [],
9677 "action_entry_const" : true
9678 }
9679 },
9680 {
9681 "name" : "tbl_act_1",
9682 "id" : 8,
9683 "key" : [],
9684 "match_type" : "exact",
9685 "type" : "simple",
9686 "max_size" : 1024,
9687 "with_counters" : false,
9688 "support_timeout" : false,
9689 "direct_meters" : null,
9690 "action_ids" : [37],
9691 "actions" : ["act_1"],
9692 "base_default_next" : "FabricIngress.next.vlan_meta",
9693 "next_tables" : {
9694 "act_1" : "FabricIngress.next.vlan_meta"
9695 },
9696 "default_entry" : {
9697 "action_id" : 37,
9698 "action_const" : true,
9699 "action_data" : [],
9700 "action_entry_const" : true
9701 }
9702 },
9703 {
9704 "name" : "FabricIngress.next.vlan_meta",
9705 "id" : 9,
9706 "source_info" : {
9707 "filename" : "include/control/next.p4",
9708 "line" : 65,
9709 "column" : 10,
9710 "source_fragment" : "vlan_meta"
9711 },
9712 "key" : [
9713 {
9714 "match_type" : "exact",
9715 "name" : "fabric_metadata.next_id",
9716 "target" : ["scalars", "fabric_metadata_t.next_id"],
9717 "mask" : null
9718 }
9719 ],
9720 "match_type" : "exact",
9721 "type" : "simple",
9722 "max_size" : 1024,
9723 "with_counters" : true,
9724 "support_timeout" : false,
9725 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -07009726 "action_ids" : [24, 9],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009727 "actions" : ["FabricIngress.next.set_vlan", "nop"],
9728 "base_default_next" : "FabricIngress.next.simple",
9729 "next_tables" : {
9730 "FabricIngress.next.set_vlan" : "FabricIngress.next.simple",
9731 "nop" : "FabricIngress.next.simple"
9732 },
9733 "default_entry" : {
Charles Chancf696e52018-08-16 16:25:13 -07009734 "action_id" : 9,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +09009735 "action_const" : false,
9736 "action_data" : [],
9737 "action_entry_const" : false
9738 }
9739 },
9740 {
9741 "name" : "FabricIngress.next.simple",
9742 "id" : 10,
9743 "source_info" : {
9744 "filename" : "include/control/next.p4",
9745 "line" : 122,
9746 "column" : 10,
9747 "source_fragment" : "simple"
9748 },
9749 "key" : [
9750 {
9751 "match_type" : "exact",
9752 "name" : "fabric_metadata.next_id",
9753 "target" : ["scalars", "fabric_metadata_t.next_id"],
9754 "mask" : null
9755 }
9756 ],
9757 "match_type" : "exact",
9758 "type" : "simple",
9759 "max_size" : 1024,
9760 "with_counters" : true,
9761 "support_timeout" : false,
9762 "direct_meters" : null,
9763 "action_ids" : [25, 26, 27, 28, 29, 30, 5],
9764 "actions" : ["FabricIngress.next.output_simple", "FabricIngress.next.set_vlan_output", "FabricIngress.next.l3_routing_simple", "FabricIngress.next.mpls_routing_v4_simple", "FabricIngress.next.mpls_routing_v6_simple", "FabricIngress.next.l3_routing_vlan", "NoAction"],
9765 "base_default_next" : null,
9766 "next_tables" : {
9767 "__HIT__" : "tbl_act_2",
9768 "__MISS__" : "tbl_act_3"
9769 },
9770 "default_entry" : {
9771 "action_id" : 5,
9772 "action_const" : false,
9773 "action_data" : [],
9774 "action_entry_const" : false
9775 }
9776 },
9777 {
9778 "name" : "tbl_act_2",
9779 "id" : 11,
9780 "key" : [],
9781 "match_type" : "exact",
9782 "type" : "simple",
9783 "max_size" : 1024,
9784 "with_counters" : false,
9785 "support_timeout" : false,
9786 "direct_meters" : null,
9787 "action_ids" : [38],
9788 "actions" : ["act_2"],
9789 "base_default_next" : "node_19",
9790 "next_tables" : {
9791 "act_2" : "node_19"
9792 },
9793 "default_entry" : {
9794 "action_id" : 38,
9795 "action_const" : true,
9796 "action_data" : [],
9797 "action_entry_const" : true
9798 }
9799 },
9800 {
9801 "name" : "tbl_act_3",
9802 "id" : 12,
9803 "key" : [],
9804 "match_type" : "exact",
9805 "type" : "simple",
9806 "max_size" : 1024,
9807 "with_counters" : false,
9808 "support_timeout" : false,
9809 "direct_meters" : null,
9810 "action_ids" : [39],
9811 "actions" : ["act_3"],
9812 "base_default_next" : "node_19",
9813 "next_tables" : {
9814 "act_3" : "node_19"
9815 },
9816 "default_entry" : {
9817 "action_id" : 39,
9818 "action_const" : true,
9819 "action_data" : [],
9820 "action_entry_const" : true
9821 }
9822 },
9823 {
9824 "name" : "FabricIngress.next.hashed",
9825 "id" : 13,
9826 "source_info" : {
9827 "filename" : "include/control/next.p4",
9828 "line" : 175,
9829 "column" : 10,
9830 "source_fragment" : "hashed"
9831 },
9832 "key" : [
9833 {
9834 "match_type" : "exact",
9835 "name" : "fabric_metadata.next_id",
9836 "target" : ["scalars", "fabric_metadata_t.next_id"],
9837 "mask" : null
9838 }
9839 ],
9840 "match_type" : "exact",
9841 "type" : "indirect_ws",
9842 "action_profile" : "FabricIngress.next.ecmp_selector",
9843 "max_size" : 1024,
9844 "with_counters" : true,
9845 "support_timeout" : false,
9846 "direct_meters" : null,
9847 "action_ids" : [31, 32, 33, 6],
9848 "actions" : ["FabricIngress.next.l3_routing_hashed", "FabricIngress.next.mpls_routing_v4_hashed", "FabricIngress.next.mpls_routing_v6_hashed", "NoAction"],
9849 "base_default_next" : null,
9850 "next_tables" : {
9851 "__HIT__" : "tbl_act_4",
9852 "__MISS__" : "tbl_act_5"
9853 }
9854 },
9855 {
9856 "name" : "tbl_act_4",
9857 "id" : 14,
9858 "key" : [],
9859 "match_type" : "exact",
9860 "type" : "simple",
9861 "max_size" : 1024,
9862 "with_counters" : false,
9863 "support_timeout" : false,
9864 "direct_meters" : null,
9865 "action_ids" : [40],
9866 "actions" : ["act_4"],
9867 "base_default_next" : "node_23",
9868 "next_tables" : {
9869 "act_4" : "node_23"
9870 },
9871 "default_entry" : {
9872 "action_id" : 40,
9873 "action_const" : true,
9874 "action_data" : [],
9875 "action_entry_const" : true
9876 }
9877 },
9878 {
9879 "name" : "tbl_act_5",
9880 "id" : 15,
9881 "key" : [],
9882 "match_type" : "exact",
9883 "type" : "simple",
9884 "max_size" : 1024,
9885 "with_counters" : false,
9886 "support_timeout" : false,
9887 "direct_meters" : null,
9888 "action_ids" : [41],
9889 "actions" : ["act_5"],
9890 "base_default_next" : "node_23",
9891 "next_tables" : {
9892 "act_5" : "node_23"
9893 },
9894 "default_entry" : {
9895 "action_id" : 41,
9896 "action_const" : true,
9897 "action_data" : [],
9898 "action_entry_const" : true
9899 }
9900 },
9901 {
9902 "name" : "FabricIngress.next.multicast",
9903 "id" : 16,
9904 "source_info" : {
9905 "filename" : "include/control/next.p4",
9906 "line" : 207,
9907 "column" : 10,
9908 "source_fragment" : "multicast"
9909 },
9910 "key" : [
9911 {
9912 "match_type" : "exact",
9913 "name" : "fabric_metadata.next_id",
9914 "target" : ["scalars", "fabric_metadata_t.next_id"],
9915 "mask" : null
9916 }
9917 ],
9918 "match_type" : "exact",
9919 "type" : "simple",
9920 "max_size" : 1024,
9921 "with_counters" : true,
9922 "support_timeout" : false,
9923 "direct_meters" : null,
9924 "action_ids" : [34, 7],
9925 "actions" : ["FabricIngress.next.set_mcast_group", "NoAction"],
9926 "base_default_next" : null,
9927 "next_tables" : {
9928 "__HIT__" : "tbl_act_6",
9929 "__MISS__" : "tbl_act_7"
9930 },
9931 "default_entry" : {
9932 "action_id" : 7,
9933 "action_const" : false,
9934 "action_data" : [],
9935 "action_entry_const" : false
9936 }
9937 },
9938 {
9939 "name" : "tbl_act_6",
9940 "id" : 17,
9941 "key" : [],
9942 "match_type" : "exact",
9943 "type" : "simple",
9944 "max_size" : 1024,
9945 "with_counters" : false,
9946 "support_timeout" : false,
9947 "direct_meters" : null,
9948 "action_ids" : [42],
9949 "actions" : ["act_6"],
9950 "base_default_next" : "node_27",
9951 "next_tables" : {
9952 "act_6" : "node_27"
9953 },
9954 "default_entry" : {
9955 "action_id" : 42,
9956 "action_const" : true,
9957 "action_data" : [],
9958 "action_entry_const" : true
9959 }
9960 },
9961 {
9962 "name" : "tbl_act_7",
9963 "id" : 18,
9964 "key" : [],
9965 "match_type" : "exact",
9966 "type" : "simple",
9967 "max_size" : 1024,
9968 "with_counters" : false,
9969 "support_timeout" : false,
9970 "direct_meters" : null,
9971 "action_ids" : [43],
9972 "actions" : ["act_7"],
9973 "base_default_next" : "node_27",
9974 "next_tables" : {
9975 "act_7" : "node_27"
9976 },
9977 "default_entry" : {
9978 "action_id" : 43,
9979 "action_const" : true,
9980 "action_data" : [],
9981 "action_entry_const" : true
9982 }
9983 },
9984 {
9985 "name" : "tbl_act_8",
9986 "id" : 19,
9987 "key" : [],
9988 "match_type" : "exact",
9989 "type" : "simple",
9990 "max_size" : 1024,
9991 "with_counters" : false,
9992 "support_timeout" : false,
9993 "direct_meters" : null,
9994 "action_ids" : [44],
9995 "actions" : ["act_8"],
9996 "base_default_next" : "node_29",
9997 "next_tables" : {
9998 "act_8" : "node_29"
9999 },
10000 "default_entry" : {
10001 "action_id" : 44,
10002 "action_const" : true,
10003 "action_data" : [],
10004 "action_entry_const" : true
10005 }
10006 },
10007 {
10008 "name" : "tbl_act_9",
10009 "id" : 20,
10010 "key" : [],
10011 "match_type" : "exact",
10012 "type" : "simple",
10013 "max_size" : 1024,
10014 "with_counters" : false,
10015 "support_timeout" : false,
10016 "direct_meters" : null,
10017 "action_ids" : [45],
10018 "actions" : ["act_9"],
10019 "base_default_next" : "node_33",
10020 "next_tables" : {
10021 "act_9" : "node_33"
10022 },
10023 "default_entry" : {
10024 "action_id" : 45,
10025 "action_const" : true,
10026 "action_data" : [],
10027 "action_entry_const" : true
10028 }
10029 },
10030 {
10031 "name" : "tbl_act_10",
10032 "id" : 21,
10033 "key" : [],
10034 "match_type" : "exact",
10035 "type" : "simple",
10036 "max_size" : 1024,
10037 "with_counters" : false,
10038 "support_timeout" : false,
10039 "direct_meters" : null,
10040 "action_ids" : [46],
10041 "actions" : ["act_10"],
10042 "base_default_next" : "node_35",
10043 "next_tables" : {
10044 "act_10" : "node_35"
10045 },
10046 "default_entry" : {
10047 "action_id" : 46,
10048 "action_const" : true,
10049 "action_data" : [],
10050 "action_entry_const" : true
10051 }
10052 },
10053 {
10054 "name" : "tbl_act_11",
10055 "id" : 22,
10056 "key" : [],
10057 "match_type" : "exact",
10058 "type" : "simple",
10059 "max_size" : 1024,
10060 "with_counters" : false,
10061 "support_timeout" : false,
10062 "direct_meters" : null,
10063 "action_ids" : [47],
10064 "actions" : ["act_11"],
10065 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_source",
10066 "next_tables" : {
10067 "act_11" : "FabricIngress.process_set_source_sink.tb_set_source"
10068 },
10069 "default_entry" : {
10070 "action_id" : 47,
10071 "action_const" : true,
10072 "action_data" : [],
10073 "action_entry_const" : true
10074 }
10075 },
10076 {
10077 "name" : "FabricIngress.process_set_source_sink.tb_set_source",
10078 "id" : 23,
10079 "source_info" : {
10080 "filename" : "include/int_source.p4",
10081 "line" : 101,
10082 "column" : 10,
10083 "source_fragment" : "tb_set_source"
10084 },
10085 "key" : [
10086 {
10087 "match_type" : "exact",
10088 "name" : "standard_metadata.ingress_port",
10089 "target" : ["standard_metadata", "ingress_port"],
10090 "mask" : null
10091 }
10092 ],
10093 "match_type" : "exact",
10094 "type" : "simple",
10095 "max_size" : 256,
10096 "with_counters" : true,
10097 "support_timeout" : false,
10098 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070010099 "action_ids" : [10, 0],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010100 "actions" : ["FabricIngress.process_set_source_sink.int_set_source", "NoAction"],
10101 "base_default_next" : "FabricIngress.process_set_source_sink.tb_set_sink",
10102 "next_tables" : {
10103 "FabricIngress.process_set_source_sink.int_set_source" : "FabricIngress.process_set_source_sink.tb_set_sink",
10104 "NoAction" : "FabricIngress.process_set_source_sink.tb_set_sink"
10105 },
10106 "default_entry" : {
10107 "action_id" : 0,
10108 "action_const" : false,
10109 "action_data" : [],
10110 "action_entry_const" : false
10111 }
10112 },
10113 {
10114 "name" : "FabricIngress.process_set_source_sink.tb_set_sink",
10115 "id" : 24,
10116 "source_info" : {
10117 "filename" : "include/int_source.p4",
10118 "line" : 111,
10119 "column" : 10,
10120 "source_fragment" : "tb_set_sink"
10121 },
10122 "key" : [
10123 {
10124 "match_type" : "exact",
10125 "name" : "standard_metadata.egress_spec",
10126 "target" : ["standard_metadata", "egress_spec"],
10127 "mask" : null
10128 }
10129 ],
10130 "match_type" : "exact",
10131 "type" : "simple",
10132 "max_size" : 256,
10133 "with_counters" : true,
10134 "support_timeout" : false,
10135 "direct_meters" : null,
Charles Chancf696e52018-08-16 16:25:13 -070010136 "action_ids" : [11, 1],
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010137 "actions" : ["FabricIngress.process_set_source_sink.int_set_sink", "NoAction"],
10138 "base_default_next" : "node_39",
10139 "next_tables" : {
10140 "FabricIngress.process_set_source_sink.int_set_sink" : "node_39",
10141 "NoAction" : "node_39"
10142 },
10143 "default_entry" : {
10144 "action_id" : 1,
10145 "action_const" : false,
10146 "action_data" : [],
10147 "action_entry_const" : false
10148 }
10149 },
10150 {
10151 "name" : "tbl_act_12",
10152 "id" : 25,
10153 "key" : [],
10154 "match_type" : "exact",
10155 "type" : "simple",
10156 "max_size" : 1024,
10157 "with_counters" : false,
10158 "support_timeout" : false,
10159 "direct_meters" : null,
10160 "action_ids" : [48],
10161 "actions" : ["act_12"],
10162 "base_default_next" : null,
10163 "next_tables" : {
10164 "act_12" : null
10165 },
10166 "default_entry" : {
10167 "action_id" : 48,
10168 "action_const" : true,
10169 "action_data" : [],
10170 "action_entry_const" : true
10171 }
10172 }
10173 ],
10174 "action_profiles" : [
10175 {
10176 "name" : "FabricIngress.next.ecmp_selector",
10177 "id" : 0,
10178 "max_size" : 64,
10179 "selector" : {
10180 "algo" : "crc16",
10181 "input" : [
10182 {
10183 "type" : "field",
10184 "value" : ["ipv4", "dst_addr"]
10185 },
10186 {
10187 "type" : "field",
10188 "value" : ["ipv4", "src_addr"]
10189 },
10190 {
10191 "type" : "field",
10192 "value" : ["scalars", "fabric_metadata_t.ip_proto"]
10193 },
10194 {
10195 "type" : "field",
10196 "value" : ["scalars", "fabric_metadata_t.l4_src_port"]
10197 },
10198 {
10199 "type" : "field",
10200 "value" : ["scalars", "fabric_metadata_t.l4_dst_port"]
10201 }
10202 ]
10203 }
10204 }
10205 ],
10206 "conditionals" : [
10207 {
10208 "name" : "node_2",
10209 "id" : 0,
10210 "source_info" : {
10211 "filename" : "include/control/packetio.p4",
10212 "line" : 25,
10213 "column" : 12,
10214 "source_fragment" : "hdr.packet_out.isValid()"
10215 },
10216 "expression" : {
10217 "type" : "expression",
10218 "value" : {
10219 "op" : "d2b",
10220 "left" : null,
10221 "right" : {
10222 "type" : "field",
10223 "value" : ["packet_out", "$valid$"]
10224 }
10225 }
10226 },
10227 "true_next" : "tbl_act",
10228 "false_next" : "FabricIngress.filtering.ingress_port_vlan"
10229 },
10230 {
10231 "name" : "node_6",
10232 "id" : 1,
10233 "source_info" : {
10234 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070010235 "line" : 235,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010236 "column" : 11,
10237 "source_fragment" : "fabric_metadata.fwd_type == FWD_BRIDGING"
10238 },
10239 "expression" : {
10240 "type" : "expression",
10241 "value" : {
10242 "op" : "==",
10243 "left" : {
10244 "type" : "field",
10245 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
10246 },
10247 "right" : {
10248 "type" : "hexstr",
10249 "value" : "0x00"
10250 }
10251 }
10252 },
10253 "true_next" : "FabricIngress.forwarding.bridging",
10254 "false_next" : "node_8"
10255 },
10256 {
10257 "name" : "node_8",
10258 "id" : 2,
10259 "source_info" : {
10260 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070010261 "line" : 236,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010262 "column" : 17,
10263 "source_fragment" : "fabric_metadata.fwd_type == FWD_MPLS"
10264 },
10265 "expression" : {
10266 "type" : "expression",
10267 "value" : {
10268 "op" : "==",
10269 "left" : {
10270 "type" : "field",
10271 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
10272 },
10273 "right" : {
10274 "type" : "hexstr",
10275 "value" : "0x01"
10276 }
10277 }
10278 },
10279 "true_next" : "FabricIngress.forwarding.mpls",
10280 "false_next" : "node_11"
10281 },
10282 {
10283 "name" : "node_11",
10284 "id" : 3,
10285 "source_info" : {
10286 "filename" : "include/control/forwarding.p4",
Charles Chancf696e52018-08-16 16:25:13 -070010287 "line" : 250,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010288 "column" : 17,
10289 "source_fragment" : "fabric_metadata.fwd_type == FWD_IPV4_UNICAST"
10290 },
10291 "expression" : {
10292 "type" : "expression",
10293 "value" : {
10294 "op" : "==",
10295 "left" : {
10296 "type" : "field",
10297 "value" : ["scalars", "fabric_metadata_t.fwd_type"]
10298 },
10299 "right" : {
10300 "type" : "hexstr",
10301 "value" : "0x02"
10302 }
10303 }
10304 },
10305 "true_next" : "FabricIngress.forwarding.unicast_v4",
10306 "false_next" : "FabricIngress.forwarding.acl"
10307 },
10308 {
10309 "name" : "node_19",
10310 "id" : 4,
10311 "source_info" : {
10312 "filename" : "include/control/next.p4",
10313 "line" : 219,
10314 "column" : 12,
10315 "source_fragment" : "!simple.apply().hit"
10316 },
10317 "expression" : {
10318 "type" : "expression",
10319 "value" : {
10320 "op" : "not",
10321 "left" : null,
10322 "right" : {
10323 "type" : "expression",
10324 "value" : {
10325 "op" : "d2b",
10326 "left" : null,
10327 "right" : {
10328 "type" : "field",
10329 "value" : ["scalars", "next_tmp_4"]
10330 }
10331 }
10332 }
10333 }
10334 },
10335 "true_next" : "FabricIngress.next.hashed",
10336 "false_next" : "node_29"
10337 },
10338 {
10339 "name" : "node_23",
10340 "id" : 5,
10341 "source_info" : {
10342 "filename" : "include/control/next.p4",
10343 "line" : 220,
10344 "column" : 16,
10345 "source_fragment" : "!hashed.apply().hit"
10346 },
10347 "expression" : {
10348 "type" : "expression",
10349 "value" : {
10350 "op" : "not",
10351 "left" : null,
10352 "right" : {
10353 "type" : "expression",
10354 "value" : {
10355 "op" : "d2b",
10356 "left" : null,
10357 "right" : {
10358 "type" : "field",
10359 "value" : ["scalars", "next_tmp_3"]
10360 }
10361 }
10362 }
10363 }
10364 },
10365 "true_next" : "FabricIngress.next.multicast",
10366 "false_next" : "node_29"
10367 },
10368 {
10369 "name" : "node_27",
10370 "id" : 6,
10371 "source_info" : {
10372 "filename" : "include/control/next.p4",
10373 "line" : 221,
10374 "column" : 20,
10375 "source_fragment" : "!multicast.apply().hit"
10376 },
10377 "expression" : {
10378 "type" : "expression",
10379 "value" : {
10380 "op" : "not",
10381 "left" : null,
10382 "right" : {
10383 "type" : "expression",
10384 "value" : {
10385 "op" : "d2b",
10386 "left" : null,
10387 "right" : {
10388 "type" : "field",
10389 "value" : ["scalars", "next_tmp_2"]
10390 }
10391 }
10392 }
10393 }
10394 },
10395 "true_next" : "tbl_act_8",
10396 "false_next" : "node_29"
10397 },
10398 {
10399 "name" : "node_29",
10400 "id" : 7,
10401 "expression" : {
10402 "type" : "expression",
10403 "value" : {
10404 "op" : "not",
10405 "left" : null,
10406 "right" : {
10407 "type" : "expression",
10408 "value" : {
10409 "op" : "d2b",
10410 "left" : null,
10411 "right" : {
10412 "type" : "field",
10413 "value" : ["scalars", "next_hasReturned_0"]
10414 }
10415 }
10416 }
10417 }
10418 },
10419 "true_next" : "node_30",
10420 "false_next" : "node_33"
10421 },
10422 {
10423 "name" : "node_30",
10424 "id" : 8,
10425 "source_info" : {
10426 "filename" : "include/control/next.p4",
10427 "line" : 228,
10428 "column" : 12,
10429 "source_fragment" : "!hdr.mpls.isValid()"
10430 },
10431 "expression" : {
10432 "type" : "expression",
10433 "value" : {
10434 "op" : "not",
10435 "left" : null,
10436 "right" : {
10437 "type" : "expression",
10438 "value" : {
10439 "op" : "d2b",
10440 "left" : null,
10441 "right" : {
10442 "type" : "field",
10443 "value" : ["mpls", "$valid$"]
10444 }
10445 }
10446 }
10447 }
10448 },
10449 "true_next" : "node_31",
10450 "false_next" : "node_33"
10451 },
10452 {
10453 "name" : "node_31",
10454 "id" : 9,
10455 "source_info" : {
10456 "filename" : "include/control/next.p4",
10457 "line" : 229,
10458 "column" : 15,
10459 "source_fragment" : "hdr.ipv4.isValid()"
10460 },
10461 "expression" : {
10462 "type" : "expression",
10463 "value" : {
10464 "op" : "d2b",
10465 "left" : null,
10466 "right" : {
10467 "type" : "field",
10468 "value" : ["ipv4", "$valid$"]
10469 }
10470 }
10471 },
10472 "true_next" : "tbl_act_9",
10473 "false_next" : "node_33"
10474 },
10475 {
10476 "name" : "node_33",
10477 "id" : 10,
10478 "source_info" : {
10479 "filename" : "include/control/port_counter.p4",
10480 "line" : 27,
10481 "column" : 12,
10482 "source_fragment" : "standard_metadata.egress_spec < 511"
10483 },
10484 "expression" : {
10485 "type" : "expression",
10486 "value" : {
10487 "op" : "<",
10488 "left" : {
10489 "type" : "field",
10490 "value" : ["standard_metadata", "egress_spec"]
10491 },
10492 "right" : {
10493 "type" : "hexstr",
10494 "value" : "0x01ff"
10495 }
10496 }
10497 },
10498 "true_next" : "tbl_act_10",
10499 "false_next" : "node_35"
10500 },
10501 {
10502 "name" : "node_35",
10503 "id" : 11,
10504 "source_info" : {
10505 "filename" : "include/control/port_counter.p4",
10506 "line" : 30,
10507 "column" : 12,
10508 "source_fragment" : "standard_metadata.ingress_port < 511"
10509 },
10510 "expression" : {
10511 "type" : "expression",
10512 "value" : {
10513 "op" : "<",
10514 "left" : {
10515 "type" : "field",
10516 "value" : ["standard_metadata", "ingress_port"]
10517 },
10518 "right" : {
10519 "type" : "hexstr",
10520 "value" : "0x01ff"
10521 }
10522 }
10523 },
10524 "true_next" : "tbl_act_11",
10525 "false_next" : "FabricIngress.process_set_source_sink.tb_set_source"
10526 },
10527 {
10528 "name" : "node_39",
10529 "id" : 12,
10530 "source_info" : {
10531 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010532 "line" : 70,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010533 "column" : 11,
10534 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
10535 },
10536 "expression" : {
10537 "type" : "expression",
10538 "value" : {
10539 "op" : "==",
10540 "left" : {
10541 "type" : "field",
10542 "value" : ["userMetadata.int_meta", "sink"]
10543 },
10544 "right" : {
10545 "type" : "hexstr",
10546 "value" : "0x01"
10547 }
10548 }
10549 },
10550 "false_next" : null,
10551 "true_next" : "tbl_act_12"
10552 }
10553 ]
10554 },
10555 {
10556 "name" : "egress",
10557 "id" : 1,
10558 "source_info" : {
10559 "filename" : "fabric.p4",
Carmelo Cascone9b0171b2018-08-14 01:43:57 -070010560 "line" : 80,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090010561 "column" : 8,
10562 "source_fragment" : "FabricEgress"
10563 },
10564 "init_table" : "node_43",
10565 "tables" : [
10566 {
10567 "name" : "tbl_drop_now",
10568 "id" : 26,
10569 "key" : [],
10570 "match_type" : "exact",
10571 "type" : "simple",
10572 "max_size" : 1024,
10573 "with_counters" : false,
10574 "support_timeout" : false,
10575 "direct_meters" : null,
10576 "action_ids" : [55],
10577 "actions" : ["drop_now"],
10578 "base_default_next" : "FabricEgress.egress_next.egress_vlan",
10579 "next_tables" : {
10580 "drop_now" : "FabricEgress.egress_next.egress_vlan"
10581 },
10582 "default_entry" : {
10583 "action_id" : 55,
10584 "action_const" : true,
10585 "action_data" : [],
10586 "action_entry_const" : true
10587 }
10588 },
10589 {
10590 "name" : "FabricEgress.egress_next.egress_vlan",
10591 "id" : 27,
10592 "source_info" : {
10593 "filename" : "include/control/next.p4",
10594 "line" : 258,
10595 "column" : 10,
10596 "source_fragment" : "egress_vlan"
10597 },
10598 "key" : [
10599 {
10600 "match_type" : "exact",
10601 "name" : "hdr.vlan_tag.vlan_id",
10602 "target" : ["vlan_tag", "vlan_id"],
10603 "mask" : null
10604 },
10605 {
10606 "match_type" : "exact",
10607 "name" : "standard_metadata.egress_port",
10608 "target" : ["standard_metadata", "egress_port"],
10609 "mask" : null
10610 }
10611 ],
10612 "match_type" : "exact",
10613 "type" : "simple",
10614 "max_size" : 1024,
10615 "with_counters" : true,
10616 "support_timeout" : false,
10617 "direct_meters" : null,
10618 "action_ids" : [99, 54],
10619 "actions" : ["FabricEgress.egress_next.pop_vlan", "nop"],
10620 "base_default_next" : "node_46",
10621 "next_tables" : {
10622 "FabricEgress.egress_next.pop_vlan" : "node_46",
10623 "nop" : "node_46"
10624 },
10625 "default_entry" : {
10626 "action_id" : 54,
10627 "action_const" : false,
10628 "action_data" : [],
10629 "action_entry_const" : false
10630 }
10631 },
10632 {
10633 "name" : "tbl_pkt_io_egress_pop_vlan",
10634 "id" : 28,
10635 "key" : [],
10636 "match_type" : "exact",
10637 "type" : "simple",
10638 "max_size" : 1024,
10639 "with_counters" : false,
10640 "support_timeout" : false,
10641 "direct_meters" : null,
10642 "action_ids" : [98],
10643 "actions" : ["FabricEgress.pkt_io_egress.pop_vlan"],
10644 "base_default_next" : "node_49",
10645 "next_tables" : {
10646 "FabricEgress.pkt_io_egress.pop_vlan" : "node_49"
10647 },
10648 "default_entry" : {
10649 "action_id" : 98,
10650 "action_const" : true,
10651 "action_data" : [],
10652 "action_entry_const" : true
10653 }
10654 },
10655 {
10656 "name" : "tbl_drop_now_0",
10657 "id" : 29,
10658 "key" : [],
10659 "match_type" : "exact",
10660 "type" : "simple",
10661 "max_size" : 1024,
10662 "with_counters" : false,
10663 "support_timeout" : false,
10664 "direct_meters" : null,
10665 "action_ids" : [56],
10666 "actions" : ["drop_now"],
10667 "base_default_next" : "tbl_act_13",
10668 "next_tables" : {
10669 "drop_now" : "tbl_act_13"
10670 },
10671 "default_entry" : {
10672 "action_id" : 56,
10673 "action_const" : true,
10674 "action_data" : [],
10675 "action_entry_const" : true
10676 }
10677 },
10678 {
10679 "name" : "tbl_act_13",
10680 "id" : 30,
10681 "key" : [],
10682 "match_type" : "exact",
10683 "type" : "simple",
10684 "max_size" : 1024,
10685 "with_counters" : false,
10686 "support_timeout" : false,
10687 "direct_meters" : null,
10688 "action_ids" : [100],
10689 "actions" : ["act_13"],
10690 "base_default_next" : "node_52",
10691 "next_tables" : {
10692 "act_13" : "node_52"
10693 },
10694 "default_entry" : {
10695 "action_id" : 100,
10696 "action_const" : true,
10697 "action_data" : [],
10698 "action_entry_const" : true
10699 }
10700 },
10701 {
10702 "name" : "FabricEgress.process_int_source.tb_int_source",
10703 "id" : 31,
10704 "source_info" : {
10705 "filename" : "include/int_source.p4",
10706 "line" : 66,
10707 "column" : 10,
10708 "source_fragment" : "tb_int_source"
10709 },
10710 "key" : [
10711 {
10712 "match_type" : "ternary",
10713 "name" : "hdr.ipv4.src_addr",
10714 "target" : ["ipv4", "src_addr"],
10715 "mask" : null
10716 },
10717 {
10718 "match_type" : "ternary",
10719 "name" : "hdr.ipv4.dst_addr",
10720 "target" : ["ipv4", "dst_addr"],
10721 "mask" : null
10722 },
10723 {
10724 "match_type" : "ternary",
10725 "name" : "fabric_metadata.l4_src_port",
10726 "target" : ["scalars", "fabric_metadata_t.l4_src_port"],
10727 "mask" : null
10728 },
10729 {
10730 "match_type" : "ternary",
10731 "name" : "fabric_metadata.l4_dst_port",
10732 "target" : ["scalars", "fabric_metadata_t.l4_dst_port"],
10733 "mask" : null
10734 }
10735 ],
10736 "match_type" : "ternary",
10737 "type" : "simple",
10738 "max_size" : 1024,
10739 "with_counters" : true,
10740 "support_timeout" : false,
10741 "direct_meters" : null,
10742 "action_ids" : [57, 49],
10743 "actions" : ["FabricEgress.process_int_source.int_source_dscp", "NoAction"],
10744 "base_default_next" : "node_55",
10745 "next_tables" : {
10746 "FabricEgress.process_int_source.int_source_dscp" : "node_55",
10747 "NoAction" : "node_55"
10748 },
10749 "default_entry" : {
10750 "action_id" : 49,
10751 "action_const" : false,
10752 "action_data" : [],
10753 "action_entry_const" : false
10754 }
10755 },
10756 {
10757 "name" : "FabricEgress.process_int_transit.tb_int_insert",
10758 "id" : 32,
10759 "source_info" : {
10760 "filename" : "include/int_transit.p4",
10761 "line" : 227,
10762 "column" : 10,
10763 "source_fragment" : "tb_int_insert"
10764 },
10765 "key" : [],
10766 "match_type" : "exact",
10767 "type" : "simple",
10768 "max_size" : 2,
10769 "with_counters" : true,
10770 "support_timeout" : false,
10771 "direct_meters" : null,
10772 "action_ids" : [59, 50],
10773 "actions" : ["FabricEgress.process_int_transit.int_transit", "NoAction"],
10774 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0003",
10775 "next_tables" : {
10776 "FabricEgress.process_int_transit.int_transit" : "FabricEgress.process_int_transit.tb_int_inst_0003",
10777 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0003"
10778 },
10779 "default_entry" : {
10780 "action_id" : 50,
10781 "action_const" : false,
10782 "action_data" : [],
10783 "action_entry_const" : false
10784 }
10785 },
10786 {
10787 "name" : "FabricEgress.process_int_transit.tb_int_inst_0003",
10788 "id" : 33,
10789 "source_info" : {
10790 "filename" : "include/int_transit.p4",
10791 "line" : 237,
10792 "column" : 10,
10793 "source_fragment" : "tb_int_inst_0003"
10794 },
10795 "key" : [
10796 {
10797 "match_type" : "exact",
10798 "name" : "hdr.int_header.instruction_mask_0003",
10799 "target" : ["int_header", "instruction_mask_0003"],
10800 "mask" : null
10801 }
10802 ],
10803 "match_type" : "exact",
10804 "type" : "simple",
10805 "max_size" : 16,
10806 "with_counters" : true,
10807 "support_timeout" : false,
10808 "direct_meters" : null,
10809 "action_ids" : [60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 51],
10810 "actions" : ["FabricEgress.process_int_transit.int_set_header_0003_i0", "FabricEgress.process_int_transit.int_set_header_0003_i1", "FabricEgress.process_int_transit.int_set_header_0003_i2", "FabricEgress.process_int_transit.int_set_header_0003_i3", "FabricEgress.process_int_transit.int_set_header_0003_i4", "FabricEgress.process_int_transit.int_set_header_0003_i5", "FabricEgress.process_int_transit.int_set_header_0003_i6", "FabricEgress.process_int_transit.int_set_header_0003_i7", "FabricEgress.process_int_transit.int_set_header_0003_i8", "FabricEgress.process_int_transit.int_set_header_0003_i9", "FabricEgress.process_int_transit.int_set_header_0003_i10", "FabricEgress.process_int_transit.int_set_header_0003_i11", "FabricEgress.process_int_transit.int_set_header_0003_i12", "FabricEgress.process_int_transit.int_set_header_0003_i13", "FabricEgress.process_int_transit.int_set_header_0003_i14", "FabricEgress.process_int_transit.int_set_header_0003_i15", "NoAction"],
10811 "base_default_next" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10812 "next_tables" : {
10813 "FabricEgress.process_int_transit.int_set_header_0003_i0" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10814 "FabricEgress.process_int_transit.int_set_header_0003_i1" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10815 "FabricEgress.process_int_transit.int_set_header_0003_i2" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10816 "FabricEgress.process_int_transit.int_set_header_0003_i3" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10817 "FabricEgress.process_int_transit.int_set_header_0003_i4" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10818 "FabricEgress.process_int_transit.int_set_header_0003_i5" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10819 "FabricEgress.process_int_transit.int_set_header_0003_i6" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10820 "FabricEgress.process_int_transit.int_set_header_0003_i7" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10821 "FabricEgress.process_int_transit.int_set_header_0003_i8" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10822 "FabricEgress.process_int_transit.int_set_header_0003_i9" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10823 "FabricEgress.process_int_transit.int_set_header_0003_i10" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10824 "FabricEgress.process_int_transit.int_set_header_0003_i11" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10825 "FabricEgress.process_int_transit.int_set_header_0003_i12" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10826 "FabricEgress.process_int_transit.int_set_header_0003_i13" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10827 "FabricEgress.process_int_transit.int_set_header_0003_i14" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10828 "FabricEgress.process_int_transit.int_set_header_0003_i15" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10829 "NoAction" : "FabricEgress.process_int_transit.tb_int_inst_0407"
10830 },
10831 "default_entry" : {
10832 "action_id" : 51,
10833 "action_const" : false,
10834 "action_data" : [],
10835 "action_entry_const" : false
10836 }
10837 },
10838 {
10839 "name" : "FabricEgress.process_int_transit.tb_int_inst_0407",
10840 "id" : 34,
10841 "source_info" : {
10842 "filename" : "include/int_transit.p4",
10843 "line" : 264,
10844 "column" : 10,
10845 "source_fragment" : "tb_int_inst_0407"
10846 },
10847 "key" : [
10848 {
10849 "match_type" : "exact",
10850 "name" : "hdr.int_header.instruction_mask_0407",
10851 "target" : ["int_header", "instruction_mask_0407"],
10852 "mask" : null
10853 }
10854 ],
10855 "match_type" : "exact",
10856 "type" : "simple",
10857 "max_size" : 16,
10858 "with_counters" : true,
10859 "support_timeout" : false,
10860 "direct_meters" : null,
10861 "action_ids" : [76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 52],
10862 "actions" : ["FabricEgress.process_int_transit.int_set_header_0407_i0", "FabricEgress.process_int_transit.int_set_header_0407_i1", "FabricEgress.process_int_transit.int_set_header_0407_i2", "FabricEgress.process_int_transit.int_set_header_0407_i3", "FabricEgress.process_int_transit.int_set_header_0407_i4", "FabricEgress.process_int_transit.int_set_header_0407_i5", "FabricEgress.process_int_transit.int_set_header_0407_i6", "FabricEgress.process_int_transit.int_set_header_0407_i7", "FabricEgress.process_int_transit.int_set_header_0407_i8", "FabricEgress.process_int_transit.int_set_header_0407_i9", "FabricEgress.process_int_transit.int_set_header_0407_i10", "FabricEgress.process_int_transit.int_set_header_0407_i11", "FabricEgress.process_int_transit.int_set_header_0407_i12", "FabricEgress.process_int_transit.int_set_header_0407_i13", "FabricEgress.process_int_transit.int_set_header_0407_i14", "FabricEgress.process_int_transit.int_set_header_0407_i15", "NoAction"],
10863 "base_default_next" : "tbl_process_int_transit_int_update_total_hop_cnt",
10864 "next_tables" : {
10865 "FabricEgress.process_int_transit.int_set_header_0407_i0" : "tbl_process_int_transit_int_update_total_hop_cnt",
10866 "FabricEgress.process_int_transit.int_set_header_0407_i1" : "tbl_process_int_transit_int_update_total_hop_cnt",
10867 "FabricEgress.process_int_transit.int_set_header_0407_i2" : "tbl_process_int_transit_int_update_total_hop_cnt",
10868 "FabricEgress.process_int_transit.int_set_header_0407_i3" : "tbl_process_int_transit_int_update_total_hop_cnt",
10869 "FabricEgress.process_int_transit.int_set_header_0407_i4" : "tbl_process_int_transit_int_update_total_hop_cnt",
10870 "FabricEgress.process_int_transit.int_set_header_0407_i5" : "tbl_process_int_transit_int_update_total_hop_cnt",
10871 "FabricEgress.process_int_transit.int_set_header_0407_i6" : "tbl_process_int_transit_int_update_total_hop_cnt",
10872 "FabricEgress.process_int_transit.int_set_header_0407_i7" : "tbl_process_int_transit_int_update_total_hop_cnt",
10873 "FabricEgress.process_int_transit.int_set_header_0407_i8" : "tbl_process_int_transit_int_update_total_hop_cnt",
10874 "FabricEgress.process_int_transit.int_set_header_0407_i9" : "tbl_process_int_transit_int_update_total_hop_cnt",
10875 "FabricEgress.process_int_transit.int_set_header_0407_i10" : "tbl_process_int_transit_int_update_total_hop_cnt",
10876 "FabricEgress.process_int_transit.int_set_header_0407_i11" : "tbl_process_int_transit_int_update_total_hop_cnt",
10877 "FabricEgress.process_int_transit.int_set_header_0407_i12" : "tbl_process_int_transit_int_update_total_hop_cnt",
10878 "FabricEgress.process_int_transit.int_set_header_0407_i13" : "tbl_process_int_transit_int_update_total_hop_cnt",
10879 "FabricEgress.process_int_transit.int_set_header_0407_i14" : "tbl_process_int_transit_int_update_total_hop_cnt",
10880 "FabricEgress.process_int_transit.int_set_header_0407_i15" : "tbl_process_int_transit_int_update_total_hop_cnt",
10881 "NoAction" : "tbl_process_int_transit_int_update_total_hop_cnt"
10882 },
10883 "default_entry" : {
10884 "action_id" : 52,
10885 "action_const" : false,
10886 "action_data" : [],
10887 "action_entry_const" : false
10888 }
10889 },
10890 {
10891 "name" : "tbl_process_int_transit_int_update_total_hop_cnt",
10892 "id" : 35,
10893 "key" : [],
10894 "match_type" : "exact",
10895 "type" : "simple",
10896 "max_size" : 1024,
10897 "with_counters" : false,
10898 "support_timeout" : false,
10899 "direct_meters" : null,
10900 "action_ids" : [58],
10901 "actions" : ["FabricEgress.process_int_transit.int_update_total_hop_cnt"],
10902 "base_default_next" : "node_60",
10903 "next_tables" : {
10904 "FabricEgress.process_int_transit.int_update_total_hop_cnt" : "node_60"
10905 },
10906 "default_entry" : {
10907 "action_id" : 58,
10908 "action_const" : true,
10909 "action_data" : [],
10910 "action_entry_const" : true
10911 }
10912 },
10913 {
10914 "name" : "tbl_process_int_outer_encap_int_update_ipv4",
10915 "id" : 36,
10916 "key" : [],
10917 "match_type" : "exact",
10918 "type" : "simple",
10919 "max_size" : 1024,
10920 "with_counters" : false,
10921 "support_timeout" : false,
10922 "direct_meters" : null,
10923 "action_ids" : [92],
10924 "actions" : ["FabricEgress.process_int_outer_encap.int_update_ipv4"],
10925 "base_default_next" : "node_62",
10926 "next_tables" : {
10927 "FabricEgress.process_int_outer_encap.int_update_ipv4" : "node_62"
10928 },
10929 "default_entry" : {
10930 "action_id" : 92,
10931 "action_const" : true,
10932 "action_data" : [],
10933 "action_entry_const" : true
10934 }
10935 },
10936 {
10937 "name" : "tbl_process_int_outer_encap_int_update_udp",
10938 "id" : 37,
10939 "key" : [],
10940 "match_type" : "exact",
10941 "type" : "simple",
10942 "max_size" : 1024,
10943 "with_counters" : false,
10944 "support_timeout" : false,
10945 "direct_meters" : null,
10946 "action_ids" : [93],
10947 "actions" : ["FabricEgress.process_int_outer_encap.int_update_udp"],
10948 "base_default_next" : "node_64",
10949 "next_tables" : {
10950 "FabricEgress.process_int_outer_encap.int_update_udp" : "node_64"
10951 },
10952 "default_entry" : {
10953 "action_id" : 93,
10954 "action_const" : true,
10955 "action_data" : [],
10956 "action_entry_const" : true
10957 }
10958 },
10959 {
10960 "name" : "tbl_process_int_outer_encap_int_update_shim",
10961 "id" : 38,
10962 "key" : [],
10963 "match_type" : "exact",
10964 "type" : "simple",
10965 "max_size" : 1024,
10966 "with_counters" : false,
10967 "support_timeout" : false,
10968 "direct_meters" : null,
10969 "action_ids" : [94],
10970 "actions" : ["FabricEgress.process_int_outer_encap.int_update_shim"],
10971 "base_default_next" : "node_66",
10972 "next_tables" : {
10973 "FabricEgress.process_int_outer_encap.int_update_shim" : "node_66"
10974 },
10975 "default_entry" : {
10976 "action_id" : 94,
10977 "action_const" : true,
10978 "action_data" : [],
10979 "action_entry_const" : true
10980 }
10981 },
10982 {
10983 "name" : "FabricEgress.process_int_report.tb_generate_report",
10984 "id" : 39,
10985 "source_info" : {
10986 "filename" : "include/int_report.p4",
10987 "line" : 87,
10988 "column" : 10,
10989 "source_fragment" : "tb_generate_report"
10990 },
10991 "key" : [],
10992 "match_type" : "exact",
10993 "type" : "simple",
10994 "max_size" : 1024,
10995 "with_counters" : false,
10996 "support_timeout" : false,
10997 "direct_meters" : null,
10998 "action_ids" : [95, 53],
10999 "actions" : ["FabricEgress.process_int_report.do_report_encapsulation", "NoAction"],
11000 "base_default_next" : "node_68",
11001 "next_tables" : {
11002 "FabricEgress.process_int_report.do_report_encapsulation" : "node_68",
11003 "NoAction" : "node_68"
11004 },
11005 "default_entry" : {
11006 "action_id" : 53,
11007 "action_const" : false,
11008 "action_data" : [],
11009 "action_entry_const" : false
11010 }
11011 },
11012 {
11013 "name" : "tbl_process_int_sink_restore_header",
11014 "id" : 40,
11015 "key" : [],
11016 "match_type" : "exact",
11017 "type" : "simple",
11018 "max_size" : 1024,
11019 "with_counters" : false,
11020 "support_timeout" : false,
11021 "direct_meters" : null,
11022 "action_ids" : [96],
11023 "actions" : ["FabricEgress.process_int_sink.restore_header"],
11024 "base_default_next" : "tbl_process_int_sink_int_sink",
11025 "next_tables" : {
11026 "FabricEgress.process_int_sink.restore_header" : "tbl_process_int_sink_int_sink"
11027 },
11028 "default_entry" : {
11029 "action_id" : 96,
11030 "action_const" : true,
11031 "action_data" : [],
11032 "action_entry_const" : true
11033 }
11034 },
11035 {
11036 "name" : "tbl_process_int_sink_int_sink",
11037 "id" : 41,
11038 "key" : [],
11039 "match_type" : "exact",
11040 "type" : "simple",
11041 "max_size" : 1024,
11042 "with_counters" : false,
11043 "support_timeout" : false,
11044 "direct_meters" : null,
11045 "action_ids" : [97],
11046 "actions" : ["FabricEgress.process_int_sink.int_sink"],
11047 "base_default_next" : null,
11048 "next_tables" : {
11049 "FabricEgress.process_int_sink.int_sink" : null
11050 },
11051 "default_entry" : {
11052 "action_id" : 97,
11053 "action_const" : true,
11054 "action_data" : [],
11055 "action_entry_const" : true
11056 }
11057 }
11058 ],
11059 "action_profiles" : [],
11060 "conditionals" : [
11061 {
11062 "name" : "node_43",
11063 "id" : 13,
11064 "source_info" : {
11065 "filename" : "include/control/next.p4",
11066 "line" : 272,
11067 "column" : 12,
11068 "source_fragment" : "fabric_metadata.is_multicast == true ..."
11069 },
11070 "expression" : {
11071 "type" : "expression",
11072 "value" : {
11073 "op" : "and",
11074 "left" : {
11075 "type" : "expression",
11076 "value" : {
11077 "op" : "==",
11078 "left" : {
11079 "type" : "expression",
11080 "value" : {
11081 "op" : "d2b",
11082 "left" : null,
11083 "right" : {
11084 "type" : "field",
11085 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
11086 }
11087 }
11088 },
11089 "right" : {
11090 "type" : "bool",
11091 "value" : true
11092 }
11093 }
11094 },
11095 "right" : {
11096 "type" : "expression",
11097 "value" : {
11098 "op" : "==",
11099 "left" : {
11100 "type" : "field",
11101 "value" : ["standard_metadata", "ingress_port"]
11102 },
11103 "right" : {
11104 "type" : "field",
11105 "value" : ["standard_metadata", "egress_port"]
11106 }
11107 }
11108 }
11109 }
11110 },
11111 "true_next" : "tbl_drop_now",
11112 "false_next" : "FabricEgress.egress_next.egress_vlan"
11113 },
11114 {
11115 "name" : "node_46",
11116 "id" : 14,
11117 "source_info" : {
11118 "filename" : "include/control/packetio.p4",
11119 "line" : 42,
11120 "column" : 12,
11121 "source_fragment" : "standard_metadata.egress_port == 255"
11122 },
11123 "expression" : {
11124 "type" : "expression",
11125 "value" : {
11126 "op" : "==",
11127 "left" : {
11128 "type" : "field",
11129 "value" : ["standard_metadata", "egress_port"]
11130 },
11131 "right" : {
11132 "type" : "hexstr",
11133 "value" : "0x00ff"
11134 }
11135 }
11136 },
11137 "true_next" : "node_47",
11138 "false_next" : "node_52"
11139 },
11140 {
11141 "name" : "node_47",
11142 "id" : 15,
11143 "source_info" : {
11144 "filename" : "include/control/packetio.p4",
11145 "line" : 43,
11146 "column" : 16,
11147 "source_fragment" : "hdr.vlan_tag.isValid() && fabric_metadata.pop_vlan_when_packet_in == true"
11148 },
11149 "expression" : {
11150 "type" : "expression",
11151 "value" : {
11152 "op" : "and",
11153 "left" : {
11154 "type" : "expression",
11155 "value" : {
11156 "op" : "d2b",
11157 "left" : null,
11158 "right" : {
11159 "type" : "field",
11160 "value" : ["vlan_tag", "$valid$"]
11161 }
11162 }
11163 },
11164 "right" : {
11165 "type" : "expression",
11166 "value" : {
11167 "op" : "==",
11168 "left" : {
11169 "type" : "expression",
11170 "value" : {
11171 "op" : "d2b",
11172 "left" : null,
11173 "right" : {
11174 "type" : "field",
11175 "value" : ["scalars", "fabric_metadata_t.pop_vlan_when_packet_in"]
11176 }
11177 }
11178 },
11179 "right" : {
11180 "type" : "bool",
11181 "value" : true
11182 }
11183 }
11184 }
11185 }
11186 },
11187 "true_next" : "tbl_pkt_io_egress_pop_vlan",
11188 "false_next" : "node_49"
11189 },
11190 {
11191 "name" : "node_49",
11192 "id" : 16,
11193 "source_info" : {
11194 "filename" : "include/control/packetio.p4",
11195 "line" : 46,
11196 "column" : 16,
11197 "source_fragment" : "fabric_metadata.is_multicast == true && ..."
11198 },
11199 "expression" : {
11200 "type" : "expression",
11201 "value" : {
11202 "op" : "and",
11203 "left" : {
11204 "type" : "expression",
11205 "value" : {
11206 "op" : "==",
11207 "left" : {
11208 "type" : "expression",
11209 "value" : {
11210 "op" : "d2b",
11211 "left" : null,
11212 "right" : {
11213 "type" : "field",
11214 "value" : ["scalars", "fabric_metadata_t.is_multicast"]
11215 }
11216 }
11217 },
11218 "right" : {
11219 "type" : "bool",
11220 "value" : true
11221 }
11222 }
11223 },
11224 "right" : {
11225 "type" : "expression",
11226 "value" : {
11227 "op" : "==",
11228 "left" : {
11229 "type" : "expression",
11230 "value" : {
11231 "op" : "d2b",
11232 "left" : null,
11233 "right" : {
11234 "type" : "field",
11235 "value" : ["scalars", "fabric_metadata_t.clone_to_cpu"]
11236 }
11237 }
11238 },
11239 "right" : {
11240 "type" : "bool",
11241 "value" : false
11242 }
11243 }
11244 }
11245 }
11246 },
11247 "true_next" : "tbl_drop_now_0",
11248 "false_next" : "tbl_act_13"
11249 },
11250 {
11251 "name" : "node_52",
11252 "id" : 17,
11253 "source_info" : {
11254 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070011255 "line" : 94,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011256 "column" : 12,
11257 "source_fragment" : "standard_metadata.ingress_port != 255 && ..."
11258 },
11259 "expression" : {
11260 "type" : "expression",
11261 "value" : {
11262 "op" : "and",
11263 "left" : {
11264 "type" : "expression",
11265 "value" : {
11266 "op" : "and",
11267 "left" : {
11268 "type" : "expression",
11269 "value" : {
11270 "op" : "!=",
11271 "left" : {
11272 "type" : "field",
11273 "value" : ["standard_metadata", "ingress_port"]
11274 },
11275 "right" : {
11276 "type" : "hexstr",
11277 "value" : "0x00ff"
11278 }
11279 }
11280 },
11281 "right" : {
11282 "type" : "expression",
11283 "value" : {
11284 "op" : "!=",
11285 "left" : {
11286 "type" : "field",
11287 "value" : ["standard_metadata", "egress_port"]
11288 },
11289 "right" : {
11290 "type" : "hexstr",
11291 "value" : "0x00ff"
11292 }
11293 }
11294 }
11295 }
11296 },
11297 "right" : {
11298 "type" : "expression",
11299 "value" : {
11300 "op" : "or",
11301 "left" : {
11302 "type" : "expression",
11303 "value" : {
11304 "op" : "d2b",
11305 "left" : null,
11306 "right" : {
11307 "type" : "field",
11308 "value" : ["udp", "$valid$"]
11309 }
11310 }
11311 },
11312 "right" : {
11313 "type" : "expression",
11314 "value" : {
11315 "op" : "d2b",
11316 "left" : null,
11317 "right" : {
11318 "type" : "field",
11319 "value" : ["tcp", "$valid$"]
11320 }
11321 }
11322 }
11323 }
11324 }
11325 }
11326 },
11327 "false_next" : null,
11328 "true_next" : "node_53"
11329 },
11330 {
11331 "name" : "node_53",
11332 "id" : 18,
11333 "source_info" : {
11334 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070011335 "line" : 97,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011336 "column" : 16,
11337 "source_fragment" : "fabric_metadata.int_meta.source == 1"
11338 },
11339 "expression" : {
11340 "type" : "expression",
11341 "value" : {
11342 "op" : "==",
11343 "left" : {
11344 "type" : "field",
11345 "value" : ["userMetadata.int_meta", "source"]
11346 },
11347 "right" : {
11348 "type" : "hexstr",
11349 "value" : "0x01"
11350 }
11351 }
11352 },
11353 "true_next" : "FabricEgress.process_int_source.tb_int_source",
11354 "false_next" : "node_55"
11355 },
11356 {
11357 "name" : "node_55",
11358 "id" : 19,
11359 "source_info" : {
11360 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070011361 "line" : 100,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011362 "column" : 15,
11363 "source_fragment" : "hdr.int_header.isValid()"
11364 },
11365 "expression" : {
11366 "type" : "expression",
11367 "value" : {
11368 "op" : "d2b",
11369 "left" : null,
11370 "right" : {
11371 "type" : "field",
11372 "value" : ["int_header", "$valid$"]
11373 }
11374 }
11375 },
11376 "false_next" : null,
11377 "true_next" : "FabricEgress.process_int_transit.tb_int_insert"
11378 },
11379 {
11380 "name" : "node_60",
11381 "id" : 20,
11382 "source_info" : {
11383 "filename" : "include/int_transit.p4",
11384 "line" : 314,
11385 "column" : 12,
11386 "source_fragment" : "hdr.ipv4.isValid()"
11387 },
11388 "expression" : {
11389 "type" : "expression",
11390 "value" : {
11391 "op" : "d2b",
11392 "left" : null,
11393 "right" : {
11394 "type" : "field",
11395 "value" : ["ipv4", "$valid$"]
11396 }
11397 }
11398 },
11399 "true_next" : "tbl_process_int_outer_encap_int_update_ipv4",
11400 "false_next" : "node_62"
11401 },
11402 {
11403 "name" : "node_62",
11404 "id" : 21,
11405 "source_info" : {
11406 "filename" : "include/int_transit.p4",
11407 "line" : 317,
11408 "column" : 12,
11409 "source_fragment" : "hdr.udp.isValid()"
11410 },
11411 "expression" : {
11412 "type" : "expression",
11413 "value" : {
11414 "op" : "d2b",
11415 "left" : null,
11416 "right" : {
11417 "type" : "field",
11418 "value" : ["udp", "$valid$"]
11419 }
11420 }
11421 },
11422 "true_next" : "tbl_process_int_outer_encap_int_update_udp",
11423 "false_next" : "node_64"
11424 },
11425 {
11426 "name" : "node_64",
11427 "id" : 22,
11428 "source_info" : {
11429 "filename" : "include/int_transit.p4",
11430 "line" : 320,
11431 "column" : 12,
11432 "source_fragment" : "hdr.intl4_shim.isValid()"
11433 },
11434 "expression" : {
11435 "type" : "expression",
11436 "value" : {
11437 "op" : "d2b",
11438 "left" : null,
11439 "right" : {
11440 "type" : "field",
11441 "value" : ["intl4_shim", "$valid$"]
11442 }
11443 }
11444 },
11445 "true_next" : "tbl_process_int_outer_encap_int_update_shim",
11446 "false_next" : "node_66"
11447 },
11448 {
11449 "name" : "node_66",
11450 "id" : 23,
11451 "source_info" : {
11452 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070011453 "line" : 104,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011454 "column" : 20,
11455 "source_fragment" : "standard_metadata.instance_type == 1"
11456 },
11457 "expression" : {
11458 "type" : "expression",
11459 "value" : {
11460 "op" : "==",
11461 "left" : {
11462 "type" : "field",
11463 "value" : ["standard_metadata", "instance_type"]
11464 },
11465 "right" : {
11466 "type" : "hexstr",
11467 "value" : "0x00000001"
11468 }
11469 }
11470 },
11471 "true_next" : "FabricEgress.process_int_report.tb_generate_report",
11472 "false_next" : "node_68"
11473 },
11474 {
11475 "name" : "node_68",
11476 "id" : 24,
11477 "source_info" : {
11478 "filename" : "fabric.p4",
Charles Chancf696e52018-08-16 16:25:13 -070011479 "line" : 108,
Jonghwan Hyuned478dc2018-08-06 15:35:18 +090011480 "column" : 20,
11481 "source_fragment" : "fabric_metadata.int_meta.sink == 1"
11482 },
11483 "expression" : {
11484 "type" : "expression",
11485 "value" : {
11486 "op" : "==",
11487 "left" : {
11488 "type" : "field",
11489 "value" : ["userMetadata.int_meta", "sink"]
11490 },
11491 "right" : {
11492 "type" : "hexstr",
11493 "value" : "0x01"
11494 }
11495 }
11496 },
11497 "false_next" : null,
11498 "true_next" : "tbl_process_int_sink_restore_header"
11499 }
11500 ]
11501 }
11502 ],
11503 "checksums" : [
11504 {
11505 "name" : "cksum",
11506 "id" : 0,
11507 "target" : ["ipv4", "hdr_checksum"],
11508 "type" : "generic",
11509 "calculation" : "calc",
11510 "if_cond" : {
11511 "type" : "expression",
11512 "value" : {
11513 "op" : "d2b",
11514 "left" : null,
11515 "right" : {
11516 "type" : "field",
11517 "value" : ["ipv4", "$valid$"]
11518 }
11519 }
11520 }
11521 },
11522 {
11523 "name" : "cksum_0",
11524 "id" : 1,
11525 "target" : ["ipv4", "hdr_checksum"],
11526 "type" : "generic",
11527 "calculation" : "calc_0",
11528 "if_cond" : {
11529 "type" : "expression",
11530 "value" : {
11531 "op" : "d2b",
11532 "left" : null,
11533 "right" : {
11534 "type" : "field",
11535 "value" : ["ipv4", "$valid$"]
11536 }
11537 }
11538 }
11539 }
11540 ],
11541 "force_arith" : [],
11542 "extern_instances" : [],
11543 "field_aliases" : [
11544 [
11545 "queueing_metadata.enq_timestamp",
11546 ["standard_metadata", "enq_timestamp"]
11547 ],
11548 [
11549 "queueing_metadata.enq_qdepth",
11550 ["standard_metadata", "enq_qdepth"]
11551 ],
11552 [
11553 "queueing_metadata.deq_timedelta",
11554 ["standard_metadata", "deq_timedelta"]
11555 ],
11556 [
11557 "queueing_metadata.deq_qdepth",
11558 ["standard_metadata", "deq_qdepth"]
11559 ],
11560 [
11561 "intrinsic_metadata.ingress_global_timestamp",
11562 ["standard_metadata", "ingress_global_timestamp"]
11563 ],
11564 [
11565 "intrinsic_metadata.egress_global_timestamp",
11566 ["standard_metadata", "egress_global_timestamp"]
11567 ],
11568 [
11569 "intrinsic_metadata.lf_field_list",
11570 ["standard_metadata", "lf_field_list"]
11571 ],
11572 [
11573 "intrinsic_metadata.mcast_grp",
11574 ["standard_metadata", "mcast_grp"]
11575 ],
11576 [
11577 "intrinsic_metadata.resubmit_flag",
11578 ["standard_metadata", "resubmit_flag"]
11579 ],
11580 [
11581 "intrinsic_metadata.egress_rid",
11582 ["standard_metadata", "egress_rid"]
11583 ],
11584 [
11585 "intrinsic_metadata.recirculate_flag",
11586 ["standard_metadata", "recirculate_flag"]
11587 ]
11588 ],
11589 "program" : "fabric.p4",
11590 "__meta__" : {
11591 "version" : [2, 18],
11592 "compiler" : "https://github.com/p4lang/p4c"
11593 }
11594}