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