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